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-07-13 14:27:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-libtmux (Old)
 and      /work/SRC/openSUSE:Factory/.python-libtmux.new.1991 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-libtmux"

Mon Jul 13 14:27:55 2026 rev:32 rq:1365239 version:0.62.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-libtmux/python-libtmux.changes    
2026-07-06 12:37:48.342817942 +0200
+++ /work/SRC/openSUSE:Factory/.python-libtmux.new.1991/python-libtmux.changes  
2026-07-13 14:28:40.096650582 +0200
@@ -1,0 +2,96 @@
+Mon Jul 13 05:03:07 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- update to 0.62.0:
+  * Highlights
+    libtmux 0.62.0 teaches libtmux objects to locate themselves and
+    to resolve shared windows the way tmux does. Code running
+    inside tmux can now find the object it's running in, a window
+    can name every session that holds it, and point lookups follow
+    tmux's own choice of session and index instead of an arbitrary
+    one. One breaking change lands too — query errors now belong to
+    the LibTmuxException hierarchy (see below).
+    * Find where you're running — from_env()
+      Most libtmux code starts from a handle you already hold. But
+      a script in a split, a tmux hook, a test harness, or an agent
+      is running inside a pane and holds nothing. tmux already
+      wrote the answer into the pane's environment, and each level
+      of the hierarchy now reads it back:
+
+      from libtmux import Pane
+
+      pane = Pane.from_env()        # the pane this code is running in
+      window = pane.window          # …and you're back on the hierarchy from 
there
+      session = window.session
+
+      Server.from_env(), Session.from_env(), and Window.from_env()
+      do the same for the rest of the tree. Each also accepts an
+      environment mapping in place of os.environ, so code that
+      locates itself stays testable outside a pane. Outside tmux —
+      or with an environment that doesn't parse — the family raises
+      libtmux.exc.NotInsideTmux rather than guessing.
+
+      The answer stays true as tmux moves things around: it
+      survives a move-window, and for a window linked into several
+      sessions it names the session tmux itself would act on. See
+      the Locating yourself guide for the whole story.
+    * Ask a window which sessions hold it — Window.linked_sessions
+      A window can be linked into more than one session at once.
+      Window.linked_sessions lists every Session from which a
+      window is reachable — a typical window returns one, a linked
+      or grouped window returns several, with each session
+      appearing once even when it holds the window at multiple
+      indexes. Use it when you need every holder; Window.session
+      still follows the single session_id recorded on that
+      instance.
+    * Linked windows resolve the way tmux does
+      Window.from_window_id(), Pane.from_pane_id(),
+      Window.refresh(), and Pane.refresh() used to pick one holding
+      session by accident — whichever sorted last by name — so
+      their answer could change when you renamed a session. They
+      now let tmux resolve the object, reporting the session tmux
+      itself would act on, and give Window.window_index the index
+      tmux would choose for a window linked twice. For the ordinary
+      single-session window, nothing changes; the lookups also got
+      cheaper. See winlinks.
+      https://libtmux.git-pull.com/topics/filtering/#winlinks
+    * Lookups that say what happened
+      QueryList.get() now names both the lookup and its outcome. A
+      missing pane_id="%99" raises ObjectDoesNotExist with No
+      objects found: pane_id='%99'; two matches for pane_id="%0"
+      raise MultipleObjectsReturned with Multiple objects returned
+      (2): pane_id='%0'.
+    * Breaking change: query errors join the LibTmuxException
+      hierarchy
+      libtmux.exc.ObjectDoesNotExist and
+      libtmux.exc.MultipleObjectsReturned now subclass
+      libtmux.exc.LibTmuxException. Because TmuxObjectDoesNotExist
+      inherits from ObjectDoesNotExist, it now falls under
+      LibTmuxException too.
+      If you catch both families, order the handlers from most
+      specific to most general so the broad clause no longer
+      intercepts lookup outcomes:
+
+      from libtmux import exc
+
+      try:
+          pane = server.panes.get(pane_id="%0")
+      except exc.ObjectDoesNotExist:   # specific first
+          pane = None
+      except exc.LibTmuxException:     # general last
+          pane = None
+
+      Blanket retry policies for LibTmuxException should now
+      exclude ObjectDoesNotExist and MultipleObjectsReturned — they
+      report deterministic missing or ambiguous lookups, not
+      transient tmux failures. See the migration notes for a retry
+      predicate example.
+  * What's Changed
+    - Correct AGENTS.md fixture guidance by @tony in #708
+    - fix(Pane,Window): Resolve point lookups through tmux by @tony
+      in #713
+    - feat(Server,Session,Window,Pane): Resolve the pane you run
+      inside (from_env) by @tony in #714
+    - Resolve winlinks: the right window index, and lookups that
+      say what happened by @tony in #718
+
+-------------------------------------------------------------------

Old:
----
  libtmux-0.61.0.tar.gz

New:
----
  libtmux-0.62.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-libtmux.spec ++++++
--- /var/tmp/diff_new_pack.9JNhvd/_old  2026-07-13 14:28:41.912712669 +0200
+++ /var/tmp/diff_new_pack.9JNhvd/_new  2026-07-13 14:28:41.916712806 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-libtmux
-Version:        0.61.0
+Version:        0.62.0
 Release:        0
 Summary:        Python API / wrapper for tmux
 License:        MIT

++++++ libtmux-0.61.0.tar.gz -> libtmux-0.62.0.tar.gz ++++++
++++ 4681 lines of diff (skipped)

Reply via email to