Skip to content

Releases: python-cmd2/cmd2

2.5.6 (November 14, 2024)

14 Nov 14:02
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed type hint for with_default_category decorator which caused type checkers to mistype a subclass of CommandSet as a plain CommandSet.

2.5.5 (November 13, 2024)

13 Nov 14:59
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed type hints for passing a class method to with_argparser and as_subcommand_to.
    • Fixed issue where set command was not always printing a settable's current value.

2.5.4 (November 6, 2024)

07 Nov 03:11
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed ZeroDivisionError in async_alert() when shutil.get_terminal_size().columns is 0.

2.5.3 (November 5, 2024)

05 Nov 14:15
Compare
Choose a tag to compare
  • Enhancements
    • Changed CommandSet._cmd to a read-only property which never returns None because it is meant to be called after the CommandSet is registered. This addresses type checker errors that occurred if CommandSet._cmd wasn't cast or checked if None before use.

2.5.2 (November 3, 2024)

03 Nov 15:10
378208c
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed default pytest execution when not using cmd2's custom invoke command via inv pytest

2.5.1 (November 2, 2024)

02 Nov 22:47
0b4e8b0
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed readline bug when using ipy command with gnureadline and Python 3.13

2.5.0 (October 23, 2024)

24 Oct 03:04
Compare
Choose a tag to compare
  • Breaking Change
    • cmd2 2.5 supports Python 3.8+ (removed support for Python 3.6 and 3.7)
  • Bug Fixes
    • Fixed issue where persistent history file was not saved upon SIGHUP and SIGTERM signals.
    • Multiline commands are no longer fragmented in up-arrow history.
    • Fixed bug where async_alert() overwrites readline's incremental and non-incremental search prompts.
      • This fix introduces behavior where an updated prompt won't display after an aborted search
        until a user presses Enter. See async_printing.py
        example for how to handle this case using Cmd.need_prompt_refresh() and Cmd.async_refresh_prompt().
  • Enhancements
    • Removed dependency on attrs and replaced with dataclasses
    • add allow_clipboard initialization parameter and attribute to disable ability to
      add output to the operating system clipboard
    • Updated unit tests to be Python 3.13 compliant.
    • Fall back to bz2 compression of history file when lzma is not installed.
    • Added settable called scripts_add_to_history which determines whether scripts and pyscripts
      add commands to history.
  • Deletions (potentially breaking changes)
    • Removed apply_style from Cmd.pwarning().

2.4.3 (January 27, 2023)

28 Jan 00:51
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed ValueError caused when passing Cmd.columnize() strings wider than display_width.
  • Enhancements
    • Renamed utils.str_to_bool() -> utils.to_bool().
    • Enhanced utils.to_bool() so that it accepts and converts bool, int, and float in addition to str.

2.4.2 (July 13, 2022)

13 Jul 15:56
Compare
Choose a tag to compare
  • Enhancements
    • Updated argparse decorator to remove annotations when the docstring is used for a command's help text.
    • Updated unit test to be Python 3.11 compliant.

2.4.1 (April 13, 2022)

13 Apr 21:48
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed value for ansi.Bg.YELLOW.
    • Fixed unit tests for ansi.allow_style.
  • Enhancements
    • async_alert() raises a RuntimeError if called from the main thread.