Releases: xonsh/xonsh
Releases · xonsh/xonsh
Release list
v0.24.1
0.24.1 (2026-07-30)
Features
- ptk interactive: Replace builtin
input()to ptk implemented input hook with in-memory history and suggestion e.g.ls @(input('dir: '))(#6562) (5e39ff6), @anki-code
Fixes
- Add helpful message in case of using
historycommand without history object (#6541) (d038e03), @anki-code (@FlyingWombat) - dirstack: stop popd +0/-0 crashing on an empty stack (#6545) (4c05a98), @chuenchen309
- Parser: preserve whitespace in self-documenting f-strings (#6537) (3e6f996), @anki-code (@slacksystem)
- ptk: Replace builtin
input()to ptk implemented input hook (#6562) (5e39ff6), @anki-code - tests: Drop the harness PYTHONPATH before completing pip (#6543) (feae907), @rautyrauty
- tokenize: tokenize fR/FR/Rf triple-quoted raw f-strings on Python 3.11 (#6549) (6d5dad3), @chuenchen309
- tools: accept a bare number for $DYNAMIC_CWD_WIDTH (#6547) (6363f30), @chuenchen309
- tools: accept a non-lowercase unit in the $XONSH_HISTORY_SIZE tuple (#6544) (d114676), @chuenchen309
Refactoring
- platforms: move Windows color helpers (#6556) (c47a18e), @JJordan0C
v0.24.0
0.24.0 (2026-07-02)
⚠ BREAKING CHANGES
- Procs: Run scripts without shebang using
sh(#6510), @anki-code (@skeledrew, @bestlem)
Features
- git completer: Add
.gitconfigalias support (#6508) (01c701b), @anki-code (@goodboy) - Introduce
xonsh --no-executeandxonsh checkfor syntax checking without execution (#6496) (3db4807), @anki-code (@asmeurer) - Introduce Xonsh linter
xonsh lint(#6497) (da9222f), @anki-code (@asmeurer) - Prompt: Add
RESET_FOREGROUNDandRESET_BACKGROUND(#6492) (79d0856), @anki-code (@gotgenes) - Windows: Add
XONSH_WIN_CONSOLE_HISTORY_BUFFERSto support Windows console history (#6505) (4c0cfa1), @anki-code (@jaraco) - Windows: Add SIGBREAK handler (#6498) (d10d3c0), @anki-code (@ofek)
Fixes
- Add
checkerandlintercommands to pyproject.toml (Issue #6519) (#6520) (1c2a92f), @anki-code - ci: FreeBSD test: Fix Python version: from 3.11 to 3.12 (#6531) (83327c4), @anki-code
- Completer: Fix
sometool --arg=path/<Tab>completion (#6530) (ffc5e47), @anki-code - Executable: Fixed regress with running executable file by relative path in case the path in PATH (#6533) (6d9d6f4), @anki-code (@blahgeek, @bestlem, @alvarv)
- prompt: vi mode: Fix lag with switching to insert mode (#6509) (8a7371b), @anki-code (@macintacos)
- Some built-in styles make some paths unreadable (#6517) (341774a), @anki-code (@uninstall-your-browser)
- xonfig web: Fix external link for Xonsh documentation (#6470) (e691a91), @anki-code
Documentation
- Add microsoft coreutils to the docs (#6506) (43780b9), @anki-code
- center title (3dee09e), @anki-code
- Cross-platform: Add
osqueryto cross-platform tooling (#6493) (971cd15), @anki-code - events: add usage examples to all event handlers missing them (#6485) (27cd810), @sridhar-3009
- skip archived repos (1a9ae8f), @anki-code
- Update Github xonsh/actions to version 2 in install.rst (be35c39), @anki-code
- Update Xonsh Projects doc (#6534) (0c3dbb8), @anki-code
v0.23.8
0.23.8 (2026-05-28)
Features
- Parser: Support multiline string with logical subprocess (#6465) (78d9c53), @anki-code
- Add
events.on_completer_filterto skip certain completer if needed (#6453) (ea747d2), @anki-code (@gforsyth) - Support SSH escape sequences (#6462) (c5300ed), @anki-code (@brechtm)
- Builtins: source-foreign: Add ash, dash, ksh as reference to sh (#6459) (9bb681f), @anki-code
Fixes
- Parser: Treat
!inside f-string{…}as conversion (#6466) (6f52fdc), (b41ba78), @anki-code - xcontext: Show both path and resolved path (#6448) (8b75ce2), @anki-code
- xontribs: Invalidate import caches before loading xontribs (#6452) (794b53c), @rautyrauty
- TTY: Fix termios error (#6461) (b8e51f0), @anki-code (@dysfungi)
- Builtins: trace: Fix lags issue by avoiding settrace for all files. Also improve output flushing (#6460) (da4e2c9), @anki-code (@certik, @johny65, @gnikit)
- completer: Source user bash completion scripts (#6464) (a17c6f6), @doronz88
- Proc: Additional polling return code (#6457) (0549cc5), @anki-code (@rautyrauty)
- Readline: Completer: Fix file with space in name (#6455) (d7a2811), @anki-code (@ttufts)
- Builtins: source-foreign: Show more detailed error, add
source-sh(#6458) (8ef52c1), @anki-code (@CmdQ, @damienflament) - tests: Add pytest-xdist support (#6454) (85f6c55), @anki-code (@jnoortheen)
Refactoring
- Remove docstring shenanigans from events (#6449) (8bc46d0), @anki-code (@AstraLuma)
v0.23.7
0.23.7 (2026-05-17)
Features
- Command: Add
@toml,@xml,@lxmlcommand decorators (#6436, #6437, 97f701d), @anki-code - Completer: Add dedicated
sudocompleter (#6433) (f7f2d27), @anki-code (@Infinidoge) - Env: Add sentinel
@.env.DELETE_VARto removing env variables using env swap/layouts/specs (#6427) (7e66501), @anki-code (@dconeybe)
Fixes
- Builtins:
exit Naborts execution immediately (#6429) (eb916a0), @anki-code (@nahoj) - Proc: Fix alias with pipe backgrounding (#6439) (208d359), @anki-code (@goodboy)
- Env: Pop THREAD_LOCAL from inherited os.environ in default_env (#6434) (4d966d2), @ZZBaron
- Nix: Forward $PATH in foreign shell tests so they work in Nix sandbox (#6430) (#6431) (afb2eda), @anki-code (@ZZBaron)
- BSD: Added regular FreeBSD testing to Xonsh CI (#6440), @anki-code
- Aliases: Add repr to DecoratorAlias and ArgParserAlias (#6443) (554b675), @anki-code
Documentation
- Docs: Capitalize docs title (#6441) (c458ba4), @anki-code
Xonsh World
- xontrib-jedi has massive update, @anki-code
- xontrib-fish-completer has massive update, @anki-code
- xontrib-mpl has massive update, @anki-code (@wangjiawen2013, @melund)
v0.23.6
0.23.6 (2026-05-11)
Shining Features
Allow comments in multiline commands (#6417)
Now you can comment line in a multiline command:
curl https://xon.sh \
-fsSL \
# --compressed \
-H "User-Agent: curl"Add xontrib info (#6407)
xontrib info output_searchName: output_search
Source: xontrib.output_search at /Users/snail/.local/xonsh-env/lib/python3.14/site-packages/xontrib/output_search.py
Description: Get identifiers, paths, URLs and words from the previous command output and use them for the next command in xonsh shell.
Loaded: yesFeatures
- Parser: Allow comments in multiline commands (#6417) (081deeb), @anki-code (@goodboy)
- Extensions: Add
xontrib info <xontrib_name>(#6407) (6fe1e11), @anki-code - Completer: Show alias body in description if no docstring (#6408) (fe6472e), @anki-code
- Release: Add checksums for artifacts on release page and on nightly build page (#6420) (cf0ee6b), @anki-code (@ScriptAutomate, @jirutka, @meramsey)
- source-foreign: Add
--show-outputto source foreign (#6421) (23e26b8), @anki-code (@a-da, @gforsyth, @batthias, @jnoortheen)
Fixes
- AppImage: Remove legacy logic from entrypoint (#6415) (ab26546), @anki-code (@elgow, @cocoix)
- Completer: Fix completer in case of xontrib load with unknown arg (#6405) (68c234a), @anki-code (@goodboy)
- Windows: Aliases: Fix sudo shadowing and significantly improve win_sudo logic (#6410) (58b835b), @anki-code (@jaraco)
- Conda on Windows: Initial fix of
conda init xonshand activate/deactivate aliases when conda is on $PATH (#6423) (6708eee), @anki-code (@melund, @scopatz, @royess, @wybert) - Environ: EnvPath should preserve empty values in the general case (#6416) (3e63379), @anki-code (@nahoj)
- source-foreign: Foreign shell function aliases now stream their output through the caller-supplied stdout/stderr instead of inheriting xonsh's terminal fds (#6409) (c40cfc5), @anki-code (@japert)
- Prompt: Fix exception in case IGNOREEOF + ^D (#6413) (03cd547), @anki-code (@elgow)
- Docs: Fix code highlighting (#6418) (b009635), @anki-code
- Docs: Highlight xonsh code block in docs/xonshrc (#6419) (bfb4667), @anki-code
v0.23.5
0.23.5 (2026-05-05)
Features
- Aliases: Show alias description in completion menu (#6399) (cf6db23), @anki-code
- Dev: Alpha version of a Xonsh code formatter. Run
xonsh format file.xsh(#6401) (8c3191e), @anki-code
Fixes
- Сompleter: Allow completion of explicit dot-dirs (#6402) (343f5fd), @anki-code
- Completer: Fix regress with parent directory completion (#6404) (0d5a2fc), @anki-code (@nahoj)
- Tests: Fix webconfig test with preventing adding tail to global xonsh RC (#6400) (a94eb6a), @anki-code
Xonsh World
v0.23.4
0.23.4 (2026-05-03)
Fixes
- Parser: f-strings: SyntaxError with int formatting (#6390) (f5ca787), @anki-code (@yobleck)
- Parser: Fix lost LHS in
cmd && ![…]chain wrap (#6392) (4daff85), @anki-code (@nahoj) - Prompt: AssertionError: wrong color format 'blink' (#6391) (a31a53e), @anki-code (@Triquetra)
- Cross-platform: Jupyter: pyghooks lexer fix when XSH.aliases is None (#6384) (dc16ca6), @anki-code
- Cross-platform: FreeBSD: test_integrations
tests/bin/cat: No such file or directory(#6383), @anki-code (@nunotexbsd) - Nix: fix nix build (#6388) (5831959), @SamLukeYes
- Xontrib: Xontrib load using entrypoint e.g. coconut (#6394) (d68e39c), @anki-code (@nahoj)
- Chore: Added smoke tests (#6393) (c5c2a3f), @anki-code
Xonsh World
- virtualenv reintroduced xonsh activator in 21.3.0, @anki-code (thanks @gaborbernat)
- xontrib-jupyter is going to release 0.4.0 with big refactoring and features on board, @anki-code
- xontrib-template now supports
uv, @anki-code
v0.23.3
0.23.3 (2026-04-30)
Features
- Cross-platform: Better FreeBSD support: added defaults, fixed jail tests and found and fixed FreeBSD specific pipeline behavior (#6375) (ced252e), @anki-code (@nunotexbsd, @yonas)
- Cross-platform: Better Android/Termux support: all tests are reviewed and fixed, added ON_ANDROID and ON_TERMUX variables, additional TERMUX support was implemented (#6382) (c3aefaf), @anki-code
- Debug: Added frame to
@.debug.breakpoint()(#6376) (8e17615), @anki-code (@goodboy)
Fixes
- Parser: Fix SyntaxError in case
cmd && @() && cmd(#6380) (759f9bb), @anki-code (@nedsociety) - Debug: Show debug warning in case of worker thread (#6378) (58b66d5), @anki-code (@goodboy)
v0.23.2
0.23.2 (2026-04-26)
This fix release focused on improving the completer and adding an instant debugging tool and GitHub Actions.
Features
- Added
@.debugwithbreakpointandreplace_builtin_breakpoint(#6363) (f092a8c), @anki-code (@goodboy) - Completer: Use quotation only if needed (#6367, #6366), @anki-code (@bobhy)
- Added Xonsh Github Actions -
xonsh/actions@v2(c27c97e), @anki-code
Fixes
- Completer: Fix
@.<obj>.<tab>completion (#6364), @anki-code - Completer: Fix bash completer quotation (#6370), @anki-code
- Completer: Hide syntax and private methods if line is empty (#6372), @anki-code
- Nix: Now flake uses the package built from source (#6361), @shubms
Documentation
- Update index.html for i18n support (#6359) (cac1476), @hwhsu1231
- Replace xonshrc mentions to the link with xonshrc.rst (#6365) (6032abc), @anki-code
- Fix dockerhub container name (8b323de), @anki-code
v0.23.1
0.23.1 (2026-04-21)
Fix release.
Fixes
- Docs: Avoid error when output dir is not
_build(#6357) (6ba2b3e), @hwhsu1231 - Parser: Preserve "func()[subscript]" at statement level (#6355) (aa7383a), @anki-code (@amotl)
- Prompt:
virtualenvname now has smarter formatting (#6353) (014715e), @anki-code - Chore: Fixed release-please depth to avoid reace with nightly build (#6351) (3d9eb6a), @anki-code