Releases: pypa/pipx
Releases · pypa/pipx
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
1.9.0
What's Changed
- 1.8.0: Bump changelog by @github-actions[bot] in #1678
- chore: Update
python-build-standalonerepo path by @paulchen5 in #1680 - [pre-commit] pre-commit autoupdate by @DimitriPapadopoulos in #1676
pipx reinstall: An exception will now be raised if package is pinned by @dukecat0 in #1674- Add documentation for pipx pin and unpin features by @JakeFloch in #1688
- Fix: Optimize _unpack memory usage during checksum by @pareshjoshij in #1692
- Handle recursive symlinks in PIPX_BIN_DIR by @CorentinDurand in #1708
- Feature/env var completion 1498 by @CorentinDurand in #1707
- Stop
pipx runfrom leaving bad temporary venvs by @sam-sw in #1710 - chore(deps): bump the actions group across 1 directory with 5 updates by @dependabot[bot] in #1700
- test: fix tests for package url by @huxuan in #1712
- [pre-commit] pre-commit autoupdate by @DimitriPapadopoulos in #1706
- fix: clarify install message to avoid confusion with --global flag by @toroleapinc in #1721
- PEP 639 compliance by @DimitriPapadopoulos in #1702
__package__→__spec__.parentby @DimitriPapadopoulos in #1719- chore(deps): bump the actions group with 2 updates by @dependabot[bot] in #1720
- Fix documentation: grammar, typos, capitalization, and formatting by @DimitriPapadopoulos in #1714
- Use Well-known Labels by @DimitriPapadopoulos in #1703
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1563
New Contributors
- @paulchen5 made their first contribution in #1680
- @JakeFloch made their first contribution in #1688
- @pareshjoshij made their first contribution in #1692
- @CorentinDurand made their first contribution in #1708
- @toroleapinc made their first contribution in #1721
Full Changelog: 1.8.0...1.9.0
1.8.0
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1512
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1530
- Bump pypa/gh-action-pypi-publish from 1.9.0 to 1.10.0 in the actions group by @dependabot[bot] in #1529
- fix(commands/common/_copy_package_resource): if destination exists and files are same, do not overwrite existing files by @pratikpc in #1528
- Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 in the actions group by @dependabot[bot] in #1532
- Fix
/changelog/and/contributing/docs URLs by @br3ndonland in #1541 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1543
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1546
- Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.2 in the actions group by @dependabot[bot] in #1549
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1552
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #1558
- Bump pypa/gh-action-pypi-publish from 1.10.2 to 1.10.3 in the actions group by @dependabot[bot] in #1555
- Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.12.0 in the actions group across 1 directory by @dependabot[bot] in #1569
- Bump pypa/gh-action-pypi-publish from 1.12.0 to 1.12.2 in the actions group by @dependabot[bot] in #1571
- feat: rename USE_EMOJI to PIPX_USE_EMOJI by @dkav in #1581
- chore(deps): bump pypa/gh-action-pypi-publish from 1.12.2 to 1.12.3 in the actions group by @dependabot[bot] in #1586
- Add --all-shells flag to ensure_path by @gh271 in #1591
- chore(deps): bump pypa/gh-action-pypi-publish from 1.12.3 to 1.12.4 in the actions group by @dependabot[bot] in #1595
- fix: no message when no packages upgraded with upgrade-all by @huxuan in #1597
- fix: make Github Action safe to RCE via pull request title by @lociko in #1600
- Drop support for Python 3.8 by @dukecat0 in #1628
- Upgrade ruff and rename ruleset:
TCH→TCby @DimitriPapadopoulos in #1626 - fix #1610: Reorder upgrade option and arguments by @fluzzywuzzy in #1625
- Update the archive name of build of Python for Windows by @dukecat0 in #1632
- Update the logic of finding python interpreter by @dukecat0 in #1631
- Check for stdout/stderr in case file descriptor is closed by @julien-lecomte in #1620
- BUG: fix running a script with explicitly empty
dependencies = []by @neutrinoceros in #1658 - fix #1652: Use GitHub API for standalone python checksums by @13steinj in #1662
- Fix typo in PATH notification message by @lpmi-13 in #1667
- Add examples for using ssh to install from Source Control by @tonur in #1629
- Add support for Python 3.13 by @dukecat0 in #1647
- chore(deps): bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows by @dependabot[bot] in #1664
New Contributors
- @pratikpc made their first contribution in #1528
- @br3ndonland made their first contribution in #1541
- @dkav made their first contribution in #1581
- @gh271 made their first contribution in #1591
- @lociko made their first contribution in #1600
- @fluzzywuzzy made their first contribution in #1625
- @julien-lecomte made their first contribution in #1620
- @neutrinoceros made their first contribution in #1658
- @13steinj made their first contribution in #1662
- @lpmi-13 made their first contribution in #1667
- @tonur made their first contribution in #1629
Full Changelog: 1.7.1...1.8.0
1.7.1
What's Changed
Full Changelog: 1.7.0...1.7.1
1.7.0
What's Changed
- Add help messages for
pipx pinandpipx unpincommands by @dukecat0 in #1438 - Add quotes to title and fix tag name in release action by @dukecat0 in #1437
- Add a
--prependoption to thepipx ensurepathcommand by @agriyakhetarpal in #1451 - ci: clean up auto changelog on releases by @henryiii in #1440
- Introduce a new env variable to allow spaces in home path by @Gitznik in #1446
- Use multiple machine suffixes for standalone python by @tusharsadhwani in #1462
- Fix install all example typo by @agrvz in #1464
- Fix passing constraints file path into
pipx installoperation via--pip-argsby @guysalt in #1390 - Apply preview ruff/Pylint rule PLC0206 by @DimitriPapadopoulos in #1466
- Apply ruff/pycodestyle rule E721 by @DimitriPapadopoulos in #1465
- Enforce new ruff rules by @DimitriPapadopoulos in #1469
- Moved documentation to
docsdirectory by @svengregorio in #1474 - Fix #1475 (
--globalinstalls to~/.local) by @viscruocco in #1476 - Fix #1492: Add PIPX_GLOBAL_(HOME|BIN_DIR|MAN_DIR) documentation and list them in
pipx environmentby @viscruocco in #1493 - Assorted repo-review suggestions by @DimitriPapadopoulos in #1497
- Fixes #1509 short-circuit of installing packages when already installed by @ayemiller in #1510
New Contributors
- @agriyakhetarpal made their first contribution in #1451
- @agrvz made their first contribution in #1464
- @guysalt made their first contribution in #1390
- @svengregorio made their first contribution in #1474
- @viscruocco made their first contribution in #1476
- @ayemiller made their first contribution in #1510
Full Changelog: 1.6.0...1.7.0