All Versions
109
Latest Version
Avg Release Cycle
23 days
Latest Release
-

Changelog History
Page 5

  • v0.9.1 Changes

    πŸ”„ Changed:

    • We no longer manually check the Python version in setup.py, but instead use the setuptools python_requires feature.

    πŸ›  Fixed:

    • πŸ’… Updates for integrating with new colors styles in Pygments v2.4.0.

    Authors:

    • Anthony Scopatz
  • v0.9.0 Changes

    βž• Added:

    • Implemented the following "bang command" bashisms: !$, $*, !^, and !<str>. These are in addition to !!, which was already implemented.
    • asciinema (terminal recorder) added in not threadable commands.
    • tput added in not threadable commands.
    • New color_tools.KNOWN_XONSH_COLORS frozenset.
    • πŸ†• New pyghooks.PYGMENTS_MODIFIERS mapping from color modifier names to pygments colors.
    • New pyghooks.color_name_to_pygments_code() function for converting color names into pygments color codes.

    πŸ”„ Changed:

    • Circle now runs black checks on contents of bundled xontribs

    • The black checks no longer skip some files buried deeper in the directory tree.

    • Errors while formatting the prompt are highlighted for easier debugging.

    • πŸ’… Pygments styles only define the standard set of colors, by default. Additional colors are computed as needed.

    • PTYs created for running threadable command have now size set to same size than main terminal.

    • πŸ“š Update documentation pointing to the minimal required version of Python (3.5).

    πŸ—„ Deprecated:

    • ⬇️ Drop support for Python 3.4.

    βœ‚ Removed:

    • pyghooks.KNOWN_COLORS is no longer needed or useful as pygments colors are computed automatically.
    • style_tools.KNOWN_COLORS was never used, redundant with pyghooks.KNOWN_COLORS and has thus been removed.

    πŸ›  Fixed:

    • πŸ›  Fixed a DeprecationWarning that would show up during an import of MutableSet.
    • πŸ›  Fixed error with aliases composed of functions wrapped in functools.partial.
    • black formatted all xontribs
    • 0️⃣ deleting a non existing environement variable with default value do nothing instead of raising a exception trying to deleting it in existing values dict.
    • πŸ›  Fixed crash while converting ANSI color codes with leading zeroes
    • πŸ›  Fixed crash while parsing invalid ANSI color code
    • πŸ›  fix causing infinite loop when doing cat empty file
    • πŸ›  Fixed issue which occurs when user doesn't have access to parent directory and xonsh scan all parents directory to find if we are in a Hg repository.
    • πŸ›  Fixed issue with pygments-cache not properly generating a cache the first time when using prompt-toolkit when using ptk2. This was due to a lingering lazy import of pkg_resources that has been removed.
    • ⚑️ Minor update for Python v3.8.
    • πŸ›  Fixed a "'NoneType' object is not iterable" bug when looking up stty in command cache.
    • πŸš€ The release tarball now includes all test files.
    • Arguments passed to python in 'scripts/xonsh' and in 'scripts/xonsh-cat' are now passed by a portable hack in sh, not anymore by /usr/bin/env.

    Authors:

    • Anthony Scopatz
    • Gil Forsyth
    • Jean-Benoist Leger
    • David Strobach
    • virus
    • Carmen Bianca Bakker
    • Alexander Sosedkin
    • Kale Kundert
    • AndrΓ©s GarcΓ­a GarcΓ­a
    • Samuel Dion-Girardeau
    • Steven Kryskalla
    • Rodrigo Oliveira
  • v0.8.12 Changes

    βž• Added:

    • πŸ‘Œ Support for more ANSI escape sequence modifers allowed in color names. The current modifiers now allowed are: BOLD, FAINT, ITALIC, UNDERLINE, SLOWBLINK, FASTBLINK, INVERT, CONCEAL, and STRIKETHROUGH.
    • New ansi_tools.ansi_color_name_to_escape_code() function for converting a color name to an ANSI escape code.
    • color_tools.RE_XONSH_COLOR is a regular expression for matching xonsh color names.
    • βœ… color_tools.iscolor() is a simple function for testing whether a string is a valid color name or not.
    • The tools.all_permutations() function yields all possible permutations of an iterable, including removals.

    πŸ”„ Changed:

    • πŸ”„ change url of xontrib-autojump
    • πŸ’… ANSI color styles may now be defined simply by their plain and intense colors.
    • SET_FOREGROUND_3INTS_ renamed to SET_FOREGROUND_FAINT_, SET_BACKGROUND_3INTS_ renamed to SET_BACKGROUND_FAINT_, SET_FOREGROUND_SHORT_ renamed to SET_FOREGROUND_SLOWBLINK_, and SET_BACKGROUND_SHORT_ renamed to SET_BACKGROUND_SLOWBLINK_.

    βœ‚ Removed:

    • ansi_tools.ANSI_REVERSE_COLOR_NAME_TRANSLATIONS removed, as it is no longer needed.

    πŸ›  Fixed:

    • πŸ›  Fixed issues where $LS_COLORS could not convert valid ANSI colors.

    Authors:

    • Anthony Scopatz
    • virus
  • v0.8.11 Changes

    βž• Added:

    • New xonsh.color_tools.short_to_ints() function for directly converting a short (0 - 256) color into a 3-tuple of ints representing its RGB value.
    • New xonsh.ansi_colors.ansi_reverse_style() function for converting a mapping of color names to ANSI escape codes into a mapping from escape codes into color names. This is not a round-trippable operation.
    • New xonsh.ansi_colors.ansi_color_escape_code_to_name() function for converting an ANSI color escape code into the closest xonsh color name for a given style.
    • πŸ†• New xonsh.events.EventManager.exists() method enables checking whether events actually exist without making the event if it doesn't exist.
    • New command-specific event categories called on_pre_spec_run_<cmd-name> and on_post_spec_run_<cmd-name> will be fired before and after SubpocSpec.run() is called. This allows for command specific events to be executed. For example, on_pre_spec_run_ls would be run prior to an invocation of ls.
    • πŸ†• New xonsh.environ.LsColors class for managing the $LS_COLORS environment variable. This ensures that the ls command respects the $XONSH_COLOR_STYLE setting. An instance of this class is added to the environment when either the $LS_COLORS class is first accessed or the ls command is executed.
    • The on_pre_spec_run_ls event is initialized with a default handler that ensures that $LS_COLORS is set in the actual environment prior to running an ls command.
    • πŸ†• New xonsh.tools.detype() function that simply calls an object's own detype() method in order to detype it.
    • πŸ†• New xonsh.tools.always_none() function that simply returns None.
    • πŸ†• New Env.set_ensurer() method for setting an ensurer on an environment.

    πŸ”„ Changed:

    • πŸ’… The black and white style bw now uses actual black and white ANSI colore codes for its colors, rather than just empty color sequences.
    • An environment variable detype operation no longer needs to be a function, but may also be None. If None, this variable is considered not detypeable, and will not be exported to subprocess environments via the Env.detype() function.
    • An environment variable detype function no longer needs to return a string, but may also return None. If None is returned, this variable is considered not detypeable, and will not be exported to subprocess environments via the Env.detype() function.
    • ⚑️ The Env.detype() method has been updated to respect the new None types when detyping.
    • ⚑️ The xonsh.tools.expandvars() function has been updated to respect the new None types when detyping.
    • The xonsh.xonfig.make_xonfig_wizard() function has been updated to respect the new None types when detyping.
    • Event handlers may now be added and discarded during event firing for normal events. Such modifications will not be applied until the current firing operation is concluded. Thus you won't see newly added events fired.
    • xonsh now uses its own vendored version of ply. Any installed versions will no longer be used. This reflects that ply is no longer distributed as an installable package.
    • ⚑️ Updated to use ply version 3.11.
    • Reverted change in give_to_terminal to restore working version of cmake, rm -i, etc. This breaks pv | head.

    πŸ—„ Deprecated:

    • The xonsh.color_tools.make_pallete() function is no longer deprecated, as it is actually needed in other parts of xonsh still, such as pyghooks.

    βœ‚ Removed:

    • 🚚 All code references to $FORMATTER_DICT have been removed.

    πŸ›  Fixed:

    • Resolved issues where macro functions were not able to properly accept single-line statements in exec and single mode.
    • πŸ›  Minor fixes to xonsh.events.debug_level().
    • πŸ›  Fixed a regression where some interactive commands were not waited for properly for long enough.
    • πŸ›  Fixed environments not showing in the prompt when using Anaconda Python.

    • πŸ›  Fixed regression with anaconda activate/deactivate scripts not working on Windows.

    Authors:

    • Anthony Scopatz
    • Morten Enemark Lund
  • v0.8.10 Changes

    βž• Added:

    • New xonsh.aliases.partial_eval_alias() function and related classes for dispatching and evaluating partial alias applications for callable aliases.

    πŸ”„ Changed:

    • Subprocesses will no longer close file descriptors automatically. This was causing issues with other commands that expected file descriptors to remain open, such as make.
    • ⚑️ The xonsh.Aliases.eval_alias() method updated to use xonsh.aliases.partial_eval_alias().

    πŸ›  Fixed:

    • πŸ›  Fixed xonsh.completers.base.complete_base() to no longer throw an error caused by complete_python() sometimes returning a tuple. This fixes cases such as ls &&<TAB>.
    • πŸ›  Fixed regression with line continuations in implicit subprocess mode within indented blocks of code, such as if-statements.
    • 🚦 Resolved issue where setting empty signal masks was causing the terminal to close. This was problematic for certain command pipelines. For example, pv /dev/urandom | head now works.
    • Prevents recursive errors from being raised when there is no child process in xonsh.jobs.wait_for_active_job().
    • πŸ‘‰ Tweaked xonsh.completers.commands.complete_skipper() to insert a space following certain tokens (&&, ||, |, and, or) to avoid overwriting existing tokens with completer output.
    • πŸ›  Fixed bug with evaluating recursive aliases that did not implement the full callable alias signature.

    Authors:

    • Anthony Scopatz
    • Gil Forsyth
    • Troy de Freitas
  • v0.8.9 Changes

    βž• Added:

    • New env_prefix & env_postfix prompt fields for rendering the pre- and post-fix characters of the an active virtual environment.
    • ON_WSL attribute in platform.py
    • Rendering of {env_name} in $PROMPT is now suppressed if the $VIRTUAL_ENV_DISABLE_PROMPT environment variable is defined and truthy.
    • Rendering of {env_name} in $PROMPT is now overridden by the value of str($VIRTUAL_ENV_PROMPT) if that environment variable is defined and not None. $VIRTUAL_ENV_DISABLE_PROMPT takes precedence over $VIRTUAL_ENV_PROMPT.
    • πŸ‘ A xontrib which adds support for direnv <https://direnv.net/>_

    πŸ”„ Changed:

    • env_name prompt field now looks up the pre- and post-fix characters, rather than relying on hard-coded values.
    • Some minor history show efficiency improvements.
    • If we are on wsl, avoid to use xonsh_preexec_fn when pipe.

    πŸ›  Fixed:

    • 🏁 Made $PATH searching more robust to broken symlinks on Windows.
    • undesirable SIGSTOP by putting in a SIGCONT
    • πŸ›  Fixed issue with recursive aliases not being passed all keyword arguments that are part of the callable alias spec. This allows commands like aliases['hsa'] = "history show all"; hsa | head to no longer fail with strange errors.

    Authors:

    • Anthony Scopatz
    • Sagar Tewari
    • Brian Skinn
    • Yohei Tamura
    • anatoly techtonik
    • 74th
    • Chad Kennedy
  • v0.8.8 Changes

    βž• Added:

    • vox new has an added -p --interpreter flag for choosing the Python interpreter to use for virtualenv creation
    • 0️⃣ The default Python intrepreter vox uses to create virtual environments can be set using the $VOX_DEFAULT_INTERPRETER environment variable.

    πŸ”„ Changed:

    • lib.ChainDB now resolves results to the type of the inputs if possible
  • v0.8.7 Changes

    βž• Added:

    • πŸ†• New xonsh syntax pf strings -- combining path strings with f-strings.

    Usage:

    .. code-block:: bash

       gil@bad_cat ~ $ repos = 'github.com'
       gil@bad_cat ~ $ pf"~/{repos}"
       PosixPath('/home/gil/github.com')
       gil@bad_cat ~ $ pf"{$HOME}"
       PosixPath('/home/gil')
       gil@bad_cat ~ $ pf"/home/${'US' + 'ER'}"
       PosixPath('/home/gil')
    

    πŸ›  Fixed:

    • 0️⃣ Set ls to predict_true in default_threadable_predictors. This prevents ls on OSX from being flagged on OSX as unthreadable (incorrectly) because it relies on ncurses.
  • v0.8.6 Changes

    βž• Added:

    • ⚑️ Doco about how to update xonsh and how to set and unset environment variables

    πŸ›  Fixed:

    • ⚑️ Updated behavior of the cat coreutils function so that it properly handles as vareity of cases such as:

      • Exits after concatenating normal files which have a finite size
      • Continues to run for special files which do not have a size, such as /dev/random
      • Is interruptable in all cases with Crtl-C.
    • Callable aliases were not properly raising a CalledProcessError when they returned a non-zero exist status when $RAISE_SUBPROC_ERROR = True. This has been fixed.

    • πŸ›  Fixed interpretation of color names with PTK2 and Pygments 2.3.1.

  • v0.8.5 Changes

    βž• Added:

    • βž• Add alias to base16 shell <https://github.com/chriskempson/base16-shell>_

    • Installation / Usage

      1. To install use pip

      .. code-block:: bash

          python3 -m pip install xontrib-base16-shell
      
    2. Add on ``~/.xonshrc``
    
       .. code:: xonsh
            :number-lines:
    
            $BASE16_SHELL = $HOME + "/.config/base16-shell/"
            xontrib load base16_shell
    
    
    3. See image
    
       .. image:: https://raw.githubusercontent.com/ErickTucto/xontrib-base16-shell/master/docs/terminal.png
            :width: 600px
            :alt: terminal.png
    
    • πŸ†• New DumbShell class that kicks in whenever $TERM == "dumb". This usually happens in emacs. Currently, this class inherits from the ReadlineShell but adds some light customization to make sure that xonsh looks good in the resultant terminal emulator.
    • Aliases from foreign shells (e.g. Bash) that are more than single expressions, or contain sub-shell executions, are now evaluated and run in the foreign shell. Previously, xonsh would attempt to translate the alias from sh-lang into xonsh. These restrictions have been removed. For example, the following now works:

    .. code-block:: sh

      $ source-bash 'alias eee="echo aaa \$(echo b)"'
      $ eee
      aaa b
    
    • πŸ†• New ForeignShellBaseAlias, ForeignShellFunctionAlias, and ForeignShellExecAlias classes have been added which manage foreign shell alias execution.

    πŸ”„ Changed:

    • πŸ‘€ String aliases will now first be checked to see if they contain sub-expressions that require evaluations, such as @(expr), $[cmd], etc. If they do, then an ExecAlias will be constructed, rather than a simple list-of-strs substitutiuon alias being used. For example:

    .. code-block:: sh

      $ aliases['uuu'] = "echo ccc $(echo ddd)"
      $ aliases['uuu']
      ExecAlias('echo ccc $(echo ddd)\n', filename='<exec-alias:uuu>')
      $ uuu
      ccc ddd
    
    • πŸ“œ The parse_aliases() function now requires the shell name.
    • ForeignShellFunctionAlias now inherits from ForeignShellBaseAlias rather than object.

    πŸ›  Fixed:

    • πŸ›  Fixed issues where the prompt-toolkit v2 shell would print an extra newline after Python evaluations in interactive mode.