+-----------------------------------------------+
|The views and thoughts below are purely my own.|
+-----------------------------------------------+

This post was written 2026-07-16

pip-tools v7.6.0

Today we released pip-tools v7.6.0!

We are once again thankful for a wonderful cohort of contributors who helped make this release possible with bug reports, discussions, and pull requests.

There are relatively few technical changes in this release. Most of my notes are logistical in one way or another.

AI policy

During this past release cycle, we produced and published our policy on LLM-generated contributions.

The policy has already been in effect for several months. As of this release, the only change is that it’s now visible on our stable docs build, not only on latest. But I reflect that this work is still very recent, and our policy will need to continue to adapt to a changing landscape.

Other projects also continue to publish and refine their policies. Many maintainers I respect have adopted different policies, all of which I am reading attentively.

It’s likely that we’ll make more changes.

In the meantime, I’m gratified to note that the process of writing this policy was highly collaborative and involved many people. I could have done it alone, but it is better to do it together.

Moving to pypa

pip-tools will be moving from JazzBand to PyPA!

This is still in progress, but in the last few months, we’ve met our requirements for confirming the move with JazzBand and PyPA personnel.

There will be a bit more logistical work, but expect to see the project move relatively soon!

pip v26.1 is supported

Users of pip-compile may not have noticed, but pip-sync has been broken under pip v26.1. Quietly, we’ve moved back into a healthy state, compatible with the latest pip version.

--uploaded-prior-to

pip-compile can now passthrough the --uploaded-prior-to flag supported by pip!

This allows for simpler dependency cooldown semantics when using pip-compile. Previously, doing this required manually passing the flag via --pip-args or PIP_UPLOADED_PRIOR_TO.

Documentation: laying the foundation

We have quietly started to prepare for significant improvements in the pip-tools documentation. Breaking down the monolithic readme doc, adding more extensive examples and recipes, and providing more explanatory docs should all be possible, once we’ve established more structure.

For now, doc readers will see a new “Reference” section on CLI commands and configuration, which replaces and improves upon some of the prior readme documentation.

Continuous continuous integration work

We take the job of maintaining CI seriously. It’s how we define and test our target platforms and versions.

When CI goes red, nothing can merge, and fixing it is a priority.

We’ve had a number of CI changes. Not only triaging and patching issues, but also improvements like adding zizmor linting and specifying our CI runner versions.

Retrospective and sustainability

This release has been mostly-ready for a little while, but we haven’t had time to finalize it. As with any mature project, the biggest bottleneck is maintainer time.

But I won’t apologize for this. Free software can only move at the pace that is sustainable for the people creating it.

Sustainability is complex. Frequently, it’s described as monetary. Although I have a tip jar on GitHub Sponsors, if you want to buy me a coffee, I do not think that sustainable free and open software revolves around money.

If you are a company, and you benefit from our software, you should sponsor us. Do it at $5/month. It matters much more to us than it does to you.

But if you are an individual, then you can do something much more powerful. If you would like to help sustain the project then via a text, a DM, an email, in person, or quietly, in your own heart, say thanks.