Skip to content

Releases: xonsh/xonsh

0.14.0

19 May 13:34
Compare
Choose a tag to compare

Added:

  • key_bindings: map escape-f as another word completer for macOS
  • Added history pull command to SQLite history backend to pull the history from parallel sessions and add to the current session.
  • Add support for Semantic Prompt <https://gitlab.freedesktop.org/Per_Bothner/specifications/blob/master/proposals/semantic-prompts.md>_ for line continuations in multiline prompts via two environment variables: $MULTILINE_PROMPT_PRE (e.g., \x01\x1b]133;P;k=c\x07\x02), and $MULTILINE_PROMPT_POS (e.g., \x01\x1b]133;B\x07\x02) that are inserted before/after each continuation line 'dots' block to mark input
  • Wheels for Python 3.11 are part of the automated release action
  • Added chdir to xonsh.tools. This allows to use with chdir("dir"): to run commands block in the certain directory without manually cd-ing.
  • Display the current branch of Fossil VCS checkouts in the prompt,
    similar to git and hg.
  • Added link to xonsh on Mastodon - https://mastodon.online/@xonsh
  • xontrib load: added option -s to skip warning about not installed xontribs.

Changed:

  • Altered documentation for xonshrc to remove Python REPL prompts so that you can copy the code without having to edit it.
  • xonsh AppImage - bumped python to 3.11
  • The prompt end character switched to @.
  • The command not found error will show the repr(cmd) to uncover the cases when the command name has \n, \t or not visible color codes and raises the error.
  • abbrevs xontrib transferred to xontrib-abbrevs <https://github.com/xonsh/xontrib-abbrevs>_.
  • bashisms xontrib transferred to xontrib-bashisms <https://github.com/xonsh/xontrib-bashisms>_.
  • free_cwd xontrib transferred to xontrib-free-cwd <https://github.com/xonsh/xontrib-free-cwd>_.
  • whole_word_jumping xontrib transferred to xontrib-whole-word-jumping <https://github.com/xonsh/xontrib-whole-word-jumping>_.
  • fish_completer xontrib transferred to xontrib-fish-completer <https://github.com/xonsh/xontrib-fish-completer>_.
  • vox, autovox, voxapi xontribs transferred to xontrib-vox <https://github.com/xonsh/xontrib-vox>_.
  • pdb, xog xontribs transferred to xontrib-debug-tools <https://github.com/xonsh/xontrib-debug-tools>_.

Fixed:

  • Fixed xpip alias for xonsh AppImage.
  • Fixed missing webconfig/js/xonsh_sticker.svg in xonfig web.
  • update load_xontrib pytest fixture to handle auto-loaded xontribs
  • Suppress subprocess traceback on exception in case $XONSH_SHOW_TRACEBACK=False with $RAISE_SUBPROC_ERROR=True.
  • Improve the error message when $RAISE_SUBPROC_ERROR is set to True.
  • Fixed xontrib-jupyter to work in JupyterLab and terminal-based Euporie <https://github.com/joouha/euporie>_ environment.

Authors:

  • Gil Forsyth
  • Noortheen Raja
  • anki-code
  • pre-commit-ci[bot]
  • Evgeny
  • Mark Bestley
  • Samuel Dion-Girardeau
  • doronz88
  • Ivan Ogasawara
  • Tobias Becker
  • AkshayWarrier
  • Thomas Hess
  • kouhe3

0.13.4

08 Dec 14:49
Compare
Choose a tag to compare

Added:

  • tests for methods changed in tools.py (is_tok_color_dict)
  • $XDG_CACHE_HOME, $XONSH_CACHE_DIR are now available inside Xonsh
  • #2455 Add on_command_not_found event, fired when a command is not found.
  • #3279 Add XONSH_HISTORY_IGNORE_REGEX support. You can specify a regular
    expression in the environment variable XONSH_HISTORY_IGNORE_REGEX and any
    command that matches the expression will not be added to the history.
  • commands_cache: add a configurable value to disable cache. useful for running scripts

