-
Notifications
You must be signed in to change notification settings - Fork 112
Deprecate tmux versions below 3.2a #606
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #606 +/- ##
==========================================
+ Coverage 46.21% 46.45% +0.23%
==========================================
Files 19 19
Lines 1876 1890 +14
Branches 294 297 +3
==========================================
+ Hits 867 878 +11
- Misses 894 897 +3
Partials 115 115 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
237cb08 to
bf3b7f9
Compare
9957ba8 to
c5887b3
Compare
280026c to
9f069a4
Compare
why: Existing tests call _check_deprecated_version() directly, missing integration issues in the full call chain. what: - Add test_version_deprecation_via_get_version() that monkeypatches tmux_cmd and calls get_version() to verify warning plumbing - Tests the complete flow: tmux_cmd → version parsing → deprecation check
9f069a4 to
4ed7b79
Compare
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
Deprecate tmux versions below 3.2a
Summary
FutureWarning) for tmux versions below 3.2aTMUX_SOFT_MIN_VERSIONconstant for deprecation thresholdMotivation
tmux 3.2a was released in April 2021 and is the version shipped with Ubuntu 22.04 LTS. Older versions (3.1 and below) are only found on EOL platforms like Ubuntu 20.04. Deprecating these versions allows libtmux to:
format-defaults, extended hooks,display-menuAPIs)Changes
Source (
src/libtmux/common.py)TMUX_SOFT_MIN_VERSION: New constant set to"3.2a"- the deprecation threshold_version_deprecation_checked: Module-level flag ensuring warning fires only once per process_check_deprecated_version(): New helper function that emits aFutureWarningwhen tmux version is below 3.2aget_version(): Now calls_check_deprecated_version()to trigger warning on first version checkEnvironment Variable
Users can suppress the warning by setting:
export LIBTMUX_SUPPRESS_VERSION_WARNING=1Tests (
tests/test_common.py)Added parametrized tests using
NamedTuplefixture pattern:test_version_deprecation_warning- 5 parametrized cases covering deprecated versions, current versions, and env var suppressiontest_version_deprecation_warns_once- Verifies warning only fires once per processtest_version_deprecation_via_get_version- Integration test verifying warning through fullget_version()call chainDocumentation
docs/quickstart.md: Updated Requirements section with version recommendations and deprecation noteCHANGES: Added Deprecations and Internal sections for 0.48.xFuture Work
In a future release (e.g., 0.49.0 or 0.50.0):
TMUX_MIN_VERSIONfrom"1.8"to"3.2a"_check_deprecated_version()helper andTMUX_SOFT_MIN_VERSIONSee Also
This facilitates upcoming changes: