Releases: pypa/pipx
Releases · pypa/pipx
Release list
1.15.0
1.14.1
What's Changed
- Use exact version in GHA comments by @facutuesca in #1830
- Preserve installer errors during package name detection by @marko1olo in #1836
- Fix pipx.util import cycle by @marko1olo in #1831
- Expose man pages for editable local installs by @marko1olo in #1832
- Restore package after interrupted reinstall by @puneetdixit200 in #1829
- Fix inject --force reinstall behavior by @marko1olo in #1833
- Fix pin --injected-only for pinned apps by @marko1olo in #1835
New Contributors
- @marko1olo made their first contribution in #1836
- @puneetdixit200 made their first contribution in #1829
Full Changelog: 1.14.0...1.14.1
1.14.0
What's Changed
- ci: declare workflow-level contents: read on 3 remaining workflows by @arpitjain099 in #1822
- Fix inject option parsing with --force before dependencies by @bubaizhanshen in #1820
- docs: fix self-managed ensurepath command by @EddieBSN in #1823
- chore(ci): restrict OIDC token to publish job by @facutuesca in #1826
- Add --no-path-check to skip the on-PATH check in pipx run by @findepi in #1825
- Add zizmor workflow and address findings by @facutuesca in #1827
- Fix release push auth with persist-credentials: false by @gaborbernat in #1828
New Contributors
- @arpitjain099 made their first contribution in #1822
- @bubaizhanshen made their first contribution in #1820
- @EddieBSN made their first contribution in #1823
- @facutuesca made their first contribution in #1826
- @findepi made their first contribution in #1825
Full Changelog: 1.13.0...1.14.0
1.13.0
What's Changed
- Add shared libs auto-upgrade opt-out by @Herrtian in #1809
- Fix app script shebang isolation by @sjh9714 in #1819
- Update deprecation message in get-pipx.py; obsoleted, not deprecated by @Spitfire1900 in #1813
- docs: clarify runpip cache warnings by @Sean-Kenneth-Doherty in #1815
- Refresh legacy standalone Python index cache by @Sean-Kenneth-Doherty in #1814
New Contributors
- @sjh9714 made their first contribution in #1819
- @Sean-Kenneth-Doherty made their first contribution in #1815
Full Changelog: 1.12.0...1.13.0
1.12.0
What's Changed
- feat: Support always fetching a standalone python interpreter by @13steinj in #1663
- ✨ feat(backends): add opt-in uv backend by @gaborbernat in #1806
Full Changelog: 1.11.2...1.12.0
1.11.2
What's Changed
- ci: bump setup-uv to maintained tag scheme by @henryiii in #1782
- ci: group dependabot updates by @henryiii in #1785
- feat: drop Python 3.9 by @henryiii in #1786
- chore: add towncrier default cats by @henryiii in #1787
- 🐛 fix(interpreter): resolve PIPX_DEFAULT_PYTHON like --python by @gaborbernat in #1791
- fix(#1575): Prevent CWD from being added to sys.path during subprocess calls by @picassothe3rd in #1792
- fix(main): don't treat existing CWD dir as package path by @Bojun-Vvibe in #1797
- chore: pytest log_level is better than log_cli_level by @henryiii in #1689
- Add help subcommand alias by @Herrtian in #1803
- Refactor/main dispatch set defaults by @Abdullah2240 in #1804
New Contributors
- @picassothe3rd made their first contribution in #1792
- @Bojun-Vvibe made their first contribution in #1797
- @Herrtian made their first contribution in #1803
- @Abdullah2240 made their first contribution in #1804
Full Changelog: 1.11.1...1.11.2
1.11.1
What's Changed
- 🐛 fix(uninject): preserve shared dependencies by @gaborbernat in #1767
- 🐛 fix(venv): support non-Latin Windows usernames by @gaborbernat in #1768
- 🐛 fix(install): show version and suggest upgrade by @gaborbernat in #1769
- 🐛 fix(install): ignore PIP_TARGET env var by @gaborbernat in #1770
- 🐛 fix(uninject): remove dependency app symlinks by @gaborbernat in #1771
- 🐛 fix(cli): error on -v/-q before subcommand by @gaborbernat in #1772
- 🐛 fix(shared_libs): remove setuptools after creation by @gaborbernat in #1773
Full Changelog: 1.11.0...1.11.1
1.11.0
What's Changed
- 🐛 fix(install): enable keyring auth for private indexes by @gaborbernat in #1758
- 🐛 fix(install): preserve URL constraints in pip-args by @gaborbernat in #1760
- 🐛 fix(install): keyring auth and URL constraint handling by @gaborbernat in #1759
- 🐛 fix(upgrade): allow --pip-args in upgrade-all by @gaborbernat in #1761
- Make list_installed_packages handle pip errors (#1698) by @absolutely-vivid in #1699
- Remove outdated experimental note from --suffix help text by @sedat4ras in #1764
- Add MAX_PIPX_LOGS environment variable support by @joewanko in #1763
- ♻️ refactor(config): rename MAX_PIPX_LOGS to PIPX_MAX_LOGS by @gaborbernat in #1765
New Contributors
- @absolutely-vivid made their first contribution in #1699
- @sedat4ras made their first contribution in #1764
- @joewanko made their first contribution in #1763
Full Changelog: 1.10.1...1.11.0
1.10.1
What's Changed
- 👷 ci(release): use Python 3.14 and fix zipapp job by @gaborbernat in #1741
- 📝 docs: restructure to Diataxis framework by @gaborbernat in #1742
- 📝 docs: clarify --global flag placement by @gaborbernat in #1743
- 📝 docs: explain sudo pipx failure with --user installs by @gaborbernat in #1744
- 📝 docs: document pipx.run entry point group by @gaborbernat in #1745
- 📝 docs: add PEP 668 note to Linux install guide by @gaborbernat in #1747
- 📝 docs: mention gui_scripts support by @gaborbernat in #1748
- 📝 docs: add troubleshoot section for wrong package version by @gaborbernat in #1749
- 📝 docs: add version requirements for --global and --prepend by @gaborbernat in #1750
- 📝 docs: document pip configuration for shared libs by @gaborbernat in #1746
- 📝 docs: document installing from a pull request by @gaborbernat in #1751
- 📝 docs: replace pipx-in-pipx warning with self-managed install guide by @gaborbernat in #1752
- 🐛 fix(uninstall): prevent data loss from relative directory names by @gaborbernat in #1753
- 🐛 fix: reject --global flag before subcommand by @gaborbernat in #1754
- 🐛 fix(upgrade): catch missing Python interpreter by @gaborbernat in #1755
- 🐛 fix(install): respect --quiet flag by @gaborbernat in #1756
- 🐛 fix(upgrade): use stored pip_args from metadata by @gaborbernat in #1757
Full Changelog: 1.10.0...1.10.1
1.10.0
What's Changed
- 🔧 chore(github): add community health files by @gaborbernat in #1729
- Fix tests badge in README by @Goooler in #1730
- feat: add --with option to "pipx run" command by @pabloyoyoista in #1666
- 🐛 fix(runpip): accept single-string args by @gaborbernat in #1733
- completions: only complete
--optionswhen a leading-has been entered by @exploide in #1638 - docs: Add FreeBSD to installation.md by @spmzt in #1609
- fix(shared_libs): handle missing Python interpreter on Windows by @BillionClaw in #1734
- pre-commit: Add ruff rules UP for pyupgrade by @cclauss in #1731
- Apply repo-review suggestions by @DimitriPapadopoulos in #1519
- Update legacy hook by @DimitriPapadopoulos in #1735
- Enforce ruff/flake8-pie rules (PIE) by @DimitriPapadopoulos in #1736
- Prefer str.removeprefix() over conditionally replacing with slice by @DimitriPapadopoulos in #1737
- 🔧 build(test): migrate from nox to tox with performance fixes by @gaborbernat in #1738
- replace explicit sleep with polling in animation tests by @pareshjoshij in #1697
- fix: strip extras from package name when looking up venv by @Br1an67 in #1722
- Add more detailed info about how to resolve a PIPX_HOME folder with spaces by @mcoliver in #1633
- Fix run command with bash substitution by @beshr11 in #1644
New Contributors
- @Goooler made their first contribution in #1730
- @pabloyoyoista made their first contribution in #1666
- @exploide made their first contribution in #1638
- @spmzt made their first contribution in #1609
- @BillionClaw made their first contribution in #1734
- @Br1an67 made their first contribution in #1722
- @mcoliver made their first contribution in #1633
- @beshr11 made their first contribution in #1644
Full Changelog: 1.9.0...1.10.0