Pants upgrade from 2.20.3 to 2.23
The commits step through updating from 2.20 to 2.21 to 2.22 to 2.23.
Interesting new features in 2.21
- https://www.pantsbuild.org/blog/2024/05/29/pants-2-21
- https://github.com/pantsbuild/pants/blob/2.21.x/src/python/pants/notes/2.21.x.md
A new [export].py_hermetic_scripts feature allows us to use nosetest in the exported venv. This was added in:
- https://github.com/pantsbuild/pants/pull/20763
- https://www.pantsbuild.org/2.21/reference/goals/export#py_hermetic_scripts
This release also allows us to simplify our __defaults__ BUILD file config. Instead of specifying (python_test, python_tests), we can just use python_test because now applies to generated targets (python_tests generates python_test targets), not just the targets in BUILD files.
Interesting new features in 2.22
- https://github.com/pantsbuild/pants/blob/2.22.x/docs/notes/2.22.x.md
A new [export].py_generated_sources option. I don't think we really need this now, but it makes sense to make any generated sources available in the venv (for use by an IDE like VSCode).
- https://github.com/pantsbuild/pants/pull/20975/files
- https://www.pantsbuild.org/2.22/reference/goals/export#py_generated_sources
The options system is moving to the rust-based pants engine instead of in python to speed up cli args parsing.
Interesting new features in 2.23
- https://github.com/pantsbuild/pants/blob/main/docs/notes/2.23.x.md
I want to update to 2.23 ASAP, even if that means using a dev prerelease, to take advantage of the python_test(entry_point_dependencies={...}) field, added to resolve issues enabling our runner tests in #6202:
- https://github.com/pantsbuild/pants/pull/21062
pants-plugins lockfile diffs
From 2.20 to 2.21
Lockfile diff: lockfiles/pants-plugins.lock [pants-plugins]
== Upgraded dependencies ==
ijson 3.1.4 --> 3.2.3
pantsbuild-pants 2.20.1 --> 2.21.0
pantsbuild-pants-testutil 2.20.1 --> 2.21.0
pex 2.2.1 --> 2.3.1
From 2.21 to 2.22
Lockfile diff: lockfiles/pants-plugins.lock [pants-plugins]
== Upgraded dependencies ==
pantsbuild-pants 2.21.0 --> 2.22.0rc0
pantsbuild-pants-testutil 2.21.0 --> 2.22.0rc0
From 2.22 to 2.23
Lockfile diff: lockfiles/pants-plugins.lock [pants-plugins]
== Upgraded dependencies ==
pantsbuild-pants 2.22.0rc0 --> 2.23.0.dev2
pantsbuild-pants-testutil 2.22.0rc0 --> 2.23.0.dev2
pex 2.3.1 --> 2.3.3
typing-extensions 4.3.0 --> 4.12.2