Releases: tomerfiliba/plumbum
Releases · tomerfiliba/plumbum
Release list
v2.0.2
Fixes
- CLI parsing and terminal fixes: exact switch names win over abbreviations, clear errors for
--flag=valueon no-argument switches and for unknownrequires/excludesnames,Setno longer validates the unsplit CSV string,--helpallno longer corrupts later--helpoutput,ask/choose/promptno longer loop forever on closed stdin, and wide/tall images render with the right aspect (#824) - Subprocess and pipeline lifecycle fixes:
bgrunkills and reaps the process when the body raises, pipeline call-time args bind to the source command, leaked pipeline pipes are closed, the async TEE handles long lines and multibyte characters and reaps on failure, equal timeout deadlines no longer kill the timeout thread, and daemon fixes (#822) - Path/fs edge cases:
RemotePath.unlinkno longer removes directories recursively and handles symlinks via lstat,RemotePath.accesssupportsF_OKand requires every requested permission bit,LocalPath.chownleaves an unspecified owner/group unchanged, andAtomicFile.lockedhonorsblocking=Falsefor the in-process thread lock (#825) - Don't change the global
SIGPIPEdisposition in the CLI (#834) - Keep the return code off the last line of session output (#830)
Path.parentno longer raisesIndexErroron the filesystem root (#827)- Quote paths, cwd, and env names in remote shell command lines (#821)
colorlibcorrectness fixes: stdout guard,Color(0),from_ansi, bold-off (#823)
Docs
- Update terminal color support link to its permanent home (#829)
- Update example output to match the code (#828)
Internal
- Remove a redundant class definition and fix indentation (#832)
- Bump
actions/checkoutandastral-sh/setup-uv(#826, #831, #833)
Full Changelog: v2.0.1...v2.0.2
Version 2.0.1
What's Changed
- fix: make SwitchInfo hashable again so requires=/excludes= work (#816) by @gaoflow in #818
- chore: remove
conda.recipeby @henryiii in #819 - chore(deps): bump astral-sh/setup-uv from 8.1.0 to 8.2.0 in the actions group by @dependabot[bot] in #815
New Contributors
Full Changelog: v2.0.0...v2.0.1
Version 2.0.0
What's Changed
- feat: support async mode by @yajo in #768
- feat(async): support popen on async pipelines (#795) by @henryiii in #804
- feat: add more Path API by @henryiii in #779
- feat: support color string processing by @henryiii in #774
- feat: Remove pywin32 dependency and replace WinAPI calls with a custom ctypes wrapper by @karpierz in #766
- chore: add paramiko machine typing by @henryiii in #746
- chore: add remote typing by @henryiii in #744
- chore: add sshmachine typing by @henryiii in #745
- chore: add typing for color by @henryiii in #730
- chore: add typing for fs by @henryiii in #737
- chore: add typing for local machine by @henryiii in #743
- chore: typing paths by @henryiii in #733
- chore: adding rest of typing by @henryiii in #739
- chore: enable tc ruff check by @henryiii in #752
- chore: more safe types by @henryiii in #741
- chore: should be safe types by @henryiii in #740
- chore: type only session by @henryiii in #742
- chore: types for Application by @henryiii in #735
- chore: typing for commands by @henryiii in #738
- chore: type examples too by @henryiii in #748
- fix: typing fixes from Ruff by @henryiii in #749
- fix: some minor typing updates by @henryiii in #780
- fix: new impl avoiding fork by @henryiii in #783
- fix: make the daemon launcher private by @henryiii in #794
- feat(cli): Application instances with bash and fish completions out of the box by @yajo in #782
- feat: drop atexit for colors by @henryiii in #785
- fix: HTMLStyle should respect the color setting by @henryiii in #776
- fix: make cache clear abstract by @henryiii in #747
- fix: use perf_counter instead of datetime for Progress by @henryiii in #754
- Fix BrokenPipeError when piping CLI help output to head by @Copilot in #727
- fix: fill out all and dir for modules by @henryiii in #793
- Fix quoting inconsistency between standalone commands and pipelines by @Copilot in #792
- fix: only register shutdown if timeout requested by @henryiii in #784
- fix: reduce warnings by @henryiii in #781
- Fix O(n^2) performance in StdinDataRedirection.popen by @ustunb in #798
- fix(async): correct remote streaming, pipeline TEE, and command binding by @henryiii in #806
- fix: pre-2.0 bug sweep across cli, paths, and commands by @henryiii in #808
- fix: assorted pre-2.0 correctness issues (stem, ssh tunnel timeout, Set completion) by @henryiii in #809
- fix: make
**glob recursively like pathlib (#628) by @henryiii in #812 - Fix: SSH bug in windows by @SuvarnaNarayanan in #762
- tests: need ImportError for plumbum.cmd by @henryiii in #769
- tests: set LANG=C in pytest to fix locale-dependent test failures by @yajo in #772
- tests: support pytest 9 by @henryiii in #757
- chore: pytest log_level is better than log_cli_level by @henryiii in #756
- tests: increase coverage by @henryiii in #789
- chore: adding more slots by @henryiii in #750
- chore: even more slots by @henryiii in #751
- chore: tid imports by @henryiii in #753
- docs: fix badge showing wrong branch by @henryiii in #736
- Fix links in changelog by @henryiii in #732
- chore: add AGENTS.md and avoid extra files from Claude by @henryiii in #803
- refactor: remove dead code and simplify a few spots by @henryiii in #811
- refactor(typing): tighten loose annotations across the public API by @henryiii in #810
- chore: make module import lazy by @henryiii in #814
- docs: move to furo by @henryiii in #787
- docs: fix local builds and some links by @henryiii in #786
- docs: fix warnings, add missing API docs by @henryiii in #791
- docs: fill out old news entries by @henryiii in #790
- docs: add two missing files by @henryiii in #788
- ci: test on prerelease of 3.15 by @henryiii in #771
- ci: update versions by @henryiii in #763
- ci: updating ssh script by @henryiii in #764
- ci: use PyPy 3.11 by @henryiii in #770
- ci: bump setup-uv to maintained tag scheme by @henryiii in #799
Other
- chore(deps): bump actions/checkout from 5 to 6 in the actions group by @dependabot[bot] in #759
- chore(deps): bump actions/download-artifact from 6 to 7 in the actions group by @dependabot[bot] in #760
- chore(deps): bump the actions group with 2 updates by @dependabot[bot] in #777
- chore(deps): bump astral-sh/setup-uv from 8.0.0 to 8.1.0 in the actions group by @dependabot[bot] in #801
- docs: prepare for 2.0 by @henryiii in #778
New Contributors
- @karpierz made their first contribution in #766
- @yajo made their first contribution in #772
- @ustunb made their first contribution in #798
- @SuvarnaNarayanan made their first contribution in #762
Full Changelog: v1.10.0...v2.0.0
Version 1.10
What's Changed
- Add Python π, drop Python 3.8 by @henryiii in #705
- CLI: Fix flag invoke behavior to respect
Falsevalues by @Copilot in #724 - CLI: Allow subapplication registration under multiple subcommand names by @Copilot in #725
- CLI: Better support for future annotations on 3.9 by @henryiii in #723
- CLI: Termsize determination fixed on Linux Python 3.14, broken due to wrong struct size by @AndydeCleyre in #721
- Drop some unused variables by @bobwhitelock in #700
- Simpler urljoin by @henryiii in #707
- Use SPDX license identifier by @cdce8p in #702
New Contributors
- @bobwhitelock made their first contribution in #700
- @tsvikas made their first contribution in #698
- @cdce8p made their first contribution in #702
- @Copilot made their first contribution in #724
Full Changelog: v1.9.0...v1.9.1
Version 1.9.0
What's Changed
- Drop Python <3.8 by @henryiii in #683
- Add 3.13 testing and classifiers by @henryiii in #690
- setuptools-less installs couldn't translate, add test by @henryiii in #373
- Use importlib resources by @henryiii in #680
- Replaced
NotImplementedErrorbyNotImplementedby @fazledyn-or in #667
New Contributors
- @fazledyn-or made their first contribution in #667
Full Changelog: v1.8.3...v1.9.0
Version 1.8.3
What's Changed
- fix: StdinDataRedirection's formulate() method by @nebbish in #629
- fix: missing non-zero return code from TEE'd pipe by @vient in #661
- fix: stalling in Pipeline command by @astaric in #632
- fix: use high-speed method for C locale too by @henryiii in #681
- docs: update index.rst - fix broken link for sh project by @mcint in #658
- chore: clean up codespell by @henryiii in #682
- chore: config by @henryiii in #664
- chore: ruff moved to astral-sh by @henryiii in #652
- chore: switch to ruff-format by @henryiii in #663
- chore: use 2x faster black mirror by @henryiii in #653
- ci: bump CI by @henryiii in #666
- ci: group dependabot updates by @henryiii in #671
New Contributors
- @mcint made their first contribution in #658
- @vient made their first contribution in #661
- @nebbish made their first contribution in #629
Full Changelog: v1.8.2...v1.8.3
Version 1.8.2
What's Changed
- Fix author metadata on PyPI package and add static check by @henryiii in #648
- Paths: Add type hinting for Path by @moskupols in #646
- Docs: Minor spelling fixes, changed broken links by @TinyClayMan in #630
- Docs: Add warning about pipeline stalling to documentation by @astaric in #640
- CI: Use Ruff for linting by @henryiii in #643
- CI: Use trusted publisher deployment by @henryiii in #649
- CI: Add testing for Python 3.12 beta 1 by @henryiii in #650
New Contributors
- @TinyClayMan made their first contribution in #630
- @astaric made their first contribution in #640
Full Changelog: v1.8.1...v1.8.2
Version 1.8.1
This release moves to using a pyproject.toml based packaging backend (hatchling).
What's Changed
- local: Accept path-like objects (#627)
- Move the build backend to hatchling and hatch-vcs. Users should be unaffected. Third-party packaging may need to adapt to the new build system. (#607)
New Contributors
Full Changelog: v1.8.0...v1.8.1
Version 1.8.0
This is the final release series for Python 3.6.
- Drop Python 2.7 and 3.5 support, add 3.11 support #573
- Lots of extended checks and fixes for problems exposed.
- Color: support
NO_COLOR/FORCE_COLOR#575 - Commands: New
iter_linesbuffer_sizeparameter #582 - Commands: cache remote commands #583
- SSH: Support reverse tunnels and dynamically allocated ports #608
- CLI: add
Set(..., all_markers={"*", "all"})and fix support for other separators #619 - CLI: support future annotations #621
- Color: fix the ABC #617
- Exceptions: fix for exception pickling #586
- Fix for StdinDataRedirection and modifiers #605
New Contributors
- @damani42 made their first contribution in #585
- @pylanglois made their first contribution in #588
- @andriyor made their first contribution in #593
- @jesteria made their first contribution in #605
Full Changelog: v1.7.2...v1.8.0