pants

The Pants Build System

APACHE-2.0 License

Downloads
117.9K
Stars
3.1K
Committers
342

Bot releases are visible (Hide)

pants -

Published by benjyw almost 2 years ago

New Features

  • go: use target spec for coverage output directories plus support import path (#17734)

  • go: add assembler_flags field for adding arbitrary extra assembler flags (#17731)

  • Expose target field defaults in BUILD files. (#17649)

  • Add a new "preamble" plugin (#17682)

  • go: support code coverage over multiple packages during single test (#17701)

  • go: add linker_flags field to go_mod and go_binary target types (#17697)

  • go: add compiler_flags field for adding arbitrary extra compiler flags (#17683)

User API Changes

  • Include transitive requirements missing for python_distribution. (#17594)

  • Extend default module mapping for Python 3rd-party dependency inference: pysocks and atlassian-python-api (#17654)

Bug fixes

  • Test DebugAdapter requests, and fix issues (#17678)

  • chdir in rule_runner.run_interactive_process (#17722)

  • More precise running workunit for processes executing remotely (#17719)

  • Don't strip the input of a DictOption file config (#17705)

  • Visibility rules: error if more than one declaration per BUILD file. (#17669)

  • Allow JVM source to depend on relocated_files target (#17005)

  • Fix bug in Go test result exit code interpretation. (#17661)

Performance

  • Immutably hardlink "large" files in a sandbox (#17520)

  • Run python sources with a VenvPex (#17700)

Documentation

  • Doc fixes and updates: (#17708)

  • docs: tidy up Writing plugins : rules-api directory files (#17710)

  • Update docker docs to clarify dependency handling. (#17655)

pants -

Published by jsirois almost 2 years ago

New Features

  • go: address sanitizer support (#17651)

  • go: add support for C/C++ memory sanitizer (#17644)

  • shell: add experimental_test_shell_command for arbitrary shell-driven tests (#17640)

  • support Go data race detector (#17510)

  • Add Field.none_is_valid_value bool class var option. (#17577)

User API Changes

  • Remove deprecated run --cleanup option. (#17647)

  • Upgrade Pex to 2.1.116. (#17637)

Plugin API Changes

  • Remove deprecated Platform.current. (#17646)

Bug fixes

  • Fix twine env vars propagation for publish goal. (#17650)

  • Support source=None for docker_image targets. (#17578)

  • Specify local environment for python source analysis goal (#17603)

  • go: allow use of go_asm.h assembly header in assembly files (#17611)

  • Visibility rule glob tweaks for * and ** (#17588)

Documentation

  • Fix broken docs links to manual build instructions (#17608)

  • Docs: improve docs on handling option values in cli (#17506)

pants -

Published by stuhood almost 2 years ago

New Features

  • Add environment= to experimental_shell_command. (#17575)

  • Add debug goals to python (#17057)

  • Target visibility rules (#17401)

  • Emit a __run.sh into InteractiveProcess sandboxes. (#17532)

  • Support newer pip versions. (#17555)

  • New dependency rules Plugin API (#17550)

  • Export metadata about a packaged docker image (#17299)

  • Don't require hardcoded name in python_distribution.provides (#17522)

  • Add per_platform object (#17334)

  • Process output capturing is symlink-aware (#17496)

  • go: introduce GoBuildOptions and cgo_enabled field (#17475)

  • Disambiguate Python module providers by level of ancestry. (#17489)

  • go: support ".syso" prebuilt object files (#17479)

  • Add Docker registries use_local_alias configuration option. (#17265)

  • Proposal for supporting Jar shading rules (#17251)

  • A --resolve flag, to specify the resolves to export. (#17416)

  • Handle duplicate JAR entries in deploy_jar (#17419)

User API Changes

  • Upgrade default version of golangci-lint to 1.50.1 (#17574)

  • Deprecate the old export semantics. (#17465)

  • Add restartable field to python_sources (#17400)

  • Deprecate the # Dependees column name in the py-constraints summary. (#17399)

  • Rename the dependees goal to dependents. (#17397)

  • Rename --changed-dependees to --changed-dependents (#17395)

Bug fixes

  • Allow for run --debug-adapter to match breakpoints when source is running in a sandbox (#17566)

  • Created an NpxToolBase as an inheritable Subsystem for nodejs tools (#17567)

  • Fix loading of SymlinkNodes from the Store. (#17549)

  • Do not try to create "" output directory in CreateArchive (#17538)

  • Persist digests before emitting them in fs_util (#17525)

  • Fix memoization of CoarsenedTarget.closure (#17516)

  • Support parsing targets from additional paths not containing BUILD files. (#17451)

  • Ensure lockfile target exists before injecting a dependency to it. (#17365)

  • Ensure correct eq/hash semantics for PythonArtifact. (#17484)

  • Isolate config seed values from the DEFAULT section. (#17474)

  • Fix poorly understood stdout redirection issue. (#17471)

  • Fix propagation of the remote-execution-append-only-caches path (#17469)

  • Pyright should grab non-transitive dependencies and make them available in the sandbox (#17235)

  • Plumb symlink support through the Pants engine (#16844)

  • Flip the default for pull on docker_image to False (#17459)

  • Merge pytest addopts (#16614)

  • Fix dep inference from shuint2_tests targets. (#17417)

  • Fix EnvironmentName used in test runs (#17412)

  • Add the m1 homebrew bin dir to the system binary search path. (#17411)

  • Restore debug hints for test execution (#17406)

Performance

  • Skip loading of local cache data when possible (#17495)

  • Symlink site-packages into pylint venvs when possible. (#17488)

  • Filter coarsened targets to only those that are relevant in pylint runner rule (#17487)

Documentation

  • correct docs: direnv can't save ulimit (#17561)

  • Update team pages for SJ and Dan! (#17534)

  • Fix line breaks in a docs page. (#17527)

  • Clarify how __defaults__ apply to target generators. (#17493)

  • Fix typo in docs: debug-adaptor should be debug-adapter (#17452)

  • Update nuke_if_too_big documentation (#17429)

  • Fix version templating in vcs_version docs (#17423)

pants -

Published by stuhood almost 2 years ago

New Features

  • A --resolve flag, to specify the resolves to export. (Cherry-pick of #17416) (#17461)

User API Changes

  • Deprecate the old export semantics. (Cherry-pick of #17465) (#17466)

Bug fixes

  • Fix memoization of CoarsenedTarget.closure (Cherry-pick of #17516) (#17518)

  • Support parsing targets from additional paths not containing BUILD files. (Cherry-pick of #17451) (#17513)

  • Ensure lockfile target exists before injecting a dependency to it. (Cherry-pick of #17365) (#17505)

  • Ensure correct eq/hash semantics for PythonArtifact. (Cherry-pick of #17484) (#17492)

  • Flip the default for pull on docker_image to False (Cherry-pick of #17459) (#17460)

  • Isolate config seed values from the DEFAULT section. (Cherry-pick of #17474) (#17485)

  • Fix poorly understood stdout redirection issue. (Cherry-pick of #17471) (#17473)

  • Fix propagation of the remote-execution-append-only-caches path (Cherry-pick of #17469) (#17472)

  • Fix dep inference from shuint2_tests targets. (Cherry-pick of #17417) (#17422)

  • Fix EnvironmentName used in test runs (Cherry-pick of #17412) (#17415)

  • Restore debug hints for test execution (Cherry-pick of #17406) (#17407)

Performance

  • Skip loading of local cache data when possible (Cherry-pick of #17495) (#17524)

  • Symlink site-packages into pylint venvs when possible. (Cherry-pick of #17488) (#17491)

  • Filter coarsened targets to only those that are relevant in pylint runner rule (Cherry-pick of #17487) (#17490)

Documentation

  • Fix line breaks in a docs page. (Cherry-pick of #17527) (#17528)

  • Clarify how __defaults__ apply to target generators. (Cherry-pick of #17493) (#17499)

  • Fix version templating in vcs_version docs (Cherry-pick of #17423) (#17425)

pants -

Published by stuhood almost 2 years ago

New Features

  • Add support for batched pytest execution (#17385)

  • Add a batch_size parameter to the test subsystem. (#17361)

  • Replace skip placeholders with real SkipOptions in test subsystems. (#17360)

Plugin API Changes

  • Refactor optional typing in generic partitioning utils. (#17371)

  • Refactor plumbing for test goal to support batched tests. (#17134)

  • Rework partitioning types for more flexibility. (#17288)

Bug fixes

  • Ensure PATH to shims are absolute for the protobuf buf linter. (#17367)

  • Include process execution strategy in Process cache key (#17340)

  • Fix use of --shard with --debug/--debug-adapter in test. (#17321)

  • go: properly handle xtest packages when building (#17307)

  • Retry the streaming portion of downloads, as well as the setup. (#17298)

Performance

  • Implement cancellation of remote processes (#17341)

Documentation

  • Document Synthetic Targets API.(#17330)

  • Initial documentation for Environments (#17096)

  • Add 2.14 blog post link to changelog page. (#17381)

  • Document the existence of the init-pants action. (#17378)

  • Add a section about test to plugin API guide. (#17362)

  • Revise the error message associated with OOM-killed events (#17373)

  • Fix linebreak issues in the targets docs page. (#17364)

  • Fix a nit in the Getting Help docs. (#17295)

pants -

Published by stuhood about 2 years ago

The first stable release of the 2.14.x series, with no changes since the previous release candidate!

pants -

Published by stuhood about 2 years ago

Bug fixes

  • Retry the streaming portion of downloads, as well as the setup. (Cherry-pick of #17298) (#17302)

  • Fix incomplete cherry-pick of #17177. (#17312)

Documentation

  • Fix a nit in the Getting Help docs. (Cherry-pick of #17295) (#17296)
pants -

Published by jsirois about 2 years ago

User API Changes

  • Upgrade Pex to 2.1.108. (Cherry-pick of #17112) (#17120)

  • Upgrade Pex to 2.1.107. (Cherry-pick of #17081) (#17113)

Bug fixes

  • Exit normally from K8S parser with unsupported manifests (Cherry-pick of #17037) (#17143)

  • Fix dep inference with empty lines in multiline imports. (Cherry-pick of #17284) (#17285)

Documentation

  • Fix spurious linebreaks in the CI docs page. (Cherry-pick of #17154) (#17158)

  • Add Marcelo to team page, move Josh Reed to Maintainer (Cherry-pick of #16826) (#17152)

  • Add Doron Somech's proudest contribution (Cherry-pick of #17029) (#17150)

  • Fix Helm K8S parser help message (Cherry-pick of #17091) (#17145)

  • Fix bsp-groups.toml example in documentation (Cherry-pick of #17125) (#17148)

  • Update maintainer job description (Cherry-pick of #17022) (#17111)

  • Update pytest-xdist docs. (Cherry-pick of #17071) (#17072)

pants -

Published by jsirois about 2 years ago

User API Changes

  • Upgrade Pex to 2.1.108. (Cherry-pick of #17112) (#17123)

  • Upgrade Pex to 2.1.107. (Cherry-pick of #17081) (#17121)

  • Upgrade Pex to 2.1.103. (Cherry-pick of #16426) (#17114)

Documentation

  • Fix spurious linebreaks in the CI docs page. (Cherry-pick of #17154) (#17156)

  • Add Marcelo to team page, move Josh Reed to Maintainer (Cherry-pick of #16826) (#17151)

  • Add Doron Somech's proudest contribution (Cherry-pick of #17029) (#17149)

  • Fix bsp-groups.toml example in documentation (Cherry-pick of #17125) (#17147)

  • Update maintainer job description (Cherry-pick of #17022) (#17110)

  • Fix the [python-bootstrap].search_path option name in the docs. (Cherry-pick of #17063) (#17066)

pants -

Published by jsirois about 2 years ago

New Features

  • Optionally export venvs via symlink into the pex_root. (#17130)

  • go: add cgo support for tailor (#17087)

User API Changes

  • Upgrade Pex to 2.1.108. (#17112)

Plugin API Changes

  • Switch LintRequest.name to .tool_subsystem (#17103)

  • Rename/Refactor style_request to better capture intent. (#17084)

Bug fixes

  • Move pyoxidized pants binary out of the main source tree (#16703)

Documentation

  • Generate help info about target_field_name to the docsite. (#17138)

  • Add Aiven to user list. (#17131)

  • Fix bsp-groups.toml example in documentation (#17125)

  • Update maintainer job description (#17022)

pants -

Published by wisechengyi about 2 years ago

New Features

  • Add venv_site_packages_copies field to pex_binary (#17046)

  • Add golangci-lint to go backend (#16994)

  • go: add go-generate goal to run go generate on a package (#16909)

  • Support Java codegen for the OpenAPI backend (#16862)

  • go: render coverage reports as HTML (#16995)

  • Environment-aware subsystems (#16965)

  • Environment sensitive options (#16840)

  • Add retries to NetDownload intrinsic. (#16798)

  • go: add basic support for cgo (#16413)

  • Add support for add-trailing-comma tool (#16776)

User API Changes

  • Upgrade Pex to 2.1.107. (#17081)

  • Restore the deprecated filter goal indefinitely (#17027)

Plugin API Changes

  • Improve usability of the --engine-visualize-to option (#17080)

  • Change fmt plugin schema to allow for targetless formatters (#16980)

  • Renames SubsystemRule() to Subsystem.rules() (#16954)

  • Introduce new schema for lint plugins (#16735)

  • Environment, EnvironmentRequest, and CompleteEnvironment now include Vars in the name (#16851)

  • MockGet expects input_types kwarg, not input_type (#16839)

Bug fixes

  • Fix dirtying of uncacheable nodes (#17079)

  • Make interpreter path expansion cache-correct (#17051)

  • Add python 3.10 to acceptable GCF runtimes (#17028)

  • Don't cache VCS version outside the current pants session. (#17017)

  • Fix Pantsd not properly invalidating when CPPFLAGS and LDFLAGS change (#17009)

  • Add parametrize() support for __defaults__. (#16977)

  • go: prepend $GOROOT/bin to PATH for tests (#16993)

  • Fix for hang with redirected stdio. (#16970)

  • Fix invalid field error message for parametrized fields. (#16911)

  • Fix venv re-population race. (#16931)

  • wait for killed nailgun processes. (#16924)

  • remove override of register_plugin_field (#16919)

  • Only request source roots for PEP-517 deps that belong on the syspath (#16903)

  • Upgrade javaparser, and use a permissive language level to support parsing more code (#16896)

  • docker: upgrade bollard crate for bug fix (#16850)

  • Preserve stdio when a local process times out. (#16841)

Performance

  • Add an optional speculation delay when using a remote cache (#16922)

  • Only use remote cache when cache scope is Always or Successful (#16920)

Documentation

  • Fix Helm K8S parser help message (#17091)

  • Update pytest-xdist docs. (#17071)

  • Fix the [python-bootstrap].search_path option name in the docs. (#17063)

  • Add Doron Somech's proudest contribution (#17029)

  • improve remote cache logging for hit or miss (#16975)

  • Remove bad linebreaks from python-run-goal page. (#16976)

  • Update changelog on docsite with 2.13, 2.14 links (#16918)

  • Add Marcelo to team page, move Josh Reed to Maintainer (#16826)

  • Don't mention a specific version in the manual install instructions. (#16888)

pants -

Published by stuhood about 2 years ago

New Features

  • Add retries to NetDownload intrinsic. (Cherry-pick of #16798) (#16879)

Bug fixes

  • Upgrade javaparser, and use a permissive language level to support parsing more code (Cherry-pick of #16896) (#16904)

  • Preserve stdio when a local process times out. (Cherry-pick of #16841) (#16880)

  • go: analyze imports paths by module to enable multiple go_mod targets (Cherry pick of #16386) (#16799)

Documentation

  • Don't mention a specific version in the manual install instructions (cherrypick of #16888) (#16889)

  • Add IBM, Coinbase, and Astranis case studies (Cherry-pick of #16805) (#16814)

  • Fix broken shortlinks that invoked "docs:" instead of "doc:" (Cherry-pick of #16804) (#16811)

pants -

Published by stuhood about 2 years ago

New Features

  • Force colors from mypy always, strip in pants when --no-colors (Cherry-pick of #16586) (#16808)
pants -

Published by stuhood about 2 years ago

New Features

  • Force colors from mypy always, strip in pants when --no-colors (#16586)

  • Add OpenAPI backend (#16199)

  • go: analyze imports paths by module to enable multiple go_mod targets (#16386)

Bug fixes

  • docker: capture output once after container exits (#16783)

  • docker: lazily initialize docker connection (#16779)

Documentation

  • Add IBM, Coinbase, and Astranis case studies (#16805)

  • Fix broken shortlinks that invoked "docs:" instead of "doc:" (#16804)

  • Add Brand24 to user list. (#16793)

pants -

Published by stuhood about 2 years ago

The first stable release of 2.13.0, with no changes since 2.13.0rc3.

See our blog post for a summary of what's new in Pants 2.13.

pants -

Published by stuhood about 2 years ago

The second stable release of 2.12, with only updates to the docs website.

Documentation

  • Create page of Pants team members and proudest contribs (Cherry-pick of #16676) (#16678)

  • Fix example BSP groups file. (Cherry-pick of #16649) (#16651)

pants -

Published by jsirois about 2 years ago

New Features

  • Add Plugin hook for adding custom additional Docker image tags. (#16077)

  • Add new fmt plugins for build file formatting (#16560)

  • Add buildifier as a BUILD file formatter (#16573)

  • go: add support for test coverage (#16550)

  • Disable 80 col hard wrapping in mypy output (#16488)

  • Allow for automatic use of pytest-xdist (#16499)

  • Add [pyoxidizer].lockfile (#16537)

  • Add [flake8].extra_files to allow configuring plugins like Bandit (#16470)

  • Support 3rd party Helm artifacts in Helm deployments (#16478)

User API Changes

  • Mark [python].requirement_constraints as deprecated (but not planned for removal) (#16606)

  • Add [python-repos].find_links as preferred alias for [python-repos].repos (#16582)

  • Fix that running on a BUILD file expands to all of its targets (#16546)

  • Deprecate [python].only_binary and [python].no_binary in favor of more powerful [python].resolves_to_only_binary and [python].resolves_to_no_binary (#16513)

Plugin API Changes

  • Rename FmtRequest to FmtTargetsRequest (plus some fix refactoring) (#16535)

Bug fixes

  • Auto-detect Helm chart source roots (#16531)

  • Have run run __main__.py for non-zipapp PEXs (#16568)

  • Record RemoteStoreBlobBytesUploaded for all upload strategies, rather than only for large blobs. (#16545)

  • Prevent running N^2 publish processes during deploy goal (#16516)

  • Track Python indexes, find-links, and manylinux in lockfile headers (#16525)

Performance

  • Fix performance for generating lockfiles for pytest and setuptools (#16591)

  • Improve performance of Owners rule (#16563)

Documentation

  • More succint phrasing and better formatting for cli help. (#16549)

  • Document [python].resolves_to_constraints_file and [python].resolves_to_no_binary (#16548)

  • Fix broken link to community page (#16468)

pants -

Published by illicitonion about 2 years ago

New Features

  • Add [pytest].config to set custom config file paths (#16423)

  • java/protobuf: add support for grpc-java codegen (#16350)

User API Changes

  • Upgrade Pex to 2.1.103. (#16313)

  • Deprecate [python].lockfile_generator (#16418)

  • Replace --[no-]process-cleanup with --keep-sandboxes={always,never,on_failure} (#16415)

  • Add a few popular python packages to default modules mapping (#16330)

  • Deprecate [python].tailor_ignore_solitary_init_files in favor of more useful [python].tailor_ignore_empty_init_files (#16305)

  • Upgrade Pex to 2.1.102. (#16313)

  • Enable [python-infer].unowned_dependency_behavior="warning" by default. (#16281)

  • Upgrade Pex to 2.1.101. (#16297)

Plugin API Changes

  • Add entry point support for remote auth plugin (#16212)

  • Provide foundations for a deploy goal (#16335)

Bug fixes

  • Fix docker invalidation bug. (#16419)

  • Add missing help message to experimental backends (#16403)

  • Set immutable_input_digests on a docker RunRequest. (#16385)

  • go: pass -p option to go tool asm on Go v1.19+ (#16381)

  • jvm: fix fetching artifacts with non-jar packaging (#16358)

  • [internal] Add missing timeout field to target generators (#16314)

  • Include Helm chart dependency inference rules (#16368)

  • [internal] Use f_globals instead of inspect.getmodule in collect_rules (#16357)

  • Silence mkdir, cp, and mv commands with MyPy caching (#16340)

  • fix kotlin tailor for junit tests (#16333)

  • Leverage a multiprocess-safe strategy for MyPy's cache (#16290)

  • Eagerly error for symlink loops (#16319)

  • Add a newline at the end of paths output (#16302)

  • Consume inits part of package object within the inner scope (#16282)

  • Explicitly add directory entries to resources JARs (#16264)

Performance

  • Implement a validate mode to reduce network usage for remote caches (#16398)

Documentation

  • Document how to use Pylint reports (#16399)

  • Fix source roots docs. (#16363)

  • Show advanced options with help if there are no basic options (#16352)

  • Improve a docker backend warning. (#16355)

  • Link to dev.to post on resource hub. (#16331)

  • Only show the deprecated option section with help if there are deprecated options (#16339)

  • add tailor docs for kotlin backend (#16332)

  • Fix the experimental_run_shell_command example. (#16286)

  • Fix typo in backend name (#16312)

  • docs: add initial Kotlin docs (#16304)

  • Document test sharding and update plugin docs with 2.13 changes (#16293)

pants -

Published by stuhood over 2 years ago

New Features

  • add Go ASDF support (#16246)

  • Add [python].default_run_goal_use_sandbox (#16239)

  • Add include_sources to pex_binary target (#16215)

  • allow JVM sources to have files dependencies (#16203)

  • Optionally strip metadata and timestamps from JVM jars (#16134)

  • Support timeouts in Helm unittest targets (#16181)

  • Allow for dependency inference plugins to provide excludes (#16155)

  • Add support for strict and color flags in Helm unittest (#15947)

User API Changes

  • Ban ../ in source and sources fields (#16227)

  • Warn users if they set remote cache and or/execution via config while the values are provided by the auth plugin. (#16165)

  • Upgrade Pex to 2.1.99. (#16184)

  • Upgrade python reqs, upgrade default setuptools to 63.1.0 (#16168)

  • Add test timeouts to JUnit and Scalatest targets. (#16126)

Plugin API Changes

  • Generically compute dynamic defaults for Fields (#16206)

  • Add support for auth plugin setting its name (#16171)

  • Fold dep injection into inference, and use FieldSet (#16107)

Bug fixes

  • Allow using --import option with Autoflake (#16192)

  • Dont use PEX as an API to fix ModuleNotFoundError for --debug-adapter (#16263)

  • Apply parameter filling for parametrized dependencies to excludes, and fix accommodation for file-addressed atom targets (#16249)

  • [internal] Refactors output_field to default to something that disambiguates on parametrized fields (#16232)

  • fix scala plugins args order causing cache issues (#16228)

  • Fix explicit dependencies of parametrized targets not working for some target types (#16197)

  • Add overrides field to Scala targets (#16204)

  • Fill address parameters in all cases, rather than only when a consumer is parametrized. (#16198)

  • Use filelists to make archive creation tasks more reliable (#16183)

  • Allow macros to raise builtin Errors (#16174)

  • Fix defaulting of parameters in explicitly specified deps on parametrized targets for AsyncFieldMixin (#16176)

  • java: add proper inference of Scrooge Java Thrift dependencies (#16130)

  • Fix "dependency" pluralization (#16150)

  • Improve memoization of interpreter constraints, Python parsing, and request classes (#16141)

  • Add support for InteractiveProcess consuming inputs while run_in_workspace=True (#16093)

  • Optimize get_expanded_specs for StreamingWorkunit plugins (#16106)

Performance

  • Port @rule Gets to rust (#16160)

Documentation

  • Add Vicara Solutions to the users page. (#16221)

  • Document the "fromfile" feature. (#16205)

  • Document --filter options working with any goal (#16090)

  • Updates installation docs to refer to the 1-step setup script (#16149)

  • Add 2.12 changelog to docsite (#16136)

pants -

Published by stuhood over 2 years ago

New Features

  • allow JVM sources to have files dependencies (Cherry-pick of #16203) (#16236)

  • Add [python].default_run_goal_use_sandbox (Cherry-pick of #16239) (#16253)

  • Add include_sources to pex_binary target (Cherry-pick of #16215) (#16252)

  • Add support for extra env variables in go tests (Cherry-pick of #16013) (#16067)

User API Changes

  • Ban ../ in source and sources fields (Cherry-pick of #16227) (#16237)

  • Upgrade Pex to 2.1.99. (Cherry-pick of #16184) (#16225)

  • Correct deprecation warning to 2.15 (Cherry-pick of #16056) (#16218)

  • Fix poetry locks missing hashes. (Cherry-pick of #16112) (#16113)

Plugin API Changes

  • Generically compute dynamic defaults for Fields (Cherry-pick of #16206) (#16219)

Bug fixes

  • Refactors output_field to default to something that disambiguates on paramtrized fields (Cherry-pick of #16232) (#16254)

  • Apply parameter filling for parametrized dependencies to excludes, and fix accommodation for file-addressed atom targets (Cherry-pick of #16249) (#16250)

  • Remove removal of use_deprecated_pex_binary_run_semantics in 2.13.x (#16108)

  • Fix scala plugins args order causing cache issues (Cherry-pick of #16228) (#16234)

  • Add overrides field to scala targets (Cherry-pick of #16204) (#16235)

  • Fix explicit dependencies of parametrized targets not working for some target types (#16197) (#16214)

  • Fill address parameters in all cases, rather than only when a consumer is parametrized. (Cherry-pick of #16198) (#16210)

  • Use filelists to make archive creation tasks more reliable (Cherry-pick of #16183) (#16186)

  • Fix defaulting of parameters in explicitly specified deps on parametrized targets for AsyncFieldMixin (Cherry-pick of #16176) (#16180)

  • Improve memoization of interpreter constraints, Python parsing, and request classes (Cherry-pick of #16141) (#16154)

  • Add support for InteractiveProcess consuming inputs while run_in_workspace=True (Cherry-pick of #16093) (#16148)

  • Optimize get_expanded_specs for StreamingWorkunit plugins (Cherry-pick of #16106) (#16147)

  • Record ongoing backtrack attempts (Cherry-pick of #16075) (#16080)

  • Write to caches during backtracking (Cherry-pick of #16078) (#16081)

  • Fix --changed-since with tailor and update-build-files when no changes (#16066)

  • Fix pantsd TTY handling. (Cherry-pick of #16038) (#16048)

Performance

  • Port @rule Gets to rust (Cherry-pick of #16160) (#16177)

Documentation

  • Document --filter options working with any goal (Cherry-pick of #16090) (#16209)

  • Document the "fromfile" feature. (cherrypick of #16205) (#16208)

  • Add 2.12 changelog to docsite (cherrypick #16136) (#16139)

  • New doc explaining vcs_version. (Cherrypick of #16092) (#16102)

  • Fix typo in warning for [python].resolve_all_constraints (Cherry-pick of #16068) (#16073)

  • Update docs with 2.12 changes: default Pex lockfile generator, pants.toml env var interpolation, pip VCS requirements, and Python interpreter constraints (Cherry-pick of #16000) (#16058)

  • Fix CI provider table rendering. (cherrypick of #16051) (#16060)

  • Document Docker registries configuration options for skip_push and extra_image_tags. (Cherry-pick of #16015) (#16020)