The third stable release of the 2.7.x series, with no changes since the previous release candidate.
- Fix
--no-print-stacktrace. (cherrypick of #13539) (#13540)
- Fix caching of binary lookups and avoid re-running
pytestsetup for environment changes (cherrypick of #13559) (#13560)
- Upgrade to Pex 2.1.54 (Cherry picks of 50914a5e and 189cd753) (#13460)
- Use
--layout=packedfor all monolithic resolves. (cherrypick of #13400) (#13402)
The second stable release of the 2.7.x series, with no changes since the previous release candidate!
- Add
[mypy].extra_type_stubs(Cherry-pick of #13180) (#13211)
-
pantsdfalls back to socket usage if it cannot open a TTY. (cherrypick of #13155) (#13157) -
Release the GIL while creating a Session. (cherrypick of #13127) (#13158)
-
Do not change working directory when extracting archives (cherrypick of #12497 and #13077) (#13159)
-
Upgrade to Pex 2.1.51. (#13098) (Cherry picks of 513647c1 b1d7ab9d) (#13102)
-
Upgrade to Pex 2.1.50 and leverage packed layout. (Cherry picks of 433a4dd 0d36002 7ba06a5) (#13078)
-
Don't invalidate the scheduler when piping output. (cherrypick of #13028) (#13030)
-
Ensure that
Treecontents are uploaded after creation. (cherrypick of #13008) (#13009)
The first stable release of the 2.7.x series, with no changes since the previous release candidate!
-
Fix case sensitivity of
module_mappingforpython_requirementsandpoetry_requirements(Cherry-pick of #12980) (#12981) -
Fix spurious "Scheduling: ..." workunits with remote caching (cherrypick of #12973) (#12975)
- Add py.typed files for pantsbuild distributions in order to satisfy PEP-561 (cherry-pick of #12842) (#12861)
- If
[python-setup].invalid_lockfile_behavior = ignore, don't require Pants metadata in the lockfile (Cherry-pick of #12900) (#12905)
- Improve cache reuse for
./pants packagewhen using a constraints file or lockfile (#12807) (#12836)
- Add
versionto lockfile metadata headers (cherry-pick of #12788) (#12816)
-
Fix backports of std lib modules like
dataclassesnot working with dependency inference (Cherry-pick of #12818) (#12819) -
Properly include file dependencies in docker build context (cherrypick of #12758) (#12823)
- Warn if
[python-repos]is set during lockfile generation (cherrypick of #12800) (#12828)
- Fix UI rendering when a workunit has completed children but no running children (cherrypick of #12748) (#12750)
-
Error, don't warn, when
--generate-lockfiles-resolveis set to a disabled tool lockfile (cherrypick of #12738) (#12741) -
Add specific and actionable instructions to stale lockfile errors (cherrypick of #12699). (#12717)
-
Improve descriptions of the process executions for PEX_PATH composition. (cherrypick of #12736) (#12737)
-
Absolutize all of the execute_pex_args in the venv script. (cherrypick of #12727) (#12729)
-
Add
[tool].lockfile(e.g.[black].lockfile) for Python tools and activate./pants generate-lockfilesby default (#12684) -
Add
--generate-lockfiles-resolveto allow generating for only certain tools (#12676) -
Add
[generate-lockfiles].custom_command(#12687) -
Add experimental Docker build rules. (#12467)
-
Use Pants's default tool lockfiles by default for Python tools like Black, Pytest, and Flake8 (#12689)
-
Set
[python-setup].invalid_lockfile_behaviortoerrorby default (#12686) -
Bump default for
pytest-cov([pytest].extra_requirements) and[coverage-py].versionso both usecoverage 5.5(#12690) -
Pin
GitPython==3.1.18by default with Bandit to ensure yanked release isn't used in lockfile generation (#12691) -
Stop pinning
stevedore<3by default for Bandit (#12681) -
Stop installing
setuptoolsby default with Black, Flake8, Isort, and Yapf (#12673) -
Stop using
[python-setup].requirements_constraintswhen installing tools like Black and MyPy (#12639) -
Default to
my-dep-stubsandstubs-my-depbeing third-party type stubs (#12598) -
Type stubs should be registered as normal requirements, not in
[mypy].extra_requirements(#12597)
-
Support indivisible Sources fields (#12685)
-
Render EngineAware parameters in cycle errors from Graph. (#12668)
-
Split PexRequirements into three unioned types (#12644)
-
Add
__repr__impl for PySnapshot (#12622) -
Remove the
rationalefield from BashBinaryRequest. (#12624)
-
The
pex_binary"venv" mode now sees bin scripts. (#12664) -
Fix UI rendering when multiple tasks have the same label. (#12659)
-
tailor: do not append comma to kwarg with empty tuple (#12653)
-
Fix
FindBinarywhenwhichis discoverable on$PATHon macOS (#12581) -
Fix coloring of stderr logs with pantsd (#12585)
- Decompose requirements pexes (#12675)
-
Switch log warning rendering to yellow. (#12596)
-
Align
Enriched*Resultcolors, sigils, and log levels. (#12645) -
Fix Toolchain plugin being included in generated reference docs (#12642)
-
Add additional Google Cloud libraries to dependency inference's default module mapping (#12553)
-
Validate that
pytest-covis installed when[test].use_coverageis set (#12534)
-
Deprecate
--pants-supportdir, rename--engine-visualize-to, and fix help for--loop. (#12558) -
Change the PythonProtobufMypyPlugin option scope. (#12525)
-
Upgrade packaging from 20.9 to 21.0 (#12561)
-
Allow newer versions of setuptools and wheel. (#12555)
-
Deprecate an options scope with underscores. (#12532)
-
Remove
TestResult.skip()in favor ofTestFieldSet.opt_out()(#12516) -
Finally get rid of Optionable entirely. (#12538)
-
Fix
shfmtand--test-open-coverageto handle CPU architecturePlatformchanges (#12546) -
Fix asdf directory lookup. (#12528)
-
Fix shlexing of passthrough args. (#12547)
-
pyenv should fall back to $HOME/.pyenv (#12527)
-
Stream files into the local store while capturing them (#12563)
-
use REAPI batch API for small blob writes (#12537)
-
add capabilties cache for remote store client (#12522)
-
Add
skip_testsfield topython_teststo facilitate incremental migrations (#12510) -
Adds support for Poetry group dependencies (#12492)
-
Tailor pex_binary targets for entry points. (#12478)
- Add to default module mapping: Django extensions, Google Cloud, Pillow, and python-dotenv (#12506)
- Refactor Pex working directory handling. (#12479)
-
Make the pantsd crash error message more precise. (#12512)
-
Resolve plugins using the PEX --python option. (#12500)
-
Shield isolated-Sessions / StreamingWorkunitHandlers from Ctrl+C. (#12483)
-
Fix default coverage collection. (#12477)
- Don't resolve constraints file / lockfile if no 3rd-party requirements used (#12488)
-
Provide a peek goal to easily view BUILD metadata from command line (#11347)
-
Add
entry_pointsfield to python_distribution (#11872) -
Add hadolint to lint Docker files (#12426)
-
Add experimental Docker target type and tailor (#12431)
-
Support
pex_binaryaddresses inprovides=setup_py(entry_points)field (#12414) -
Add option for async completion of StreamingWorkunitHandlers, disable by default in containers (#12392)
-
Dependency inference for
pex_binaryandpython_awslambdacan disambiguate ambiguous modules based on file paths (#12326)
-
Deprecate
[pytest].pytest_pluginsin favor of[pytest].extra_requirements(#12450) -
Deprecate
setup_py().with_binaries()in favor ofentry_pointsfield (#12413) -
Add instruction set architecture awareness to platforms and
--url-platform-mappingoptions (#12367) -
Add
[python-setup].interpreter_versions_universeto ensure Pants works robustly with future Python interpreters (#12379) -
Upgrade to Lambdex 0.1.5. (#12461)
-
Upgrade to Pex 2.1.44. (#12342)
-
More robust support for Poetry dependency attributes (
markers, andextras) (#12323) -
Mark workunits blocked, and skip rendering completed workunits (#12369)
-
Do not upload Action inputs for remote cache writes. (#12443)
-
Skip preparation of workunit log messages which will never be rendered. (#12396)
-
Clarify when we are subsetting the lockfile for 3rdparty dependencies (#12435)
-
Add counters for blob bytes uploaded/downloaded to/from CAS (#12471)
-
Add cache and runtime metadata to Process workunits (#12469)
-
Fix the content type for Pants' wheel long_descriptions. (#12391)
-
Allow restricting which versions are valid for
ExternalTools. (#12332) -
Add yapf Python formatter (#12317)
-
Add ASDF support to interpreter-search-paths (#12028)
- Validate option default values to be of correct type. (#12331)
-
Do not leak subsystems as goals to the command line interface (#12337)
-
Fix anonymous telemetry logging. (#12340)
-
Fixup incorrect platform help message. (#12320)
- Improve wording for
pex_binaryplatformsfield help (#12304)
-
Add skimage module mapping for dependency inference (#12301)
-
Add experimental terraform plugin with fmt and lint rules (#11973)
-
Add support for MyPy report files (#12271)
-
Support running tailor on subdirs. (#12262)
-
Support building dists from preexisting setup.py. (#12250)
-
Don't tailor a python_library for a solitary init.py. (#12288)
-
Apply a concurrency limit to remote store/cache/execution gRPC requests (#12256)
-
Fix poetry_requirements: ignore internal projects. (#12280)
-
Fix poetry_requirements handling of python. (#12278)
-
Do not use
[python-setup].resolve_all_constraintswhen usingplatforms(#12268) -
Hotfix for
poetry_requirementsnot being recognized as a macro in build files (#12263) -
Include experimental Go backends in pantsbuild.pants (#12290)
- Improve error for out-of-line Gets. (#12305)