Skip to content

Commit 38e368c

Browse files
committed
Tag v0.62.0 (self-location and winlink resolution)
Release the self-location and winlink-resolution work accumulated since 0.61.0. Pane.from_env() and its Server/Session/Window siblings locate the object the calling process runs inside; Window.linked_sessions lists every session that holds a window; point lookups now resolve a linked window to the session and index tmux itself would act on. Query exceptions ObjectDoesNotExist and MultipleObjectsReturned now subclass LibTmuxException, a breaking change for handler ordering. - CHANGES: date the 0.62.0 release section and open a fresh 0.63.x unreleased placeholder - MIGRATION: release the 0.62.x heading to 0.62.0 - Bump version 0.61.0 -> 0.62.0 in pyproject.toml and __about__.py - Refresh uv.lock for the new version
1 parent 0c22c98 commit 38e368c

5 files changed

Lines changed: 20 additions & 5 deletions

File tree

CHANGES

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,29 @@ $ uv add libtmux --prerelease allow
3737
$ uvx --from 'libtmux' --prerelease allow python
3838
```
3939

40-
## libtmux 0.62.x (Yet to be released)
40+
## libtmux 0.63.x (Yet to be released)
4141

4242
<!-- To maintainers and contributors: Please add notes for the forthcoming version below -->
4343

4444
<!-- KEEP THIS PLACEHOLDER - DO NOT REMOVE OR MODIFY THIS LINE -->
4545
_Notes on the upcoming release will go here._
4646
<!-- END PLACEHOLDER - ADD NEW CHANGELOG ENTRIES BELOW THIS LINE -->
4747

48+
## libtmux 0.62.0 (2026-07-12)
49+
50+
libtmux 0.62.0 teaches libtmux objects to locate themselves and to resolve
51+
shared windows the way tmux does. Code running *inside* tmux can now find its
52+
own pane, window, session, and server with
53+
{meth}`Pane.from_env() <libtmux.Pane.from_env>` and its siblings, and a window
54+
reports every session that holds it through
55+
{attr}`~libtmux.Window.linked_sessions`. Point lookups now resolve a linked
56+
window to the session and index tmux itself would act on rather than an
57+
arbitrary one. The release also folds {exc}`~libtmux.exc.ObjectDoesNotExist`
58+
and {exc}`~libtmux.exc.MultipleObjectsReturned` into the
59+
{exc}`~libtmux.exc.LibTmuxException` hierarchy — a breaking change for
60+
exception handlers, detailed below. See {ref}`self-location` and
61+
{ref}`winlinks` for the full story.
62+
4863
### Breaking changes
4964

5065
#### Query errors join the libtmux exception hierarchy (#718)

MIGRATION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ sections below for detailed migration examples and code samples.
113113
_Detailed migration steps for the next version will be posted here._
114114
<!-- END PLACEHOLDER - ADD NEW MIGRATION ENTRIES BELOW THIS LINE -->
115115

116-
## libtmux 0.62.x: Query exceptions join the hierarchy (#718)
116+
## libtmux 0.62.0: Query exceptions join the hierarchy (#718)
117117

118118
{exc}`~libtmux.exc.ObjectDoesNotExist` and
119119
{exc}`~libtmux.exc.MultipleObjectsReturned` now subclass

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "libtmux"
3-
version = "0.61.0"
3+
version = "0.62.0"
44
description = "Typed library that provides an ORM wrapper for tmux, a terminal multiplexer."
55
requires-python = ">=3.10,<4.0"
66
authors = [

src/libtmux/__about__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
__title__ = "libtmux"
66
__package_name__ = "libtmux"
7-
__version__ = "0.61.0"
7+
__version__ = "0.62.0"
88
__description__ = "Typed scripting library / ORM / API wrapper for tmux"
99
__email__ = "tony@git-pull.com"
1010
__author__ = "Tony Narlock"

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)