* Sun Apr 28 2024 Dirk Müller <dmueller@suse.com>
- update to 0.16.0:
* 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.
* 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
* 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 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 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
* Sun Mar 17 2024 Dirk Müller <dmueller@suse.com>
- update to 0.15.1:
* pytest: Fix pytest collection starting at pytest>=8.1.0
* 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.
* Sun Jan 28 2024 Dirk Müller <dmueller@suse.com>
- update to 0.14.4:
* System clipboard can be fully disabled using
$XONSH_USE_SYSTEM_CLIPBOARD.
* xonsh now adds the user site packages directory to sys.path
where required for proper xontrib discovery
* history: fix json file permissions upon sudo
* Correctly parse multi line foreign aliases
* Upgrade Python version at the introduction
* Thu Sep 28 2023 Dirk Müller <dmueller@suse.com>
- update to 0.14.1:
* Added ``history delete`` command to both the JSON and SQLite
history backends allowing users to delete commands from
history that matches a pattern.
* Added preliminary support for Python v3.12
* 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
* This change fixes issue #4855, that is, rc files will be
loaded in non-interactive mode.
* Mon Jun 26 2023 Dirk Müller <dmueller@suse.com>
- update to 0.14.0:
* 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 for line continuations in
multiline prompts via two environment variables:
``$MULTILINE_PROMPT_PRE`` 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.
* 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.
* Sat Dec 10 2022 Sebastian Wagner <sebix+novell.com@sebix.at>
- update to version 0.13.4:
- 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.
- 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
- commands_cache: add a configurable value to disable cache. useful for running scripts
- 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
- #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.
* Tue Dec 06 2022 Dirk Müller <dmueller@suse.com>
- update to 0.13.3:
* ``pygments`` startup crash when incorrect prepending ``bg:`` to
``noinherit`` style directives
* Tue Dec 06 2022 Sebastian Wagner <sebix+novell.com@sebix.at>
- Update to version 0.13.2:
* 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 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.
* Tue Aug 23 2022 Sebastian Wagner <sebix+novell.com@sebix.at>
- update to version 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 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
- update to version 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 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.
- update to version 0.12.6:
- 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)
- update to version 0.12.5:
- Added:
- 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 [<errorcode>] 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
* Sun May 22 2022 Sebastian Wagner <sebix+novell.com@sebix.at>
- update to version 0.12.4:
- update to version 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 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