Metadata-Version: 2.1
Name: pantsbuild.pants
Version: 2.14.0rc4
Summary: The ergonomic and hermetic software build system for Python, Java, Scala, Go, and Shell. Pants lets you fearlessly scale up your codebase.
Home-page: https://github.com/pantsbuild/pants
License: Apache License, Version 2.0
Project-URL: Documentation, https://www.pantsbuild.org/
Project-URL: Source, https://github.com/pantsbuild/pants
Project-URL: Tracker, https://github.com/pantsbuild/pants/issues
Project-URL: Changelog, https://www.pantsbuild.org/docs/changelog
Project-URL: Twitter, https://twitter.com/pantsbuild
Project-URL: Slack, https://www.pantsbuild.org/docs/getting-help
Project-URL: YouTube, https://www.youtube.com/channel/UCCcfCbDqtqlCkFEuENsHlbQ
Project-URL: Mailing lists, https://www.pantsbuild.org/docs/getting-help
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.7,<3.10
Description-Content-Type: text/markdown
Requires-Dist: PyYAML (<7.0,>=6.0)
Requires-Dist: ansicolors (==1.1.8)
Requires-Dist: fasteners (==0.16.3)
Requires-Dist: humbug (==0.2.7)
Requires-Dist: ijson (==3.1.4)
Requires-Dist: importlib-resources (==5.0.*)
Requires-Dist: packaging (==21.3)
Requires-Dist: pex (==2.1.108)
Requires-Dist: psutil (==5.9.0)
Requires-Dist: python-lsp-jsonrpc (==1.0.0)
Requires-Dist: setproctitle (==1.2.2)
Requires-Dist: setuptools (<64.0,>=63.1.0)
Requires-Dist: toml (==0.10.2)
Requires-Dist: types-PyYAML (==6.0.3)
Requires-Dist: types-setuptools (==62.6.1)
Requires-Dist: types-toml (==0.10.8)
Requires-Dist: typing-extensions (==4.3.0)

Pants is an Apache2 licensed build tool written in Python and Rust.

