Releases: xonsh/xonsh
Releases · xonsh/xonsh
0.14.0
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
toxonsh.tools
. This allows to usewith 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 therepr(cmd)
to uncover the cases when the command name has\n
,\t
or not visible color codes and raises the error. abbrevs
xontrib transferred toxontrib-abbrevs <https://github.com/xonsh/xontrib-abbrevs>
_.bashisms
xontrib transferred toxontrib-bashisms <https://github.com/xonsh/xontrib-bashisms>
_.free_cwd
xontrib transferred toxontrib-free-cwd <https://github.com/xonsh/xontrib-free-cwd>
_.whole_word_jumping
xontrib transferred toxontrib-whole-word-jumping <https://github.com/xonsh/xontrib-whole-word-jumping>
_.fish_completer
xontrib transferred toxontrib-fish-completer <https://github.com/xonsh/xontrib-fish-completer>
_.vox
,autovox
,voxapi
xontribs transferred toxontrib-vox <https://github.com/xonsh/xontrib-vox>
_.pdb
,xog
xontribs transferred toxontrib-debug-tools <https://github.com/xonsh/xontrib-debug-tools>
_.
Fixed:
- Fixed xpip alias for xonsh AppImage.
- Fixed missing
webconfig/js/xonsh_sticker.svg
inxonfig 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
Added:
- tests for methods changed in tools.py (is_tok_color_dict)
$XDG_CACHE_HOME
,$XONSH_CACHE_DIR
are now available insideXonsh
- #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 variableXONSH_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
0.13.2
Changed:
- When there is no git repository, the values of all
gitstatus
prompt fields are nowNone
. - 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
: Whencd
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
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 itgitstatus
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 addsudo
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
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 ofptk_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
0.12.5
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
andbackspace
. TheXONSH_WHOLE_WORD_CTRL_BKSP
environment
variable can be set toFalse
to avoid bindingcontrol+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 fieldslast_return_code
,last_return_code_if_nonzero
from
thePR <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
0.12.3
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 onthe 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