python3-cmd2: Upgrade 4.2.4 -> 4.3.0

Upgrade to release 4.3.0:

Overview:

This release primarily fixes a number of subtle bugs related to piping
cmd2 command output to shell commands. It also removes the experimental
tag from the @with_annotated decorator feature.

Details:

- Stabilized features
    - @with_annotated is no longer experimental. It was introduced
      as an experimental feature in 4.0.0 and is now a fully
      supported way to define a command's arguments, alongside
      @with_argparser. This covers the decorator and its supporting
      API in cmd2.annotated, including Argument, Option, Group, and
      ArgumentBlock. Annotated Argument Processing.
- Bug Fixes
    - On POSIX, piping a command's output to an interactive program
      such as less (help -v | less) now runs that program as the
      terminal's foreground job, as a shell pipeline does. It had
      run in a separate session that never received the terminal,
      so Ctrl-Z and fg did not suspend and resume it together with
      cmd2. The program now owns the terminal as it starts, so a
      pager can set its terminal modes, and Ctrl-C and Ctrl-Z reach
      the whole pipeline. Pipes started from a worker thread, or
      whose output does not go to the terminal, such as one nested
      in a command whose own output is piped, still run in their
      own session
    - A shell command piped to an interactive program, such as
      shell git log | less, now joins the pipeline's job, so both
      processes receive Ctrl-C and Ctrl-Z
    - On Windows, fixed piped output appearing garbled in console
      programs such as more (help -v | more), a regression in
      4.2.4. Pipes are written as UTF-8, but console programs
      decode their input with the console's code page. While a pipe
      or the pager runs, cmd2 now sets the console to UTF-8 (code
      page 65001, as chcp 65001 does) and restores its code pages
      afterward, so console programs and UTF-8 tools such as rg
      both read the output correctly
    - When copying a command's output to the clipboard (help >)
      fails, later commands' output is no longer written to the
      temporary file that held it
    - When a pipe's process cannot be started, for instance because
      no more processes can be created or $SHELL names a program
      that cannot run, both ends of the pipe are now closed rather
      than left open
    - When a pipe's process exits before the command runs, what it
      wrote, such as the shell's "command not found", is no longer
      lost when cmd2 captures the output, as in a pyscript

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Leon Anavi authored and Khem Raj committed 2026-10-19 15:08:23 -07:00
1 parent 3d58d42f26
commit 40968651d3
1 file changed
+1 -1
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f2a861642858e0858af9dd4e4716bae0"
DEPENDS += "python3-setuptools-scm-native"
SRC_URI[sha256sum] = "9aac11583994f6b22fab6464180490cc3a336d46eb682f1438acebe3c0bbe53d"
SRC_URI[sha256sum] = "3f6c4b9619dbd0d1ba75789a099be82b65daf8ac1d97b8e4ecb112e76c72b100"
inherit pypi python_setuptools_build_meta python3native