xonsh v0.5.5 Release Notes

  • โž• Added:

    • ๐Ÿ†• New --rc command line option allows users to specify paths to run control files from the command line. This includes both xonsh-based and JSON-based configuration.
    • New $UPDATE_COMPLETIONS_ON_KEYPRESS controls whether or not completions will automatically display and update while typing. This feature is only available in the prompt-toolkit shell.

    ๐Ÿ”„ Changed:

    • Xonsh scripts now report __file__ and __name__ when run as scripts or sourced. These variables have the same meaning as they do in Python scripts.
    • ๐Ÿ”ง $XONSHRC and related configuration variables now accept JSON-based static configuration file names as elements. This unifies the two methods of run control to a single entry point and loading system.
    • The xonsh.shell.Shell() class now requires that an Execer instance be explicitly provided to its init method. This class is no longer responsible for creating an execer an its dependencies.
    • ๐Ÿšš Moved decorators unthreadable, uncapturable from xonsh.proc to xonsh.tools.
    • ๐Ÿ”จ Some refactorings on jobs control.

    ๐Ÿ—„ Deprecated:

    • ๐Ÿ—„ The --config-path command line option is now deprecated in favor of --rc.

    โœ‚ Removed:

    • ๐Ÿšš xonsh.environ.DEFAULT_XONSHRC has been removed due to deprecation. For this value, please check the environment instead, or call xonsh.environ.default_xonshrc(env).

    ๐Ÿ›  Fixed:

    • Command pipelines that end in a callable alias are now interruptable with ^C and the processes that are piped into the alias have their file handles closed. This should ensure that the entire pipeline is closed.
    • ๐Ÿ›  Fixed issue where unthreadable subprocs were not allowed to be captured with the $(cmd) operator.
    • The ProcProxy class (unthreadable aliases) was not being executed and would hang if the alias was capturable. This has been fixed.
    • ๐Ÿ›  Fixed a tcsetattr: Interrupted system call issue when run xonsh scripts.
    • ๐Ÿ›  Fixed issue with ValueError being thrown from inspect.signature() when called on C-extension callables in tab completer.
    • ๐Ÿ›  Fixed issue that ls | less crashes on Mac.
    • Threadable prediction was incorrectly based on the user input command, rather than the version where aliases have been resolved. This has been corrected.