bpython v0.14 Release Notes

  • ๐Ÿš€ This release contains major changes to the frontends:

    • 0๏ธโƒฃ curtsies is the new default frontend.
    • The old curses frontend is available as bpython-curses.
    • ๐Ÿšš The GTK+ frontend has been removed.

    ๐Ÿ†• New features:

    • #194: Syntax-highlighted tracebacks. Thanks to Miriam Lauter.
    • #234: Copy to system clipboard.
    • #285: Re-evaluate session and reimport modules.
    • #313: Warn when undo may take cause extended delay, and prompt to undo multiple lines.
    • #322: Watch imported modules for changes and re-evaluate on changes.
    • #328: bpython history not re-evaluated to edit a previous line of a multiline statement.
    • #334: readline command Meta-. for yank last argument. Thanks to Susan Steinman and Steph Samson.
    • #338: bpython help with F1.
    • #354: Edit config file from within bpython.
    • ๐Ÿ‘ #382: Partial support for pasting in text with blank lines.
    • #410: Startup banner that shows Python and bpython version
    • #426: Experimental multiline autocompletion.
    • ๐Ÿ’… fish style last history completion with Arrow Right. Thanks to Nicholas Sweeting.
    • ๐Ÿ’… fish style automatic reverse history search with Arrow Up. Thanks to Nicholas Sweeting.
    • Incremental forward and reverse search.
    • All readline keys which kill/cut text correctly copy text for paste with Ctrl-y or Meta-y.
    • ๐ŸŒ French translation.
    • Removal links for bpaste pastebins are now displayed.
    • More informative error messages when source cannot be found for an object. Thanks to Liudmila Nikolaeva and Miriam Lauter.
    • โช Message displayed if history in scrollback buffer is inconsistent with output from last re-evaluation of bpython session. Thanks to Susan Steinman.
    • ๐ŸŒฒ Adjust logging level with -L or -LL.
    • String literal attribute completion.

    ๐Ÿ›  Fixes:

    • ๐Ÿ‘ #254: Use ASCII characters if Unicode box characters are not supported by the terminal.
    • #284: file is in scope after module run with bpython -i. Thanks to Lindsey Raymond.
    • ๐Ÿ›  #347: Fixed crash on unsafe autocompletion.
    • ๐Ÿ›  #349: Fixed writing newlines to stderr.
    • ๐Ÿ›  #363: Fixed banner crashing bpython-urwid. Thanks to Luca Barbato.
    • ๐Ÿ›  #366, #367: Fixed help() support in curtsies.
    • #369: Interactive sessions inherit compiler directives from files run with -i interactive flag.
    • ๐Ÿ›  #370, #401, #440, #448, #468, #472: Fixed various display issues in curtsies.
    • ๐Ÿ›  #391: Fixed crash when using Meta-backspace. Thanks to Tony Wang.
    • ๐Ÿ›  #438, #450: bpython-curtsies startup behavior fixed. Errors during startup are reported instead of crashing.
    • ๐Ÿ›  #447: Fixed behavior of duplicate keybindings. Thanks to Keyan Pishdadian.
    • ๐Ÿ›  #458: Fixed dictionary key completion crash in Python 2.6. Thanks to Mary Mokuolu.
    • ๐Ÿ“š Documentation fixes from Lindsey Raymond.
    • ๐Ÿ›  Fixed filename completion.
    • ๐Ÿ›  Fixed various Unicode issues in curtsies.
    • ๐Ÿ›  Fixed and re-enabled dictionary key completion in curtsies.

    The commandline option --type / -t has been renamed to --paste / -p.

    ๐Ÿ‘ Python 2.6, 2.7, 3.3 and newer are supported. Support for 2.5 has been dropped. Furthermore, it is no longer necessary to run 2to3 on the source code.

    ๐Ÿš€ This release brings a lot more code coverage, a new contributing guide, and most of the code now conforms to PEP-8.

    ๐Ÿ”„ Changes to dependencies:

    • greenlet and curtsies are no longer optional.
    • six is a new dependency.
    • jedi is a new optional dependency required for multiline completion.
    • watchdog is a new optional dependency required for watching changes in imported modules.