xonsh v0.9.19 Release Notes
Release Date: 2020-08-09 // over 3 years ago-
Added:
π
history
command now supportsflush
actionβ Added new items on "Bash to xsh" page
β JsonHistory: added
history gc --force
switch to allow user to override above warning.β JsonHistoryGC: display following warning when garbage collection would delete "too" much data and don't delete anything.
"Warning: History garbage collection would discard more history ({size_over} {units}) than it would keep ({limit_size}).\n"
"Not removing any history for now. Either increase your limit ($XONSH_HIST_SIZE), or runhistory gc --force
.",It is displayed when the amount of history on disk is more than double the limit configured (or defaulted) for $XONSH_HIST_SIZE.
$LS_COLORS code 'mh' now recognized for (multi) hard-linked files.
π $LS_COLORS code 'ca' now recognized for files with security capabilities (linux only).
β CI step to run flake8 after pytest.
RichCompletion for completions with different display value, description and prefix_len.
Allow completer access to multiline document when available via
xonsh.completers.tools.get_ptk_completer().current_document
.βͺ
abbrevs
word expasion can now be reverted by pressing
the space bar second time immediately after the previous
word got expanded.ulimit
command.π¦
pdb
xontrib, that runs pdb debugger on reception of SIGUSR1 signal.xontrib-xpg is a xontrib for running or explaining sql queries for posgresql database.
π Changed:
- Xonsh now launches subprocesses with their
argv[0]
argument containing
the command exactly as inserted by the user instead of setting it to the
resolved path of the executable. This is for consistency with bash and other
shells. - β Added ability to register, deregister environment variables;
0οΈβ£ centralized environment default variables - β Added exit to the "Bash to xsh" article.
- xonsh.main _failback_to_other_shells now tries user's login shell (in $SHELL) before trying system wide shells from /etc/shells.
- π The current working directory is now correctly obtained in line 501 of xonsh/parsers/base.py
- β Garbage collection avoids deleting history and issues a warning instead if existing history is more than double the comfigured limit.
β This protects active users who might have accumulated a lot of history while a bug was preventing garbage collection. The warning
will be displayed each time Xonsh is started until user takes action to reconcile the situation. tests\test_integrations.py
no longer runs with XONSH_DEBUG=1 (because new, debug-only progress messages from history were breaking it).- β‘οΈ Updated pytest_plugin for pytest 5.4 API, pip requirements for pytest>= 5.4
- Major improvements to Jedi xontrib completer:
- Use new Jedi API
- Replace the existing python completer
- Create rich completions with extra info
- Use entire multiline document if available
- Complete xonsh special tokens
- Be aware of _ (last result)
- Only show dunder attrs when prefix ends with '_'
- β‘οΈ Many files are starting to be formatted using
pyupgrade --py36-plus
, in order to automatically update to newer
Python constructs. xontrib load
does not stop loading modules on error any more.
π Deprecated:
- β
pytest --flake8
now exits with error message to use flake8 instead.
π Allows single list of lint exceptions to apply in CI and your IDE.
β Removed:
- β Removed history replay
- π¦ pytest-flake8 package from requirements*.txt
- Xonsh now relies exclusively on Setuptools for install.
- π Compatibility with Python 3.5 has been removed as well as all related code. In
particular xonsh.inspector does not definedgetouterframes
anymore, use
inspect.getouterframe
directly.
π Fixed:
π» Unhandled exception triggered by unexpected return from callable alias.
π Fix path completer throwing exception sometimes
π Fixed help operator not displaying definition for callables.
JsonHistory.files(): Now once again enumerates history files from the directory. This has been broken for about 2 years.
JsonHistory.run_gc(): Don't busy loop while waiting for history garbage collection to complete, sleep a bit instead.
π± This does much to keep Xonsh ptk_shell responsive when dealing with very large history on disk.π Fixed JSON history indexing error.
π Fixed syntax error in scripts containing line continuation syntax.
$LS_COLORS code 'fi' now used for "regular files", as it should have been all along. (was 'rs')
π See (#3608)[https://github.com/[/issues/3608](https://github.com/xonsh/xonsh/issues/3608)].pyghooks.color_files now follows implememntation of ls --color closely. Thanks @qwenger!
However, a few documented differences remain due to use in Xonsh.π $LS_COLORS['ln'] = 'target' now works. Also fixes #3578.
π Fixed exit code for commands executed via
-c
(#3402)Logical subprocess operators now work after long arguments (e.g.
--version
).pip
completer no longer erroneously fires forpipx
β‘οΈ Updated development guide to reference flake8 instead of pylint
Corrected flake8 config for allowed exceptions.
β various pytest warnings in a "clean" test run.
The current Mercurial topic is shown.
π Fixed import problems due to modules using deprecated pkg_resources methods by proxying calls to the underlying loader.
Typo in 'source' alias.
Crash in 'completer' completer.
Don't complete unnecessarily in 'base' completer
π€‘ Viewing mock objects in the shell
π Fixed formatting error in
vox rm
command.Authors:
- Anthony Scopatz
- Gil Forsyth
- Morten Enemark Lund
- Bob Hyman
- David Strobach
- Burak YiΔit Kaya
- Matthias Bussonnier
- anki-code
- David Dotson
- con-f-use
- Daniel Shimon
- Jason R. Coombs
- Gyuri Horak
- Achim Herwig
- Marduk BolaΓ±os
- Stefane Fermigier
- swedneck
- Feng Tian
- cafehaine
- paugier
- Xonsh now launches subprocesses with their