Cmd2

Latest version: v2.4.3

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

Scan your dependencies

Page 11 of 15

0.9.0

* Bug Fixes
* If self.default_to_shell is true, then redirection and piping are now properly passed to the shell. Previously it was truncated.
* Submenus now call all hooks, it used to just call precmd and postcmd.
* Enhancements
* Automatic completion of ``argparse`` arguments via ``cmd2.argparse_completer.AutoCompleter``
* See the [tab_autocompletion.py](https://github.com/python-cmd2/cmd2/blob/master/examples/tab_autocompletion.py) example for a demonstration of how to use this feature
* ``cmd2`` no longer depends on the ``six`` module
* ``cmd2`` is now a multi-file Python package instead of a single-file module
* New pyscript approach that provides a pythonic interface to commands in the cmd2 application.
* Switch command parsing from pyparsing to custom code which utilizes shlex.
* The object passed to do_* methods has changed. It no longer is the pyparsing object, it's a new Statement object, which is a subclass of ``str``. The statement object has many attributes which give you access to various components of the parsed input. If you were using anything but the string in your do_* methods, this change will require you to update your code.
* ``commentGrammers`` is no longer supported or available. Comments are C-style or python style.
* Input redirection no longer supported. Use the load command instead.
* ``multilineCommand`` attribute is ``now multiline_command``
* ``identchars`` is now ignored. The standardlibrary cmd uses those characters to split the first "word" of the input, but cmd2 hasn't used those for a while, and the new parsing logic parses on whitespace, which has the added benefit of full unicode support, unlike cmd or prior versions of cmd2.
* ``set_posix_shlex`` function and ``POSIX_SHLEX`` variable have been removed. Parsing behavior is now always the more forgiving ``posix=false``.
* ``set_strip_quotes`` function and ``STRIP_QUOTES_FOR_NON_POSIX`` have been removed. Quotes are stripped from arguments when presented as a list (a la ``sys.argv``), and present when arguments are presented as a string (like the string passed to do_*).
* Changes
* ``strip_ansi()`` and ``strip_quotes()`` functions have moved to new utils module
* Several constants moved to new constants module
* Submenu support has been moved to a new [cmd2-submenu](https://github.com/python-cmd2/cmd2-submenu) plugin. If you use submenus, you will need to update your dependencies and modify your imports.
* Deletions (potentially breaking changes)
* Deleted all ``optparse`` code which had previously been deprecated in release 0.8.0
* The ``options`` decorator no longer exists
* All ``cmd2`` code should be ported to use the new ``argparse``-based decorators
* See the [Argument Processing](http://cmd2.readthedocs.io/en/latest/argument_processing.html) section of the documentation for more information on these decorators
* Alternatively, see the [argparse_example.py](https://github.com/python-cmd2/cmd2/blob/master/examples/argparse_example.py)
* Deleted ``cmd_with_subs_completer``, ``get_subcommands``, and ``get_subcommand_completer``
* Replaced by default AutoCompleter implementation for all commands using argparse
* Deleted support for old method of calling application commands with ``cmd()`` and ``self``
* ``cmd2.redirector`` is no longer supported. Output redirection can only be done with '>' or '>>'
* Deleted ``postparse()`` hook since it was redundant with ``postparsing_precmd``
* Python 2 no longer supported
* ``cmd2`` now supports Python 3.4+
* Known Issues
* Some developers have noted very slow performance when importing the ``cmd2`` module. The issue
it intermittent, and investigation of the root cause is ongoing.

0.8.9

* Bug Fixes
* Fixed extra slash that could print when tab completing users on Windows

0.8.8

* Bug Fixes
* Prevent crashes that could occur attempting to open a file in non-existent directory or with very long filename
* Enhancements
* `display_matches` is no longer restricted to delimited strings

0.8.6

* Bug Fixes
* Commands using the with_argparser_and_unknown_args were not correctly recognized when tab completing
* Fixed issue where completion display function was overwritten when a submenu quits
* Fixed ``AttributeError`` on Windows when running a ``select`` command cause by **pyreadline** not implementing ``remove_history_item``
* Enhancements
* Added warning about **libedit** variant of **readline** not being supported on macOS
* Added tab completion of alias names in value field of **alias** command
* Enhanced the ``py`` console in the following ways
* Added tab completion of Python identifiers instead of **cmd2** commands
* Separated the ``py`` console history from the **cmd2** history

0.8.5

* Bug Fixes
* Fixed a bug with all argument decorators where the wrapped function wasn't returning a value and thus couldn't cause the cmd2 app to quit

* Enhancements
* Added support for verbose help with -v where it lists a brief summary of what each command does
* Added support for categorizing commands into groups within the help menu
* See the [Grouping Commands](http://cmd2.readthedocs.io/en/latest/argument_processing.html?highlight=verbose#grouping-commands) section of the docs for more info
* See [help_categories.py](https://github.com/python-cmd2/cmd2/blob/master/examples/help_categories.py) for an example
* Tab completion of paths now supports ~user user path expansion
* Simplified implementation of various tab completion functions so they no longer require ``ctypes``
* Expanded documentation of ``display_matches`` list to clarify its purpose. See cmd2.py for this documentation.
* Adding opening quote to tab completion if any of the completion suggestions have a space.

* **Python 2 EOL notice**
* This is the last release where new features will be added to ``cmd2`` for Python 2.7
* The 0.9.0 release of ``cmd2`` will support Python 3.4+ only
* Additional 0.8.x releases may be created to supply bug fixes for Python 2.7 up until August 31, 2018
* After August 31, 2018 not even bug fixes will be provided for Python 2.7

0.8.4

* Bug Fixes
* Fixed conditional dependency issue in setup.py that was in 0.8.3.

Page 11 of 15

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.