Releases: jazzband/pip-tools
v7.5.1
2025-09-26
Bug fixes
-
Fixed static parsing of
pyproject.tomldata when thepyproject.tomlis supplied as a relative path -- by @sirosen. -
The "via" paths in
pip-compileoutput for requirements discovered frompyproject.tomldata are now written in POSIX format -- by @sirosen.PRs and issues: #2221
-
Fixed a bug which removed slashes from URLs in
-rand-cin the output ofpip-compile-- by @sirosen.PRs and issues: #2223
-
Fixed an incompatibility with
click >= 8.3which madepip-compiledisplay incorrect options in the compile command in output headers -- by @sirosen.PRs and issues: #2235
Features
Improved documentation
-
ReadTheDocs builds for
pip-toolsno longer include htmlzip and pdf outputs -- by @sirosen.PRs and issues: #2218
Contributor-facing changes
-
pip-toolsnow tests onpipversion 25.2 -- by @sirosen.PRs and issues: #2214
-
The changelog documentation for contributors now provides hyperlinks to the source of each example change note -- by @jayaddison (for OpenCulinary).
PRs and issues: #2217
-
The CPython versions tested in nightly CI runs are now separate from branch and PR CI, and don't include very old versions -- by @sirosen.
PRs and issues: #2226
v7.5.0
2025-07-30
Bug fixes
-
Fixed the ordering of format controls to preserve underlying
pipbehavior -- by @sethmlarson.PRs and issues: #2082
-
Fixed
NoCandidateFoundexception to be compatible withpip >= 24.1-- by @chrysle.PRs and issues: #2083
-
pip-compilenow produces relative paths for editable dependencies -- by @macro1.PRs and issues: #2087
-
Fixed crash failures due to incompatibility with
pip >= 25.1-- by @gkreitz and @sirosen.
Features
-
pip-compilenow treats package versions requested on the command line as constraints for the underlyingpipusage.
This applies to build deps in addition to normal package requirements.-- by @chrysle
PRs and issues: #2106
-
pip-toolsnow tests on and officially supports Python 3.12 -- by @sirosen.PRs and issues: #2188
-
Requirements file paths in
pip-compileoutput are now normalized to POSIX-style, even whenpip-compileis run on Windows.
This provides more consistent output across various platforms.-- by @sirosen
PRs and issues: #2195
-
pip-toolsnow tests against and supportspipup to version25.1-- by @sirosen.PRs and issues: #2195
Removals and backward incompatible breaking changes
-
pip-compilewill now relativize the requirements paths which are recorded in its output.
Paths are made relative to the working directory.
This provides more consistent results acrosspipversions.-- by @sirosen
Packaging updates and notes for downstreams
-
pip-toolsreleases are now configured via Trusted Publishing.
This allows for signature and attestation verification via PyPI.-- by @webknjaz
Contributor-facing changes
-
pip-tools's CI now runs against pinnedpipversions, declared intoxconfiguration as the "supported" version.
This does not change the support policy forpipversions, but declares what is tested and known to work.-- by @webknjaz
PRs and issues: #2142
-
pip-toolsnow tests against PyPy 3.10 as its supported PyPy version -- by @webknjaz.PRs and issues: #2146
-
pip-toolsnow uses Towncrier to manage the changelog.-- by @sirosen and @webknjaz, with suggestions from @jayaddison
-
pip-toolsnow usessphinx-issuesto link to issues, PRs, commits, and user accounts -- by @sirosen.PRs and issues: #2202
7.4.1
7.4.0
Features:
- Allow force-enabling or force-disabling colorized output (#2041). Thanks @aneeshusa
- Add support for command-specific configuration sections (#1966). Thanks @chrysle
- Add options for including build dependencies in compiled output (#1681). Thanks @apljungquist
Bug Fixes:
- Fix for
src-filesnot being used when specified in a config file (#2015). Thanks @csalerno-asml - Fix ignorance of inverted CLI options in config for
pip-sync(#1989). Thanks @chrysle - Filter out origin ireqs for extra requirements before writing output annotations (#2011). Thanks @chrysle
- Make BacktrackingResolver ignore extras when dropping existing constraints (#1984). Thanks @chludwig-haufe
- Display
pyproject.toml's metatada parsing errors in verbose mode (#1979). Thanks @szobov
Other Changes:
- Add mention of pip-compile-multi in Other useful tools README section (#1986). Thanks @peterdemin
7.3.0
Features:
- Add
--no-strip-extrasand warn about strip extras by default (#1954). Thanks @ryanhiebert
Bug Fixes:
- Fix revealed default config in header if requirements in subfolder (#1904). Thanks @atugushev
- Direct references show extra requirements in .txt files (#1582). Thanks @FlorentJeannot
Other Changes:
- Document how to run under
pipx run(#1951). Thanks @brettcannon - Document that the backtracking resolver is the current default (#1948). Thanks @jeffwidman
7.2.0
Features:
- Add
-c/--constraintoption topip-compile(#1936). Thanks @atugushev
Bug Fixes:
- Allow options in config from both
pip-compileandpip-sync(#1933). Thanks @atugushev - Fix rejection of negating CLI boolean flags in config (#1913). Thanks @chrysle
Other Changes:
- Add Command Line Reference section to docs (#1934). Thanks @atugushev
7.1.0
Features:
- Validate parsed config against CLI options (#1910). Thanks @atugushev
Bug Fixes:
- Fix a bug where pip-sync would unexpectedly uninstall some packages (#1919). Thanks @atugushev
7.0.0
Backwards Incompatible Changes:
- Default to
--resolver=backtracking(#1897). Thanks @atugushev - Drop support for Python 3.7 (#1879). Thanks @chrysle
Features:
- Add support for
pip==23.2where refactored outDEV_PKGS(#1906). Thanks @atugushev - Add
--no-configoption (#1896). Thanks @atugushev
Bug Fixes:
- Sync direct references with hashes (#1885). Thanks @siddharthab
- Fix missing
vias when more than two input files are used (#1890). Thanks @lpulley
6.14.0
Features:
- Support config defaults using
.pip-tools.tomlorpyproject.toml(#1863). Thanks @j00bar - Log a warning if the user specifies
-Pand the output file is present but empty (#1822). Thanks @davidmreed - Improve warning for
pip-compileif no--allow-unsafewas passed (#1867). Thanks @chrysle
Other Changes:
- Correct in README
pre-commithook to run offrequirements.in(#1847). Thanks @atugushev - Add
pyprojects.tomlexample for using setuptools (#1851). Thanks @shatakshiiii
6.13.0
Features:
- Add support for self-referential extras (#1791). Thanks @q0w
- Add support for
pip==23.1where removedFormatControlinWheelCache(#1834). Thanks @atugushev - Add support for
pip==23.1where refactored requirement options (#1832). Thanks @atugushev - Add support for
pip==23.1where deprecated--install-optionhas been removed (#1828). Thanks @atugushev
Bug Fixes:
Other Changes:
- Update examples in README (#1835). Thanks @lucaswerkmeister