xonsh v0.2.5 Release Notes

  • โž• Added:

    • ๐Ÿ†• New configuration utility 'xonfig' which reports current system setup information and creates config files through an interactive wizard.
    • Toolkit for creating wizards now available
    • timeit and which aliases will now complete their arguments.
    • $COMPLETIONS_MENU_ROWS environment variable controls the size of the tab-completion menu in prompt-toolkit.
    • ๐Ÿ‘ Prompt-toolkit shell now supports true multiline input with the ability to scroll up and down in the prompt.

    ๐Ÿ”„ Changed:

    • ๐Ÿ”ง The xonfig wizard will run on interactive startup if no configuration file is found.
    • BaseShell now has a singleline() method for prompting a single input.
    • ๐Ÿ“„ Environment variable docs are now auto-generated.
    • Prompt-toolkit shell will now dynamically allocate space for the tab-completion menu.
    • Looking up nonexistent environment variables now generates an error in Python mode, but produces a sane default value in subprocess mode.
    • Environments are now considered to contain all manually-adjusted keys, and also all keys with an associated default value.

    โœ‚ Removed:

    • Removed xonsh.ptk.shortcuts.Prompter.create_prompt_layout() and xonsh.ptk.shortcuts.Prompter.create_prompt_application() methods to reduce portion of xonsh that forks prompt-toolkit. This may require users to upgrade to prompt-toolkit v0.57+.

    ๐Ÿ›  Fixed:

    • First prompt in the prompt-toolkit shell now allows for up and down arrows to search through history.
    • Made obtaining the prompt-toolkit buffer thread-safe.
    • Now always set non-detypable environment variables when sourcing foreign shells.
    • ๐Ÿ›  Fixed issue with job management if a TTY existed but was not controlled by the process, posix only.
    • Jupyter kernel no longer times out when using foreign shells on startup.
    • Capturing redirections, e.g. $(echo hello > f.txt), no longer fails with a decoding error.
    • Evaluation in a Jupyter cell will return pformatted object.
    • Jupyter with redirect uncaptured subprocs to notebook.
    • ๐Ÿ›  Tab completion in Jupyter fixed.