Changed:

  • is_str_str_dict changed to check for Token:style dict

Removed:

  • $COMMANDS_CACHE_SIZE_WARNING is removed. When $COMMANDS_CACHE_SAVE_INTERMEDIATE is enabled,
    the cache file size is optimized.

Fixed:

  • #4668 Fix ptk completion stacking when auto-suggest is on and no normal completions are generated.
  • $XONSH_STYLE_OVERRIDES cannot be assigned dict of {Token: str} #4375
  • fixed stale results when $COMMANDS_CACHE_SAVE_INTERMEDIATE is enabled.
  • #4951 Fix gitstatus prompt when rebasing
  • fixed using aliases to override commands without the file extension on Windows

Authors:

  • Noortheen Raja
  • pre-commit-ci[bot]
  • Vasilis Gerakaris
  • Lie Ryan
  • Blake Ramsdell
  • Justin
  • yotamolenik
  • austin-yang
  • Marco Rubin
  • Qyriad

0.13.3

15 Sep 13:52
Compare
Choose a tag to compare

Fixed:

  • pygments startup crash when incorrect prepending bg: to noinherit
    style directives

Authors:

  • Gil Forsyth

0.13.2

15 Sep 12:49
Compare
Choose a tag to compare

Changed:

  • When there is no git repository, the values of all gitstatus prompt fields are now None.
  • With $THREAD_SUBPROCS=False: When a callable alias is executed with ![], its standard output and standard error are no longer captured. This is because a separate thread is required in order to both capture the output and stream it to the terminal while the alias is running.

Fixed:

  • Fixed timeit syntax error
  • When there is no git repository, $PROMPT format strings like {gitstatus: hello {}} now work as expected.
  • With $THREAD_SUBPROCS=False: When cd is used with an invalid directory, the error message is now correctly displayed.
  • Fixed case when xpip returns None instead of command.

Authors:

  • anki-code
  • Peter Ye
  • pre-commit-ci[bot]
  • Lie Ryan
  • amukher3
  • Ashish Kurmi

0.13.1

10 Aug 13:47
Compare
Choose a tag to compare

Added:

  • The ujson (faster version of json) added to xonsh[full] package.

Changed:

  • Bumped Python version in xonsh.AppImage to 3.10
  • The terminal's title is updated with the current command's name even if the command is a captured command or a callable alias

Fixed:

  • Warn and continue if a user without pygments tries to load an unknown style
  • Fixed a bash completion bug when prefixing a file path with '<' or '>' (for redirecting stdin/stdout/stderr)
  • Fixed a bash completion bug when completing a git branch name when deleting a remote branch (e.g. git push origin :dev-branch)
  • A callable alias containing subprocess commands no longer freezes when piped to another command
  • less no longer stops when a callable alias containing subprocess commands is piped into it
  • gitstatus Prompt-field would be empty on paths without git setup.
  • When using the sway window manager, swaymsg -t get_inputs no longer fails with the error "Unable to receive IPC response"
  • The current_job variable now works as expected when used in $TITLE

Security:

  • xpip will never add sudo under any circumstances and will instead append --user as needed

Authors:

  • Gil Forsyth
  • Noortheen Raja
  • anki-code
  • Peter Ye
  • pre-commit-ci[bot]
  • Stefano Rivera
  • jbw3
  • jgart
  • Michael Panitz (at Cascadia College)
  • Tim Gates

0.13.0

08 Jul 13:43
Compare
Choose a tag to compare

Removed:

  • The xonsh code-base is no longer amalgamated, so tracebacks should be
    human-readable without intervention. This may have (minor) impacts on startup
    speed.

Fixed:

  • Fix xontrib loading for free_cwd
  • Fixed whole_word_jumping xontrib failing on Linux, conditional import of ptk_win32 → Windows only
  • Fixed error caused by unintialized Xonsh session env when using Xonsh as a library just for its Pygments lexer plugin.

