Xonsh

Latest version: v0.17.0

Safety actively analyzes 640747 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 20

0.17.0

====================

**Added:**

* Added section "Use the Nix Package manager with Xonsh" to "Platform-specific tips and tricks".
* Added ``env.detype_all()`` to get all available variables that is possible to detype.
* Reading stop signals from the process and update the process state (5361).
* Added support of NixOS core tools in ``predict_threadable``.
* Added catching an exceptions during load a history backend to avoid shell exiting e.g. on permission error.
* Added catching an exception when cache file is not writable.
* Added FuncAlias to process callable aliases.
* Added alias name printing in case of exception in alias.
* Saving history in case of any type of exiting the shell.
* Added catching ChildProcessError in jobs. Avoiding hanging aliases in some cases.
* Added xonsh support into Jupytext project! Jupytext is to store Jupyter notebooks as a plain text documents.
* Now last executed CommandPipeline is available in ``__xonsh__.last``.
* Added ``xonsh --no-env`` option to run xonsh without inheriting the environment variables. Now by running ``xonsh --no-rc --no-env`` you have pure xonsh session.
* Added thread class, name, func and alias names to thread exception for easy understanding the source of issue.
* Added shortcut ``-st`` for ``--shell-type``.
* Saving history on SIGINT. Development tools like PyCharm send SIGINT before killing the run
and doing this is the last chance to save history.
* Added ``spec.raise_subproc_error`` for fine-tuning exceptions via ``SpecModifierAlias`` (5494).
* Added ``$XONSH_SUBPROC_OUTPUT_FORMAT`` to switch the way to return the output lines.
Default ``stream_lines`` to return text. Alternative ``list_lines`` to return
the list of lines. Now you can run ``du $(ls)`` without additional stripping.
Also supported custom lambda function to process lines (if you're looking for
alternative to bash IFS).
* Added ``xthread`` and ``xunthread`` aliases to force command running as threaded and unthreaded.
* Added ``SpecModifierAlias`` class to have an ability to create alias that modifies spec before run e.g. ``xthread`` alias.
* Added mode ``$XONSH_TRACE_SUBPROC=3`` to show more information about pipeline.
* Added "Callable alias and capturing" to the tutorial.
* Xonfig: show sensitive env variables that could affect the shell behavior.
* We started `Zulip Community <https://xonsh.zulipchat.com/join/hbvue5rimpdkwkdjuiqfs7tv/>`_ to publish news and chatting.

**Changed:**

* Minor cleanup of ``commands_cache``, unifying behavior across platforms.
* Xonsh AppImage downgraded to Python 3.11. We need to resolve 3.12 parser support (5166) before upgrade.
* Env variables completion: now use substring for search and then sort results by the position of substring and then alphabetically. PR 5388.
* jobs: default representation changed to dict.
* The CommandPipeline repr will not show descriptors by default. Use XONSH_DEBUG mode to see them.
* Prompt: ``env_name`` will have yellow color by default.
* Show ``root`` and ` in prompt if user is superuser.
* Cleaning logic and functions around threading and capturing in ``procs/specs.py`` file.
* Now the ending new line symbol ``\n`` will be stripped from the single line output.
For ``$(whoami)`` you will get ``'user'`` instead of ``'user\n'``.
* ``$XONSH_TRACE_SUBPROC=2`` returns more useful details.
* The home based ``~/.xonshrc`` will not be executed in non-interactive mode (5491).

**Removed:**

* No longer is ``.`` implied for running commands on Windows. Instead the behavior is the same across platforms. Windows users will need to prefix ``./`` or ``.\`` to run commands from the current directory (5476).
* Unpin prompt-toolkit version (5438).

**Fixed:**

