Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-libtmux for openSUSE:Factory checked in at 2026-03-09 16:32:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-libtmux (Old) and /work/SRC/openSUSE:Factory/.python-libtmux.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-libtmux" Mon Mar 9 16:32:46 2026 rev:24 rq:1337660 version:0.55.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-libtmux/python-libtmux.changes 2026-02-20 17:43:44.914212179 +0100 +++ /work/SRC/openSUSE:Factory/.python-libtmux.new.8177/python-libtmux.changes 2026-03-09 16:32:57.962264312 +0100 @@ -1,0 +2,94 @@ +Mon Mar 9 07:51:11 UTC 2026 - Johannes Kastl <[email protected]> + +- update to 0.55.0: + * Pane.set_title() + - New Pane.set_title() method wraps select-pane -T and returns + the pane for method chaining. A Pane.title property aliases + pane_title for convenience: + + pane.set_title("my-worker") + pane.pane_title # 'my-worker' + pane.title # 'my-worker' + + The pane_title format variable is now included in libtmux's + pane format queries (it was previously excluded via an + incorrect "removed in 3.1+" comment). + * Configurable tmux binary path + - Server now accepts a tmux_bin parameter to use an alternative + binary (e.g. wemux, byobu, or a custom build): + + server = Server(socket_name="myserver", tmux_bin="/usr/local/bin/tmux-next") + + The path is threaded through Server.cmd(), + Server.raise_if_dead(), fetch_objs(), all version-check + functions (has_version, has_gte_version, etc.), and hook + scope guards in HooksMixin. Child objects (Session, Window, + Pane) inherit it automatically. Falls back to + shutil.which("tmux") when not set. + * Pre-execution command logging + - tmux_cmd now emits a structured DEBUG log record with + extra={"tmux_cmd": ...} before invoking the subprocess, using + shlex.join for POSIX-correct quoting. This complements the + existing post-execution stdout log and is a prerequisite for + a future dry-run mode. + * Bug fix: TmuxCommandNotFound raised for invalid tmux_bin path + - Passing a non-existent binary path previously surfaced as a + raw FileNotFoundError from subprocess. Both tmux_cmd and + raise_if_dead now catch FileNotFoundError and raise + TmuxCommandNotFound consistently. +- update to 0.54.0: + * Highlights + - Structured lifecycle logging across Server, Session, Window, + and Pane with filterable extra context + - Bug fixes for rename_window(), Server.kill(), new_session(), + and kill_window() error handling + * Structured lifecycle logging (#637) + - All lifecycle operations (create, kill, rename, split) now + emit INFO-level log records with structured extra context. + Every log call includes scalar keys for filtering in log + aggregators and test assertions via caplog.records: + + Key Type Context + tmux_subcommand str tmux subcommand (e.g. new-session) + tmux_target str tmux target specifier + tmux_session str session name + tmux_window str window name or index + tmux_pane str pane identifier + + * Logging hygiene improvements: + - NullHandler added to library __init__.py per Python logging + best practices + - DEBUG-level structured logs for tmux_cmd execution with + isEnabledFor guards and heavy keys (tmux_stdout, tmux_stderr, + tmux_stdout_len, tmux_stderr_len) + - Lazy formatting: replaced f-string log formatting with %s + throughout + - Diagnostics: replaced traceback.print_stack() with + logger.debug(exc_info=True) + - Options warnings: replaced logger.exception() with + logger.warning() and tmux_option_key structured context for + recoverable parse failures + - Cleanup: removed unused logger definitions from modules that + don't log + * Bug fixes + - Window.rename_window() now raises on failure (#637) + Previously rename_window() caught all exceptions and logged + them, masking tmux errors. It now propagates the error, + consistent with all other command methods. + - Server.kill() captures stderr (#637) + Server.kill() previously discarded the tmux return value. It + now checks stderr, raises on unexpected errors, and silently + returns for expected conditions ("no server running", "error + connecting to"). + - Server.new_session() checks kill-session stderr (#637) + When kill_session=True and the existing session kill fails, + new_session() now raises LibTmuxException with the stderr + instead of proceeding silently. + - Session.kill_window() target formatting fix (#637) + Fixed self.window_name (wrong attribute) to self.session_name + when formatting tmux targets for integer target_window + values. Also widened the type signature from str | None to + str | int | None to match the existing + isinstance(target_window, int) branch. + +------------------------------------------------------------------- Old: ---- libtmux-0.53.1.tar.gz New: ---- libtmux-0.55.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-libtmux.spec ++++++ --- /var/tmp/diff_new_pack.a8N3uE/_old 2026-03-09 16:32:58.974305576 +0100 +++ /var/tmp/diff_new_pack.a8N3uE/_new 2026-03-09 16:32:58.978305739 +0100 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-libtmux -Version: 0.53.1 +Version: 0.55.0 Release: 0 Summary: Python API / wrapper for tmux License: MIT ++++++ libtmux-0.53.1.tar.gz -> libtmux-0.55.0.tar.gz ++++++ ++++ 2134 lines of diff (skipped)
