1
0
Fork 0
ptpython/CHANGELOG

588 lines
12 KiB
Text
Raw Permalink Normal View History

CHANGELOG
=========
3.0.16: 2020-02-11
------------------
(Commit 7f619e was missing in previous release.)
Fixes:
- Several fixes to the completion code:
* Give dictionary completions priority over path completions.
* Always call non-fuzzy completer after fuzzy completer to prevent that some
completions were missed out if the fuzzy completer doesn't find them.
3.0.15: 2020-02-11
------------------
New features:
- When pressing control-w, only delete characters until a punctuation.
Fixes:
- Fix `AttributeError` during retrieval of signatures with type annotations.
3.0.14: 2020-02-10
------------------
New features:
- Display of signature and completion drop down together.
- If `DictionaryCompleter` is enabled, also retrieve signatures when Jedi
fails, using the same logic.
- List function parameters first and private attributes at the end in the
completion menu.
- Cleanup of the completion code.
Fixes:
- Handle exceptions raised when `repr()` is called.
- Fix leakage of `exc_info` from eval to exec call.
- Fix handling of `KeyboardInterrupt` in REPL during evaluation of `__repr__`.
- Fix style for signature toolbar.
- Hide signature when sidebar is visible.
3.0.13: 2020-01-26
------------------
New features:
- Added 'print all' option to pager.
- Improve handling of indented code:
* Allow multiline input to be indented as a whole (we will unindent before
executing).
* Correctly visualize tabs (instead of ^I, which happens when pasted in
bracketed paste).
Fixes:
- Fix line ending bug in pager.
3.0.12: 2020-01-24
------------------
New features:
- Expose a `get_ptpython` function in the global namespace, to get programmatic
access to the REPL.
- Expose `embed()` at the top level of the package. Make it possible to do
`from ptpython import embed`.
Fixes:
- Properly handle exceptions when trying to access `__pt_repr__`.
- Properly handle `SystemExit`.
3.0.11: 2020-01-20
------------------
New features:
- Add support for top-level await.
- Refactoring of event loop usage:
* The ptpython input UI will now run in a separate thread. This makes it
possible to properly embed ptpython in an asyncio application, without
having to deal with nested event loops (which asyncio does not support).
* The "eval" part doesn't anymore take place within a ptpython coroutine, so
it can spawn its own loop if needed. This also fixes `asyncio.run()` usage
in the REPL, which was broken before.
- Added syntax highlighting and autocompletion for !-style system commands.
Fixes:
- Remove unexpected additional line after output.
- Fix system prompt. Accept !-style inputs again.
- Don't execute PYTHONSTARTUP when -i flag was given.
3.0.10: 2020-01-13
------------------
Fixes:
- Do dictionary completion on Sequence and Mapping objects (from
collections.abc). Note that dictionary completion is still turned off by
default.
3.0.9: 2020-01-10
-----------------
New features:
- Allow replacing `PythonInput.completer` at runtime (useful for tools build on
top of ptpython).
- Show REPL title in pager.
3.0.8: 2020-01-05
-----------------
New features:
- Optional output formatting using Black.
- Optional pager for displaying outputs that don't fit on the screen.
- Added --light-bg and --dark-bg flags to automatically optimize the brightness
of the colors according to the terminal background.
- Addd `PTPYTHON_CONFIG_HOME` for explicitely setting the config directory.
- Show completion suffixes (like '(' for functions).
Fixes:
- Fix dictionary completion on Pandas objects.
- Stop using deprecated Jedi functions.
3.0.7: 2020-09-25
-----------------
New features:
- Option to show/hide private attributes during a completion
- Added `insert_blank_line_after_input` option similar to
`insert_blank_line_after_output`.
Fixes:
- Fixed some formatting issues of `__pt_repr__`.
- Abbreviate completion meta information for dictionary completer if needed.
3.0.6: 2020-09-23
-----------------
New features:
- (Experimental) support for `__pt_repr__` methods. If objects implement this
method, this will be used to print the result in the REPL instead of the
normal `__repr__`.
- Added py.typed file, to enable type checking for applications that are
embedding ptpython.
3.0.5: 2020-08-10
-----------------
Fixes:
- Handle bug in dictionary completion when numeric keys are used.
3.0.4: 2020-08-10
-----------------
New features:
- Allow leading whitespace before single line expressions.
- Show full syntax error in validator.
- Added `vi_start_in_navigation_mode` and `vi_keep_last_used_mode` options.
Fixes:
- Improved dictionary completion: handle keys that contain spaces and don't
recognize numbers as variable names.
- Fix in exit confirmation.
3.0.3: 2020-07-10
-----------------
Fixes:
- Sort attribute names for `DictionaryCompleter` and move underscored
attributes to the end.
- Handle unhandled exceptions in `get_compiler_flags`.
- Improved `run_async` code.
- Fix --version parameter.
3.0.2: 2020-04-14
-----------------
New features:
- Improved custom dictionary completion:
* Also complete list indexes.
* Also complete attributes after doing a dictionary lookup.
* Also complete iterators in a for-loop.
- Added a 'title' option, so that applications embedding ptpython can set a
title in the status bar.
3.0.1: 2020-02-24
-----------------
- Fix backwards-compatibility of the `run_config` function. (used by
django-extensions).
- Fix input mode in status bar for block selection.
3.0.0: 2020-01-29
-----------------
Upgrade to prompt_toolkit 3.0.
Requires at least Python 3.6.
New features:
- Uses XDG base directory specification.
2.0.5: 2019-10-09
-----------------
New features:
- Added dictionary completer (off by default).
- Added fuzzy completion (off by default).
- Highlight keywords in completion dropdown menu.
- Enable universal wheels.
Fixes:
- Fixed embedding repl as asyncio coroutine.
- Fixed patching stdout in embedded repl.
- Fixed ResourceWarning in setup.py.
2.0.4: 2018-10-30
-----------------
- Fixed ptipython.
- Fixed config: setting of color depth.
- Fixed auto-suggest key bindings.
- Fixed Control-D key binding for exiting REPL when (confirm_exit=False).
- Correctly focus/unfocus sidebar.
- Fixed open_in_editor and suspend key bindings.
2.0.3: 2018-10-12
-----------------
- Allow changing the min/max brightness.
- Some changes for compatibility with the latest prompt_toolkit.
2.0.2: 2018-09-30
-----------------
Fixes:
- Don't crash the history browser when there was no history.
- Set last exception in the sys module, when an exception was raised.
- Require prompt_toolkit 2.0.5.
2.0.1: 2018-09-30
-----------------
Upgrade to prompt_toolkit 2.0.x.
0.36: 2016-10-16
----------------
New features:
- Support for editing in Vi block mode. (Only enabled for
prompt_toolkit>=1.0.8.)
Fixes:
- Handle two Jedi crashes. (GitHub ptpython issues #136 and #91.)
0.35: 2016-07-19
----------------
Fixes:
- Fix in completer. Don't hang when pasting a long string with many
backslashes.
- Fix Python2 bug: crash when filenames contain non-ascii characters.
- Added `pt[i]pythonX` and `pt[i]pythonX.X` commands.
- Compatibility with IPython 5.0.
0.34: 2016-05-06
---------------
Bugfix in ptipython: reset input buffer before every read in run().
0.33: 2016-05-05
---------------
Upgrade to prompt_toolkit 1.0.0
Improvements:
- Unindent after typing 'pass'.
- Make it configurable whether or not a blank line has to be inserted after the output.
0.32: 2016-03-29
---------------
Fixes:
- Fixed bug when PYTHONSTARTUP was not found.
- Support $PYTHONSTARTUP for ptipython.
0.31: 2016-03-14
---------------
Upgrade to prompt_toolkit 0.60
0.30: 2016-02-27
---------------
Upgrade to prompt_toolkit 0.59
0.29: 2016-02-24
----------------
Upgrade to prompt_toolkit 0.58
New features:
- Improved mouse support
0.28: 2016-01-04
----------------
Upgrade to prompt_toolkit 0.57
0.27: 2016-01-03
----------------
Upgrade to prompt_toolkit 0.56
0.26: 2016-01-03
----------------
Upgrade to prompt_toolkit 0.55
Fixes:
- Handle several bugs in Jedi.
- Correctly handle sys.argv when pt(i)python is started with --interactive.
- Support for 24bit true color.
- Take compiler flags into account for ptipython.
0.25: 2015-10-29
----------------
Upgrade to prompt_toolkit 0.54
Fixes:
- Consider input multiline when there's a colon at the end of the line.
- Handle bug in Jedi.
- Enable search bindings in history browser.
0.24: 2015-09-24
----------------
Upgrade to prompt_toolkit 0.52
0.23: 2015-09-24
----------------
Upgrade to prompt_toolkit 0.51
New features:
- Mouse support
- Fish style auto suggestion.
- Optionally disabling of line wraps.
- Use Python3Lexer for Python 3.
0.22: 2015-09-06
----------------
Upgrade to prompt_toolkit 0.50
Fixes:
- Correctly accept file parameter in the print function of
asyncssh_repl.ReplSSHServerSession.
- Create config directory if it doesn't exist yet (For IPython entry point.)
New features:
- Implementation of history-selection: a tool to select lines from the history.
- Make exit message configurable.
- Improve start-up time: Lazy load completer grammar and lazy-import Jedi.
- Make multi-column the default completion visualisation.
- Implementation of a custom prompts. In_tokens and out_tokens can be
customized.
- Made an option to show/hide highlighting for matching parenthesis.
- Some styling improvements.
0.21: 2015-08-08
---------------
Upgrade to prompt_toolkit 0.46
Fixes:
- Correctly add current directory to sys.path.
- Only show search highlighting when the search is the current input buffer.
- Styling fix.
0.20: 2015-07-30
---------------
Upgrade to prompt_toolkit 0.45
0.19: 2015-07-30
---------------
Upgrade to prompt_toolkit 0.44
New features:
- Added --interactive option for ptipython.
- A few style improvements.
0.18: 2015-07-15
---------------
Fixes:
- Python 2.6 compatibility.
0.17: 2015-07-15
---------------
Upgrade to prompt_toolkit 0.43
New features:
- Integration with Tk eventloop. (This makes turtle and other Tk stuff work
again from the REPL.)
- Multi column completion visualisation.
0.16: 2015-06-25
---------------
Upgrade to prompt_toolkit 0.42
Fixes:
- Workaround for Jedi bug. (Signatures of functions with keyword-only arguments.)
- Correctly show traceback on Python 3.
- Better styling of the options sidebar.
New features:
- Exit REPL when input starts with Control-Z.
- Set terminal title.
- Display help text in options sidebar.
- Better colorscheme for Windows.
0.15: 2015-06-20
---------------
Upgrade to prompt_toolkit 0.41
Fixes:
- Correct tokens for IPython prompt.
- Syntax fix in asyncssh_repl.
0.14: 2015-06-16
---------------
Fix:
- Correct dependency for prompt_toolkit.
0.13: 2015-06-15
---------------
New features:
- Upgrade to prompt_toolkit 0.40
- Options sidebar.
- Custom color schemes.
- Syntax highlighting of the output.
- Input validation can now be turned off.
- Determine compiler flags dynamically. (Fixes importing unicode_literals).
- Exit confirmation and dialog.
- Autocompletion of IPython %cat command.
- Correctly render tracebacks on Windows.
0.12: 2015-06-04
---------------
Upgrade to prompt_toolkit 0.39
0.11: 2015-05-31
---------------
New features:
- Upgrade to prompt-toolkit 0.38.
- Upgrade to Jedi 0.9.0
- Fixed default globals for repl (correct __name, __builtins__, etc...)
- Display deprecation warnings in the REPL.
- Added configuration support.
- Added asyncio-ssh-python-embed example.
0.10: 2015-05-11
---------------
Upgrade to prompt-toolkit 0.37.
0.9: 2015-05-07
---------------
Upgrade to prompt-toolkit 0.35.
0.8: 2015-04-26
---------------
Fixed:
- eval() doesn't run using unicode_literals anymore.
- Upgrade to prompt-toolkit 0.34.
0.7: 2015-04-25
---------------
Fixed:
- Upgrade to prompt-toolkit 0.33.
New features:
- Added complete_while_typing option.
0.6: 2015-04-22
---------------
Fixed:
- Upgrade to prompt-toolkit 0.32 which has many new features.
Changes:
- Removal of tab pages + clean up.
- Pressing enter twice will now always automatically execute the input.
- Improved Control-D key binding.
- Hide docstring by default.
0.5: 2015-01-30
---------------
Fixed:
- Tab autocompletion on first line.
- Upgrade to prompt-toolkit 0.31
New features:
- Simple autocompletion for IPython magics.
0.4: 2015-01-26
---------------
Fixed:
- Upgrade to prompt-toolkit 0.30
0.3: 2015-01-25
---------------
Fixed:
- Upgrade to prompt-toolkit 0.28
0.2: 2015-01-25
---------------
Moved ptpython code from prompt-toolkit inside this repository.
0.1: 2014-09-29
---------------
Initial ptpython version. (Source code was still in the
prompt-toolkit repository itself.)