xonsh/CHANGELOG.rst

233 lines
9 KiB
ReStructuredText
Raw Normal View History

2015-12-30 22:54:32 -08:00
================
Xonsh Change Log
================
Current Developments
====================
2016-02-10 02:13:07 -05: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-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.
* New: `sudo` functionality on Windows through an alias
* Automatically enhance colors for readability in the default terminal (cmd.exe)
on Windows. This functionality can be enabled/disabled with the
2016-03-31 22:04:11 -04: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 ${...}``
* Added an option to update ``os.environ`` every time the xonsh environment changes.
This disabled by default, but can be enabled by setting ``$UPDATE_OS_ENVIRON`` to
True.
2016-03-31 22:04:11 -04: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
changed.
2016-04-01 16:27:45 -04:00
* Left and Right arrows in the ``prompt_toolkit`` shell now wrap in multiline
environments
* Regexpath matching with backticks, now returns an empty list in python mode.
2016-03-20 13:52:40 -04:00
**Deprecated:** None
**Removed:** None
2016-03-22 23:57:51 -04:00
**Fixed:**
* Fixed bug with loading prompt-toolkit shell < v0.57.
2016-04-01 17:51:25 -04:00
* Fixed bug with prompt-toolkit completion when the cursor is not at the end of the line
2016-03-20 13:52:40 -04:00
**Security:** None
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-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
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.
* 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
**Fixed:**
2016-02-04 21:48:59 -05:00
* Hundreds of bugs related to line and column numbers have been addressed.
* Fixed path completion not working for absolute paths or for expanded paths on Windows.
* 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.
* 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.