The latest documentation can be found at [pantsbuild.org](https://www.pantsbuild.org/).


# 2.14.x Release Series

## 2.14.0rc4 (Oct 19, 2022)

### Bug fixes

* Fix remote execution not working with remote caching and eager fetch mode (Cherry-pick of #17272) ([#17275](https://github.com/pantsbuild/pants/pull/17275))

* Fix macros depending on macros from other files (Cherry-pick of #17183) ([#17245](https://github.com/pantsbuild/pants/pull/17245))

* Adjust `ensure_remote_has_recursive` to succeed if content only exists remotely (Cherry-pick of #17204) ([#17244](https://github.com/pantsbuild/pants/pull/17244))

### Performance

* Set PEX_ROOT for export post-processing command. (cherry-pick of #17177) ([#17200](https://github.com/pantsbuild/pants/pull/17200))

### Documentation

* Add CI talk to resources (Cherry-pick of #17238) ([#17241](https://github.com/pantsbuild/pants/pull/17241))

## 2.14.0rc3 (Oct 07, 2022)

### User API Changes

* Upgrade Pex to 2.1.108. (Cherry-pick of #17112) ([#17120](https://github.com/pantsbuild/pants/pull/17120))

* Upgrade Pex to 2.1.107. (Cherry-pick of #17081) ([#17113](https://github.com/pantsbuild/pants/pull/17113))

### Bug fixes

* Exit normally from K8S parser with unsupported manifests (Cherry-pick of #17037) ([#17143](https://github.com/pantsbuild/pants/pull/17143))

* Fix dep inference with empty lines in multiline imports. (Cherry-pick of #17284) ([#17285](https://github.com/pantsbuild/pants/pull/17285))

### Documentation

* Fix spurious linebreaks in the CI docs page. (Cherry-pick of #17154) ([#17158](https://github.com/pantsbuild/pants/pull/17158))

* Add Marcelo to team page, move Josh Reed to Maintainer (Cherry-pick of #16826) ([#17152](https://github.com/pantsbuild/pants/pull/17152))

* Add Doron Somech's proudest contribution (Cherry-pick of #17029) ([#17150](https://github.com/pantsbuild/pants/pull/17150))

* Fix Helm K8S parser help message (Cherry-pick of #17091) ([#17145](https://github.com/pantsbuild/pants/pull/17145))

* Fix `bsp-groups.toml` example in documentation (Cherry-pick of #17125) ([#17148](https://github.com/pantsbuild/pants/pull/17148))

* Update maintainer job description (Cherry-pick of #17022) ([#17111](https://github.com/pantsbuild/pants/pull/17111))

* Update `pytest-xdist` docs. (Cherry-pick of #17071) ([#17072](https://github.com/pantsbuild/pants/pull/17072))

## 2.14.0rc2 (Sep 29, 2022)

### User API Changes

* Restore the deprecated `filter` goal indefinitely (Cherry-pick of #17027) ([#17052](https://github.com/pantsbuild/pants/pull/17052))

### Bug fixes

* Add python 3.10 to acceptable GCF runtimes (Cherry-pick of #17028) ([#17053](https://github.com/pantsbuild/pants/pull/17053))

* Fix JVM resources jar file to be deterministic by default (Cherry-pick of #16950) ([#17033](https://github.com/pantsbuild/pants/pull/17033))

* Don't cache VCS version outside the current pants session. (Cherry-pick of #17017) ([#17021](https://github.com/pantsbuild/pants/pull/17021))

* Fix invalid field error message for parametrized fields. (Cherry-pick of #16911) ([#17010](https://github.com/pantsbuild/pants/pull/17010))

* Add `parametrize()` support for `__defaults__`. (Cherry-pick of #16977) ([#17008](https://github.com/pantsbuild/pants/pull/17008))

* go: prepend $GOROOT/bin to PATH for tests (Cherry pick of #16993) ([#16997](https://github.com/pantsbuild/pants/pull/16997))

* Fix for hang with redirected stdio. (Cherry-pick of #16970) ([#16973](https://github.com/pantsbuild/pants/pull/16973))

* `wait` for killed nailgun processes. (Cherry-pick of #16924) ([#16939](https://github.com/pantsbuild/pants/pull/16939))

* Fix venv re-population race. (Cherry-pick of #16931) ([#16935](https://github.com/pantsbuild/pants/pull/16935))

* remove override of register_plugin_field (Cherry pick of #16919) ([#16923](https://github.com/pantsbuild/pants/pull/16923))

* Only request source roots for PEP-517 deps that belong on the syspath (cherrypick of #16903) ([#16917](https://github.com/pantsbuild/pants/pull/16917))

### Performance

* Add an optional speculation delay when using a remote cache (Cherry-pick of #16922) ([#16956](https://github.com/pantsbuild/pants/pull/16956))

### Documentation

* Improve remote cache logging for hit or miss (Cherry-pick of #16975) ([#16986](https://github.com/pantsbuild/pants/pull/16986))

* Remove bad linebreaks from python-run-goal page. (Cherry-pick of #16976) ([#16982](https://github.com/pantsbuild/pants/pull/16982))

* Update changelog on docsite with 2.13, 2.14 links (Cherry-pick of #16918) ([#16958](https://github.com/pantsbuild/pants/pull/16958))

## 2.14.0rc1 (Sep 16, 2022)

### New Features

* Add retries to NetDownload intrinsic. (Cherry-pick of #16798) ([#16879](https://github.com/pantsbuild/pants/pull/16879))

### Bug fixes

* Upgrade `javaparser`, and use a permissive language level to support parsing more code (Cherry-pick of #16896) ([#16904](https://github.com/pantsbuild/pants/pull/16904))

* Preserve stdio when a local process times out. (Cherry-pick of #16841) ([#16880](https://github.com/pantsbuild/pants/pull/16880))

* go: analyze imports paths by module to enable multiple `go_mod` targets (Cherry pick of #16386) ([#16799](https://github.com/pantsbuild/pants/pull/16799))

### Documentation

* Don't mention a specific version in the manual install instructions (cherrypick of #16888) ([#16889](https://github.com/pantsbuild/pants/pull/16889))

* Add IBM, Coinbase, and Astranis case studies (Cherry-pick of #16805) ([#16814](https://github.com/pantsbuild/pants/pull/16814))

* Fix broken shortlinks that invoked "docs:" instead of "doc:" (Cherry-pick of #16804) ([#16811](https://github.com/pantsbuild/pants/pull/16811))

## 2.14.0rc0 (Sep 09, 2022)

### New Features

* Force colors from mypy always, strip in pants when `--no-colors` (Cherry-pick of #16586) ([#16808](https://github.com/pantsbuild/pants/pull/16808))

## 2.14.0a1 (Sep 04, 2022)

### New Features

* Add suport for string interpolation in Helm deployments (Cherry-pick of #16611) ([#16723](https://github.com/pantsbuild/pants/pull/16723))

* Support Docker custom tags via plugin hook (Cherry-pick of #16662) ([#16719](https://github.com/pantsbuild/pants/pull/16719))

* Support Pex's `--path-mapping` with lockfiles for better local requirement support (Cherry-pick of #16584) ([#16625](https://github.com/pantsbuild/pants/pull/16625))

### Bug fixes

* Add support for inferring dependencies used in type context bounds (Cherry-pick of #16709) ([#16725](https://github.com/pantsbuild/pants/pull/16725))

* Resolve properly provided symbol names for types defined at top level package (Cherry-pick of #16690) ([#16718](https://github.com/pantsbuild/pants/pull/16718))

* Make experimental_shell_command deterministic (Cherry-pick of #16675) ([#16700](https://github.com/pantsbuild/pants/pull/16700))

* Wire BUILD file formatters in `lint` (Cherry-pick of #16666) ([#16694](https://github.com/pantsbuild/pants/pull/16694))

* Include type bound constraints in consumed symbols during Scala inference (Cherry-pick of #16692) ([#16698](https://github.com/pantsbuild/pants/pull/16698))

* Make `FilespecMatcher` case-sensitive (Cherry-pick of #16673) ([#16677](https://github.com/pantsbuild/pants/pull/16677))

* Ensure the sandbox distdir exists when creating dists via PEP517 (Cherrypick of #16647) ([#16659](https://github.com/pantsbuild/pants/pull/16659))

### Performance

* Implement a batched local lookup for missing fingerprints. (Cherry-pick of #16627) ([#16701](https://github.com/pantsbuild/pants/pull/16701))

* Optimize `CreateDigest` implementation. (Cherry-pick of #16617) ([#16648](https://github.com/pantsbuild/pants/pull/16648))

### Documentation

* List commercial Pants services that optionally supplement community's extensive free tier (Cherry-pick of #16706) ([#16742](https://github.com/pantsbuild/pants/pull/16742))

* Welcome community members to consider joining team (Cherry-pick of #16681) ([#16745](https://github.com/pantsbuild/pants/pull/16745))

* Clarify wording for `--skip` options (Cherry-pick of #16622) ([#16702](https://github.com/pantsbuild/pants/pull/16702))

* Fix example BSP groups file. (Cherry-pick of #16649) ([#16653](https://github.com/pantsbuild/pants/pull/16653))

* Fix `./pants help` docs on command line specs (Cherry-pick of #16616) ([#16624](https://github.com/pantsbuild/pants/pull/16624))

* Create page of Pants team members and proudest contribs (Cherry-pick of #16676)  ([#16730](https://github.com/pantsbuild/pants/pull/16730))

## 2.14.0a0 (Aug 23, 2022)

### New Features

* Add Plugin hook for adding custom additional Docker image tags. ([#16077](https://github.com/pantsbuild/pants/pull/16077))

* Add new fmt plugins for build file formatting ([#16560](https://github.com/pantsbuild/pants/pull/16560))

* Add buildifier as a BUILD file formatter ([#16573](https://github.com/pantsbuild/pants/pull/16573))

* go: add support for test coverage ([#16550](https://github.com/pantsbuild/pants/pull/16550))

* Disable 80 col hard wrapping in mypy output ([#16488](https://github.com/pantsbuild/pants/pull/16488))

* Allow for automatic use of `pytest-xdist` ([#16499](https://github.com/pantsbuild/pants/pull/16499))

* Add `[pyoxidizer].lockfile` ([#16537](https://github.com/pantsbuild/pants/pull/16537))

* Add `[flake8].extra_files` to allow configuring plugins like Bandit ([#16470](https://github.com/pantsbuild/pants/pull/16470))

* Support 3rd party Helm artifacts in Helm deployments ([#16478](https://github.com/pantsbuild/pants/pull/16478))

### User API Changes

* Mark `[python].requirement_constraints` as deprecated (but not planned for removal) ([#16606](https://github.com/pantsbuild/pants/pull/16606))

* Add `[python-repos].find_links` as preferred alias for `[python-repos].repos` ([#16582](https://github.com/pantsbuild/pants/pull/16582))

* Fix that running on a BUILD file expands to all of its targets ([#16546](https://github.com/pantsbuild/pants/pull/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](https://github.com/pantsbuild/pants/pull/16513))

### Plugin API Changes

* Rename `FmtRequest` to `FmtTargetsRequest` (plus some `fix` refactoring) ([#16535](https://github.com/pantsbuild/pants/pull/16535))

### Bug fixes

* Auto-detect Helm chart source roots ([#16531](https://github.com/pantsbuild/pants/pull/16531))

* Have `run` run `__main__.py` for non-zipapp PEXs ([#16568](https://github.com/pantsbuild/pants/pull/16568))

* Record `RemoteStoreBlobBytesUploaded` for all upload strategies, rather than only for large blobs. ([#16545](https://github.com/pantsbuild/pants/pull/16545))

* Prevent running N^2 publish processes during deploy goal ([#16516](https://github.com/pantsbuild/pants/pull/16516))

* Track Python indexes, find-links, and manylinux in lockfile headers ([#16525](https://github.com/pantsbuild/pants/pull/16525))

### Performance

* Fix performance for generating lockfiles for `pytest` and `setuptools` ([#16591](https://github.com/pantsbuild/pants/pull/16591))

* Improve performance of `Owners` rule ([#16563](https://github.com/pantsbuild/pants/pull/16563))

### Documentation

* More succint phrasing and better formatting for cli help. ([#16549](https://github.com/pantsbuild/pants/pull/16549))

* Document `[python].resolves_to_constraints_file` and `[python].resolves_to_no_binary` ([#16548](https://github.com/pantsbuild/pants/pull/16548))

* Fix broken link to community page ([#16468](https://github.com/pantsbuild/pants/pull/16468))

## 2.14.0.dev6 (Aug 13, 2022)

### New Features

* Support adding to dict-valued options in config files. ([#16481](https://github.com/pantsbuild/pants/pull/16481))

* Add `[mypy].extra_type_stubs_lockfile` ([#16461](https://github.com/pantsbuild/pants/pull/16461))

* Proposal for a Helm Deployment goal implementation ([#15882](https://github.com/pantsbuild/pants/pull/15882))

* Add support for using environment variables in JVM tests ([#16455](https://github.com/pantsbuild/pants/pull/16455))

* Add `[python].resolves_to_constraints_file` ([#16420](https://github.com/pantsbuild/pants/pull/16420))

### Plugin API Changes

* `GenerateToolLockfileSentinel` encouraged to use language-specific subclasses ([#16449](https://github.com/pantsbuild/pants/pull/16449))

* Allow backend packages to also register remote auth plugins ([#16444](https://github.com/pantsbuild/pants/pull/16444))

### Bug fixes

* Fix `--process-cleanup` deprecation. ([#16447](https://github.com/pantsbuild/pants/pull/16447))

* Fix `CacheContentBehavior::Defer` with a remote cache ([#16439](https://github.com/pantsbuild/pants/pull/16439))

### Documentation

* Update docs on how to run Pants in CI. ([#16503](https://github.com/pantsbuild/pants/pull/16503))

* Fix partition description for MyPy when multiple resolves ([#16486](https://github.com/pantsbuild/pants/pull/16486))

* Add IBM to user list. ([#16457](https://github.com/pantsbuild/pants/pull/16457))

## 2.14.0.dev5 (Aug 07, 2022)

### New Features

* Add `[pytest].config` to set custom config file paths ([#16423](https://github.com/pantsbuild/pants/pull/16423))

* java/protobuf: add support for grpc-java codegen ([#16350](https://github.com/pantsbuild/pants/pull/16350))

### User API Changes

* Upgrade Pex to 2.1.103. ([#16313](https://github.com/pantsbuild/pants/pull/16426))
*
* Deprecate `[python].lockfile_generator` ([#16418](https://github.com/pantsbuild/pants/pull/16418))

* Replace `--[no-]process-cleanup` with `--keep-sandboxes={always,never,on_failure}` ([#16415](https://github.com/pantsbuild/pants/pull/16415))

* Add a few popular python packages to default modules mapping ([#16330](https://github.com/pantsbuild/pants/pull/16330))

* Deprecate `[python].tailor_ignore_solitary_init_files` in favor of more useful `[python].tailor_ignore_empty_init_files` ([#16305](https://github.com/pantsbuild/pants/pull/16305))

* Upgrade Pex to 2.1.102. ([#16313](https://github.com/pantsbuild/pants/pull/16313))

* Enable `[python-infer].unowned_dependency_behavior="warning"` by default. ([#16281](https://github.com/pantsbuild/pants/pull/16281))

* Upgrade Pex to 2.1.101. ([#16297](https://github.com/pantsbuild/pants/pull/16297))

### Plugin API Changes

* Add entry point support for remote auth plugin ([#16212](https://github.com/pantsbuild/pants/pull/16212))

* Provide foundations for a deploy goal ([#16335](https://github.com/pantsbuild/pants/pull/16335))

### Bug fixes

* Fix docker invalidation bug. ([#16419](https://github.com/pantsbuild/pants/pull/16419))

* Add missing `help` message to experimental backends ([#16403](https://github.com/pantsbuild/pants/pull/16403))

* Set immutable_input_digests on a docker RunRequest. ([#16385](https://github.com/pantsbuild/pants/pull/16385))

* go: pass -p option to `go tool asm` on Go v1.19+ ([#16381](https://github.com/pantsbuild/pants/pull/16381))

* jvm: fix fetching artifacts with non-jar packaging ([#16358](https://github.com/pantsbuild/pants/pull/16358))

* [internal] Add missing timeout field to target generators ([#16314](https://github.com/pantsbuild/pants/pull/16314))

* Include Helm chart dependency inference rules ([#16368](https://github.com/pantsbuild/pants/pull/16368))

* [internal] Use `f_globals` instead of `inspect.getmodule` in `collect_rules` ([#16357](https://github.com/pantsbuild/pants/pull/16357))

* Silence mkdir, cp, and mv commands with MyPy caching ([#16340](https://github.com/pantsbuild/pants/pull/16340))

* fix kotlin tailor for junit tests ([#16333](https://github.com/pantsbuild/pants/pull/16333))

* Leverage a multiprocess-safe strategy for MyPy's cache ([#16290](https://github.com/pantsbuild/pants/pull/16290))

* Eagerly error for symlink loops ([#16319](https://github.com/pantsbuild/pants/pull/16319))

* Add a newline at the end of `paths` output ([#16302](https://github.com/pantsbuild/pants/pull/16302))

* Consume inits part of package object within the inner scope ([#16282](https://github.com/pantsbuild/pants/pull/16282))

* Explicitly add directory entries to resources JARs  ([#16264](https://github.com/pantsbuild/pants/pull/16264))

### Performance

* Implement a `validate` mode to reduce network usage for remote caches ([#16398](https://github.com/pantsbuild/pants/pull/16398))

### Documentation

* Document how to use Pylint reports ([#16399](https://github.com/pantsbuild/pants/pull/16399))

* Fix source roots docs. ([#16363](https://github.com/pantsbuild/pants/pull/16363))

* Show advanced options with `help` if there are no basic options ([#16352](https://github.com/pantsbuild/pants/pull/16352))

* Improve a docker backend warning. ([#16355](https://github.com/pantsbuild/pants/pull/16355))

* Link to dev.to post on resource hub. ([#16331](https://github.com/pantsbuild/pants/pull/16331))

* Only show the deprecated option section with `help` if there are deprecated options ([#16339](https://github.com/pantsbuild/pants/pull/16339))

* add tailor docs for kotlin backend ([#16332](https://github.com/pantsbuild/pants/pull/16332))

* Fix the experimental_run_shell_command example. ([#16286](https://github.com/pantsbuild/pants/pull/16286))

* Fix typo in backend name ([#16312](https://github.com/pantsbuild/pants/pull/16312))

* docs: add initial Kotlin docs ([#16304](https://github.com/pantsbuild/pants/pull/16304))

* Document test sharding and update plugin docs with 2.13 changes ([#16293](https://github.com/pantsbuild/pants/pull/16293))

## 2.14.0.dev4 (Aug 05, 2022)

There was no 2.14.0.dev4 because of technical issues.

## 2.14.0.dev3 (Jul 22, 2022)

### New Features

* add Go ASDF support ([#16246](https://github.com/pantsbuild/pants/pull/16246))

* Add `[python].default_run_goal_use_sandbox` ([#16239](https://github.com/pantsbuild/pants/pull/16239))

* Add `include_sources` to `pex_binary` target ([#16215](https://github.com/pantsbuild/pants/pull/16215))

* allow JVM sources to have files dependencies ([#16203](https://github.com/pantsbuild/pants/pull/16203))

* Optionally strip metadata and timestamps from JVM jars ([#16134](https://github.com/pantsbuild/pants/pull/16134))

* Support timeouts in Helm unittest targets ([#16181](https://github.com/pantsbuild/pants/pull/16181))

* Allow for dependency inference plugins to provide excludes ([#16155](https://github.com/pantsbuild/pants/pull/16155))

* Add support for strict and color flags in Helm unittest ([#15947](https://github.com/pantsbuild/pants/pull/15947))

### User API Changes

* Ban `../` in `source` and `sources` fields ([#16227](https://github.com/pantsbuild/pants/pull/16227))

* Warn users if they set remote cache and or/execution via config while  the values are provided by the auth plugin. ([#16165](https://github.com/pantsbuild/pants/pull/16165))

* Upgrade Pex to 2.1.99. ([#16184](https://github.com/pantsbuild/pants/pull/16184))

* Upgrade python reqs, upgrade default setuptools to 63.1.0 ([#16168](https://github.com/pantsbuild/pants/pull/16168))

* Add test timeouts to JUnit and Scalatest targets. ([#16126](https://github.com/pantsbuild/pants/pull/16126))

### Plugin API Changes

* Generically compute dynamic defaults for `Field`s ([#16206](https://github.com/pantsbuild/pants/pull/16206))

* Add support for auth plugin setting its name ([#16171](https://github.com/pantsbuild/pants/pull/16171))

* Fold dep injection into inference, and use FieldSet ([#16107](https://github.com/pantsbuild/pants/pull/16107))

### Bug fixes

* Allow using `--import` option with Autoflake ([#16192](https://github.com/pantsbuild/pants/pull/16192))

* Dont use PEX as an API to fix `ModuleNotFoundError` for `--debug-adapter` ([#16263](https://github.com/pantsbuild/pants/pull/16263))

* Apply parameter filling for `parametrize`d dependencies to excludes, and fix accommodation for file-addressed atom targets ([#16249](https://github.com/pantsbuild/pants/pull/16249))

* [internal] Refactors `output_field` to default to something that disambiguates on parametrized fields ([#16232](https://github.com/pantsbuild/pants/pull/16232))

* fix scala plugins args order causing cache issues ([#16228](https://github.com/pantsbuild/pants/pull/16228))

* Fix explicit dependencies of `parametrize`d targets not working for some target types ([#16197](https://github.com/pantsbuild/pants/pull/16197))

* Add `overrides` field to Scala targets ([#16204](https://github.com/pantsbuild/pants/pull/16204))

* Fill address parameters in all cases, rather than only when a consumer is `parametrize`d. ([#16198](https://github.com/pantsbuild/pants/pull/16198))

* Use filelists to make archive creation tasks more reliable ([#16183](https://github.com/pantsbuild/pants/pull/16183))

* Allow macros to raise builtin Errors ([#16174](https://github.com/pantsbuild/pants/pull/16174))

* Fix defaulting of parameters in explicitly specified deps on `parametrize`d targets for AsyncFieldMixin ([#16176](https://github.com/pantsbuild/pants/pull/16176))

* java: add proper inference of Scrooge Java Thrift dependencies ([#16130](https://github.com/pantsbuild/pants/pull/16130))

* Fix "dependency" pluralization ([#16150](https://github.com/pantsbuild/pants/pull/16150))

* Improve memoization of interpreter constraints, Python parsing, and request classes ([#16141](https://github.com/pantsbuild/pants/pull/16141))

* Add support for `InteractiveProcess` consuming inputs while `run_in_workspace=True` ([#16093](https://github.com/pantsbuild/pants/pull/16093))

* Optimize `get_expanded_specs` for `StreamingWorkunit` plugins ([#16106](https://github.com/pantsbuild/pants/pull/16106))

### Performance

* Port `@rule` `Get`s to rust ([#16160](https://github.com/pantsbuild/pants/pull/16160))

### Documentation

* Add Vicara Solutions to the users page. ([#16221](https://github.com/pantsbuild/pants/pull/16221))

* Document the "fromfile" feature. ([#16205](https://github.com/pantsbuild/pants/pull/16205))

* Document `--filter` options working with any goal ([#16090](https://github.com/pantsbuild/pants/pull/16090))

* Updates installation docs to refer to the 1-step setup script ([#16149](https://github.com/pantsbuild/pants/pull/16149))

* Add 2.12 changelog to docsite ([#16136](https://github.com/pantsbuild/pants/pull/16136))

## 2.14.0.dev2 (Jul 11, 2022)

### User API Changes

* Revert "Upgrade Pex to 2.1.95. (#16110)" ([#16125](https://github.com/pantsbuild/pants/pull/16125))

* Add a lock for the Poetry tool. ([#16117](https://github.com/pantsbuild/pants/pull/16117))

* Upgrade Pex to 2.1.95. ([#16110](https://github.com/pantsbuild/pants/pull/16110))

* Fix poetry locks missing hashes. ([#16112](https://github.com/pantsbuild/pants/pull/16112))

* java/avro: inject runtime library dependency ([#15904](https://github.com/pantsbuild/pants/pull/15904))

### Bug fixes

* Fix issue with `__defaults__` not propagating over gaps in the tree of BUILD files. ([#16089](https://github.com/pantsbuild/pants/pull/16089))

* Write to caches during backtracking ([#16078](https://github.com/pantsbuild/pants/pull/16078))

* Record ongoing backtrack attempts ([#16075](https://github.com/pantsbuild/pants/pull/16075))

### Documentation

* New doc explaining vcs_version. ([#16092](https://github.com/pantsbuild/pants/pull/16092))

* Fix typo in warning for `[python].resolve_all_constraints` ([#16068](https://github.com/pantsbuild/pants/pull/16068))

## 2.14.0.dev1 (Jul 05, 2022)

### New Features

* Add support for extra env variables in go tests ([#16013](https://github.com/pantsbuild/pants/pull/16013))

* Add ability to `run` any `PythonSourceField` ([#15849](https://github.com/pantsbuild/pants/pull/15849))

* Add `--debug-adapter` flag to `run` ([#15829](https://github.com/pantsbuild/pants/pull/15829))

### User API Changes

* Correct deprecation warning for addressing `pex_binary` targets by filename to 2.15 ([#16056](https://github.com/pantsbuild/pants/pull/16056))

* Default `scala-infer` `force_add_siblings_as_dependencies` to False. ([#16031](https://github.com/pantsbuild/pants/pull/16031))

* Upgrade Pex to 2.1.94. ([#16029](https://github.com/pantsbuild/pants/pull/16029))

* Remove `python-infer` `inits` option. ([#16036](https://github.com/pantsbuild/pants/pull/16036))

* Remove `golang` `expected_version` option. ([#16033](https://github.com/pantsbuild/pants/pull/16033))

* Remove the `filter` goal. ([#16032](https://github.com/pantsbuild/pants/pull/16032))

* Default `--use-deprecated-pex-binary-run-semantics` to `False`. ([#16034](https://github.com/pantsbuild/pants/pull/16034))

* Default `python` `tailor_pex_binary_targets` to `False`. ([#16035](https://github.com/pantsbuild/pants/pull/16035))

* Deprecate not setting `tailor_pex_binary_targets` explictly ([#15962](https://github.com/pantsbuild/pants/pull/15962))

* `tailor` and `update-build-files` require specifying CLI arguments ([#15941](https://github.com/pantsbuild/pants/pull/15941))

* Upgrade default version of black to 22.6.0 ([#15960](https://github.com/pantsbuild/pants/pull/15960))

* Upgrade default version of pyupgrade to 2.34.0 ([#15956](https://github.com/pantsbuild/pants/pull/15956))

### Plugin API Changes

* `fmt` plugins can add new files ([#15846](https://github.com/pantsbuild/pants/pull/15846))

* Pants internally uses dedicated Sources and Dependencies fields ([#16037](https://github.com/pantsbuild/pants/pull/16037))

### Bug fixes

* Fix pantsd TTY handling. ([#16038](https://github.com/pantsbuild/pants/pull/16038))

* revert REAPI batch API PRs ([#16016](https://github.com/pantsbuild/pants/pull/16016))

* Backtrack through calls from `@rules` to synchronous engine methods ([#15979](https://github.com/pantsbuild/pants/pull/15979))

### Documentation

* Fix CI provider table rendering. ([#16051](https://github.com/pantsbuild/pants/pull/16051))

* Update docs with 2.12 changes: default Pex lockfile generator, `pants.toml` env var interpolation, pip VCS requirements, and Python interpreter constraints ([#16000](https://github.com/pantsbuild/pants/pull/16000))

* Fix alpha release email template typo. ([#16027](https://github.com/pantsbuild/pants/pull/16027))

* Document Docker registries configuration options for `skip_push` and `extra_image_tags`. ([#16015](https://github.com/pantsbuild/pants/pull/16015))

* Update Python documentation with 2.11 changes ([#15857](https://github.com/pantsbuild/pants/pull/15857))

* Update the docs for `fmt` and test report changes ([#15968](https://github.com/pantsbuild/pants/pull/15968))

* Use Markdown h3 for ToC support ([#15964](https://github.com/pantsbuild/pants/pull/15964))

* Direct people to a quick form before they join Slack. ([#15957](https://github.com/pantsbuild/pants/pull/15957))

## 2.14.0.dev0 (Jun 25, 2022)

### New Features

* Add repository config option to Docker registries. ([#15884](https://github.com/pantsbuild/pants/pull/15884))

* Add `__defaults__` BUILD file symbol ([#15836](https://github.com/pantsbuild/pants/pull/15836))

### User API Changes

* Deprecate `--use-deprecated-directory-cli-args-semantics` and default to false ([#15939](https://github.com/pantsbuild/pants/pull/15939))

* Remove deprecated `[golang].expected_version` in favor of `[golang].minimum_expected_version` ([#15942](https://github.com/pantsbuild/pants/pull/15942))

* Upgrade default iPython to 7.34, which drops Python 3.6 ([#15934](https://github.com/pantsbuild/pants/pull/15934))

* Remove deprecated `--excluded-target-regexp`, `--files-not-found-behavior`, and `--owners-not-found-behavior` global options ([#15929](https://github.com/pantsbuild/pants/pull/15929))

* Deprecate implicit setting of `--remote-cache-{read,write,eager-fetch}` with `--remote-execution` ([#15900](https://github.com/pantsbuild/pants/pull/15900))

* Upgrade Pex to 2.1.100. ([#16285](https://github.com/pantsbuild/pants/pull/16285))

### Plugin API Changes

* Plugin fields should propagate to subclassed target types. ([#15876](https://github.com/pantsbuild/pants/pull/15876))

* Introduce a plugin API to provide all thread local state, and deprecate stdio-specific methods ([#15890](https://github.com/pantsbuild/pants/pull/15890))

### Bug fixes

* Assorted remote metrics fixes. ([#15914](https://github.com/pantsbuild/pants/pull/15914))

* Fix bad "<infallible>" description in invalid addresses error messages ([#15859](https://github.com/pantsbuild/pants/pull/15859))

* Allow JVM memory controls to bound the process pool size to less than the process parallelism ([#15903](https://github.com/pantsbuild/pants/pull/15903))

* Upgrade to `nails` `0.13.0` to pick up support for `JDK >=13`. ([#15899](https://github.com/pantsbuild/pants/pull/15899))

* Increment the missing-digest backtracking level once per attempt ([#15889](https://github.com/pantsbuild/pants/pull/15889))

* Scala: should visit ctor args of base type ([#15880](https://github.com/pantsbuild/pants/pull/15880))

* Scala: mark an object that extends another type as recursive ([#15865](https://github.com/pantsbuild/pants/pull/15865))

* Fix reporting of time spent downloading files ([#15873](https://github.com/pantsbuild/pants/pull/15873))

### Performance

* Dedupe `load_bytes_with` calls to a remote Store ([#15901](https://github.com/pantsbuild/pants/pull/15901))

* Improve mypy runs by adding the "incremental" mypy cache ([#16276](https://github.com/pantsbuild/pants/pull/16276))

### Documentation

* Add test debugging doc ([#15948](https://github.com/pantsbuild/pants/pull/15948))

* Update certificate environment variable advice for #14808. ([#15943](https://github.com/pantsbuild/pants/pull/15943))

* Clarify deprecation messages for `tailor` and `update-build-files` requiring CLI arguments ([#15932](https://github.com/pantsbuild/pants/pull/15932))

* Fix GCF Handler documentation. ([#16284](https://github.com/pantsbuild/pants/pull/16284))
