2016-06-11 17:21:01 -04:00
|
|
|
====================
|
2015-12-30 22:54:32 -08:00
|
|
|
Xonsh Change Log
|
|
|
|
====================
|
2016-06-09 03:35:06 -04:00
|
|
|
|
2016-06-11 17:34:11 -04:00
|
|
|
.. current developments
|
2016-06-08 14:25:52 -04:00
|
|
|
|
2016-06-24 17:40:40 -04:00
|
|
|
v0.4.1
|
|
|
|
====================
|
|
|
|
|
|
|
|
**Fixed:**
|
|
|
|
|
|
|
|
* ``setup.py`` will only amalgamate source files if ``amalgamate.py`` is
|
|
|
|
available. This fixes issues with installing from pip.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-24 14:23:19 -04:00
|
|
|
v0.4.0
|
|
|
|
====================
|
|
|
|
|
|
|
|
**Added:**
|
|
|
|
|
|
|
|
* A new class, ``xonsh.tools.EnvPath`` has been added. This class implements a
|
|
|
|
``MutableSequence`` object and overrides the ``__getitem__`` method so that
|
|
|
|
when its entries are requested (either explicitly or implicitly), variable
|
|
|
|
and user expansion is performed, and relative paths are resolved.
|
|
|
|
``EnvPath`` accepts objects (or lists of objects) of ``str``, ``bytes`` or
|
|
|
|
``pathlib.Path`` types.
|
|
|
|
* New amalgamate tool collapses modules inside of a package into a single
|
|
|
|
``__amalgam__.py`` module. This tool glues together all of the code from the
|
|
|
|
modules in a package, finds and removes intra-package imports, makes all
|
|
|
|
non-package imports lazy, and adds hooks into the ``__init__.py``.
|
|
|
|
This helps makes initial imports of modules fast and decreases startup time.
|
|
|
|
Packages and sub-packages must be amalgamated separately.
|
|
|
|
* New lazy and self-destructive module ``xonsh.lazyasd`` adds a suite of
|
|
|
|
classes for delayed creation of objects.
|
|
|
|
|
|
|
|
- A ``LazyObject`` won't be created until it has an attribute accessed.
|
|
|
|
- A ``LazyDict`` will load each value only when a key is accessed.
|
|
|
|
- A ``LazyBool`` will only be created when ``__bool__()`` is called.
|
|
|
|
|
|
|
|
Additionally, when fully loaded, the above objects will replace themselves
|
|
|
|
by name in the context that they were handed, thus derefenceing themselves.
|
|
|
|
This is useful for global variables that may be expensive to create,
|
|
|
|
should only be created once, and may not be used in any particular session.
|
|
|
|
* New ``xon.sh`` script added for launching xonsh from a sh environment.
|
|
|
|
This should be used if the normal ``xonsh`` script does not work for
|
|
|
|
some reason.
|
|
|
|
* Normal globbing is now available in Python mode via ``g````
|
|
|
|
* Backticks were expanded to allow searching using arbitrary functions, via
|
|
|
|
``@<func>````
|
|
|
|
* ``xonsh.platform`` now has a new ``PATH_DEFAULT`` variable.
|
|
|
|
* Tab completers can now raise ``StopIteration`` to prevent consideration of
|
|
|
|
remaining completers.
|
|
|
|
* Added tab completer for the ``completer`` alias.
|
|
|
|
* New ``Block`` and ``Functor`` context managers are now available as
|
|
|
|
part of the ``xonsh.contexts`` module.
|
|
|
|
* ``Block`` provides support for turning a context body into a non-executing
|
|
|
|
list of string lines. This is implmement via a syntax tree transformation.
|
|
|
|
This is useful for creating remote execution tools that seek to prevent
|
|
|
|
local execution.
|
|
|
|
* ``Functor`` is a subclass of the ``Block`` context manager that turns the
|
|
|
|
block into a callable object. The function object is available via the
|
|
|
|
``func()`` attribute. However, the ``Functor`` instance is itself callable
|
|
|
|
and will dispatch to ``func()``.
|
|
|
|
* New ``$VC_BRANCH_TIMEOUT`` environment variable is the time (in seconds)
|
|
|
|
of how long to spend attempting each individual version control branch
|
|
|
|
information command during ``$PROMPT`` formatting. This allows for faster
|
|
|
|
prompt resolution and faster startup times.
|
|
|
|
* New lazy methods added to CommandsCache allowing for testing and inspection
|
|
|
|
without the possibility of recomputing the cache.
|
|
|
|
* ``!(command)`` is now usefully iterable, yielding lines of stdout
|
|
|
|
* Added XonshCalledProcessError, which includes the relevant CompletedCommand.
|
|
|
|
Also handles differences between Py3.4 and 3.5 in CalledProcessError
|
|
|
|
* Tab completion of paths now includes zsh-style path expansion (subsequence
|
|
|
|
matching), toggleable with ``$SUBSEQUENCE_PATH_COMPLETION``
|
|
|
|
* Tab completion of paths now includes "fuzzy" matches that are accurate to
|
|
|
|
within a few characters, toggleable with ``$FUZZY_PATH_COMPLETION``
|
|
|
|
* Provide ``$XONSH_SOURCE`` for scripts in the environment variables pointing to
|
|
|
|
the currently running script's path
|
|
|
|
* Arguments '+' and '-' for the ``fg`` command (job control)
|
|
|
|
* Provide ``$XONSH_SOURCE`` for scripts in the environment variables pointing to
|
|
|
|
the currently running script's path
|
|
|
|
* ``!(command)`` is now usefully iterable, yielding lines of stdout
|
|
|
|
* Added XonshCalledProcessError, which includes the relevant CompletedCommand.
|
|
|
|
Also handles differences between Py3.4 and 3.5 in CalledProcessError
|
2016-06-24 14:52:14 -04:00
|
|
|
* XonshError and XonshCalledProcessError are now in builtins:
|
|
|
|
|
|
|
|
- ``history session``
|
|
|
|
- ``history xonsh``
|
|
|
|
- ``history all``
|
|
|
|
- ``history zsh``
|
|
|
|
- ``history bash``
|
|
|
|
- ``__xonsh_history__.show()``
|
|
|
|
|
2016-06-24 14:23:19 -04:00
|
|
|
* New ``pathsep_to_set()`` and ``set_to_pathsep()`` functions convert to/from
|
|
|
|
``os.pathsep`` separated strings to a set of strings.
|
|
|
|
|
|
|
|
|
|
|
|
**Changed:**
|
|
|
|
|
|
|
|
* Changed testing framework from nose to pytest
|
|
|
|
* All ``PATH``-like environment variables are now stored in an ``EnvPath``
|
|
|
|
object, so that non-absolute paths or paths containing environment variables
|
|
|
|
can be resolved properly.
|
|
|
|
* In ``VI_MODE``, the ``v`` key will enter character selection mode, not open
|
|
|
|
the editor. ``Ctrl-X Ctrl-E`` will still open an editor in any mode
|
|
|
|
* ``$XONSH_DEBUG`` will now supress amalgamted imports. This usually needs to be
|
|
|
|
set in the calling environment or prior to *any* xonsh imports.
|
|
|
|
* Restuctured ``xonsh.platform`` to be fully lazy.
|
|
|
|
* Restuctured ``xonsh.ansi_colors`` to be fully lazy.
|
|
|
|
* Ensured the ``pygments`` and ``xonsh.pyghooks`` are not imported until
|
|
|
|
actually needed.
|
|
|
|
* Yacc parser is now loaded in a background thread.
|
|
|
|
* Cleaned up argument parsing in ``xonsh.main.premain`` by removing the
|
|
|
|
``undo_args`` hack.
|
|
|
|
* Now complains on invalid arguments.
|
|
|
|
* ``Env`` now guarantees that the ``$PATH`` is available and mutable when
|
|
|
|
initialized.
|
|
|
|
* On Windows the ``PROMPT`` environment variable is reset to `$P$G` before
|
2016-06-24 14:52:14 -04:00
|
|
|
sourcing ``*.bat`` files.
|
2016-06-24 14:23:19 -04:00
|
|
|
* On Windows the ``PROMPT`` environment variable is reset to `$P$G` before starting
|
2016-06-24 14:49:34 -04:00
|
|
|
subprocesses. This prevents the unformatted xonsh ``PROMPT`` tempalte from showing up
|
2016-06-24 14:23:19 -04:00
|
|
|
when running batch files with ``ECHO ON```
|
|
|
|
* ``@()`` now passes through functions as well as strings, which allows for the
|
|
|
|
use of anonymous aliases and aliases not explicitly added to the ``aliases``
|
|
|
|
mapping.
|
|
|
|
* Functions in ``Execer`` now take ``transform`` kwarg instead of
|
|
|
|
``wrap_subproc``.
|
|
|
|
* Provide ``$XONSH_SOURCE`` for scripts in the environment variables pointing to
|
|
|
|
the currently running script's path
|
|
|
|
* XonshError and XonshCalledProcessError are now in builtins
|
2016-06-24 14:49:34 -04:00
|
|
|
* ``__repr__`` on the environment only shows a short representation of the
|
2016-06-24 14:23:19 -04:00
|
|
|
object instead of printing the whole environment dictionary
|
|
|
|
* More informative prompt when configuring foreign shells in the wizard.
|
|
|
|
* ``CommandsCache`` is now a mapping from command names to a tuple of
|
|
|
|
(executable locations, has alias flags). This enables faster lookup times.
|
|
|
|
* ``locate_bin()`` now uses the ``CommandsCache``, rather than scanning the
|
|
|
|
``$PATH`` itself.
|
|
|
|
* ``$PATHEXT`` is now a set, rather than a list.
|
|
|
|
* Ignore case and leading a quotes when sorting completions
|
|
|
|
|
|
|
|
|
|
|
|
**Removed:**
|
|
|
|
|
|
|
|
* The ``'console_scripts'`` option to setuptools has been removed. It was found
|
|
|
|
to cause slowdowns of over 150 ms on every startup.
|
|
|
|
* Bash is no longer loaded by default as a foreign shell for initial
|
|
|
|
configuration. This was done to increase stock startup times. This
|
|
|
|
behaviour can be recovered by adding ``{"shell": "bash"}`` to your
|
|
|
|
``"foreign_shells"`` in your config.json file. For more details,
|
|
|
|
see http://xon.sh/xonshconfig.html#foreign-shells
|
|
|
|
* ``ensure_git()`` and ``ensure_hg()`` decorators removed.
|
|
|
|
* ``call_hg_command()`` function removed.
|
|
|
|
|
|
|
|
|
|
|
|
**Fixed:**
|
|
|
|
|
|
|
|
* Issue where ``xonsh`` did not expand user and environment variables in
|
|
|
|
``$PATH``, forcing the user to add absolute paths.
|
|
|
|
* Fixed a problem with aliases not always beeing found.
|
|
|
|
* Fixed issue where input was directed to the last process in a pipeline,
|
|
|
|
rather than the first.
|
|
|
|
* Bug where xonfig wizard can't find ENV docs
|
|
|
|
* Fixed ``xonsh.environ.locate_binary()`` to handle PATH variable are given as a tuple.
|
2016-06-24 14:49:34 -04:00
|
|
|
* Fixed missing completions for ``cd`` and ```rmdir`` when directories had spaces
|
2016-06-24 14:23:19 -04:00
|
|
|
in their names.
|
|
|
|
* Bug preventing `xonsh` executable being installed on macOS.
|
|
|
|
* Strip leading space in commands passed using the "-c" switch
|
|
|
|
* Fixed xonfig wizard failing on Windows due to colon in created filename.
|
|
|
|
* Ensured that the prompt_toolkit shell functions, even without a ``completer``
|
|
|
|
attribute.
|
|
|
|
* Fixed crash resulting from malformed ``$PROMPT`` or ``$TITLE``.
|
|
|
|
* xonsh no longer backgrounds itself after every command on Cygwin.
|
|
|
|
* Fixed an issue about ``os.killpg()`` on Cygwin which caused xonsh to crash
|
|
|
|
occasionally
|
|
|
|
* Fix crash on startup when Bash Windows Subsystem for Linux is on the Path.
|
|
|
|
* Fixed issue with setting and signaling process groups on Linux when the first
|
|
|
|
process is a function alias and has no pid.
|
|
|
|
* Fixed ``_list_completers`` such that it does not throw a ValueError if no completer is registered.
|
|
|
|
* Fixed ``_list_completers`` such that it does not throw an AttributeError if a completer has no docstring.
|
|
|
|
* Bug that caused command line argument ``--config-path`` to be ignored.
|
|
|
|
* Bug that caused xonsh to break on startup when prompt-toolkit < 1.0.0.
|
|
|
|
|
|
|
|
|
2016-06-08 14:25:52 -04:00
|
|
|
v0.3.4
|
|
|
|
====================
|
|
|
|
|
2016-06-07 00:00:56 -04:00
|
|
|
**Changed:**
|
|
|
|
|
|
|
|
* ``$PROMPT`` from foreign shells is now ignored.
|
2016-06-07 20:50:13 -04:00
|
|
|
* ``$RC_FILES`` environment variable now stores the run control files we
|
|
|
|
attempted to load.
|
|
|
|
* Only show the prompt for the wizard if we did not attempt to load any run
|
|
|
|
control files (as opposed to if none were successfully loaded).
|
2016-06-08 00:58:37 -04:00
|
|
|
* Git and mercurial branch and dirty function refactor to imporve run times.
|
2016-06-06 12:00:49 -04:00
|
|
|
|
|
|
|
|
2016-06-06 13:55:24 -04:00
|
|
|
**Fixed:**
|
|
|
|
|
|
|
|
* Fixed an issue whereby attempting to delete a literal value (e.g., ``del 7``)
|
|
|
|
in the prompt_toolkit shell would cause xonsh to crash.
|
2016-06-06 21:57:48 -04:00
|
|
|
* Fixed broken behavior when using ``cd ..`` to move into a nonexistent
|
|
|
|
directory.
|
2016-06-07 19:22:20 +01:00
|
|
|
* Partial workaround for Cygwin where ``pthread_sigmask`` appears to be missing
|
|
|
|
from the ``signal`` module.
|
2016-06-07 00:00:56 -04:00
|
|
|
* Fixed crash resulting from malformed ``$PROMPT``.
|
2016-06-09 01:44:34 -04:00
|
|
|
* Fixed regression on Windows with the locate_binary() function.
|
|
|
|
The bug prevented `source-cmd` from working correctly and broke the
|
|
|
|
``activate``/``deactivate`` aliases for the conda environements.
|
2016-06-07 20:50:13 -04:00
|
|
|
* Fixed crash resulting from errors other than syntax errors in run control
|
|
|
|
file.
|
2016-06-11 21:13:02 -04:00
|
|
|
* On Windows if bash is not on the path look in the registry for the defaults
|
|
|
|
install directory for GitForWindows.
|
2016-06-08 14:25:52 -04:00
|
|
|
|
2016-06-06 12:00:49 -04:00
|
|
|
|
|
|
|
v0.3.3
|
|
|
|
====================
|
2016-06-02 17:12:46 -04:00
|
|
|
**Added:**
|
|
|
|
|
|
|
|
* Question mark literals, ``?``, are now allowed as part of
|
|
|
|
subprocess argument names.
|
2016-06-04 15:46:02 -04:00
|
|
|
* IPython style visual pointer to show where syntax error was detected
|
2016-06-05 19:03:26 -04:00
|
|
|
* Pretty printing of output and syntax highlighting of input and output can now
|
|
|
|
be controlled via new environment variables ``$COLOR_INPUT``,
|
|
|
|
``$COLOR_RESULTS``, and ``$PRETTY_PRINT_RESULTS``.
|
2016-05-28 19:14:45 -04:00
|
|
|
|
2016-06-10 06:35:14 -04:00
|
|
|
* In interactive mode, if there are stopped or background jobs, Xonsh prompts
|
|
|
|
for confirmations rather than just killing all jobs and exiting.
|
|
|
|
|
2016-06-02 17:12:46 -04:00
|
|
|
**Changed:**
|
2016-05-30 10:17:53 +02:00
|
|
|
|
2016-06-03 11:38:43 -04:00
|
|
|
* ``which`` now gives a better verbose report of where the executables are
|
|
|
|
found.
|
|
|
|
* Tab completion now uses a different interface, which allows new completers
|
|
|
|
to be implemented in Python.
|
|
|
|
* Most functions in the ``Execer`` now take an extra argument
|
2016-06-05 22:51:06 -04:00
|
|
|
``transform``, indicating whether the syntax tree transformations should
|
|
|
|
be applied.
|
2016-06-03 11:38:43 -04:00
|
|
|
* ``prompt_toolkit`` is now loaded lazily, decreasing load times when using
|
|
|
|
the ``readline`` shell.
|
|
|
|
* RC files are now executed directly in the appropriate context.
|
2016-06-05 19:05:31 -04:00
|
|
|
* ``_`` is now updated by ``![]``, to contain the appropriate
|
|
|
|
``CompletedCommand`` object.
|
2016-05-28 19:14:45 -04:00
|
|
|
|
2016-06-06 12:00:49 -04:00
|
|
|
|
2016-05-28 19:14:45 -04:00
|
|
|
|
2016-06-02 17:12:46 -04:00
|
|
|
**Removed:**
|
2016-05-30 10:17:53 +02:00
|
|
|
|
2016-06-03 11:38:43 -04:00
|
|
|
* Fixed bug on Windows where ``which`` did not include current directory
|
2016-05-28 19:14:45 -04:00
|
|
|
|
2016-06-02 17:12:46 -04:00
|
|
|
**Fixed:**
|
2016-05-30 10:20:07 +02:00
|
|
|
|
2016-06-06 14:15:11 +02:00
|
|
|
* Fixed crashed bash-completer when bash is not avaiable on Windows
|
2016-06-04 13:38:09 -04:00
|
|
|
* Fixed bug on Windows where tab-completion for executables would return all files.
|
2016-06-05 22:51:06 -04:00
|
|
|
* Fixed bug on Windows which caused the bash $PROMPT variable to be used when no
|
|
|
|
no $PROMPT variable was set in .xonshrc
|
2016-06-03 11:38:43 -04:00
|
|
|
* Improved start-up times by caching information about bash completion
|
|
|
|
functions
|
2016-06-04 23:07:22 -04:00
|
|
|
* The --shell-type CLI flag now takes precedence over $SHELL_TYPE specified in
|
|
|
|
.xonshrc
|
2016-06-06 20:19:58 +08:00
|
|
|
* Fixed an issue about ``os.killpg()`` on OS X which caused xonsh crash with
|
|
|
|
occasionality
|
2016-05-30 01:10:01 -04:00
|
|
|
|
2016-06-06 12:00:49 -04:00
|
|
|
|
2016-05-30 01:10:01 -04:00
|
|
|
|
2016-05-30 03:24:22 -04:00
|
|
|
v0.3.2
|
2016-05-30 01:10:01 -04:00
|
|
|
====================
|
2016-05-29 18:53:29 -04:00
|
|
|
**Fixed:**
|
2016-05-29 21:41:19 +02:00
|
|
|
|
2016-06-02 08:41:32 -04:00
|
|
|
* Fixed PermissionError when tab completions tries to lookup executables in
|
2016-05-29 18:53:29 -04:00
|
|
|
directories without read permissions.
|
2016-06-02 08:41:32 -04:00
|
|
|
* Fixed incorrect parsing of command line flags
|
2016-05-28 19:14:45 -04:00
|
|
|
|
2016-05-30 01:10:01 -04:00
|
|
|
|
2016-05-28 19:14:45 -04:00
|
|
|
|
|
|
|
v0.3.1
|
|
|
|
====================
|
2016-03-23 18:12:59 -04:00
|
|
|
**Added:**
|
|
|
|
|
2016-05-20 21:02:24 -05:00
|
|
|
* When a subprocess exits with a signal (e.g. SIGSEGV), a message is printed,
|
|
|
|
similar to Bash.
|
2016-05-24 23:55:07 -04:00
|
|
|
* Added comma literals to subproc mode.
|
2016-05-21 10:27:16 -04:00
|
|
|
* ``@$(cmd)`` has been added as a subprocess-mode operator, which replaces in
|
|
|
|
the subprocess command itself with the result of running ``cmd``.
|
2016-05-25 21:38:58 -04:00
|
|
|
* New ``showcmd`` alias for displaying how xonsh interprets subprocess mode
|
|
|
|
commands and arguments.
|
2016-05-28 18:01:26 -04:00
|
|
|
* Added ``$DYNAMIC_CWD_WIDTH`` to allow the adjusting of the current working
|
|
|
|
directory width in the prompt.
|
2016-05-28 15:14:03 -04:00
|
|
|
* Added ``$XONSH_DEBUG`` environment variable to help with debuging.
|
2016-05-26 17:24:11 -04:00
|
|
|
* The ``${...}`` shortcut for ``__xonsh_env__`` now returns appropriate
|
2016-05-24 11:24:13 -04:00
|
|
|
completion options
|
2016-05-20 18:04:28 -04:00
|
|
|
|
2016-05-23 17:25:42 -04:00
|
|
|
**Changed:**
|
2016-05-23 12:45:38 +02:00
|
|
|
|
2016-05-23 17:25:42 -04:00
|
|
|
* On Windows the default bash completions files ``$BASH_COMPLETIONS`` now points
|
2016-05-23 12:45:38 +02:00
|
|
|
to the default location of the completions files used by 'Git for Windows'
|
2016-05-26 20:37:36 +01:00
|
|
|
* On Cygwin, some tweaks are applied to foreign shell subprocess calls and the
|
|
|
|
readline import, in order to avoid hangs on launch.
|
2016-05-20 18:04:28 -04:00
|
|
|
|
2016-05-28 19:14:45 -04:00
|
|
|
|
2016-05-23 00:01:27 -04:00
|
|
|
**Removed:**
|
2016-05-28 19:29:00 -04:00
|
|
|
|
2016-05-22 10:07:57 -04:00
|
|
|
* Special cased code for handling version of prompt_toolkit < v1.0.0
|
2016-05-20 18:04:28 -04:00
|
|
|
|
2016-05-28 19:29:00 -04:00
|
|
|
|
2016-05-21 13:39:00 -04:00
|
|
|
**Fixed:**
|
|
|
|
|
2016-05-23 11:50:30 +02:00
|
|
|
* Show sorted bash completions suggestions.
|
2016-05-23 17:25:42 -04:00
|
|
|
* Fix bash completions (e.g git etc.) on windows when completions files have
|
2016-05-22 20:12:39 +02:00
|
|
|
spaces in their path names
|
2016-05-23 17:25:42 -04:00
|
|
|
* Fixed a bug preventing ``source-bash`` from working on Windows
|
2016-05-28 16:08:48 -04:00
|
|
|
* Numerous improvements to job control via a nearly-complete rewrite.
|
|
|
|
* Addressed issue with finding the next break in subproc mode in context
|
|
|
|
sensitive parsing.
|
2016-05-25 00:17:41 -04:00
|
|
|
* Fixed issue with loading readline init files (inputrc) that seems to be
|
|
|
|
triggered by libedit.
|
2016-05-26 17:24:11 -04:00
|
|
|
* ``$MULTILINE_PROMPT`` now allows colors, as originally intended.
|
2016-05-23 00:01:27 -04:00
|
|
|
* Rectified install issue with Jupyter hook when installing with pyenv,
|
|
|
|
Jupyter install hook now repects ``--prefix`` argument.
|
2016-05-23 17:25:42 -04:00
|
|
|
* Fixed issue with the xonsh.ply subpackage not being installed.
|
2016-05-21 13:39:00 -04:00
|
|
|
* Fixed a parsing bug whereby a trailing ``&`` on a line was being ignored
|
|
|
|
(processes were unable to be started in the background)
|
2016-05-20 18:04:28 -04:00
|
|
|
|
2016-05-28 19:14:45 -04:00
|
|
|
|
2016-05-20 18:04:28 -04:00
|
|
|
|
|
|
|
v0.3.0
|
|
|
|
====================
|
2016-03-23 18:12:59 -04:00
|
|
|
**Added:**
|
|
|
|
|
2016-03-31 22:04:11 -04:00
|
|
|
* ``and``, ``or``, ``&&``, ``||`` have been added as subprocess logical operators,
|
2016-02-10 02:13:07 -05:00
|
|
|
by popular demand!
|
2016-04-10 23:38:12 -04:00
|
|
|
* Subprocesses may be negated with ``not`` and grouped together with parentheses.
|
2016-05-11 03:48:16 -04:00
|
|
|
* New framework for writing xonsh extentions, called ``xontribs``.
|
2016-03-23 18:12:59 -04:00
|
|
|
* Added a new shell type ``'none'``, used to avoid importing ``readline`` or
|
|
|
|
``prompt_toolkit`` when running scripts or running a single command.
|
2016-03-21 14:54:42 +02:00
|
|
|
* New: `sudo` functionality on Windows through an alias
|
2016-03-23 14:28:39 +01:00
|
|
|
* Automatically enhance colors for readability in the default terminal (cmd.exe)
|
|
|
|
on Windows. This functionality can be enabled/disabled with the
|
2016-04-06 08:58:06 +02:00
|
|
|
$INTENSIFY_COLORS_ON_WIN environment variable.
|
2016-03-31 16:56:39 -04:00
|
|
|
* Added ``Ellipsis`` lookup to ``__xonsh_env__`` to allow environment variable checks, e.g. ``'HOME' in ${...}``
|
2016-04-06 08:58:06 +02:00
|
|
|
* Added an option to update ``os.environ`` every time the xonsh environment changes.
|
2016-04-10 07:39:25 +02:00
|
|
|
This is disabled by default but can be enabled by setting ``$UPDATE_OS_ENVIRON`` to
|
2016-04-01 21:08:06 +02:00
|
|
|
True.
|
2016-05-07 17:52:20 -04:00
|
|
|
* Added Windows 'cmd.exe' as a foreign shell. This gives xonsh the ability to source
|
|
|
|
Windows Batch files (.bat and .cmd). Calling ``source-cmd script.bat`` or the
|
|
|
|
alias ``source-bat script.bat`` will call the bat file and changes to the
|
2016-04-20 21:28:26 +02:00
|
|
|
environment variables will be reflected in xonsh.
|
2016-05-07 17:52:20 -04:00
|
|
|
* Added an alias for the conda environment activate/deactivate batch scripts when
|
2016-04-10 07:39:25 +02:00
|
|
|
running the Anaconda python distribution on Windows.
|
2016-04-20 23:02:31 +02:00
|
|
|
* Added a menu entry to launch xonsh when installing xonsh from a conda package
|
2016-04-29 11:49:43 -04:00
|
|
|
* Added a new ``which`` alias that supports both regular ``which`` and also searches
|
2016-05-15 21:01:00 +02:00
|
|
|
through xonsh aliases. A pure python implementation of ``which`` is used. Thanks
|
|
|
|
to Trent Mick. https://github.com/trentm/which/
|
2016-05-07 17:13:18 -04:00
|
|
|
* Added support for prompt toolkit v1.0.0.
|
2016-03-27 06:39:24 -04:00
|
|
|
* Added ``$XONSH_CACHE_SCRIPTS`` and ``$XONSH_CACHE_EVERYTHING`` environment
|
|
|
|
variables to control caching of scripts and interactive commands. These can
|
|
|
|
also be controlled by command line options ``--no-script-cache`` and
|
|
|
|
``--cache-everything`` when starting xonsh.
|
2016-05-17 23:52:39 -04:00
|
|
|
* Added a workaround to allow ctrl-c to interrupt reverse incremental search in
|
|
|
|
the readline shell
|
2016-04-06 08:58:06 +02:00
|
|
|
|
2016-03-23 18:12:59 -04:00
|
|
|
**Changed:**
|
2016-03-20 13:52:40 -04:00
|
|
|
|
2016-03-23 18:12:59 -04:00
|
|
|
* Running scripts through xonsh (or running a single command with ``-c``) no
|
|
|
|
longer runs the user's rc file, unless the ``--login`` option is specified.
|
|
|
|
Also avoids loading aliases and environments from foreign shells, as well as
|
|
|
|
loading bash completions.
|
|
|
|
* rc files are now compiled and cached, to avoid re-parsing when they haven't
|
2016-03-27 06:39:24 -04:00
|
|
|
changed. Scripts are also compiled and cached, and there is the option to
|
|
|
|
cache interactive commands.
|
2016-04-01 16:27:45 -04:00
|
|
|
* Left and Right arrows in the ``prompt_toolkit`` shell now wrap in multiline
|
|
|
|
environments
|
2016-04-05 10:41:52 +02:00
|
|
|
* Regexpath matching with backticks, now returns an empty list in python mode.
|
2016-04-16 13:28:23 +02:00
|
|
|
* Pygments added as a dependency for the conda package
|
2016-05-07 17:13:18 -04:00
|
|
|
* Foreign shells now allow for setting exit-on-error commands before and after
|
|
|
|
all other commands via the ``seterrprevcmd`` and ``seterrpostcmd`` arguments.
|
|
|
|
Sensinble defaults are provided for existing shells.
|
2016-05-07 11:54:01 +02:00
|
|
|
* PLY is no longer a external dependency but is bundled in xonsh/ply. Xonsh can
|
2016-05-08 15:10:42 -04:00
|
|
|
therefore run without any external dependencies, although having prompt-toolkit
|
|
|
|
recommended.
|
2016-05-13 21:25:51 +01:00
|
|
|
* Provide better user feedback when running ``which`` in a platform that doesn't
|
|
|
|
provide it (e.g. Windows).
|
2016-05-19 19:07:27 -04:00
|
|
|
* The lexer now uses a custom tokenizer that handles regex globs in the proper
|
|
|
|
way.
|
|
|
|
|
2016-03-20 13:52:40 -04:00
|
|
|
|
|
|
|
|
2016-05-20 18:04:28 -04:00
|
|
|
|
|
|
|
|
2016-03-20 13:52:40 -04:00
|
|
|
|
2016-03-22 23:57:51 -04:00
|
|
|
**Fixed:**
|
|
|
|
|
|
|
|
* Fixed bug with loading prompt-toolkit shell < v0.57.
|
2016-04-10 12:13:36 -04:00
|
|
|
* Fixed bug with prompt-toolkit completion when the cursor is not at the end of
|
|
|
|
the line.
|
|
|
|
* Aliases will now evaluate enviornment variables and other expansions
|
|
|
|
at execution time rather than passing through a literal string.
|
2016-05-07 17:52:20 -04:00
|
|
|
* Fixed environment variables from os.environ not beeing loaded when a running
|
2016-04-12 09:17:21 +02:00
|
|
|
a script
|
2016-05-18 03:12:43 -04:00
|
|
|
* The readline shell will now load the inputrc files.
|
2016-05-07 17:52:20 -04:00
|
|
|
* Fixed bug that prevented `source-alias` from working.
|
|
|
|
* Now able to ``^C`` the xonfig wizard on start up.
|
2016-04-18 23:00:57 +02:00
|
|
|
* Fixed deadlock on Windows when runing subprocess that generates enough output
|
2016-05-07 17:13:18 -04:00
|
|
|
to fill the OS pipe buffer.
|
|
|
|
* Sourcing foreign shells will now return a non-zero exit code if the
|
|
|
|
source operation failed for some reason.
|
2016-05-11 23:14:47 +02:00
|
|
|
* Fixed PermissionError when running commands in directories without read permissions
|
2016-05-13 09:40:52 +01:00
|
|
|
* Prevent Windows fixups from overriding environment vars in static config
|
2016-05-13 14:31:00 -04:00
|
|
|
* Fixed Optional Github project status to reflect added/removed files via git_dirty_working_directory()
|
2016-05-13 22:13:09 +01:00
|
|
|
* Fixed xonsh.exe launcher on Windows, when Python install directory has a space in it
|
2016-05-18 09:42:36 -04:00
|
|
|
* Fixed `$CDPATH` to support `~` and environments variables in its items
|
2016-03-20 13:52:40 -04:00
|
|
|
|
2016-05-20 18:04:28 -04:00
|
|
|
|
2016-03-20 13:52:40 -04:00
|
|
|
|
2016-04-09 00:14:03 -04:00
|
|
|
|
2016-03-20 13:52:40 -04:00
|
|
|
v0.2.7
|
|
|
|
====================
|
2016-02-13 01:37:23 -05:00
|
|
|
**Added:**
|
|
|
|
|
|
|
|
* Added new valid ``$SHELL_TYPE`` called ``'best'``. This selects the best value
|
|
|
|
for the concrete shell type based on the availability on the user's machine.
|
2016-02-18 01:06:29 -05:00
|
|
|
* New environment variable ``$XONSH_COLOR_STYLE`` will set the color mapping
|
|
|
|
for all of xonsh.
|
|
|
|
* New ``XonshStyle`` pygments style will determine the approriate color
|
|
|
|
mapping based on ``$XONSH_COLOR_STYLE``. The associated ``xonsh_style_proxy()``
|
|
|
|
is intended for wrapping ``XonshStyle`` when actually being used by
|
|
|
|
pygments.
|
|
|
|
* The functions ``print_color()`` and ``format_color()`` found in ``xonsh.tools``
|
|
|
|
dispatch to the approriate shell color handling and may be used from
|
|
|
|
anywhere.
|
|
|
|
* ``xonsh.tools.HAVE_PYGMENTS`` flag now denotes if pygments is installed and
|
|
|
|
available on the users system.
|
|
|
|
* The ``ansi_colors`` module is now availble for handling ANSI color codes.
|
|
|
|
* ``?`` and ``??`` operator output now has colored titles, like in IPython.
|
|
|
|
* ``??`` will syntax highlight source code if pygments is available.
|
|
|
|
* Python mode output is now syntax highlighted if pygments is available.
|
2016-02-21 13:00:01 -05:00
|
|
|
* New ``$RIGHT_PROMPT`` environment variable for displaying right-aligned
|
|
|
|
text in prompt-toolkit shell.
|
2016-03-12 19:33:17 -05:00
|
|
|
* Added ``!(...)`` operator, which returns an object representing the result
|
2016-03-16 12:33:03 -04:00
|
|
|
of running a command. The truth value of this object is True if the
|
|
|
|
return code is equal to zero and False otherwise.
|
2016-03-06 21:52:54 +01:00
|
|
|
* Optional dependency on the win_unicode_console package to enable unicode
|
|
|
|
support in cmd.exe on Windows. This can be disabled/enabled with the
|
|
|
|
``$WIN_UNICODE_CONSOLE`` environment variable.
|
2016-02-07 18:00:22 -05:00
|
|
|
|
2016-02-13 01:37:23 -05:00
|
|
|
**Changed:**
|
|
|
|
|
|
|
|
* Updated ``$SHELL_TYPE`` default to ``'best'``.
|
2016-02-18 01:06:29 -05:00
|
|
|
* Shell classes are now responsible for implementing their own color
|
|
|
|
formatting and printing.
|
|
|
|
* Prompt coloring, history diffing, and tracing uses new color handling
|
|
|
|
capabilities.
|
|
|
|
* New ``Token.Color`` token for xonsh color names, e.g. we now use
|
|
|
|
``Token.Color.RED`` rather than ``Token.RED``.
|
2016-03-16 12:33:03 -04:00
|
|
|
* Untracked files in git are ignored when determining if a git workdir is
|
|
|
|
is dirty. This affects the coloring of the branch label.
|
2016-03-08 00:35:10 -05:00
|
|
|
* Regular expression globbing now uses ``re.fullmatch`` instead of
|
|
|
|
``re.match``, and the result of an empty regex glob does not cause the
|
|
|
|
argument to be deleted.
|
2016-02-07 18:00:22 -05:00
|
|
|
|
2016-03-20 13:52:40 -04:00
|
|
|
|
2016-02-18 01:06:29 -05:00
|
|
|
**Removed:**
|
|
|
|
|
|
|
|
* The ``xonsh.tools.TERM_COLORS`` mapping has been axed, along with all
|
2016-02-22 23:32:02 -05:00
|
|
|
references to it. This may cause a problem if you were using a raw color code
|
|
|
|
in your xonshrc file from ``$FORMATTER_DICT``. To fix, simply remove these
|
|
|
|
references.
|
2016-02-07 18:00:22 -05:00
|
|
|
|
2016-02-09 02:36:57 -05:00
|
|
|
**Fixed:**
|
|
|
|
|
2016-03-18 12:20:13 -04:00
|
|
|
* Multidimensional slicing, as in numpy, no longer throws SyntaxErrors.
|
2016-02-09 02:36:57 -05:00
|
|
|
* Some minor zsh fixes for more platforms and setups.
|
2016-03-06 23:38:55 -05:00
|
|
|
* The ``BaseShell.settitle`` method no longer has its commands captured by
|
|
|
|
``$(...)``
|
2016-02-07 18:00:22 -05:00
|
|
|
|
2016-03-20 13:52:40 -04:00
|
|
|
|
2016-02-07 18:00:22 -05:00
|
|
|
|
|
|
|
v0.2.6
|
|
|
|
====================
|
2016-02-13 01:37:23 -05:00
|
|
|
**Added:**
|
2016-01-24 12:08:50 -05:00
|
|
|
|
2016-02-13 01:37:23 -05:00
|
|
|
* ``trace`` alias added that enables users to turn on and off the printing
|
2016-02-04 21:48:59 -05:00
|
|
|
of source code lines prior to their execution. This is useful for debugging scripts.
|
|
|
|
* New ability to force callable alias functions to be run in the foreground, i.e.
|
2016-02-13 01:37:23 -05:00
|
|
|
the main thread from which the function was called. This is useful for debuggers
|
2016-02-04 21:48:59 -05:00
|
|
|
and profilers which may require such access. Use the ``xonsh.proc.foreground``
|
|
|
|
decorator on an alias function to flag it. ``ForegroundProcProxy`` and
|
|
|
|
``SimpleForegroundProcProxy`` classes have been added to support this feature.
|
|
|
|
Normally, forcing a foreground alias is not needed.
|
2016-01-24 12:08:50 -05:00
|
|
|
* Added boolean ``$RAISE_SUBPROC_ERROR`` environment variable. If true
|
2016-02-13 01:37:23 -05:00
|
|
|
and a subprocess command exits with a non-zero return code, a
|
2016-01-24 12:08:50 -05:00
|
|
|
CalledProcessError will be raised. This is useful in scripts that should
|
|
|
|
fail at the first error.
|
2016-01-27 18:47:17 -05:00
|
|
|
* If the ``setproctitle`` package is installed, the process title will be
|
|
|
|
set to ``'xonsh'`` rather than the path to the Python interpreter.
|
2016-02-05 23:50:46 -05:00
|
|
|
* zsh foreign shell interface now supported natively in xonsh, like with Bash.
|
|
|
|
New ``source-zsh`` alias allows easy access to zsh scripts and functions.
|
2016-02-13 21:50:44 +03:00
|
|
|
* Vox virtual environment manager added.
|
2016-01-21 21:11:00 -05:00
|
|
|
|
2016-02-05 23:50:46 -05:00
|
|
|
**Changed:**
|
|
|
|
|
|
|
|
* The ``foreign_shell_data()`` keyword arguments ``envcmd`` and ``aliascmd``
|
|
|
|
now default to ``None``.
|
2016-02-05 01:31:34 -05:00
|
|
|
* Updated alias docs to pull in usage from the commands automatically.
|
2016-01-21 21:11:00 -05:00
|
|
|
|
2016-01-25 17:24:16 +02:00
|
|
|
**Fixed:**
|
|
|
|
|
2016-02-04 21:48:59 -05:00
|
|
|
* Hundreds of bugs related to line and column numbers have been addressed.
|
2016-01-25 17:24:16 +02:00
|
|
|
* Fixed path completion not working for absolute paths or for expanded paths on Windows.
|
2016-02-05 11:25:15 -05:00
|
|
|
* Fixed issue with hg dirty branches and $PATH.
|
2016-02-05 23:50:46 -05:00
|
|
|
* Fixed issues related to foreign shell data in files with whitespace in the names.
|
2016-02-13 01:37:23 -05:00
|
|
|
* Worked around bug in ConEmu/cmder which prevented ``get_git_branch()``
|
2016-02-07 15:03:07 -05:00
|
|
|
from working in these terminal emulators on Windows.
|
2016-01-21 21:11:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
v0.2.5
|
|
|
|
===========
|
2015-12-30 22:54:32 -08:00
|
|
|
**Added:**
|
|
|
|
|
2016-02-13 01:37:23 -05:00
|
|
|
* New configuration utility 'xonfig' which reports current system
|
2016-01-06 02:03:49 -08:00
|
|
|
setup information and creates config files through an interactive
|
|
|
|
wizard.
|
|
|
|
* Toolkit for creating wizards now available
|
2016-01-10 23:21:31 -05:00
|
|
|
* timeit and which aliases will now complete their arguments.
|
2016-02-13 01:37:23 -05:00
|
|
|
* $COMPLETIONS_MENU_ROWS environment variable controls the size of the
|
2015-12-30 23:00:05 -08:00
|
|
|
tab-completion menu in prompt-toolkit.
|
2016-01-06 19:04:13 -05:00
|
|
|
* Prompt-toolkit shell now supports true multiline input with the ability
|
|
|
|
to scroll up and down in the prompt.
|
2015-12-30 22:54:32 -08:00
|
|
|
|
|
|
|
**Changed:**
|
|
|
|
|
2016-01-06 02:03:49 -08:00
|
|
|
* The xonfig wizard will run on interactive startup if no configuration
|
|
|
|
file is found.
|
|
|
|
* BaseShell now has a singleline() method for prompting a single input.
|
|
|
|
* Environment variable docs are now auto-generated.
|
2016-02-13 01:37:23 -05:00
|
|
|
* Prompt-toolkit shell will now dynamically allocate space for the
|
2015-12-30 23:00:05 -08:00
|
|
|
tab-completion menu.
|
2016-01-10 19:43:57 -05:00
|
|
|
* Looking up nonexistent environment variables now generates an error
|
|
|
|
in Python mode, but produces a sane default value in subprocess mode.
|
|
|
|
* Environments are now considered to contain all manually-adjusted keys,
|
|
|
|
and also all keys with an associated default value.
|
2015-12-30 22:54:32 -08:00
|
|
|
|
|
|
|
**Removed:**
|
|
|
|
|
2016-02-13 01:37:23 -05:00
|
|
|
* Removed ``xonsh.ptk.shortcuts.Prompter.create_prompt_layout()`` and
|
2016-01-18 16:22:03 -05:00
|
|
|
``xonsh.ptk.shortcuts.Prompter.create_prompt_application()`` methods
|
|
|
|
to reduce portion of xonsh that forks prompt-toolkit. This may require
|
|
|
|
users to upgrade to prompt-toolkit v0.57+.
|
2015-12-30 22:54:32 -08:00
|
|
|
|
|
|
|
**Fixed:**
|
|
|
|
|
2015-12-30 23:02:28 -08:00
|
|
|
* First prompt in the prompt-toolkit shell now allows for up and down
|
|
|
|
arrows to search through history.
|
2016-01-05 11:32:38 -08:00
|
|
|
* Made obtaining the prompt-toolkit buffer thread-safe.
|
2016-02-13 01:37:23 -05:00
|
|
|
* Now always set non-detypable environment variables when sourcing
|
2016-01-10 23:21:31 -05:00
|
|
|
foreign shells.
|
2016-01-14 12:01:21 -05:00
|
|
|
* Fixed issue with job management if a TTY existed but was not controlled
|
|
|
|
by the process, posix only.
|
2016-01-14 14:24:32 -05:00
|
|
|
* Jupyter kernel no longer times out when using foreign shells on startup.
|
2016-01-15 17:35:12 -05:00
|
|
|
* Capturing redirections, e.g. ``$(echo hello > f.txt)``, no longer fails
|
|
|
|
with a decoding error.
|
2016-01-18 22:55:22 -05:00
|
|
|
* Evaluation in a Jupyter cell will return pformatted object.
|
|
|
|
* Jupyter with redirect uncaptured subprocs to notebook.
|
|
|
|
* Tab completion in Jupyter fixed.
|
2015-12-30 22:54:32 -08:00
|
|
|
|
|
|
|
|
|
|
|
v0.2.1 - v0.2.4
|
|
|
|
===============
|
|
|
|
You are reading the docs...but you still feel hungry.
|
|
|
|
|
|
|
|
v0.2.0
|
|
|
|
=============
|
|
|
|
**Added:**
|
|
|
|
|
|
|
|
* Rich history recording and replaying
|
|
|
|
|
|
|
|
v0.1.0
|
|
|
|
=============
|
|
|
|
**Added:**
|
|
|
|
|
|
|
|
* Naturally typed environment variables
|
|
|
|
* Inherits the environment from BASH
|
|
|
|
* Uses BASH completion for subprocess commands
|
|
|
|
* Regular expression filename globbing
|
|
|
|
* Its own PLY-based lexer and parser
|
|
|
|
* xonsh code parses into a Python AST
|
|
|
|
* You can do all the normal Python things, like arithmetic and importing
|
|
|
|
* Captured and uncaptured subprocesses
|
|
|
|
* Pipes, redirection, and non-blocking subprocess syntax support
|
|
|
|
* Help and superhelp with ? and ??
|
|
|
|
* Command aliasing
|
|
|
|
* Multiline input, unlike ed
|
|
|
|
* History matching like in IPython
|
|
|
|
* Color prompts
|
|
|
|
* Low system overhead
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<v0.1.0
|
|
|
|
=============
|
|
|
|
The before times, like 65,000,000 BCE.
|