xonsh v0.5.3 Release Notes
-
➕ Added:
- Tab completion xontrib for python applications based on click framework.
- Added
on_transform_command
event for pre-processing that macros can't handle. - Autodetection of backgroundability by binary analysis on POSIX.
- 👉 New argument
expand_user=True
totools.expand_path
. - New
$COMPLETION_QUERY_LIMIT
environment variable for setting the number of completions above which the user will be asked if they wish to see the potential completions. - 👉 Users may now redirect stdout to stderr in subprocess mode.
🔄 Changed:
- The
Block
andFunctor
context managers fromxonsh.contexts
have been rewritten to use xonsh's macro capabilities. You must now enter these via thewith!
statement, e.g.with! Block(): pass
. - The
distributed
xontrib now needs to use thewith!
statement, since it relies onFunctor
. telnet
has been flagged as unthreadable.- When
$DYNAMIC_CWD_ELISION_CHAR
is non empty and the last dir of cwd is too long and shortened, the elision char is added at the end. pygments
is no longer a strict dependency of theprompt_toolkit
backend. Ifpygments
is not installed, the PTK backend will use the default ansi color settings from the terminal. Syntax highlighting requires thatpygments
is installed.- Events are now keyword arguments only
- ⏪ Restored
on_precommand
to its original signature. - Move
built_ins.expand_path
totools.expand_path
. - 📇 Rename
tools.expandpath
totools._expandpath
. - ➕ Added
gvim
command to unthreadable predictors. - The
source
alias now passes$ARGS
down to file it is sourcing.
✂ Removed:
- 🚚
XonshBlockError
has been removed, since it no longer serves a purpose.
🛠 Fixed:
PopenThread
will now re-issue SIGINT to the main thread when it is received.- 🛠 Fixed an issue that using sqlite history backend does not kill unfinished jobs when quitting xonsh with a second "exit".
- 🛠 Fixed an issue that xonsh would fail over to external shells when running .xsh script which raises exceptions.
- 🛠 Fixed an issue with
openpty()
returning non-unix line endings in its buffer. This was causing git and ssh to fail when xonsh was used as the login shell on the server. See https://mail.python.org/pipermail/python-list/2013-June/650460.html for more details. - ⏪ Restored the ability to Z and
fg
processes on posix platforms. - CommandPipelines were not guaranteed to have been ended when the return code was requested. This has been fixed.
- Introduce path expansion in
is_writable_file
to fix$XONSH_TRACEBACK_LOGFILE=~/xonsh.log
. - ⏪ Backgrounding a running process (Z) now restores ECHO mode to the terminal in cases where the subprocess doesn't properly restore itself. A major instance of this behaviour is Python's interactive interpreter.
- 🖨 Readline backend would not ask the user to confirm the printing of completion options if they numbered above a certain value. Instead they would be dumped to the screen. This has been fixed.
- Jupyter kernel was no longer properly running subprocess commands. This has been fixed.
- 👍 The filename is applied to the target of the
source
alias, providing better tracebacks.