xonsh

Python-powered, cross-platform, Unix-gazing shell.

OTHER License

Downloads
69K
Stars
8K
Committers
330

Bot releases are visible (Hide)

xonsh - 0.15.1 Latest Release

Published by gforsyth 8 months ago

Fixed:

  • pytest: Fix pytest collection starting at pytest>=8.1.0

Authors:

  • doronz88
  • Daniel Saunders
  • Andrew
xonsh - 0.15.0

Published by gforsyth 8 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/xonsh/xonsh/compare/0.14.4...0.15.0

xonsh - 0.14.4

Published by gforsyth 9 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/xonsh/xonsh/compare/0.14.3...0.14.4

xonsh - 0.14.3

Published by gforsyth 11 months ago

Added:

  • Added on_pre_spec_run event.
  • Added on_post_spec_run event.

Fixed:

  • xonsh now adds the user site packages directory to sys.path where
    required for proper xontrib discovery

Authors:

  • Gil Forsyth
  • pre-commit-ci[bot]
  • Jacqueline Leykam
  • Joshix-1
xonsh - 0.14.2

Published by gforsyth 11 months ago

Fixed:

  • history: fix json file permissions upon sudo (#5220)
  • cd with no arguments will always return to $HOME
  • Correctly parse multi line foreign aliases
  • Upgrade Python version at the introduction (https://github.com/xonsh/xonsh/pull/5193)

Authors:

  • Gil Forsyth
  • Noortheen Raja
  • anki-code
  • pre-commit-ci[bot]
  • dependabot[bot]
  • doronz88
  • mgunyho
  • ShalokShalom
  • Wilfried Pollan
xonsh - 0.14.1

Published by gforsyth about 1 year ago

Added:

  • Added history delete command to both the JSON and SQLite history backends allowing users to delete commands from history that matches a pattern.
  • Now you can become a sponsor to xonsh - https://github.com/sponsors/xonsh
  • Added preliminary support for Python v3.12

Changed:

  • Always load rc files except that --norc is passed.
  • Unset the default line continuation environment variables ($MULTILINE_PROMPT_PRE and $MULTILINE_PROMPT_POS) to allow differentiating between user setting an empty value and not setting anything
  • Dropped support for Python v3.8

Fixed:

  • This change fixes issue #4855, that is, rc files will be loaded in non-interactive mode.
  • platform: fix BASH_COMPLETIONS_DEFAULT on M1
  • Fix wrong verification for the simple output, introduced by PR5072

Authors:

  • Noortheen Raja
  • anki-code
  • pre-commit-ci[bot]
  • Evgeny
  • doronz88
  • Ivan Ogasawara
  • HackTheOxidation
  • Cosine Chen
xonsh - 0.14.0

Published by gforsyth over 1 year ago

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
xonsh - 0.13.4

Published by gforsyth almost 2 years ago

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
xonsh - 0.13.3

Published by gforsyth about 2 years ago

Fixed:

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

Authors:

  • Gil Forsyth
xonsh - 0.13.2

Published by gforsyth about 2 years ago

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
xonsh - 0.13.1

Published by gforsyth about 2 years ago

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
xonsh - 0.13.0

Published by gforsyth over 2 years ago

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
xonsh - 0.12.6

Published by gforsyth over 2 years ago

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
xonsh - 0.12.5

Published by gforsyth over 2 years ago

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
xonsh - 0.12.4

Published by gforsyth over 2 years ago

Authors:

  • Gil Forsyth
xonsh - 0.12.3

Published by gforsyth over 2 years ago

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
xonsh - 0.12.2

Published by gforsyth over 2 years ago

Fixed:

  • Fixed completions for command argument paths after equal signs
  • A trailing space no longer gets appended when tab-completing command arguments that involve equals signs. For example dd sta gets completed to dd status=, without a space space after the equals sign.
  • regression on gitstatus <https://github.com/xonsh/xonsh/pull/4771>_ prompt is fixed now. It will display the value now instead of the name.
  • fixed <https://github.com/xonsh/xonsh/pull/4763>_ vox rm crashing when user input is required

Authors:

  • Gil Forsyth
  • Noortheen Raja
  • Peter Ye
xonsh - 0.12.1

Published by gforsyth over 2 years ago

Fixed:

  • fixed regression issue in loading xontrib-abbrevs <https://github.com/xonsh/xonsh/pull/4757>_
  • Allow xonsh to start gracefully even if modal cursors aren't in the available
    prompt_toolkit version

Authors:

  • Gil Forsyth
  • Noortheen Raja
xonsh - 0.12.0

Published by gforsyth over 2 years ago

Added:

  • Added interface to complete any alias that has xonsh_complete attribute. It is a function with fn(**kwargs) -> Iterator[RichCompletion | str] signature.

  • added $ALIAS_COMPLETIONS_OPTIONS_LONGEST to control showing options in completions

  • added $CMD_COMPLETIONS_SHOW_DESC environment variable to control showing command completions with a description part.

  • completer complete command is added to test current completions

  • completions from man page will now show the description for the options if available.

  • $XONSH_COMPLETER_DIRS to put command completers

  • Aliases.register to register an alias function.

  • Tracebacks are now printed in color if available (interactive session with shell that supports colors with pygments installed and $COLOR_RESULTS enabled)

  • Added python's match statement for python >=3.10.

  • Added support for the $SHLVL environment variable, typed as int, using bash's semantics.

  • Python files with command completions can be put inside xompletions namespace package,
    they will get loaded lazily.

  • xontrib.fish_completer is available to complete using fish shell.

  • Support for pythons sys.last_type, sys.last_value, sys.last_traceback.

  • added xonsh-uname command to xoreutils

  • auto-completion support for commands : source-foreign, source-bash, source-zsh, source-cmd

  • added history transfer command to transfer history entries between backends.

  • now $PROMPT_FIELDS is a custom class with method pick(field_name) to get the field value efficiently.
    The results are cached within the same prompt call.

  • new class xonsh.prompt.base.PromptField to ease creating/extending prompt-fields

  • Sublime Text 4 extension to the Editors page.

  • Support for the virtualenv <https://virtualenv.pypa.io/en/20.0.1/extend.html#activation-scripts>_ activate.xsh script is back! Ensure you create the virtualenv from the same python where xonsh is installed.

  • vox new/create accepts a new --prompt argument, which is passed through to python -m venv

  • New set of commands and options to manage virtualenvs inspired from pew

    • runin

    • runinall

    • new

      • --link : to associate venv with project directory
      • --temp : to create temporary virtualenvs
    • activate

      • now will cd into project directory if the venv is associated
    • toggle-ssp - toggle system site packages

    • project - manage project path associations

    • wipe - to quickly remove all user installed packages

  • prompt.env.env_name is now aware of the "prompt" key in pyvenv.cfg - search order from first to last is: $VIRTUAL_ENV_PROMPT, pyvenv.cfg, $VIRTUAL_ENV, $CONDA_DEFAULT_ENV

  • new command vox upgrade

  • xonfig web can now update abbrevs/aliases/env-variables.

  • Added xontrib-default-command <https://github.com/oh-my-xonsh/xontrib-default-command> to xontrib list.

  • new xontrib-django <https://github.com/jnoortheen/xontrib-django>_ for django management completions

  • Added xontrib-gruvbox <https://github.com/rpdelaney/xontrib-gruvbox> to xontrib list.

  • Added xontrib-up <https://github.com/oh-my-xonsh/xontrib-up> to xontrib list.

Changed:

  • Both *.xsh and *.py files inside $XONSHRC_DIR will get loaded now.

  • Environment-variables of no predefined type or path environment variables are now represented as strings via the empty string.

  • Made stacktraces behave like in python, i.e. when something in user-provided code fails (both interactively and non-interactively), only that part is shown, and the (static) part of the stacktrace showing the location where the user code was called in xonsh remains hidden. When an unexpected exception occurs inside xonsh, everything is shown like before.

  • run_compiled_code, run_script_with_cache, run_code_with_cache now return sys.exc_info() triples instead of throwing errors

  • SyntaxError tracebacks now by default hide the internal parser state (like in python); set XONSH_DEBUG >= 1 to enable it again.

  • XonshError tracebacks now by default hide xonshs internal state; set XONSH_DEBUG >= 1 to enable it again.

  • run_code_with_cache takes a new parameter display_filename to override the filename shown in exceptions (this is independent of caching)

  • Update uptime lib by the last one from Pypi

  • umask, ulimit commands will not override the system's commands unless requested

  • Xontribs that require other third party packages are moved to its own packages.
    The following xontribs are moved and can be loaded after install as usual

    • mpl
    • distributed
    • jupyter-kernel
    • jedi
  • Xonsh adopts NEP-0029 <https://numpy.org/neps/nep-0029-deprecation_policy.html>_ in supporting Python versions.

  • Privatise certain attributes of lexer/parser to minimise API surface

  • Make XSH.load calls explicit (not in Execer)

  • Make import hooks require Execer

  • Simplified foreign functions

  • Updated tutorial.rst to clarify use of time_format

  • vox new will use default python version of the system rather than the one vox is run with

  • xonfig web now shows latest xontribs available from xonsh.xontribs_meta

Removed:

  • $XONSH_GITSTATUS_* is removed
    since the prompt fields can be customized easily now individually.
  • $XONSH_GITSTATUS_FIELDS_HIDDEN is removed.
    Please set hidden fields in $PROMPT_FIELDS['gitstatus'].hidden = (...)
  • Removed xonsh.ptk2 module whcih was kept for some old packages sake. Now xonsh requires atleast ptk3 version.

Fixed:

  • Some of the bash completions scripts can change path starting with '~/' to /home/user/ during autocompletion.
    xonsh bash_completions does not expect that, so it breaks autocompletion by producing paths like ~/f/home/user/foo.
    After the fix if bash returns changed paths then /home/user prefix will be replaced with ~/.
  • pip completer now handles path completions correctly
  • SyntaxErrors thrown during compilation (i.e. not during parsing) now include the offending source line.
  • If a .xsh file is imported, the resulting module will now always have an absolute __file__ attribute to be consistent with pythons behavior since python 3.4.
  • $CONDA_DEFAULT_ENV is now respected when xonsh is run outside of conda.
  • Fixed unpacking of dictionaries inside a dictionary
  • Empty or comments only .xsh files can now be imported to align with pythons behavior.
  • Fixed regex globbing for file paths that contain special regex characters (e.g. "test*1/model")
  • Fixed list comprehension in return statement incorrectly being parsed as a subprocess command.
  • Fixed the expansion of $XONSH_TRACEBACK_LOGFILE user paths (e.g. "~/log")
  • Fixed DeprecationWarning when providing autocompletion for a non-callable type with (
  • OSC codes in $PROMPT is no longer removed when using ptk shell.
    These codes need to be escaped with \001..\002 instead.
  • Attempt to show a modal cursor in vi_mode (ie. block in cmd, bar in ins)
  • Xonsh can now be used in VIM (e.g. by ":read !ls" if VIM is configured to use xonsh. This may be the case when xonsh is the default shell.)
  • Fixed OSError on Windows when GnuWin32 is installed in the PATH.
  • Do not show welcome message when any $XONSHRC_DIR directory entry exists.
  • SyntaxErrors now get initialized with all available fields so that the error message can be formatted properly.
  • Raising BaseException no longer causes Xonsh to crash (fix #4567)
  • Exceptions in user code when using xonsh non-interactively no longer simply crash xonsh, rather a proper stacktrace is printed and also postmain() is called.
  • Tracebacks will now show the correct filename (i.e. as in python) for interactive use "", scripts read by stdin "" and -c commands "". (Instead of MD5 hashes as filenames or "")
  • Default ZSH FUNCSCMD was not working in ZSH 5.8 (and possibly other versions)
  • Passing multiple files to be sourced to source-foreign was broken
  • prompt field current_branch will now work empty git repository.

Authors:

  • Gil Forsyth
  • Noortheen Raja
  • anki-code
  • Daniel Shimon
  • Peter Ye
  • Jason R. Coombs
  • dev2718
  • Evgeny
  • Angus Hollands
  • omjadas
  • Oliver Bestwalter
  • Samuel Dion-Girardeau
  • Ryan Delaney
  • E Pluribus Unum
  • ylmrx
  • Hierosme
  • Kyllingene
  • zzj
  • Daniel
  • Ganer
  • mattmc3
  • Evan Hubinger
xonsh - 0.11.0

Published by gforsyth almost 3 years ago

v0.11.0

Added:

  • added new utility classes xonsh.cli_utils.ArgParserAlias, xonsh.cli_utils.ArgCompleter.
    These are helper classes, that add coloring and auto-completion support to the alias-commands.
  • when $ENABLE_ASYNC_PROMPT=True lazy load prompt-toolkit's color-input support.
  • Add CTRL-Right key binding to complete a single auto-suggestion word.
  • Show environment variables' type and descriptions when completing them.
  • Add CTRL-Backspace key binding to delete a single word via $XONSH_CTRL_BKSPC_DELETION.
  • Improved pip/xpip completer.
  • Separator used by gitstatus can now be styled using XONSH_GITSTATUS_SEPARATOR.
  • Complete 'import' statements with modules that aren't loaded.
  • Complete multiple modules/objects in 'import' statements.
  • Multiple new metadata fields in setup.py
  • Pure Python control files are now supported when named *.py.
    Using python files may lower the startup time by a bit.
  • new environment variable $XONSH_TRACE_SUBPROC_FUNC
    to handle $XONSH_TRACE_SUBPROC output
  • Added xontrib-pyrtn <https://github.com/dyuri/xontrib-pyrtn> to xontrib list.

Changed:

  • Display error message when running xonfig colors in a non-interactive shell
  • Using ArgparserAlias for dirs, popd, pushd
  • use ArgparserAlias for disown alias with completion support
  • history alias now has colored help message and completion support when running interactively.
  • using ArgparserAlias for trace alias with completion support
  • improve vox CLI completions
  • use ArgparserAlias for xexec. Now it supports completions.
  • xonfig now has colored help message when ran interactively.
  • Using ArgparserAlias to improve xontrib completions
  • Changed !() to also capture background subprocesses
  • Suggested commands are cached for better performance.
  • Improved pipelines performance by using a mutable buffer.
  • Curly braces { } in directory names are now escaped in the prompt
  • The --rc argument is extended to support directories as well as files.
    Passing a directory will result in all *.xsh files in the directory being
    sorted and loaded at startup (equivalent to using the environment variable
    XONSHRC_DIR).
  • The environment variables XONSHRC and XONSHRC_DIR are no longer updated by xonsh on
    startup according to which files were actually loaded. This caused problems if xonsh is called
    recursively, as the child shells would inherit the modified startup environment of the parent.
    These variables will now be left untouched, and the actual RC files loaded (according to those
    variables and command line arguments) can be seen in the output of xonfig.
  • Replaced xontrib-linuxbrew <https://github.com/eugenesvk/xontrib-linuxbrew>_ with xontrib-homebrew <https://github.com/eugenesvk/xontrib-homebrew>_, which also supports Homebrew on macOS

Removed:

  • Completely dropped the deprecated --config-path argument, which no longer
    did anything.
  • The environment variable LOADED_RC_FILES is no longer set. It contained a list of booleans
    as to which RC files had been successfully loaded, but it required knowledge of the RC loading
    internals to interpret which status corresponded to which file. As above, the (successfully)
    loaded RC files are now shown in xonfig.

Fixed:

  • Add quotes in autocomplete when filename contains brackets
  • Handle None value on XSH.env if $UPDATE_OS_ENVIRON is set to True
  • Implemented __hash__ method to Env, so that it can be used in lru_cache without crashing.
  • Make sure aliases are always captured regardless of $XONSH_CAPTURE_ALWAYS
  • fromdircolors doesn't crash if output from subprocess call to dircolors returns
    nothing (usually due to permission errors)
  • Fixed issue with environment not being iterable on session objects.
  • Fixed issue where environment is None in commands cache.
  • ${...}.swap() can be called from multiple threads safetly.
  • Piping multiple function aliases doesn't raise a recursion error anymore.
  • Fixed detection of App Execution Alias for latest 3.8 and 3.9 releases
  • Jedi completer doesn't complete paths with ~.
  • Sometimes the completion menu doesn't take space when cursor is at the bottom of the screen.
  • vox now passes system-site-packages option
  • Fix Duplicate paths left over when add paths to Path via xonsh.tools.EnvPath
  • Fix Crash with FileNotFoundError when current working directory is deleted #4467
  • Completing a single-arg python code segment (e.g. @(/etc/hos<TAB>)).
  • Fixed pipelines in WSL2
  • Newline symbols in Prompt-toolkit's completions are replaced by
  • Fix launching processes on Windows by using full paths (https://bugs.python.org/issue8557)