Authors:

  • Gil Forsyth
  • Noortheen Raja
  • anki-code
  • Eddie Peters
  • cmidkiff87
  • Hannes Römer

0.12.6

21 Jun 14:45
Compare
Choose a tag to compare

Fixed:

  • String literal concatenation now works with f-strings and path literals
  • A SyntaxError is raised when string literal concatenation is attempted with literals of different types (e.g. str and bytes)

Authors:

  • Gil Forsyth
  • Noortheen Raja
  • Peter Ye

0.12.5

17 Jun 16:47
Compare
Choose a tag to compare

Added:

  • Autoloadable xontribs
  • Support for f-glob strings (e.g. ``fg`{prefix}*```)
  • Now xontribs support loading and unloading <https://github.com/xonsh/xonsh/issues/4541>_
    with functions _load_xontrib_(xsh: XonshSession, **kwargs) -> dict,
    _unload_xontrib_(xsh: XonshSession, **kwargs) -> None defined in their module.
    Updated doc <https://xon.sh/tutorial_xontrib.html>_
  • Added a special '$LAST_RETURN_CODE' environment variable to access the return code of the last issued command. (Only set during interactive use).
  • New prompt-customization fields: 'last_return_code_if_nonzero', 'last_return_code'.
  • Documented the HISTCONTROL ignorespace option

Changed:

  • ![] now returns a HiddenCommandPipeline when run with a background command (e.g. ![sleep 10 &])
  • Extended whole_word_jumping xontrib with matching bindings for
    delete and backspace. The XONSH_WHOLE_WORD_CTRL_BKSP environment
    variable can be set to False to avoid binding control+backspace in
    incompatible terminals.
  • The default prompt (on unix-systems) now includes a red [] field in case a command failed.
  • New docs theme furo
  • completions from fish are now filter based on the current prefix.

Removed:

  • xontrib prompt_ret_code is now removed.
    Now the default prompt already shows the last-return-code when the previous command fails.
    Please use the new prompt fields last_return_code, last_return_code_if_nonzero from
    the PR <https://github.com/xonsh/xonsh/pull/4798>_

Fixed:

  • Using fg for commands started in the background (e.g. ![sleep 10 &]) now works
  • SIGHUP (instead of SIGKILL) is sent to unfinished jobs when exiting the shell. This allows the nohup command to work properly.
  • bg now properly resumes jobs in the background
  • ExecAlias now sets the returncode of a command correctly
  • Empty/comment-only commands no longer get added to the history
  • On prompt-toolkit, when there is a job like sleep 500 & running in the background, pressing Ctrl+D twice to force quit now works properly
  • Environment Variables are now completed correctly when in quotes
  • Silence spurious errors on exit due to out-of-order cleanup

Authors:

  • Gil Forsyth
  • Noortheen Raja
  • Peter Ye
  • dev2718
  • dependabot[bot]
  • Stefano Rivera
  • Naveen
  • jbw3
  • Italo Cunha
  • Timmy Welch

0.12.4

08 May 21:30
Compare
Choose a tag to compare

Authors:

  • Gil Forsyth

0.12.3

08 May 21:06
Compare
Choose a tag to compare

Changed:

  • fix: remove os.path.basename from _get_git_branch()
  • now 3rd party xontrib list is maintained at Awesome Xontribs <https://github.com/xonsh/awesome-xontribs/>_ page.
    Going forward, new contributions will be updated here, making it not depending on the xonsh release <https://github.com/xonsh/xonsh/issues/4679>_.

Removed:

  • Removed Python 3.7 support following NEP0029 <https://numpy.org/neps/nep-0029-deprecation_policy.html>_

Fixed:

  • Dictionaries are now pretty-printed with their items in the correct order

Authors:

  • Gil Forsyth
  • Noortheen Raja
  • Peter Ye
  • doronz88
  • Stefano Rivera