Skip to content

Releases: python-cmd2/cmd2

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.

2.4.0 (February 22, 2022)

23 Feb 01:43
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed issue in ansi.async_alert_str() which would raise IndexError if prompt was blank.
    • Fixed issue where tab completion was quoting argparse flags in some cases.
  • Enhancements
    • Added broader exception handling when enabling clipboard functionality via pyperclip.
    • Added PassThroughException to __init__.py imports.
    • cmd2 now uses pyreadline3 when running any version of Python on Windows
    • Improved memory usage in certain use cases of tables (e.g. nested colored tables)
  • Deletions (potentially breaking changes)
    • Deleted cmd2.fg and cmd2.bg which were deprecated in 2.3.0. Use cmd2.Fg and cmd2.Bg instead.

2.3.3 (November 29, 2021)

29 Nov 20:30
Compare
Choose a tag to compare
  • Enhancements
    • Added clearer exception handling to BorderedTable and SimpleTable.

2.3.2 (November 22, 2021)

22 Nov 20:47
Compare
Choose a tag to compare
  • Bug Fixes
    • Fixed issue where a ns_provider could be passed None instead of its correct cmd2.Cmd or CommandSet value.