* Commands on Windows now honor the case as they appear on the file system (5469).
* Prevent exception on start up if ``dircolors`` util is wrong.
* Fixed ``Bad file descriptor`` and I/O errors after running callable alias (5435).
* Fixed showing exception message in some cases.
* Fixed empty stacktrace for CalledProcessError.
* Fixed redirect with python substitution e.g. ``echo 1 > ('/tmp/file')`` is working now.
* Fixed showing alias description using superhelp e.g. ``which?``.
* Fixed ``xonsh -DVAR=VAL`` behavior: initiate env variables before shell initialization.
* Fixed processing exit signals and exceptions (e.g. SIGHUP in 5381) to provide careful exiting with right exit code and TTY cleaning.
* Fixed ``TypeError`` in xoreutils.
* Fixed populating the return code for interrupted process.
* Windows: fixed path to RC file in ``xonfig web``.

**Authors:**

* Gil Forsyth
* Noortheen Raja
* anki-code
* pre-commit-ci[bot]
* Peter Ye
* Jason R. Coombs
* dependabot[bot]
* doronz88
* jyn
* l-no
* amacfie-tc

0.16.0

====================

**Added:**

* Square brackets can now be used in command arguments without quotes (e.g. `echo a[b]`)
* Add ``XONSH_BASH_PATH_OVERRIDE`` option (off-by-default) to override what is
returned by `xonsh.platform.bash_command`.
* Added PATH.prepend(path) to add path to the beginning.

**Changed:**

* Xonsh AppImage now on Python 3.12 that works faster.
* Xonsh AppImage: pinned prompt-toolkit version until fix upstream issue.
* Builtin aliases (xontrib, history) switched to threadable mode.
* EnvPath methods (append, remove, add, insert) prepare the path before action.
* Replaced black formatter with `ruff-format <https://docs.astral.sh/ruff/>`_
* ``source_foreign_fn`` now does not run subshells in interactive mode, so
associated RC files like ``zshrc`` and ``bashrc`` will not be auto-loaded on
sourcing.
* Removed usage of deprecated ``cgi`` module

**Removed:**

* Removed ``ArgParserAlias.hook_pre_add_argument``, ``ArgParserAlias.hook_post_add_argument``.
Please use custom action instead to modify the argument options.
* Removed deprecated module ``xonsh.proc``

**Fixed:**

* Fixed an issue with completions when using absolute paths to commands and having $UPDATE_COMPLETIONS_ON_KEYPRESS set to True. https://github.com/xonsh/xonsh/issues/5127
* Jobs: fixed "index out of range" exception.
* Expressions like ``2>1`` are now parsed correctly as Python code instead of being treated like special io-redirection operators.
* Redirect tokens in quotes (e.g. ">", "2>", "2>1") are now correctly passed to commands as regular arguments.
* Fixed NotADirectoryError during load dircolors.
* Fixed a bug that caused ``xonfig web`` to overwrite its own configuration file. See https://github.com/xonsh/xonsh/issues/5297
* If an error is encountered while loading the xonshrc file, the traceback is now output as plain text rather than as a list of Tokens

**Authors:**

* Gil Forsyth
* Noortheen Raja
* anki-code
* pre-commit-ci[bot]
* Peter Ye
* dependabot[bot]
* l-no

0.15.1

====================

**Fixed:**

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

**Authors:**

* doronz88
* Daniel Saunders
* Andrew

0.15.0

====================

**Added:**

* `Atuin <https://atuin.sh/>`_ now has official support for xonsh. (Related PR: https://github.com/atuinsh/atuin/pull/1375)

**Changed:**

* Updated docs to reflect VS Code support for xonsh as the user's default shell.
* Pinned prompt-toolkit version 3.0.29-3.0.40 to workaround upstream issue. More info in issue 5241.

**Authors:**

* anki-code
* pre-commit-ci[bot]
* Jason R. Coombs
* dependabot[bot]
* Matthieu LAURENT

0.14.4

====================

**Added:**

* System clipboard can be fully disabled using ``$XONSH_USE_SYSTEM_CLIPBOARD``.

**Authors:**

* anki-code
* pre-commit-ci[bot]
* dependabot[bot]
* Stefano Rivera
* Nathan Monfils
* JamesParrott
* Airat Makhmutov

0.14.3

====================

**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

Page 1 of 20

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.