Skip to content

Releases: python-cmd2/cmd2

1.0.2 (April 06, 2020)

06 Apr 17:31
Compare
Choose a tag to compare
  • Bug Fixes
    • Ctrl-C now stops a running text script instead of just the current run_script command
  • Enhancements
    • do_shell() now saves the return code of the command it runs in self.last_result for use in pyscripts

1.0.1 (March 13, 2020)

13 Mar 15:55
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed issue where postcmd hooks were running after an argparse exception in a command.

1.0.0 (March 1, 2020)

01 Mar 23:52
Compare
Choose a tag to compare
  • Enhancements
    • The documentation at cmd2.rftd.io received a major overhaul
  • Other
    • Moved categorize utility function from decorators module to utils module
  • Notes

0.10.1 (February 19, 2020)

19 Feb 16:45
8b6f4b3
Compare
Choose a tag to compare
  • Bug Fixes
    • Corrected issue where the actual new value was not always being printed in do_set. This occurred in cases where the typed value differed from what the setter had converted it to.
    • Fixed bug where ANSI style sequences were not correctly handled in utils.truncate_line().
    • Fixed bug where pyscripts could edit cmd2.Cmd.py_locals dictionary.
    • Fixed bug where cmd2 set sys.path[0] for a pyscript to cmd2's working directory instead of the script file's directory.
    • Fixed bug where sys.path was not being restored after a pyscript ran.
  • Enhancements
    • Renamed set command's -l/--long flag to -v/--verbose for consistency with help and history commands.
    • Setting the following pyscript variables:
      • __name__: main
      • __file__: script path (as typed, ~ will be expanded)
    • Only tab complete after redirection tokens if redirection is allowed
    • Made CompletionError exception available to non-argparse tab completion
    • Added apply_style to CompletionError initializer. It defaults to True, but can be set to False if you don't want the error text to have ansi.style_error() applied to it when printed.
  • Other
    • Removed undocumented py run command since it was replaced by run_pyscript a while ago
    • Renamed AutoCompleter to ArgparseCompleter for clarity
    • Custom EmptyStatement exception is no longer part of the documented public API
  • Notes
    • This is a beta release leading up to the 1.0.0 release
    • We intend no more breaking changes prior to 1.0.0
      • Just bug fixes, documentation updates, and enhancements

0.10.0 (February 7, 2020)

08 Feb 04:46
Compare
Choose a tag to compare
  • Enhancements
    • Changed the default help text to make help -v more discoverable
    • set command now supports tab-completion of values
    • Added add_settable() and remove_settable() convenience methods to update self.settable dictionary
    • Added convenience ansi.fg and ansi.bg enums of foreground and background colors
      • ansi.style() fg argument can now either be of type str or ansi.fg
      • ansi.style() bg argument can now either be of type str or ansi.bg
      • This supports IDE auto-completion of color names
      • The enums also support
        • f-strings and format() calls (e.g. "{}hello{}".format(fg.blue, fg.reset))
        • string concatenation (e.g. fg.blue + "hello" + fg.reset)
  • Breaking changes
    • Renamed locals_in_py attribute of cmd2.Cmd to self_in_py
    • The following public attributes of cmd2.Cmd are no longer settable at runtime by default:
      • continuation_prompt
      • self_in_py
      • prompt
    • self.settable changed to self.settables
      • It is now a Dict[str, Settable] instead of Dict[str, str]
      • setting onchange callbacks have a new method signature and must be added to the
        Settable instance in order to be called
    • Removed cast() utility function
    • Removed ansi.FG_COLORS and ansi.BG_COLORS dictionaries
      • Replaced with ansi.fg and ansi.bg enums providing similar but improved functionality
  • Notes
    • This is an alpha release leading up to the 1.0.0 release
    • We intend no more breaking changes prior to 1.0.0
      • Just bug fixes, documentation updates, and enhancements

0.9.25 (January 26, 2020)

26 Jan 23:06
Compare
Choose a tag to compare
  • Enhancements
    • Reduced what gets put in package downloadable from PyPI (removed irrelevant CI config files and such)

0.9.24 (January 23, 2020)

24 Jan 01:32
Compare
Choose a tag to compare
  • Enhancements
    • Flushing stderr when setting the window title and printing alerts for better responsiveness in cases where stderr is not unbuffered.
    • Added function to truncate a single line to fit within a given display width. cmd2.utils.truncate_line supports characters with display widths greater than 1 and ANSI style sequences.
    • Added line truncation support to cmd2.utils text alignment functions.
    • Added support for Python 3.9 alpha

0.9.23 (January 9, 2020)

10 Jan 03:27
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed bug where startup script containing a single quote in its file name was incorrectly quoted
    • Added missing implicit dependency on setuptools due to build with setuptools_scm
  • Enhancements
    • Added dim text style support via style() function and ansi.INTENSITY_DIM setting.
  • Breaking changes
    • Renamed the following ansi members for accuracy in what types of ANSI escape sequences are handled
      • ansi.allow_ansi -> ansi.allow_style
      • ansi.ansi_safe_wcswidth() -> ansi.style_aware_wcswidth()
      • ansi.ansi_aware_write() -> ansi.style_aware_write()
    • Renamed the following ansi members for clarification
      • ansi.BRIGHT -> ansi.INTENSITY_BRIGHT
      • ansi.NORMAL -> ansi.INTENSITY_NORMAL

0.9.22 (December 9, 2019)

10 Dec 02:17
bc99c90
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed bug where a redefined ansi.style_error was not being used in all cmd2 files
  • Enhancements
    • Enabled line buffering when redirecting output to a file
    • Added align_left(), align_center(), and align_right() to utils.py. All 3 of these functions support ANSI escape sequences and characters with display widths greater than 1. They wrap align_text() which is also in utils.py.

0.9.21 (November 26, 2019)

26 Nov 17:55
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed bug where pipe processes were not being stopped by Ctrl-C
    • Added exception handling to account for non-standard Python environments in which readline is not loaded dynamically from a shared library file
  • Enhancements
    • Added read_input() function that is used to read from stdin. Unlike the Python built-in input(), it also has an argument to disable tab completion while input is being entered.
    • Added capability to override the argument parser class used by cmd2 built-in commands. See override_parser.py example for more details.
    • Added end argument to pfeedback() to be consistent with the other print functions like poutput().
    • Added apply_style to pwarning().
  • Breaking changes
    • For consistency between all the print functions:
      • Made end and chop keyword-only arguments of ppaged()
      • end is always added to message in ppaged()