Metadata-Version: 2.1
Name: pantsbuild.pants.testutil
Version: 2.0.2
Summary: Test support for writing Pants plugins.
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
Platform: UNKNOWN
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
Classifier: Topic :: Software Development :: Testing
Description-Content-Type: text/x-rst
Requires-Dist: ansicolors (==1.1.8)
Requires-Dist: dataclasses (==0.6)
Requires-Dist: pantsbuild.pants (==2.0.2)

Pants is an Apache2 licensed build tool written in Python.

The latest documentation can be found at `pantsbuild <https://www.pantsbuild.org/>`_.


2.0.x Stable Releases
=====================

This document describes releases leading up to the ``2.0.x`` ``stable`` series.

See https://www.pantsbuild.org/v2.0/docs/release-notes-2-0 for an overview of the changes in this release, and
https://www.pantsbuild.org/docs/plugin-upgrade-guide for a plugin upgrade guide.

2.0.2rc0 (1/14/2021)
--------------------

Bugfixes
~~~~~~~~

* Fix older versions of `tar` not working when creating an `archive` (Cherry-pick of #11413) (#11417)
  `PR #11417 <https://github.com/pantsbuild/pants/pull/11417>`_

2.0.1 (12/18/2020)
------------------

The second stable release in the 2.0.x series, with no changes since `rc4`.

Thank you for everyone's feedback!

2.0.1rc4 (12/16/2020)
---------------------

Bugfixes
~~~~~~~~

* Fix filtering of log messages generated in native code. (cherrypick of #11313) (#11318)
  `PR #11318 <https://github.com/pantsbuild/pants/pull/11318>`_

* Upgrade to Pex 2.1.24 to fix macOS Big Sur. (cherrypick of #11312) (#11314)
  `PR #11314 <https://github.com/pantsbuild/pants/pull/11314>`_

* Clean the graph speculatively, and cancel nodes when interest is lost (cherrypick of #11308) (#11310)
  `PR #11310 <https://github.com/pantsbuild/pants/pull/11310>`_

* Implement native Process cache scoping to fix --test-force (cherrypick of #11291) (#11299)
  `PR #11299 <https://github.com/pantsbuild/pants/pull/11299>`_

* Revert "Move graph cycle detection to rust. (#11202)" (cherrypick of #11272) (#11277)
  `PR #11202 <https://github.com/pantsbuild/pants/pull/11202>`_
  `PR #11277 <https://github.com/pantsbuild/pants/pull/11277>`_

* Increase Pants' python recursion limit by default, and allow it to be overridden. (cherrypick of #11271) (#11276)
  `PR #11276 <https://github.com/pantsbuild/pants/pull/11276>`_

Internal
~~~~~~~~

* [tests] Use a bandit version that works with older python versions. (cherrypick of #11268) (#11279)
  `PR #11279 <https://github.com/pantsbuild/pants/pull/11279>`_


2.0.1rc3 (11/24/2020)
---------------------

Bugfixes
~~~~~~~~

* Fix off-by-one error for `python_awslambda` `sources` field validation (#11234)
  `PR #11234 <https://github.com/pantsbuild/pants/pull/11234>`_

2.0.1rc2 (11/20/2020)
---------------------

User API Changes
~~~~~~~~~~~~~~~~

* Revert premature deprecation of `sources` field for `python_awslambda` (#11216)
  `PR #11216 <https://github.com/pantsbuild/pants/pull/11216>`_

Bugfixes
~~~~~~~~

* Move graph cycle detection to rust to fix recursion limit. (cherrypick of #11202) (#11203)
  `PR #11203 <https://github.com/pantsbuild/pants/pull/11203>`_

* Set the soft ulimit value more conservatively (cherrypick of #11194) (#11196)
  `PR #11196 <https://github.com/pantsbuild/pants/pull/11196>`_

2.0.1rc1 (11/16/2020)
---------------------

User API Changes
~~~~~~~~~~~~~~~~

* Deprecate the `sources` field for `python_awslambda` (Cherry-pick of #11176) (#11177)
  `PR #11177 <https://github.com/pantsbuild/pants/pull/11177>`_

Bugfixes
~~~~~~~~

* Fix relative imports in dependency inference (Cherry-pick of #11181) (#11190)
  `PR #11190 <https://github.com/pantsbuild/pants/pull/11190>`_

2.0.1rc0 (11/11/2020)
---------------------

User API Changes
~~~~~~~~~~~~~~~~

* Add a specific error for target names containing slashes (cherrypick of #11115) (#11122)
  `PR #11122 <https://github.com/pantsbuild/pants/pull/11122>`_

Bugfixes
~~~~~~~~

* Fix logs for `test`, `lint`, `fmt`, and `typecheck` to always print, even if cached (Cherry-pick of #11111) (#11116)
  `PR #11116 <https://github.com/pantsbuild/pants/pull/11116>`_

* Fix `pytest.pex` leaking into coverage data (Cherry-pick of  #11110) (#11112)
  `PR #11112 <https://github.com/pantsbuild/pants/pull/11112>`_

* Fix Coverage not finding resource files when generating a report (Cherry-pick of #11129) #11139
  `PR #11139 <https://github.com/pantsbuild/pants/pull/11139>`_

* Fix `!!` transitive excludes when used multiple times in a repo (Cherry-pick of #11103) (#11104)
  `PR #11104 <https://github.com/pantsbuild/pants/pull/11104>`_

* Fix `setup_py().with_binaries()` to properly inject dependencies (#11098)
  `PR #11098 <https://github.com/pantsbuild/pants/pull/11098>`_

* Upgrade to Pex 2.1.21 to fix interpreter selection and race condition (Cherry-pick of #11131) (#11133)
  `PR #11133 <https://github.com/pantsbuild/pants/pull/11133>`_

* Fix `--pex-verbosity` to work with the interpreter selection PEX (Cherry-pick of #11108) (#11120)
  `PR #11120 <https://github.com/pantsbuild/pants/pull/11120>`_

2.0.0 (10/27/2020)
------------------

The first stable release in the 2.0.x series, with no changes since `rc3`.

Thank you for everyone's feedback!

2.0.0rc3 (10/25/2020)
---------------------

User API Changes
~~~~~~~~~~~~~~~~

* Deprecate several unused options (Cherry-pick of #11041) #11043
  `PR #11043 <https://github.com/pantsbuild/pants/pull/11043>`_

* Deprecate unused `run-tracker` options (Cherry-pick of #11038) (#11039)
  `PR #11039 <https://github.com/pantsbuild/pants/pull/11039>`_

Bugfixes
~~~~~~~~

* Fix PEX to always write to `named_caches_dir`, rather than `~/.pex` (Cherry-pick of #11040) (#11042)
  `PR #11042 <https://github.com/pantsbuild/pants/pull/11042>`_

* Eagerly validate entry points for `setup_py().with_binaries()` (Cherry-pick of #11034) (#11036)
  `PR #11036 <https://github.com/pantsbuild/pants/pull/11036>`_

Documentation
~~~~~~~~~~~~~

* Improve several help messages (Cherry-pick of #11029) (#11035)
  `PR #11035 <https://github.com/pantsbuild/pants/pull/11035>`_

2.0.0rc2 (10/22/2020)
---------------------

User API Changes
~~~~~~~~~~~~~~~~

* Fold target help into the help system. (Cherry-pick of #11022) #11028
  `PR #11028 <https://github.com/pantsbuild/pants/pull/11028>`_

* Rename pex-binary/python-distribution subsystems to avoid naming collisions. (Cherry-pick of #11007) (#11010)
  `PR #11010 <https://github.com/pantsbuild/pants/pull/11010>`_

* Increase default `[python-setup].resolver_jobs` to `cpu_count / 2` (Cherry-pick of #11006) (#11011)
  `PR #11011 <https://github.com/pantsbuild/pants/pull/11011>`_

* Include `<PYENV>` in `[python-setup].interpreter_search_paths` default (Cherry-pick of #10998) (#11008)
  `PR #11008 <https://github.com/pantsbuild/pants/pull/11008>`_

* Upgrade Pex to 2.1.20 (Cherry-pick of #11014) (#11016)
  `PR #11016 <https://github.com/pantsbuild/pants/pull/11016>`_

Plugin API Changes
~~~~~~~~~~~~~~~~~~

* Validate that option scopes and target aliases don't collide. (Cherry-pick of #11004) #11015
  `PR #11015 <https://github.com/pantsbuild/pants/pull/11015>`_

New Features
~~~~~~~~~~~~

* Allow changing the versioning scheme for `python_distribution` first-party dependencies (Cherry-pick of #10977) (#10989)
  `PR #10989 <https://github.com/pantsbuild/pants/pull/10989>`_

* Add `[python-setup].resolver_http_cache_ttl` option (Cherry-pick of #10997) (#11002)
  `PR #11002 <https://github.com/pantsbuild/pants/pull/11002>`_

* Allow changing the URL to download tools like PEX and Protoc (Cherry-pick of #11013) (#11024)
  `PR #11024 <https://github.com/pantsbuild/pants/pull/11024>`_

Bugfixes
~~~~~~~~

* Revert using libCST for dep inference due to performance (Cherry-pick of #11001) (#11005)
  `PR #11005 <https://github.com/pantsbuild/pants/pull/11005>`_

* Fix resource leak warning with stdio (Cherry-pick of #10995) (#10996)
  `PR #10996 <https://github.com/pantsbuild/pants/pull/10996>`_

* Fix `./pants repl` to use global constrains when no targets specified (Cherry-pick of #10991) (#10992)
  `PR #10992 <https://github.com/pantsbuild/pants/pull/10992>`_

* Fix `setup_py().with_binaries()` to use the default entry point (Cherry-pick of #11021) #11026
  `PR #11026 <https://github.com/pantsbuild/pants/pull/11026>`_

* Fix overly verbose `FieldSet` in stack traces (Cherry-pick of #10978) (#10990)
  `PR #10990 <https://github.com/pantsbuild/pants/pull/10990>`_

* Fix several bad usages of `itertools.groupby()` (Cherry-pick of #10976) (#10979)
  `PR #10979 <https://github.com/pantsbuild/pants/pull/10979>`_

2.0.0rc1 (10/15/2020)
---------------------

User API Changes
~~~~~~~~~~~~~~~~

* Restore several removed targets and fields to help with upgrading (#10970)
  `PR #10970 <https://github.com/pantsbuild/pants/pull/10970>`_

New Features
~~~~~~~~~~~~

* Add `./pants target-types --all` (Cherry-pick of #10957) (#10961)
  `PR #10961 <https://github.com/pantsbuild/pants/pull/10961>`_

Bugfixes
~~~~~~~~

* Fix interpreter selection when building a PEX to use `[python-setup].interpreter_search_paths` (Cherry-pick of #10965) (#10967)
  `PR #10967 <https://github.com/pantsbuild/pants/pull/10967>`_

* Fix linter targets being skipped when repo has multiple interpreter constraints (Cherry-pick of #10974) #10975
  `PR #10975 <https://github.com/pantsbuild/pants/pull/10975>`_

* Automatically set setuptools interpreter constraints if unspecified (Cherry-pick of #10951) (#10958)
  `PR #10958 <https://github.com/pantsbuild/pants/pull/10958>`_

* Fix config validation not erroring on global options in wrong scope (Cherry-pick of #10950) (#10956)
  `PR #10956 <https://github.com/pantsbuild/pants/pull/10956>`_

* Fix logging of lint result files (Cherry-pick of #10959) (#10968)
  `PR #10968 <https://github.com/pantsbuild/pants/pull/10968>`_

2.0.0rc0 (10/11/2020)
---------------------

User API Changes
~~~~~~~~~~~~~~~~

* Deprecate `python_binary` in favor of `pex_binary` (#10939)
  `PR #10939 <https://github.com/pantsbuild/pants/pull/10939>`_

* Deprecate `[protoc].runtime_targets` in favor of `[python-protobuf].runtime_dependencies` (#10926)
  `PR #10926 <https://github.com/pantsbuild/pants/pull/10926>`_

* Use the `package` goal to build setup-py dists. (#10919)
  `PR #10919 <https://github.com/pantsbuild/pants/pull/10919>`_

* Deprecate `--print-exception-stacktrace` to `--print-stacktrace` (#10912)
  `PR #10912 <https://github.com/pantsbuild/pants/pull/10912>`_

Plugin API Changes
~~~~~~~~~~~~~~~~~~

* Use `TransitiveTargetsRequest` as input for resolving `TransitiveTargets` (#10915)
  `PR #10915 <https://github.com/pantsbuild/pants/pull/10915>`_

* Add `await Get(Addresses, UnparsedAddressInputs)`  (#10913)
  `PR #10913 <https://github.com/pantsbuild/pants/pull/10913>`_

* Upgrade to Pex 2.1.18. (#10938)
  `PR #10938 <https://github.com/pantsbuild/pants/pull/10938>`_

New Features
~~~~~~~~~~~~

* Add gRPC Python code generation (#10937)
  `PR #10937 <https://github.com/pantsbuild/pants/pull/10937>`_

* Add MyPy Protobuf plugin support (#10931)
  `PR #10931 <https://github.com/pantsbuild/pants/pull/10931>`_

* Add `output_path` field to `python_binary`, `python_awslambda`, and `archive` (#10899)
  `PR #10899 <https://github.com/pantsbuild/pants/pull/10899>`_

Bugfixes
~~~~~~~~

* Fix for log messages/dynamic UI teardown conflict (#10940)
  `PR #10940 <https://github.com/pantsbuild/pants/pull/10940>`_

* Fix some dependencies-like fields not showing up with project introspection (#10923)
  `PR #10923 <https://github.com/pantsbuild/pants/pull/10923>`_

* Send SIGTERM to child processes upon SIGINT (#10930)
  `PR #10930 <https://github.com/pantsbuild/pants/pull/10930>`_

* Fix Python 3.8 syntax not working with dependency inference (#10907)
  `PR #10907 <https://github.com/pantsbuild/pants/pull/10907>`_

* Plumb `ca_certs_path` to the plugin resolver. (#10910)
  `PR #10910 <https://github.com/pantsbuild/pants/pull/10910>`_

Documentation
~~~~~~~~~~~~~

* Differentiate between User API vs. Plugin API changes in changelog (#10916)
  `PR #10916 <https://github.com/pantsbuild/pants/pull/10916>`_

* Streamline some goal descriptions. (#10911)
  `PR #10911 <https://github.com/pantsbuild/pants/pull/10911>`_

2.0.0b3 (10/3/2020)
-------------------

API Changes
~~~~~~~~~~~

* Add a FileDigest type to differentiate file APIs from directory APIs (#10900)
  `PR #10900 <https://github.com/pantsbuild/pants/pull/10900>`_

* Deprecate `awslambda` and `binary` goals in favor of new `package` goal (#10881)
  `PR #10881 <https://github.com/pantsbuild/pants/pull/10881>`_

New Features
~~~~~~~~~~~~

* Add `archive` target type to replace `python_app` (#10895)
  `PR #10895 <https://github.com/pantsbuild/pants/pull/10895>`_

* Add `relocated_files` target type (#10880)
  `PR #10880 <https://github.com/pantsbuild/pants/pull/10880>`_

* Add support for `.pyi` type stubs (including for first-party) (#10759)
  `PR #10759 <https://github.com/pantsbuild/pants/pull/10759>`_

Bugfixes
~~~~~~~~

* Upgrade Pex to 2.1.17. (#10901)
  `PR #10901 <https://github.com/pantsbuild/pants/pull/10901>`_

* Add back `blocked` flag on BoundedCommandRunner workunit (#10873)
  `PR #10873 <https://github.com/pantsbuild/pants/pull/10873>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Log long running workunits when the dynamic UI is disabled (#10890)
  `PR #10890 <https://github.com/pantsbuild/pants/pull/10890>`_

* Add a ``'coverage_'`` prefix to artifact key (#10891)
  `PR #10891 <https://github.com/pantsbuild/pants/pull/10891>`_

* Remove unused Nailgun code (#10883)
  `PR #10883 <https://github.com/pantsbuild/pants/pull/10883>`_

* Add several rule descriptions and debug hints (#10878)
  `PR #10878 <https://github.com/pantsbuild/pants/pull/10878>`_

* fs_util Directory subsetting ignores non-matches (#10854)
  `PR #10854 <https://github.com/pantsbuild/pants/pull/10854>`_

* Clean up trace logging (#10875)
  `PR #10875 <https://github.com/pantsbuild/pants/pull/10875>`_

* A new mechanism for showing "did you mean" help. (#10872)
  `PR #10872 <https://github.com/pantsbuild/pants/pull/10872>`_

* Check in the Pants logo. (#10871)
  `PR #10871 <https://github.com/pantsbuild/pants/pull/10871>`_

* Improved type annotations for OrderedSet and FrozenOrderedSet, removed code duplication (#10868)
  `PR #10868 <https://github.com/pantsbuild/pants/pull/10868>`_

Documentation
~~~~~~~~~~~~~

* Prepare 1.30.2rc1 (#10887)
  `PR #10887 <https://github.com/pantsbuild/pants/pull/10887>`_

2.0.0b2 (9/25/2020)
-------------------

API Changes
~~~~~~~~~~~

* Remove .*/ from --build-ignore defaults (#10856)
  `PR #10856 <https://github.com/pantsbuild/pants/pull/10856>`_

New Features
~~~~~~~~~~~~
* Partition MyPy based on interpreter constraints (#10817)
  `PR #10817 <https://github.com/pantsbuild/pants/pull/10817>`_

Bugfixes
~~~~~~~~

* Fix dependency inference AST parsing to include file names (#10857)
  `PR #10857 <https://github.com/pantsbuild/pants/pull/10857>`_

* Validate the names of directory children, and normalize output directory/file names (#10850)
  `PR #10850 <https://github.com/pantsbuild/pants/pull/10850>`_

* Fix empty key for global options in run tracker (#10807)
  `PR #10807 <https://github.com/pantsbuild/pants/pull/10807>`_

* Locate bash before using it to locate BinaryPaths for other tools (#10858)
  `PR #10858 <https://github.com/pantsbuild/pants/pull/10858>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Move `PantsEnvironment` into `SessionValues` (#10862)
  `PR #10862 <https://github.com/pantsbuild/pants/pull/10862>`_

* Delete binaries/ and net/. (#10861)
  `PR #10861 <https://github.com/pantsbuild/pants/pull/10861>`_

* Add `RuleRunner.set_options()` (#10859)
  `PR #10859 <https://github.com/pantsbuild/pants/pull/10859>`_

* Improve support of MyPy requirements when Python 2 used (#10853)
  `PR #10853 <https://github.com/pantsbuild/pants/pull/10853>`_

* A script to download rust build helper binaries. (#10851)
  `PR #10851 <https://github.com/pantsbuild/pants/pull/10851>`_

* Hotfix merge conflict in MyPy tests. (#10867)
  `PR #10867 <https://github.com/pantsbuild/pants/pull/10867>`_

2.0.0b1 (9/23/2020)
-------------------

API Changes
~~~~~~~~~~~

* Default to setting `LC_ALL` and `LANG` in subprocesses again (#10800)
  `PR #10800 <https://github.com/pantsbuild/pants/pull/10800>`_

* Default to `[python-infer].inits = false` (#10813)
  `PR #10813 <https://github.com/pantsbuild/pants/pull/10813>`_

* Deprecate `--interpreter-constraints` option where it no-ops (#10833)
  `PR #10833 <https://github.com/pantsbuild/pants/pull/10833>`_

* Upgrade setuptools from 49.6.0 to 50.3.0 and wheel from 0.31.1 to 0.35.1 (#10803)
  `PR #10803 <https://github.com/pantsbuild/pants/pull/10803>`_

New Features
~~~~~~~~~~~~

* Restore support for third-party requirements with MyPy (#10811)
  `PR #10811 <https://github.com/pantsbuild/pants/pull/10811>`_

Bugfixes
~~~~~~~~

* Plumb the custom certs file through to Pip (via Pex) (#10837)
  `PR #10837 <https://github.com/pantsbuild/pants/pull/10837>`_

* Fix MyPy with Python 2-only third-party requirements (#10820)
  `PR #10820 <https://github.com/pantsbuild/pants/pull/10820>`_

* Fix `setup_py.with_binaries()` to automatically inject `dependencies` (#10829)
  `PR #10829 <https://github.com/pantsbuild/pants/pull/10829>`_

* Fix run not working with foo:main entry point. (#10821)
  `PR #10821 <https://github.com/pantsbuild/pants/pull/10821>`_

* Fix `internal_only` PEXes runtime interpreter diverging from buildtime (#10818)
  `PR #10818 <https://github.com/pantsbuild/pants/pull/10818>`_

* Local process cache validates that digests exist locally before hitting (#10789)
  `PR #10789 <https://github.com/pantsbuild/pants/pull/10789>`_

* Better Ctrl-C handling in the `test --debug` case (#10835)
  `PR #10835 <https://github.com/pantsbuild/pants/pull/10835>`_

* Fix --pants-ignore-warnings behavior (#10845)
  `PR #10845 <https://github.com/pantsbuild/pants/pull/10845>`_

* Fix display of "Snapshotting" in dynamic UI (#10797)
  `PR #10797 <https://github.com/pantsbuild/pants/pull/10797>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Change Display impl of Key  (#10848)
  `PR #10848 <https://github.com/pantsbuild/pants/pull/10848>`_

* OptionsBootstrapper is provided via a new SessionValues facility rather than a Param (#10827)
  `PR #10827 <https://github.com/pantsbuild/pants/pull/10827>`_

* Internally stop ignoring missing imports with MyPy (#10828)
  `PR #10828 <https://github.com/pantsbuild/pants/pull/10828>`_

* Make `get_options_to_record` a 'public' api. (#10808)
  `PR #10808 <https://github.com/pantsbuild/pants/pull/10808>`_

* Useful equality for relevant options types (#10815)
  `PR #10815 <https://github.com/pantsbuild/pants/pull/10815>`_

* Clean nodes with uncacheable dependencies once per session (#10814)
  `PR #10814 <https://github.com/pantsbuild/pants/pull/10814>`_

* Disable pantsd when piping output for internal script (#10810)
  `PR #10810 <https://github.com/pantsbuild/pants/pull/10810>`_

* Simplify logging initialization (#10812)
  `PR #10812 <https://github.com/pantsbuild/pants/pull/10812>`_

* Remove support for "weak" Gets (#10805)
  `PR #10805 <https://github.com/pantsbuild/pants/pull/10805>`_

* Un-revert Add cache_failures option to Process type (#10796)
  `PR #10796 <https://github.com/pantsbuild/pants/pull/10796>`_

* Remove reset_interactive_output_stream (#10791)
  `PR #10791 <https://github.com/pantsbuild/pants/pull/10791>`_

* Allow creating empty directories with the engine (#10760)
  `PR #10760 <https://github.com/pantsbuild/pants/pull/10760>`_

* Use "output" and "input" instead of "product" and "subject" (#10790)
  `PR #10790 <https://github.com/pantsbuild/pants/pull/10790>`_

* Add graph test for UncacheableDeps nodes only running once (#10795)
  `PR #10795 <https://github.com/pantsbuild/pants/pull/10795>`_

* Fix our release script to use the correct Python (#10841)
  `PR #10841 <https://github.com/pantsbuild/pants/pull/10841>`_

* Refactor `core/util_rules/archive.py` to use `BinaryPaths` (#10836)
  `PR #10836 <https://github.com/pantsbuild/pants/pull/10836>`_

* Work around trailing slash issue with protobuf codegen (#10849)
  `PR #10849 <https://github.com/pantsbuild/pants/pull/10849>`_

* Consolidate "runner" PEXes into "tool" PEXes (#10852)
  `PR #10852 <https://github.com/pantsbuild/pants/pull/10852>`_

Testing
~~~~~~~

* Re-export `QueryRule` from `pants.testutil.rule_runner` (#10806)
  `PR #10806 <https://github.com/pantsbuild/pants/pull/10806>`_

Documentation
~~~~~~~~~~~~~

* Add documentation for the `graph` crate. (#10793)
  `PR #10793 <https://github.com/pantsbuild/pants/pull/10793>`_

* Prepare 1.30.1 (#10843)
  `PR #10843 <https://github.com/pantsbuild/pants/pull/10843>`_

* Prepare 1.30.2rc0 (#10846)
  `PR #10846 <https://github.com/pantsbuild/pants/pull/10846>`_

2.0.0b0 (9/15/2020)
-------------------

API Changes
~~~~~~~~~~~

* Upgrade to Pex 2.1.16. (#10782)
  `PR #10782 <https://github.com/pantsbuild/pants/pull/10782>`_

* Restore running internal only PEXes via discovered Python (#10779) (#10788)
  `PR #10779 <https://github.com/pantsbuild/pants/pull/10779>`_

Bugfixes
~~~~~~~~

* @rules consume params to prevent some types of ambiguity (#10764)
  `PR #10764 <https://github.com/pantsbuild/pants/pull/10764>`_

* Fix xdg-open. (#10773)
  `PR #10773 <https://github.com/pantsbuild/pants/pull/10773>`_

* Hide BinaryPath test processes from TUI by default. (#10774)
  `PR #10774 <https://github.com/pantsbuild/pants/pull/10774>`_

* Signal handling fixes (#10758)
  `PR #10758 <https://github.com/pantsbuild/pants/pull/10758>`_

* Fix UUIDRequest scoping. (#10780)
  `PR #10780 <https://github.com/pantsbuild/pants/pull/10780>`_

* Fix `DictStringToStringField` not working with default values (#10776)
  `PR #10776 <https://github.com/pantsbuild/pants/pull/10776>`_

* Sandbox Pex temporary files. (#10772)
  `PR #10772 <https://github.com/pantsbuild/pants/pull/10772>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* remoting: move target_platform property into environment variable (#10713)
  `PR #10713 <https://github.com/pantsbuild/pants/pull/10713>`_

* Add the ability to capture all known scope options in run tracker. (#10778)
  `PR #10778 <https://github.com/pantsbuild/pants/pull/10778>`_

* fs_util cat-proto has --child-dir arg (#10228)
  `PR #10228 <https://github.com/pantsbuild/pants/pull/10228>`_

* Simplify --print-exception-stacktrace logic (#10786)
  `PR #10786 <https://github.com/pantsbuild/pants/pull/10786>`_

* Various ExceptionSink improvements (#10781)
  `PR #10781 <https://github.com/pantsbuild/pants/pull/10781>`_

* Revert "Run internal only pexes via discovered python. (#10779)" (#10785)
  `PR #10785 <https://github.com/pantsbuild/pants/pull/10785>`_

* Support volatile processes. (#10768)
  `PR #10768 <https://github.com/pantsbuild/pants/pull/10768>`_

* Run internal only pexes via discovered python. (#10779)
  `PR #10779 <https://github.com/pantsbuild/pants/pull/10779>`_

* Fix a leaking pytest-cov abstraction. (#10775)
  `PR #10775 <https://github.com/pantsbuild/pants/pull/10775>`_

* Support tests for BinaryPaths. (#10770)
  `PR #10770 <https://github.com/pantsbuild/pants/pull/10770>`_

Documentation
~~~~~~~~~~~~~

* Prepare 1.30.1rc2 (#10783)
  `PR #10783 <https://github.com/pantsbuild/pants/pull/10783>`_

* Prepare 1.30.1rc1 (#10766)
  `PR #10766 <https://github.com/pantsbuild/pants/pull/10766>`_

* Explain how to fix dependency cycles (#10761)
  `PR #10761 <https://github.com/pantsbuild/pants/pull/10761>`_

2.0.0a3 (9/11/2020)
-------------------

API Changes
~~~~~~~~~~~

* Replace `cloc` with `count-loc`, using much faster SCC program (#10740)
  `PR #10740 <https://github.com/pantsbuild/pants/pull/10740>`_

* Upgrade default isort from 4.6 to 5.5 (#10737)
  `PR #10737 <https://github.com/pantsbuild/pants/pull/10737>`_

* Disambiguate binary and lambda output. (#10735)
  `PR #10735 <https://github.com/pantsbuild/pants/pull/10735>`_

New Features
~~~~~~~~~~~~

* Add `runtime_binary_dependencies` field to `python_tests` target (#10756)
  `PR #10756 <https://github.com/pantsbuild/pants/pull/10756>`_

* Pass proxy-related env vars through to Pex calls. (#10762)
  `PR #10762 <https://github.com/pantsbuild/pants/pull/10762>`_

* Support custom CA bundles. (#10757)
  `PR #10757 <https://github.com/pantsbuild/pants/pull/10757>`_

* Add support to MyPy for first-party plugins (#10755)
  `PR #10755 <https://github.com/pantsbuild/pants/pull/10755>`_

* Filter log levels by target (#10729)
  `PR #10729 <https://github.com/pantsbuild/pants/pull/10729>`_

Bugfixes
~~~~~~~~

* fix incorrect mapping of parameters into PyRemotingOptions struct (#10752)
  `PR #10752 <https://github.com/pantsbuild/pants/pull/10752>`_

* Fix MyPy to work by default with Python 3.6+ code and Black with 3.8+ code (#10750)
  `PR #10750 <https://github.com/pantsbuild/pants/pull/10750>`_

* Temporarily disable 3rd-party requirements support for MyPy (#10765)
  `PR #10765 <https://github.com/pantsbuild/pants/pull/10765>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Support binary dependencies in tests. (#10744)
  `PR #10744 <https://github.com/pantsbuild/pants/pull/10744>`_

* Add support to MyPy for third-party requirements and stubs (PEP 561) (#10753)
  `PR #10753 <https://github.com/pantsbuild/pants/pull/10753>`_

* Add new intrinsic `Paths` to avoid snapshotting (#10741)
  `PR #10741 <https://github.com/pantsbuild/pants/pull/10741>`_

* Remove unused FFI types and `tar_api.rs` (#10742)
  `PR #10742 <https://github.com/pantsbuild/pants/pull/10742>`_

* Remove daemonize method + tests (#10749)
  `PR #10749 <https://github.com/pantsbuild/pants/pull/10749>`_

* Some refactoring around pantsd and warning filtering (#10748)
  `PR #10748 <https://github.com/pantsbuild/pants/pull/10748>`_

* Refactor `pytest_runner_integration_test.py` (#10736)
  `PR #10736 <https://github.com/pantsbuild/pants/pull/10736>`_

* Switch the backend of AsyncSemaphore to tokio's Semaphore. (#10738)
  `PR #10738 <https://github.com/pantsbuild/pants/pull/10738>`_

* Refactor find_valid_field_sets. (#10732)
  `PR #10732 <https://github.com/pantsbuild/pants/pull/10732>`_

* Upgrade to Rust v1.46.0 (#10694)
  `PR #10694 <https://github.com/pantsbuild/pants/pull/10694>`_

Documentation
~~~~~~~~~~~~~

* Fix `./pants help $goal` showing the goal in "related subsystems" (#10754)
  `PR #10754 <https://github.com/pantsbuild/pants/pull/10754>`_

2.0.0a2 (9/3/2020)
------------------

New Features
~~~~~~~~~~~~

* Support adding arbitrary env vars to test processes (#10715)
  `PR #10715 <https://github.com/pantsbuild/pants/pull/10715>`_

* Add a plugin hook for `setup-py` kwargs  (#10721)
  `PR #10721 <https://github.com/pantsbuild/pants/pull/10721>`_

Bugfixes
~~~~~~~~

* Fix the `testutil` wheel's imports not working due to namespace packages (#10725)
  `PR #10725 <https://github.com/pantsbuild/pants/pull/10725>`_

* Fix Pipenv not parsing requirement extras (#10722)
  `PR #10722 <https://github.com/pantsbuild/pants/pull/10722>`_

* Fix invalid shebang for `BinaryPaths` script (#10710)
  `PR #10710 <https://github.com/pantsbuild/pants/pull/10710>`_

* Fix retrieval of bytes from artifacts in StreamingWorkunitHandler (#10698)
  `PR #10698 <https://github.com/pantsbuild/pants/pull/10698>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Improve Pylint to use `--python-setup-resolve-all-constraints` (#10726)
  `PR #10726 <https://github.com/pantsbuild/pants/pull/10726>`_

* Reorganize `pants/backend/python` (#10724)
  `PR #10724 <https://github.com/pantsbuild/pants/pull/10724>`_

* Improve RuleGraph convergence time slightly (#10700)
  `PR #10700 <https://github.com/pantsbuild/pants/pull/10700>`_

* Snapshots of single files store normalized paths. (#10707)
  `PR #10707 <https://github.com/pantsbuild/pants/pull/10707>`_

* Add product type to the Rule trait to simplify unit testing. (#10720)
  `PR #10720 <https://github.com/pantsbuild/pants/pull/10720>`_

Testing
~~~~~~~

* Add `RuleRunner.get_target()` (#10714)
  `PR #10714 <https://github.com/pantsbuild/pants/pull/10714>`_

* Port more tests from `TestBase` to `RuleRunner` (#10704)
  `PR #10704 <https://github.com/pantsbuild/pants/pull/10704>`_

Documentation
~~~~~~~~~~~~~

* Formalize support for VCS-style requirements via PEP 440 (#10728)
  `PR #10728 <https://github.com/pantsbuild/pants/pull/10728>`_

2.0.0a1 (8/28/2020)
-------------------

API Changes
~~~~~~~~~~~

* Upgrade default Black version to 20.8b1 (#10696)
  `PR #10696 <https://github.com/pantsbuild/pants/pull/10696>`_

Bugfixes
~~~~~~~~

* Fix `test --debug` to be hermetic, but keep `run` and `repl` non-hermetic (#10701)
  `PR #10701 <https://github.com/pantsbuild/pants/pull/10701>`_

* Properly fix setting a custom coverage config file (#10692)
  `PR #10692 <https://github.com/pantsbuild/pants/pull/10692>`_

* remoting: output directories in action results reference trees (#10691)
  `PR #10691 <https://github.com/pantsbuild/pants/pull/10691>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Unify logging implementations and remove simplelog (#10686)
  `PR #10686 <https://github.com/pantsbuild/pants/pull/10686>`_

Testing
~~~~~~~

* Rename `run_rule` to `run_rule_with_mocks` (#10702)
  `PR #10702 <https://github.com/pantsbuild/pants/pull/10702>`_

* Add `RuleRunner` as a Pytest-style replacement to `TestBase` (#10699)
  `PR #10699 <https://github.com/pantsbuild/pants/pull/10699>`_

* Remove unused `TestBase` setup (#10697)
  `PR #10697 <https://github.com/pantsbuild/pants/pull/10697>`_

Documentation
~~~~~~~~~~~~~

* Fix stale comments in `logger.rs` (#10695)
  `PR #10695 <https://github.com/pantsbuild/pants/pull/10695>`_

* Document rule graph construction and open issues (#10690)
  `PR #10690 <https://github.com/pantsbuild/pants/pull/10690>`_

2.0.0a0 (8/24/2020)
-------------------

API Changes
~~~~~~~~~~~

* Temporarily disable protobuf support. (#10685)
  `PR #10685 <https://github.com/pantsbuild/pants/pull/10685>`_

* Simplify `python_requirement_library` by deprecating the `python_requirement` object (#10669)
  `PR #10669 <https://github.com/pantsbuild/pants/pull/10669>`_

* Updated default version of pytest to 6.0.1 (#10328)
  `PR #10328 <https://github.com/pantsbuild/pants/pull/10328>`_

New Features
~~~~~~~~~~~~

* Adds a `pipenv_requirements` macro (#10654)
  `PR #10654 <https://github.com/pantsbuild/pants/pull/10654>`_

* Add transitive excludes for `dependencies` with `!!` (#10663)
  `PR #10663 <https://github.com/pantsbuild/pants/pull/10663>`_

Bugfixes
~~~~~~~~

* Fix Coverage loading a custom config file (#10670)
  `PR #10670 <https://github.com/pantsbuild/pants/pull/10670>`_

* Fix Rust 3rdparty logs showing up with `--dynamic-ui` (#10640)
  `PR #10640 <https://github.com/pantsbuild/pants/pull/10640>`_

* Fix logging deadlock when trace logging is used (#10635)
  `PR #10635 <https://github.com/pantsbuild/pants/pull/10635>`_

* Fix project name canonicalization. (#10628)
  `PR #10628 <https://github.com/pantsbuild/pants/pull/10628>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Revert "Fix `run`, `repl`, and `test --debug` to have hermetic environments (#10668)" (#10688)
  `PR #10688 <https://github.com/pantsbuild/pants/pull/10688>`_

* Implement RuleGraph construction using data flow analysis (#10645)
  `PR #10645 <https://github.com/pantsbuild/pants/pull/10645>`_

* Fix `run`, `repl`, and `test --debug` to have hermetic environments (#10668)
  `PR #10668 <https://github.com/pantsbuild/pants/pull/10668>`_

* Handle workunits corresponding to canceled Nodes. (#10659)
  `PR #10659 <https://github.com/pantsbuild/pants/pull/10659>`_

* Add support for JSON coverage reports (#10625)
  `PR #10625 <https://github.com/pantsbuild/pants/pull/10625>`_

* Add an FFI function for reading a `FrozenDict` (#10666)
  `PR #10666 <https://github.com/pantsbuild/pants/pull/10666>`_

* Stream output of `typecheck`, rather than dumping at the end (#10656)
  `PR #10656 <https://github.com/pantsbuild/pants/pull/10656>`_

* Allow `binary` to be implemented without implementing `run` (#10660)
  `PR #10660 <https://github.com/pantsbuild/pants/pull/10660>`_

* Reduce noisy log messages from `@rule` params (#10658)
  `PR #10658 <https://github.com/pantsbuild/pants/pull/10658>`_

* Add type hints to `TestBase` (#10647)
  `PR #10647 <https://github.com/pantsbuild/pants/pull/10647>`_

* Refactoring in graph (#10637)
  `PR #10637 <https://github.com/pantsbuild/pants/pull/10637>`_

* Stream output of `test`, rather than dumping at the end (#10634)
  `PR #10634 <https://github.com/pantsbuild/pants/pull/10634>`_

* Preserve Pytest's exit code with `./pants test` (#10632)
  `PR #10632 <https://github.com/pantsbuild/pants/pull/10632>`_

* Rename `--per-target-caching` to `--per-file-caching` for `lint` and `fmt` (#10630)
  `PR #10630 <https://github.com/pantsbuild/pants/pull/10630>`_

* Upgrade setuptools from 49.2.0 to 49.60 (#10626)
  `PR #10626 <https://github.com/pantsbuild/pants/pull/10626>`_

* Allow `test --debug` to run on multiple targets sequentially (#10629)
  `PR #10629 <https://github.com/pantsbuild/pants/pull/10629>`_

* Stream output of `fmt`, rather than dumping at the end (#10627)
  `PR #10627 <https://github.com/pantsbuild/pants/pull/10627>`_

* Stream output of `lint`, rather than dumping at the end (#10538)
  `PR #10538 <https://github.com/pantsbuild/pants/pull/10538>`_

* Add coverage reports as artifacts on the test goal workunit (#10623)
  `PR #10623 <https://github.com/pantsbuild/pants/pull/10623>`_

Testing
~~~~~~~

* Change `TestBase.request_product()` to take an iterable of subjects (#10682)
  `PR #10682 <https://github.com/pantsbuild/pants/pull/10682>`_

* Only use `TestBase` for tests that run rules (#10680)
  `PR #10680 <https://github.com/pantsbuild/pants/pull/10680>`_

* Change `pants_integration_test.py` to use Pytest-style functions (#10675)
  `PR #10675 <https://github.com/pantsbuild/pants/pull/10675>`_

* Consolidate `GoalRuleTestBase` into `TestBase` (#10679)
  `PR #10679 <https://github.com/pantsbuild/pants/pull/10679>`_

* Rename `TestBase.request_single_product` to `TestBase.request_product` (#10678)
  `PR #10678 <https://github.com/pantsbuild/pants/pull/10678>`_

* Reorganize `testutil/` (#10674)
  `PR #10674 <https://github.com/pantsbuild/pants/pull/10674>`_

* Add `PantsIntegrationTest.setup_tmpdir()` (#10673)
  `PR #10673 <https://github.com/pantsbuild/pants/pull/10673>`_

* Change `PantsIntegrationTest` to be hermetic by default (#10672)
  `PR #10672 <https://github.com/pantsbuild/pants/pull/10672>`_

* Remove unused `pytest-timeout` plugin from default `--pytest-plugins` (#10631)
  `PR #10631 <https://github.com/pantsbuild/pants/pull/10631>`_

* Rename `PantsRunIntegrationTest` to `PantsIntegrationTest` (#10664)
  `PR #10664 <https://github.com/pantsbuild/pants/pull/10664>`_

* Add tests for HTML and XML coverage reports. (#10211)
  `PR #10211 <https://github.com/pantsbuild/pants/pull/10211>`_

Documentation/Logging
~~~~~~~~~~~~~~~~~~~~~

* Provide better debugging information for rule parameters (#10665)
  `PR #10665 <https://github.com/pantsbuild/pants/pull/10665>`_

* Stop including the origin module in Debug logs (#10642)
  `PR #10642 <https://github.com/pantsbuild/pants/pull/10642>`_

* Change log level for rules and filesystem intrinsics to trace (#10639)
  `PR #10639 <https://github.com/pantsbuild/pants/pull/10639>`_

* Change some remote execution log messages to debug level (#10643)
  `PR #10643 <https://github.com/pantsbuild/pants/pull/10643>`_

2.0.0.dev9 (8/15/2020)
----------------------

API Changes
~~~~~~~~~~~

* Deprecate `--option-name-check-distance` (#10611)
  `PR #10611 <https://github.com/pantsbuild/pants/pull/10611>`_

New Features
~~~~~~~~~~~~

* Allow restricting use of resolve_all_constraints. (#10614)
  `PR #10614 <https://github.com/pantsbuild/pants/pull/10614>`_

Bugfixes
~~~~~~~~

* Revert #10603 so that `conftest.py` belongs to `python_tests` again (#10619)
  `PR #10619 <https://github.com/pantsbuild/pants/pull/10619>`_

* Spawning against materialized binaries works. (#10577)
  `PR #10577 <https://github.com/pantsbuild/pants/pull/10577>`_

* Fix linter reports when there are multiple generated (#10612)
  `PR #10612 <https://github.com/pantsbuild/pants/pull/10612>`_

* Fix log not always showing up when `--dynamic-ui` is set (#10616)
  `PR #10616 <https://github.com/pantsbuild/pants/pull/10616>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Simplify `core/goals/test.py` (#10622)
  `PR #10622 <https://github.com/pantsbuild/pants/pull/10622>`_

* Remove passive options mechanism (#10621)
  `PR #10621 <https://github.com/pantsbuild/pants/pull/10621>`_

* Speed up resolving requirements through `--use-first-matching-interpreter` Pex flag (#10442)
  `PR #10442 <https://github.com/pantsbuild/pants/pull/10442>`_

2.0.0.dev8 (8/13/2020)
----------------------

API Changes
~~~~~~~~~~~

* Change `conftest.py` to default to `python_library` rather than `python_tests` (#10603)
  `PR #10603 <https://github.com/pantsbuild/pants/pull/10603>`_

* Deprecate `--python-setup-platforms` (#10596)
  `PR #10596 <https://github.com/pantsbuild/pants/pull/10596>`_

* Make `zip_safe` default to False for `python_binary` targets. (#10608)
  `PR #10608 <https://github.com/pantsbuild/pants/pull/10608>`_

New Features
~~~~~~~~~~~~

* Add `--python-infer-string-imports` (#10609)
  `PR #10609 <https://github.com/pantsbuild/pants/pull/10609>`_

* Add `--pex-verbosity` option to facilitate debugging (#10604)
  `PR #10604 <https://github.com/pantsbuild/pants/pull/10604>`_

Bugfixes
~~~~~~~~

* Fix binary running to correctly work with source roots. (#10607)
  `PR #10607 <https://github.com/pantsbuild/pants/pull/10607>`_

* Fix issues with REPL implementation (#10597)
  `PR #10597 <https://github.com/pantsbuild/pants/pull/10597>`_

* Fix regression in unmatched globs error message (#10595)
  `PR #10595 <https://github.com/pantsbuild/pants/pull/10595>`_

* Require `provides` field for a `python_distribution` target (#10591)
  `PR #10591 <https://github.com/pantsbuild/pants/pull/10591>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Rename `determine_source_files.py` and `strip_source_roots.py` (#10588)
  `PR #10588 <https://github.com/pantsbuild/pants/pull/10588>`_

* Add XML test results as artifacts on the test goal workunit (#10606)
  `PR #10606 <https://github.com/pantsbuild/pants/pull/10606>`_

* Add non-root pantsbuild user to remote execution image (#10583)
  `PR #10583 <https://github.com/pantsbuild/pants/pull/10583>`_

* Move `--files-not-found-behavior` and BUILD file options out of bootstrap options (#10586)
  `PR #10586 <https://github.com/pantsbuild/pants/pull/10586>`_

* Remoting: limit retries for execution requests. (#10600)
  `PR #10600 <https://github.com/pantsbuild/pants/pull/10600>`_

* Ensure MyPy always runs with at least Python 3.6 internally. (#10602)
  `PR #10602 <https://github.com/pantsbuild/pants/pull/10602>`_

Documentation
~~~~~~~~~~~~~

* Improve errors for invalid `Get` objects (#10593)
  `PR #10593 <https://github.com/pantsbuild/pants/pull/10593>`_

2.0.0.dev7 (8/10/2020)
----------------------

API Changes
~~~~~~~~~~~

* A python_distribution target. (#10565)
  `PR #10565 <https://github.com/pantsbuild/pants/pull/10565>`_

* Enable Python dependency inference by default (#10520)
  `PR #10520 <https://github.com/pantsbuild/pants/pull/10520>`_

* Targets act as aliases for their files (#10511)
  `PR #10511 <https://github.com/pantsbuild/pants/pull/10511>`_

New Features
~~~~~~~~~~~~

* Allow using file addresses on the command line (#10573)
  `PR #10573 <https://github.com/pantsbuild/pants/pull/10573>`_

* Add `--build-patterns` option (#10559)
  `PR #10559 <https://github.com/pantsbuild/pants/pull/10559>`_

* Allow protobuf_library targets to specify a python source root. (#10549)
  `PR #10549 <https://github.com/pantsbuild/pants/pull/10549>`_

* Restore the missing init injection logic. (#10517)
  `PR #10517 <https://github.com/pantsbuild/pants/pull/10517>`_

* Add `--pex-executable-search-path` (#10489)
  `PR #10489 <https://github.com/pantsbuild/pants/pull/10489>`_

* Add support for bandit output file. (#10412)
  `PR #10412 <https://github.com/pantsbuild/pants/pull/10412>`_

Bugfixes
~~~~~~~~

* Sync before executing a process if running in Docker (#10568)
  `PR #10568 <https://github.com/pantsbuild/pants/pull/10568>`_

* Fix some issues from #10535 Address changes (#10555)
  `PR #10555 <https://github.com/pantsbuild/pants/pull/10555>`_

* Remove self-inflicted invalidation caused by exception logging. (#10521)
  `PR #10521 <https://github.com/pantsbuild/pants/pull/10521>`_

* Fix bug that caused setup-py to hang if src root==buildroot. (#10509)
  `PR #10509 <https://github.com/pantsbuild/pants/pull/10509>`_

* Fix ExternalTool to use relative paths (#10503)
  `PR #10503 <https://github.com/pantsbuild/pants/pull/10503>`_

* Fix `./pants binary` not outputting the full output path (#10506)
  `PR #10506 <https://github.com/pantsbuild/pants/pull/10506>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Stop validating that `!` dependency ignores are used (#10585)
  `PR #10585 <https://github.com/pantsbuild/pants/pull/10585>`_

* Lower the default for `--python-setup-resolver-jobs` (#10584)
  `PR #10584 <https://github.com/pantsbuild/pants/pull/10584>`_

* Automatically inject dependencies on sibling files when dependency inference is unused (#10582)
  `PR #10582 <https://github.com/pantsbuild/pants/pull/10582>`_

* Use a constraints file in this repo. (#10579)
  `PR #10579 <https://github.com/pantsbuild/pants/pull/10579>`_

* Disable speculation by default (#10581)
  `PR #10581 <https://github.com/pantsbuild/pants/pull/10581>`_

* upgrade to Rust v1.45.2 (#10556)
  `PR #10556 <https://github.com/pantsbuild/pants/pull/10556>`_

* Move `--tag` and `--exclude-target-regexp` out of bootstrap options (#10569)
  `PR #10569 <https://github.com/pantsbuild/pants/pull/10569>`_

* Allow for disabling pantsrc in OptionsBootstrapper independently of options values (#10562)
  `PR #10562 <https://github.com/pantsbuild/pants/pull/10562>`_

* Refactor rule to resolve address specs (#10563)
  `PR #10563 <https://github.com/pantsbuild/pants/pull/10563>`_

* Stop using `AddressWithOrigin` for precise file arguments (#10551)
  `PR #10551 <https://github.com/pantsbuild/pants/pull/10551>`_

* Always use generated subtargets with file arguments (#10550)
  `PR #10550 <https://github.com/pantsbuild/pants/pull/10550>`_

* Remove unused `SymbolTable` (#10544)
  `PR #10544 <https://github.com/pantsbuild/pants/pull/10544>`_

* Support and require disambiguated file addresses (#10535)
  `PR #10535 <https://github.com/pantsbuild/pants/pull/10535>`_

* Revert "Add cache_failures option to Process type (#10433)" (#10534)
  `PR #10534 <https://github.com/pantsbuild/pants/pull/10534>`_

* Simplify source root stripping. (#10543)
  `PR #10543 <https://github.com/pantsbuild/pants/pull/10543>`_

* Improve source root stripping performance. (#10533)
  `PR #10533 <https://github.com/pantsbuild/pants/pull/10533>`_

* ArgSplitter operates relative to the buildroot. (#10540)
  `PR #10540 <https://github.com/pantsbuild/pants/pull/10540>`_

* Simplify the setup-py rules. (#10529)
  `PR #10529 <https://github.com/pantsbuild/pants/pull/10529>`_

* Allow `Process` to set its workunit level (#10528)
  `PR #10528 <https://github.com/pantsbuild/pants/pull/10528>`_

* Rely on the init-injection rules to trigger errors for un-depended-on-and-relevant __init__.py files. (#10524)
  `PR #10524 <https://github.com/pantsbuild/pants/pull/10524>`_

* Remove rust source include from integration tests. (#10522)
  `PR #10522 <https://github.com/pantsbuild/pants/pull/10522>`_

* upgrade to rust v1.45.1 (#10523)
  `PR #10523 <https://github.com/pantsbuild/pants/pull/10523>`_

* Store SpanIds as integers (#10512)
  `PR #10512 <https://github.com/pantsbuild/pants/pull/10512>`_

* Remove `tarutil.py` (#10516)
  `PR #10516 <https://github.com/pantsbuild/pants/pull/10516>`_

* Refactor Pex usage through new helper rules (#10514)
  `PR #10514 <https://github.com/pantsbuild/pants/pull/10514>`_

* Get rid of the remote backend subsystems. (#10502)
  `PR #10502 <https://github.com/pantsbuild/pants/pull/10502>`_

* Move subsystem.py and its test into pants.option. (#10500)
  `PR #10500 <https://github.com/pantsbuild/pants/pull/10500>`_

* Lower the default local parallelism, and align the number of swimlanes to it. (#10499)
  `PR #10499 <https://github.com/pantsbuild/pants/pull/10499>`_

* Rotate travis aws creds. (#10496)
  `PR #10496 <https://github.com/pantsbuild/pants/pull/10496>`_

* Add cache_failures option to Process type (#10433)
  `PR #10433 <https://github.com/pantsbuild/pants/pull/10433>`_

* Deprecate `Subsystem.get_options()` in favor of `Subsystem.options` (#10493)
  `PR #10493 <https://github.com/pantsbuild/pants/pull/10493>`_

* Simplify script to check `__init__.py` files (#10488)
  `PR #10488 <https://github.com/pantsbuild/pants/pull/10488>`_

* Merge interactive_process.py into process.py (#10495)
  `PR #10495 <https://github.com/pantsbuild/pants/pull/10495>`_

* Export `Get` and `MultiGet` from `rules.py` (#10485)
  `PR #10485 <https://github.com/pantsbuild/pants/pull/10485>`_

* Simplify `engine/internals/nodes.py` (#10487)
  `PR #10487 <https://github.com/pantsbuild/pants/pull/10487>`_

* Add cache_failures option to Process type (#10433)
  `PR #10433 <https://github.com/pantsbuild/pants/pull/10433>`_

Testing
~~~~~~~

* Disable remote execution due to RBE shutdown. (#10566)
  `PR #10566 <https://github.com/pantsbuild/pants/pull/10566>`_

* remoting: use non-RBE pants remote execution image (#10539)
  `PR #10539 <https://github.com/pantsbuild/pants/pull/10539>`_

* Avoid Python 3.8+ for Pylint test (#10548)
  `PR #10548 <https://github.com/pantsbuild/pants/pull/10548>`_

* avoid Py 3.8 for BanditIntegrationTest.test_3rdparty_plugin (#10546)
  `PR #10546 <https://github.com/pantsbuild/pants/pull/10546>`_

* set locale vars for remoting image (#10541)
  `PR #10541 <https://github.com/pantsbuild/pants/pull/10541>`_

* Test for rule graph issues with each distinct backend (#10519)
  `PR #10519 <https://github.com/pantsbuild/pants/pull/10519>`_

* docker image for remote execution without GCP/RBE (#10515)
  `PR #10515 <https://github.com/pantsbuild/pants/pull/10515>`_

Documentation/Logging
~~~~~~~~~~~~~~~~~~~~~

* Update docs urls to pantsbuild.org. (#10580)
  `PR #10580 <https://github.com/pantsbuild/pants/pull/10580>`_

* Improve log message when resolving entire lockfile. (#10578)
  `PR #10578 <https://github.com/pantsbuild/pants/pull/10578>`_

* Improve error message when the path component does not exist (#10570)
  `PR #10570 <https://github.com/pantsbuild/pants/pull/10570>`_

* Prepare 1.30.1rc0 (#10554)
  `PR #10554 <https://github.com/pantsbuild/pants/pull/10554>`_

* Improve error message for unrecognized BUILD file symbols (#10531)
  `PR #10531 <https://github.com/pantsbuild/pants/pull/10531>`_

* Reduce verbosity of finding binaries (#10525)
  `PR #10525 <https://github.com/pantsbuild/pants/pull/10525>`_

* Render all frames of a failure in Engine tracebacks (#10510)
  `PR #10510 <https://github.com/pantsbuild/pants/pull/10510>`_

* Fix bad indent of default in option help. (#10501)
  `PR #10501 <https://github.com/pantsbuild/pants/pull/10501>`_

* Fix display of default/current values in help. (#10490)
  `PR #10490 <https://github.com/pantsbuild/pants/pull/10490>`_

* Stop warning when return code != 0 or 1 (#10486)
  `PR #10486 <https://github.com/pantsbuild/pants/pull/10486>`_

2.0.0.dev6 (7/28/2020)
----------------------

API Changes
~~~~~~~~~~~

* Upgrade to Pex 2.1.14 (#10437)
  `PR #10437 <https://github.com/pantsbuild/pants/pull/10437>`_

New Features
~~~~~~~~~~~~

* Improve test output and allow it be configured. (#10484)
  `PR #10484 <https://github.com/pantsbuild/pants/pull/10484>`_

Bugfixes
~~~~~~~~

* Make independent owners requests per file to improve memoization (#10491)
  `PR #10491 <https://github.com/pantsbuild/pants/pull/10491>`_

* Fix `PluginField` not working in production (#10469)
  `PR #10469 <https://github.com/pantsbuild/pants/pull/10469>`_

* Allow for more cyclic cases with file dependencies (#10475)
  `PR #10475 <https://github.com/pantsbuild/pants/pull/10475>`_

* Fix Protobuf when using source roots (#10453)
  `PR #10453 <https://github.com/pantsbuild/pants/pull/10453>`_

* Fix fromfile expansion to skip passthrough args. (#10457)
  `PR #10457 <https://github.com/pantsbuild/pants/pull/10457>`_

* Fix `--print-exception-stacktrace` not invalidating pantsd (#10451)
  `PR #10451 <https://github.com/pantsbuild/pants/pull/10451>`_

* fixes in async_semaphore for concurrency ID calculation (#10436)
  `PR #10436 <https://github.com/pantsbuild/pants/pull/10436>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Eliminate most rule registration boilerplate. (#10477)
  `PR #10477 <https://github.com/pantsbuild/pants/pull/10477>`_

* Remove unused `util/` and `base/` code (#10462)
  `PR #10462 <https://github.com/pantsbuild/pants/pull/10462>`_

* Rename `UrlToFetch` to `DownloadFile` (#10468)
  `PR #10468 <https://github.com/pantsbuild/pants/pull/10468>`_

* Change the `PathGlobs`, `SnapshotSubset`, and `UrlToFetch` intrinsics to return `Digest` (#10449)
  `PR #10449 <https://github.com/pantsbuild/pants/pull/10449>`_

* Unify accessing options for a `GoalSubsystem` with `Subsystem` (#10456)
  `PR #10456 <https://github.com/pantsbuild/pants/pull/10456>`_

* Rename `Workspace.materialize_directory()` to `Workspace.write_digest()` (#10448)
  `PR #10448 <https://github.com/pantsbuild/pants/pull/10448>`_

* Remove unused `SingleFileExecutable` (#10443)
  `PR #10443 <https://github.com/pantsbuild/pants/pull/10443>`_

* Remove support for Protoc 2 (#10439)
  `PR #10439 <https://github.com/pantsbuild/pants/pull/10439>`_

* Make GoalSubsystem subclass Subsystem. (#10483)
  `PR #10483 <https://github.com/pantsbuild/pants/pull/10483>`_

* Tweaks to help output: (#10466)
  `PR #10466 <https://github.com/pantsbuild/pants/pull/10466>`_

* Cleanup `fs.py` (#10474)
  `PR #10474 <https://github.com/pantsbuild/pants/pull/10474>`_

* Add `UnionMembership.from_rules()` (#10472)
  `PR #10472 <https://github.com/pantsbuild/pants/pull/10472>`_

* Kill Reporting (mostly). (#10463)
  `PR #10463 <https://github.com/pantsbuild/pants/pull/10463>`_

* Add dependencies on conftest and init files via inference (#10441)
  `PR #10441 <https://github.com/pantsbuild/pants/pull/10441>`_

* Kill ./pants literals. (#10465)
  `PR #10465 <https://github.com/pantsbuild/pants/pull/10465>`_

* Remove Options <-> Parser cycle. (#10464)
  `PR #10464 <https://github.com/pantsbuild/pants/pull/10464>`_

* Revert "Use isort v5.x as the default version (#10258)" (#10460)
  `PR #10460 <https://github.com/pantsbuild/pants/pull/10460>`_

* Demystify get_all_scoped_flag_names mypy kludges. (#10459)
  `PR #10459 <https://github.com/pantsbuild/pants/pull/10459>`_

* Optimize generated subtargets' interaction with `SpecifiedSourceFiles` (#10454)
  `PR #10454 <https://github.com/pantsbuild/pants/pull/10454>`_

* Simplify Collection. (#10450)
  `PR #10450 <https://github.com/pantsbuild/pants/pull/10450>`_

* Improvements to help output. (#10444)
  `PR #10444 <https://github.com/pantsbuild/pants/pull/10444>`_

* Fixes to get the process_executor CLI tool working again. (#10435)
  `PR #10435 <https://github.com/pantsbuild/pants/pull/10435>`_

* Rename argument in streaming workunit callback (#10432)
  `PR #10432 <https://github.com/pantsbuild/pants/pull/10432>`_

Testing
~~~~~~~

* Only skip building wheels on PR builds (#10482)
  `PR #10482 <https://github.com/pantsbuild/pants/pull/10482>`_

* Skip building wheels if no release files have changed (#10481)
  `PR #10481 <https://github.com/pantsbuild/pants/pull/10481>`_

* Skip flaky GoalRuleIntegrationTest (#10479)
  `Issue #10478 <https://github.com/pantsbuild/pants/issues/10478>`_
  `PR #10479 <https://github.com/pantsbuild/pants/pull/10479>`_

* A script to create an index.html for pants wheels on S3. (#10458)
  `PR #10458 <https://github.com/pantsbuild/pants/pull/10458>`_

* Get rid of remaining uses of init_subsystem. (#10427)
  `PR #10427 <https://github.com/pantsbuild/pants/pull/10427>`_

2.0.0.dev5 (7/22/2020)
----------------------

API Changes
~~~~~~~~~~~

* Use isort v5.x as the default version (#10258)
  `PR #10258 <https://github.com/pantsbuild/pants/pull/10258>`_

* Don't register any options as recursive. (#10415)
  `PR #10415 <https://github.com/pantsbuild/pants/pull/10415>`_

New Features
~~~~~~~~~~~~

* Speed up `repl` to no longer rebuild a Pex on source file changes (#10418)
  `Issue #10406 <https://github.com/pantsbuild/pants/issues/10406>`_
  `PR #10418 <https://github.com/pantsbuild/pants/pull/10418>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Implement cycle detection in transitive_targets, and tolerate cycles in file-addresses. (#10409)
  `PR #10409 <https://github.com/pantsbuild/pants/pull/10409>`_

* Stop using cargo-ensure-installed (#10400)
  `PR #10400 <https://github.com/pantsbuild/pants/pull/10400>`_

* Remove use of "quiet" in logging init (#10417)
  `PR #10417 <https://github.com/pantsbuild/pants/pull/10417>`_

Testing
~~~~~~~

* Port the plugin resolver test to v2 test style. (#10424)
  `PR #10424 <https://github.com/pantsbuild/pants/pull/10424>`_

* Refactor flake8 integration test to use create_options_bootstrapper (#10422)
  `PR #10422 <https://github.com/pantsbuild/pants/pull/10422>`_

* Increase timeout on project_info tests. (#10421)
  `PR #10421 <https://github.com/pantsbuild/pants/pull/10421>`_

2.0.0.dev4 (7/21/2020)
----------------------

API Changes
~~~~~~~~~~~

* Upgrade default mypy from 0.781 to 0.782 (#10404)
  `PR #10404 <https://github.com/pantsbuild/pants/pull/10404>`_

* Remove unused `--fmt-only` option (#10388)
  `PR #10388 <https://github.com/pantsbuild/pants/pull/10388>`_

* Don't turn on branch coverage by default. (#10386)
  `PR #10386 <https://github.com/pantsbuild/pants/pull/10386>`_

* access store server for action cache (#10329)
  `Issue #10317 <https://github.com/pantsbuild/pants/issues/10317>`_
  `PR #10329 <https://github.com/pantsbuild/pants/pull/10329>`_

* Upgrade setuptools from 49.1.0 to 49.2.0 (#10347)
  `PR #10347 <https://github.com/pantsbuild/pants/pull/10347>`_

* Move `target.py` rules to `engine/internals/graph.py` (#10372)
  `PR #10372 <https://github.com/pantsbuild/pants/pull/10372>`_

New Features
~~~~~~~~~~~~

* Speed up `run` to no longer rebuild a Pex on source file changes (#10410)
  `Issue #10406 <https://github.com/pantsbuild/pants/issues/10406>`_
  `PR #10410 <https://github.com/pantsbuild/pants/pull/10410>`_

* Support for using a single global resolve. (#10405)
  `PR #10405 <https://github.com/pantsbuild/pants/pull/10405>`_

* Flake8 output file support. (#10371)
  `PR #10371 <https://github.com/pantsbuild/pants/pull/10371>`_

* A flag to force rerunning tests, bypassing the cache. (#10403)
  `PR #10403 <https://github.com/pantsbuild/pants/pull/10403>`_

* Support for injecting ancestor conftest.py files. (#10378)
  `PR #10378 <https://github.com/pantsbuild/pants/pull/10378>`_

* Allow ignoring dependencies with `!` (#10385)
  `PR #10385 <https://github.com/pantsbuild/pants/pull/10385>`_

* Allow dependencies on files in BUILD files (#10381)
  `PR #10381 <https://github.com/pantsbuild/pants/pull/10381>`_

* Unify generated subtargets with file arguments and `--changed-since` (#10356)
  `PR #10356 <https://github.com/pantsbuild/pants/pull/10356>`_

* Use colors for log messages (#10278)
  `PR #10278 <https://github.com/pantsbuild/pants/pull/10278>`_

Bugfixes
~~~~~~~~

* Print initial logs from pantsd using local time format
  `Issue #10128 <https://github.com/pantsbuild/pants/issues/10128>`_

* Fix using relative paths with `--local-cache-dir` and `--named-caches-dir` (#10398)
  `PR #10398 <https://github.com/pantsbuild/pants/pull/10398>`_

* Fix validation of dependencies ignores breaking with generated subtargets (#10407)
  `PR #10407 <https://github.com/pantsbuild/pants/pull/10407>`_

* close write stream for CAS writes via ByteStream API (#10395)
  `PR #10395 <https://github.com/pantsbuild/pants/pull/10395>`_

* Fix recently added n^2 edge collection. (#10392)
  `PR #10392 <https://github.com/pantsbuild/pants/pull/10392>`_

* Align cache directory calculation so that the LMDB store location is uniformly configurable. (#10391)
  `PR #10391 <https://github.com/pantsbuild/pants/pull/10391>`_

* remoting: use debug level for RE client workunits saved from remote (#10382)
  `PR #10382 <https://github.com/pantsbuild/pants/pull/10382>`_

* Always include types in the engine's definition of equality. (#10377)
  `PR #10377 <https://github.com/pantsbuild/pants/pull/10377>`_

* Have help respond to color (#10357)
  `PR #10357 <https://github.com/pantsbuild/pants/pull/10357>`_

* Display multiline help nicely. (#10366)
  `PR #10366 <https://github.com/pantsbuild/pants/pull/10366>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Add a hint about adjusting max_user_watches on Linux. (#10413)
  `PR #10413 <https://github.com/pantsbuild/pants/pull/10413>`_

* Delete unused v1 sources. (#10411)
  `PR #10411 <https://github.com/pantsbuild/pants/pull/10411>`_

* upgrade to Rust 1.45.0 (#10396)
  `PR #10396 <https://github.com/pantsbuild/pants/pull/10396>`_

* Tolerate target cycles when using dependency inference (#10393)
  `Issue #10059 <https://github.com/pantsbuild/pants/issues/10059>`_
  `PR #10393 <https://github.com/pantsbuild/pants/pull/10393>`_

* Revert "Tolerate target cycles when using dependency inference (#10393)" (#10401)
  `PR #10393 <https://github.com/pantsbuild/pants/pull/10393>`_
  `PR #10401 <https://github.com/pantsbuild/pants/pull/10401>`_

* Add support for cycle-tolerant "weak" Gets (#10230)
  `PR #10230 <https://github.com/pantsbuild/pants/pull/10230>`_

* Make fetching wheels more resilient to network errors. (#10376)
  `PR #10376 <https://github.com/pantsbuild/pants/pull/10376>`_

* Avoid undefined behaviour around f64/u64 casts (#10374)
  `PR #10374 <https://github.com/pantsbuild/pants/pull/10374>`_

* Fix when an explicitly provided dependency supersedes an inferred dependency (#10375)
  `PR #10375 <https://github.com/pantsbuild/pants/pull/10375>`_

* Fix dependency inference handling of dependencies on self (#10373)
  `PR #10373 <https://github.com/pantsbuild/pants/pull/10373>`_

* Render local process infrastructure errors more verbosely. (#10368)
  `PR #10368 <https://github.com/pantsbuild/pants/pull/10368>`_

* Use our validate goal instead of the custom header check. (#10361)
  `PR #10361 <https://github.com/pantsbuild/pants/pull/10361>`_

* Delete some unused testprojects code. (#10364)
  `PR #10364 <https://github.com/pantsbuild/pants/pull/10364>`_

Testing
~~~~~~~

* Upload coverage data to coveralls (#10299)
  `PR #10299 <https://github.com/pantsbuild/pants/pull/10299>`_
  `PR #9919 <https://github.com/pantsbuild/pants/pull/9919>`_

Documentation
~~~~~~~~~~~~~

* A script to generate options reference pages for the docsite. (#10387)
  `PR #10387 <https://github.com/pantsbuild/pants/pull/10387>`_

2.0.0.dev3 (7/15/2020)
----------------------

New Features
~~~~~~~~~~~~

* Allow specifying address and file arguments at the same time (#10345)
  `PR #10345 <https://github.com/pantsbuild/pants/pull/10345>`_

* Make help-all dump a JSON blob containing all help info. (#10336)
  `PR #10336 <https://github.com/pantsbuild/pants/pull/10336>`_

* Integrate option value derivation into help. (#10313)
  `PR #10313 <https://github.com/pantsbuild/pants/pull/10313>`_

* Generate subtargets with file-level precision for dependency inference (#10305)
  `PR #10305 <https://github.com/pantsbuild/pants/pull/10305>`_

* Add option for specifying environment variable with concurrency slot (#10297)
  `PR #10297 <https://github.com/pantsbuild/pants/pull/10297>`_

* Add support for specifying a custom coverage config file (.coveragerc) (#10289)
  `PR #10289 <https://github.com/pantsbuild/pants/pull/10289>`_

Bugfixes
~~~~~~~~

* Fix generated subtargets not working with `dependees` (#10355)
  `PR #10355 <https://github.com/pantsbuild/pants/pull/10355>`_

* Ignore dead symlinks on Linux as well as OSX (#10339)
  `PR #10339 <https://github.com/pantsbuild/pants/pull/10339>`_

* Fix bug where workunit completion was not reported correctly (#10277)
  `PR #10277 <https://github.com/pantsbuild/pants/pull/10277>`_

* Fix collision in workunit affecting patches. (#10350)
  `PR #10350 <https://github.com/pantsbuild/pants/pull/10350>`_

* Pass stream workunit context to all callbacks calls instead of just passing it in the last call. (#10340)
  `PR #10340 <https://github.com/pantsbuild/pants/pull/10340>`_

* Fix awslambda configuration of Pex. (#10323)
  `PR #10323 <https://github.com/pantsbuild/pants/pull/10323>`_

* Hotfix Bandit breaking from stevedore 3.0 release (#10319)
  `PR #10319 <https://github.com/pantsbuild/pants/pull/10319>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Render only leaf rule graph errors, and improve error messages (#10311)
  `PR #10311 <https://github.com/pantsbuild/pants/pull/10311>`_

* Tweak `any_matches_filespec` to return which paths matched (#10358)
  `PR #10358 <https://github.com/pantsbuild/pants/pull/10358>`_

* Add check for invalid concrete time dates (#10349)
  `PR #10349 <https://github.com/pantsbuild/pants/pull/10349>`_

* Explicit error on missing descriptions in the `goals` goal. (#10348)
  `PR #10348 <https://github.com/pantsbuild/pants/pull/10348>`_

* Add module to default rule names. (#10341)
  `PR #10341 <https://github.com/pantsbuild/pants/pull/10341>`_

* add artifacts infrastructure on relevant types (#10344)
  `PR #10344 <https://github.com/pantsbuild/pants/pull/10344>`_

* Revert modernization of virtualenv to fix pants.pex deploy in CI. (#10343)
  `PR #10343 <https://github.com/pantsbuild/pants/pull/10343>`_

* Represent generated subtarget addresses as file names (#10338)
  `PR #10338 <https://github.com/pantsbuild/pants/pull/10338>`_

* Remove unusued RunTracker code (#10315)
  `PR #10315 <https://github.com/pantsbuild/pants/pull/10315>`_

* Minor wording change in help message (#10335)
  `PR #10335 <https://github.com/pantsbuild/pants/pull/10335>`_

* Display whether a scope is a goal or subsystem in help. (#10332)
  `PR #10332 <https://github.com/pantsbuild/pants/pull/10332>`_

* Fix `run_virtualenv` to target the current `$PY`. (#10331)
  `PR #10331 <https://github.com/pantsbuild/pants/pull/10331>`_

* Modernize virtualenv. (#10330)
  `PR #10330 <https://github.com/pantsbuild/pants/pull/10330>`_

* Stop differentiating between constructors and types in FFI. (#10327)
  `PR #10327 <https://github.com/pantsbuild/pants/pull/10327>`_

* Use generated subtargets internally (#10312)
  `PR #10312 <https://github.com/pantsbuild/pants/pull/10312>`_

* Remove `Revision` (#10318)
  `PR #10318 <https://github.com/pantsbuild/pants/pull/10318>`_

* Bump to nails 0.6.0 to lay groundwork for cancelation of pantsd runs. (#10320)
  `PR #10320 <https://github.com/pantsbuild/pants/pull/10320>`_

* remove polling remote execution client (#10306)
  `PR #10306 <https://github.com/pantsbuild/pants/pull/10306>`_

* Remove `Struct` and `@addressable` abstractions (#10309)
  `PR #10309 <https://github.com/pantsbuild/pants/pull/10309>`_

* Move SubprocessProcessHandler near its single use. (#10307)
  `PR #10307 <https://github.com/pantsbuild/pants/pull/10307>`_

* No longer special case the `dependencies` field with TargetAdaptor (#10303)
  `PR #10303 <https://github.com/pantsbuild/pants/pull/10303>`_

* Use with_workunit everywhere (#10300)
  `PR #10300 <https://github.com/pantsbuild/pants/pull/10300>`_

* refactor execution strategy options into separate struct (#10304)
  `PR #10304 <https://github.com/pantsbuild/pants/pull/10304>`_

* Remove -q from the release run of reversion. (#10301)
  `PR #10301 <https://github.com/pantsbuild/pants/pull/10301>`_

* Simplify BUILD file parsing (#10298)
  `PR #10298 <https://github.com/pantsbuild/pants/pull/10298>`_

Testing
~~~~~~~

* Fix tests that relied on the docsite CNAME file. (#10337)
  `PR #10337 <https://github.com/pantsbuild/pants/pull/10337>`_

* Run unit tests and integration tests in CI in the same Pants run (#10333)
  `PR #10333 <https://github.com/pantsbuild/pants/pull/10333>`_

* Merge the unit and integration tests (#10302)
  `PR #10302 <https://github.com/pantsbuild/pants/pull/10302>`_

* Run code coverage on v2 unit tests. (#9919)
  `PR #9919 <https://github.com/pantsbuild/pants/pull/9919>`_

2.0.0.dev2 (7/8/2020)
---------------------

API Changes
~~~~~~~~~~~

* Rename `FilesContent` to `DigestContents` and `InputFilesContent` to `CreateDigest` (#10290)
  `PR #10290 <https://github.com/pantsbuild/pants/pull/10290>`_

* remoting: default is streaming client (#10260)
  `PR #10260 <https://github.com/pantsbuild/pants/pull/10260>`_

* Upgrade setuptools from 47.3.1 to 49.1.0 (#10255)
  `PR #10255 <https://github.com/pantsbuild/pants/pull/10255>`_

* Upgrade packaging from 20.3 to 20.4 (#10256)
  `PR #10256 <https://github.com/pantsbuild/pants/pull/10256>`_

* Deprecate the --v1/--v2 global options. (#10245)
  `PR #10245 <https://github.com/pantsbuild/pants/pull/10245>`_

New Features
~~~~~~~~~~~~

* Preserve source roots with Pytest output (#10165)
  `PR #10165 <https://github.com/pantsbuild/pants/pull/10165>`_

Bugfixes
~~~~~~~~

* Downgrade to tokio 0.2.20 to fix `materialize_directories`. (#10294)
  `PR #10294 <https://github.com/pantsbuild/pants/pull/10294>`_

* Expose method to bring down dynamic UI (#10234)
  `Issue #10005 <https://github.com/pantsbuild/pants/issues/10005>`_
  `PR #10234 <https://github.com/pantsbuild/pants/pull/10234>`_

* Fix double-workunit-completion print (#10247)
  `PR #10247 <https://github.com/pantsbuild/pants/pull/10247>`_
  `PR #10179 <https://github.com/pantsbuild/pants/pull/10179>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Remove v1 `source/` abstractions like `EagerFileSet` (#10292)
  `PR #10292 <https://github.com/pantsbuild/pants/pull/10292>`_

* Use f-strings in engine/util.py (#10288)
  `PR #10288 <https://github.com/pantsbuild/pants/pull/10288>`_

* Use dependency inference internally (#10283)
  `PR #10283 <https://github.com/pantsbuild/pants/pull/10283>`_

* Unify `LegacyPythonCallbackParser` and `Parser` (#10281)
  `PR #10281 <https://github.com/pantsbuild/pants/pull/10281>`_

* Lower the default max-memory usage of pantsd. (#10287)
  `PR #10287 <https://github.com/pantsbuild/pants/pull/10287>`_

* Improvements and refactoring of help system. (#10280)
  `PR #10280 <https://github.com/pantsbuild/pants/pull/10280>`_

* Refactor WorkunitStore struct (#10242)
  `PR #10242 <https://github.com/pantsbuild/pants/pull/10242>`_

* remoting: check action cache for cached result before submitting a request (#10253)
  `PR #10253 <https://github.com/pantsbuild/pants/pull/10253>`_

* Remove leftover v1 Target API bindings (#10276)
  `PR #10276 <https://github.com/pantsbuild/pants/pull/10276>`_

* Fix remaining internal dependency cycles (#10254)
  `PR #10254 <https://github.com/pantsbuild/pants/pull/10254>`_

* Remove `build_graph.Target` (#10266)
  `PR #10266 <https://github.com/pantsbuild/pants/pull/10266>`_

* Remove `cache/` and `invalidation/` (#10262)
  `PR #10262 <https://github.com/pantsbuild/pants/pull/10262>`_

* Remove obsolete root patterns. (#10263)
  `PR #10263 <https://github.com/pantsbuild/pants/pull/10263>`_

* Remove `Task`, `Goal`, and `Context` (#10252)
  `PR #10252 <https://github.com/pantsbuild/pants/pull/10252>`_

* Simplify `git.py` and `scm.py` (#10251)
  `PR #10251 <https://github.com/pantsbuild/pants/pull/10251>`_

* Remove the internal tags `type_checked` and `partially_type_checked` (#10244)
  `PR #10244 <https://github.com/pantsbuild/pants/pull/10244>`_

* Remove `HydratedTarget`, `AddressMapper`, and `BuildGraph` (#10250)
  `PR #10250 <https://github.com/pantsbuild/pants/pull/10250>`_

* Remove all remaining v1 Targets (#10246)
  `PR #10246 <https://github.com/pantsbuild/pants/pull/10246>`_

* Remove `TestBase.context()` (#10248)
  `PR #10248 <https://github.com/pantsbuild/pants/pull/10248>`_

* Delete the rest of v1 `pants.backend.python` (#10240)
  `PR #10240 <https://github.com/pantsbuild/pants/pull/10240>`_

* Remove the concept of a scope category. (#10224)
  `PR #10224 <https://github.com/pantsbuild/pants/pull/10224>`_

Testing
~~~~~~~

* Remove stale "pants.pex for integration tests" mechanism (#10279)
  `PR #10279 <https://github.com/pantsbuild/pants/pull/10279>`_

* Re-enable RBE (#10284)
  `PR #10284 <https://github.com/pantsbuild/pants/pull/10284>`_

* Temporarily disable remote execution in CI (#10268)
  `PR #10268 <https://github.com/pantsbuild/pants/pull/10268>`_

* Upgrade responses from 0.10.14 to 0.10.15 (#10257)
  `PR #10257 <https://github.com/pantsbuild/pants/pull/10257>`_

* Increase pylint integration tests timeout. (#10261)
  `PR #10261 <https://github.com/pantsbuild/pants/pull/10261>`_

* Fix broken Pylint test from new isort release (#10259)
  `PR #10259 <https://github.com/pantsbuild/pants/pull/10259>`_

* Simplify ci.py now that we have no v1 tests (#10241)
  `PR #10241 <https://github.com/pantsbuild/pants/pull/10241>`_

2.0.0.dev1 (7/2/2020)
---------------------

API Changes
~~~~~~~~~~~

* Get rid of --plugins2/--backend-packages2 (#10231)
  `PR #10231 <https://github.com/pantsbuild/pants/pull/10231>`_

* Deprecate `--changed-include-dependees` in favor of `--changed-dependees` (#10217)
  `PR #10217 <https://github.com/pantsbuild/pants/pull/10217>`_

* Remove `pants.contrib.mypy` plugin in favor of v2 implementation (#10157)
  `PR #10157 <https://github.com/pantsbuild/pants/pull/10157>`_

* Remove `--coverage-py-omit-test-sources` (#10202)
  `PR #10202 <https://github.com/pantsbuild/pants/pull/10202>`_

* Gets rid of the v1 GoalRunner. (#10167)
  `PR #10167 <https://github.com/pantsbuild/pants/pull/10167>`_

* Remove `pants.backend.jvm` (#10218)
  `PR #10218 <https://github.com/pantsbuild/pants/pull/10218>`_

* Remove --zipkin-trace-v2 option (#10184)
  `PR #10184 <https://github.com/pantsbuild/pants/pull/10184>`_

* Remove `core_tasks/` and most of `task/` (#10236)
  `PR #10236 <https://github.com/pantsbuild/pants/pull/10236>`_

* Remove v1 portions of `backend/native` and `ipex` (#10187)
  `PR #10187 <https://github.com/pantsbuild/pants/pull/10187>`_

* Delete v1 python backend task code (#10223)
  `PR #10223 <https://github.com/pantsbuild/pants/pull/10223>`_

* Remove v1 Python `unpack_whls`, `bundle`, and `repl` (#10204)
  `PR #10204 <https://github.com/pantsbuild/pants/pull/10204>`_

* Remove Thrift (#10171)
  `PR #10171 <https://github.com/pantsbuild/pants/pull/10171>`_

* Remove `TestBase.create_library() and `TestBase.target()` (#10237)
  `PR #10237 <https://github.com/pantsbuild/pants/pull/10237>`_

* Remove some v1 parts of `testutil/` (#10233)
  `PR #10233 <https://github.com/pantsbuild/pants/pull/10233>`_

New Features
~~~~~~~~~~~~

* Add new `typecheck` goal for MyPy (#10212)
  `PR #10212 <https://github.com/pantsbuild/pants/pull/10212>`_

* Properly handle PEP 420 namespace packages (#10183)
  `PR #10183 <https://github.com/pantsbuild/pants/pull/10183>`_

* Add support for creating multiple coverage reports (#9997)
  `PR #9997 <https://github.com/pantsbuild/pants/pull/9997>`_

* Add the ability to write/output the raw coverage file. (#10195)
  `PR #10195 <https://github.com/pantsbuild/pants/pull/10195>`_

* Log Coverage report name as part of the console message. (#10194)
  `PR #10194 <https://github.com/pantsbuild/pants/pull/10194>`_

* Attempt to adjust file handle limits and warn if they cannot be adjusted (#10174)
  `PR #10174 <https://github.com/pantsbuild/pants/pull/10174>`_

Bugfixes
~~~~~~~~

* Fix `--changed-dependees` to work when v1 is disabled (#10235)
  `PR #10235 <https://github.com/pantsbuild/pants/pull/10235>`_

* Teach `pants_requirement()` to work with dependency inference (#10232)
  `PR #10232 <https://github.com/pantsbuild/pants/pull/10232>`_

* Remove indentation in process errors. (#10181)
  `PR #10181 <https://github.com/pantsbuild/pants/pull/10181>`_

* Automatically include `__init__.py` files (#10166)
  `PR #10166 <https://github.com/pantsbuild/pants/pull/10166>`_

* Fix AddPrefix to correctly add arbitrarily many parent components (#10189)
  `PR #10189 <https://github.com/pantsbuild/pants/pull/10189>`_

* Fix `dependencies --transitive` to include target roots that are also dependencies (#10186)
  `PR #10186 <https://github.com/pantsbuild/pants/pull/10186>`_

* Fix MyPy to include `resources`, but still not `files` (#10168)
  `PR #10168 <https://github.com/pantsbuild/pants/pull/10168>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Reduce time spend grabbing locks in workunit code (#10179)
  `PR #10179 <https://github.com/pantsbuild/pants/pull/10179>`_

* local_cas supports an instance-name (#10225)
  `PR #10225 <https://github.com/pantsbuild/pants/pull/10225>`_

* local_cas supports GetCapabilities request (#10226)
  `PR #10226 <https://github.com/pantsbuild/pants/pull/10226>`_

* Refactor remoting options into separate struct (#10215)
  `PR #10215 <https://github.com/pantsbuild/pants/pull/10215>`_

* remoting: log RE capabilities and refresh REv2 proto (#10155)
  `PR #10155 <https://github.com/pantsbuild/pants/pull/10155>`_

* Fix stray type error in fs.py (#10182)
  `PR #10182 <https://github.com/pantsbuild/pants/pull/10182>`_

* Remove redundant cast call (#10196)
  `PR #10196 <https://github.com/pantsbuild/pants/pull/10196>`_

* Use debug level for remote store workunits (#10238)
  `PR #10238 <https://github.com/pantsbuild/pants/pull/10238>`_

* Simplify Get implementation. (#10178)
  `PR #10178 <https://github.com/pantsbuild/pants/pull/10178>`_

* Delete the old BinaryTool mechanism. (#10239)
  `PR #10239 <https://github.com/pantsbuild/pants/pull/10239>`_

* Delete more v1 task-related integration tests. (#10210)
  `PR #10210 <https://github.com/pantsbuild/pants/pull/10210>`_

* Refactor coverage integration tests (#10209)
  `PR #10209 <https://github.com/pantsbuild/pants/pull/10209>`_

* Stop using deprecated assertEquals (#10197)
  `PR #10197 <https://github.com/pantsbuild/pants/pull/10197>`_

* Remove `ivy/` and most of `java/` (#10222)
  `PR #10222 <https://github.com/pantsbuild/pants/pull/10222>`_

* Remove Bundle and App code (#10221)
  `PR #10221 <https://github.com/pantsbuild/pants/pull/10221>`_

* Remove more zipkin-related code (#10207)
  `PR #10207 <https://github.com/pantsbuild/pants/pull/10207>`_

* Remove unused `list_backends.py` (#10205)
  `PR #10205 <https://github.com/pantsbuild/pants/pull/10205>`_

* Remove internal `contrib/` infrastructure (#10177)
  `PR #10177 <https://github.com/pantsbuild/pants/pull/10177>`_

* Rewrite/delete some tests that involve v1 tasks. (#10219)
  `PR #10219 <https://github.com/pantsbuild/pants/pull/10219>`_

* Remove JVM testprojects (#10216)
  `PR #10216 <https://github.com/pantsbuild/pants/pull/10216>`_

* Stop testing `testprojects::` (#10170)
  `PR #10170 <https://github.com/pantsbuild/pants/pull/10170>`_

* Remove the src/{scala|java} directories. (#10201)
  `PR #10201 <https://github.com/pantsbuild/pants/pull/10201>`_

* Delete examples/src/{java,scala}. (#10198)
  `PR #10198 <https://github.com/pantsbuild/pants/pull/10198>`_

* Stop running JVM tests written in Java/Scala (#10175)
  `PR #10175 <https://github.com/pantsbuild/pants/pull/10175>`_

* Move `scm/` and `util/` tests to `src` (#10176)
  `PR #10176 <https://github.com/pantsbuild/pants/pull/10176>`_

* Nuke more v1 tests (#10172)
  `PR #10172 <https://github.com/pantsbuild/pants/pull/10172>`_

* upgrade tokio to 0.2.21 (#10191)
  `PR #10191 <https://github.com/pantsbuild/pants/pull/10191>`_

* upgrade futures crate to 0.3.5 (#10190)
  `PR #10190 <https://github.com/pantsbuild/pants/pull/10190>`_

* upgrade async-trait crate to 0.1.36 (#10193)
  `PR #10193 <https://github.com/pantsbuild/pants/pull/10193>`_

* upgrade crossbeam-channel create so only one copy (#10192)
  `PR #10192 <https://github.com/pantsbuild/pants/pull/10192>`_

* upgrade indexmap crate (#10199)
  `PR #10199 <https://github.com/pantsbuild/pants/pull/10199>`_

* upgrade parking_lot crate (#10200)
  `PR #10200 <https://github.com/pantsbuild/pants/pull/10200>`_

Documentation
~~~~~~~~~~~~~

* Prepare 1.30.0rc1. (#10188)
  `PR #10188 <https://github.com/pantsbuild/pants/pull/10188>`_

2.0.0.dev0 (6/25/2020)
----------------------

API Changes
~~~~~~~~~~~

* Remove v1 JVM backend Tasks. (#10142)
  `PR #10142 <https://github.com/pantsbuild/pants/pull/10142>`_

* Remove `targets` goal in favor of `target-types` goal (#10145)
  `PR #10145 <https://github.com/pantsbuild/pants/pull/10145>`_

* Remove deprecated `Get[P](S)` syntax in favor of `Get(P, S)` (#10148)
  `Issue #9899 <https://github.com/pantsbuild/pants/issues/9899>`_
  `PR #10148 <https://github.com/pantsbuild/pants/pull/10148>`_

* Remove v1 `login`, `server`, and `killserver` goals (#10144)
  `PR #10144 <https://github.com/pantsbuild/pants/pull/10144>`_

* Remove v1 `minimize`, `filemap`, `paths`, `sort`, and `depmap` goals (#10135)
  `PR #10135 <https://github.com/pantsbuild/pants/pull/10135>`_

* Replace v1 `dependees`, `dependencies`, `filedeps`, and `filter` with v2 (#10117)
  `PR #10117 <https://github.com/pantsbuild/pants/pull/10117>`_

* Remove the v1 scrooge contrib plugin. (#10127)
  `PR #10127 <https://github.com/pantsbuild/pants/pull/10127>`_

* Remove support for `pants.ini` (#10123)
  `PR #10123 <https://github.com/pantsbuild/pants/pull/10123>`_

* Remove the v1 `export` goal (#10122)
  `PR #10122 <https://github.com/pantsbuild/pants/pull/10122>`_

* Remove `pants.backend.docgen` (#10121)
  `PR #10121 <https://github.com/pantsbuild/pants/pull/10121>`_

* Remove v1 `idea-plugin` goal (#10115)
  `PR #10115 <https://github.com/pantsbuild/pants/pull/10115>`_

* Remove v1 Java Protobuf implementation (#10111)
  `PR #10111 <https://github.com/pantsbuild/pants/pull/10111>`_

* Remove `pants.contrib.node` plugin (#10113)
  `PR #10113 <https://github.com/pantsbuild/pants/pull/10113>`_

* Remove v1 `bash-completion` goal (#10112)
  `PR #10112 <https://github.com/pantsbuild/pants/pull/10112>`_

* Remove watchman. (#10114)
  `PR #10114 <https://github.com/pantsbuild/pants/pull/10114>`_

* Upgrade default mypy version from 0.780 to 0.781 (#10109)
  `PR #10109 <https://github.com/pantsbuild/pants/pull/10109>`_

* Remove `pants.contrib.go` plugin (#10107)
  `PR #10107 <https://github.com/pantsbuild/pants/pull/10107>`_

* Remove v1 Python Grpcio codegen backend (#10108)
  `PR #10108 <https://github.com/pantsbuild/pants/pull/10108>`_

* Remove deprecated `--v2-ui` in favor of `--dynamic-ui` (#10105)
  `PR #10105 <https://github.com/pantsbuild/pants/pull/10105>`_

* Remove deprecated `--enable-pantsd` in favor of `--pantsd` (#10104)
  `PR #10104 <https://github.com/pantsbuild/pants/pull/10104>`_

* Remove deprecated `pytest-coverage` scope in favor of `coverage-py` (#10103)
  `PR #10103 <https://github.com/pantsbuild/pants/pull/10103>`_

* Remove `pants.contrib.confluence` (#10106)
  `PR #10106 <https://github.com/pantsbuild/pants/pull/10106>`_

New Features
~~~~~~~~~~~~

* Add support for MyPy to Pants v2 (#10132)
  `Issue #10131 <https://github.com/pantsbuild/pants/issues/10131>`_
  `PR #10132 <https://github.com/pantsbuild/pants/pull/10132>`_

* Changes to support Django. (#10088)
  `PR #10088 <https://github.com/pantsbuild/pants/pull/10088>`_

* Add support for enum list options. (#10083)
  `Issue #9968 <https://github.com/pantsbuild/pants/issues/9968>`_
  `PR #10083 <https://github.com/pantsbuild/pants/pull/10083>`_

Bugfixes
~~~~~~~~

* Do not render pytest at info by default, but give it a description. (#10164)
  `PR #10164 <https://github.com/pantsbuild/pants/pull/10164>`_

* Preserve source roots in MyPy and Pylint output (#10159)
  `PR #10159 <https://github.com/pantsbuild/pants/pull/10159>`_

* Do not include resource targets in v2 MyPy chroot (#10154)
  `PR #10154 <https://github.com/pantsbuild/pants/pull/10154>`_

* Set dynamic-ui default based on CI (#10140)
  `PR #10140 <https://github.com/pantsbuild/pants/pull/10140>`_

* Fix Pytest XML reports and Coverage breaking with remote execution (#10136)
  `PR #10136 <https://github.com/pantsbuild/pants/pull/10136>`_

* Retry for filesystem changes more quickly, indefinitely, and with logging (#10139)
  `PR #10139 <https://github.com/pantsbuild/pants/pull/10139>`_

* Normalize paths before determining whether we can watch them. (#10130)
  `PR #10130 <https://github.com/pantsbuild/pants/pull/10130>`_

Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Remove use of importlib for native_engine loading (#10161)
  `PR #10161 <https://github.com/pantsbuild/pants/pull/10161>`_

* Update sha2 crate dependency (#10163)
  `PR #10163 <https://github.com/pantsbuild/pants/pull/10163>`_

* Remove unused rust deps. (#10162)
  `PR #10162 <https://github.com/pantsbuild/pants/pull/10162>`_

* Add message field on workunits and use it to replace some explicit logging (#10158)
  `PR #10158 <https://github.com/pantsbuild/pants/pull/10158>`_

* Expose the types consumed to produce a type in a RuleGraph. (#10153)
  `PR #10153 <https://github.com/pantsbuild/pants/pull/10153>`_

* Upgrade setuptools from 44.0.0 to 47.3.1 (#10149)
  `PR #10149 <https://github.com/pantsbuild/pants/pull/10149>`_

* Support for using unstripped python sources (#10138)
  `PR #10138 <https://github.com/pantsbuild/pants/pull/10138>`_

* fix snapshot subset testing and unrevert #9779 (#10146)
  `PR #10146 <https://github.com/pantsbuild/pants/pull/10146>`_

* Revert "Make SnapshotSubset() faster (#9779)" (#10143)
  `PR #9779 <https://github.com/pantsbuild/pants/pull/9779>`_
  `PR #10143 <https://github.com/pantsbuild/pants/pull/10143>`_

* Make SnapshotSubset() faster (#9779)
  `PR #9779 <https://github.com/pantsbuild/pants/pull/9779>`_

* upgrade to rust v1.44.1 (#10125)
  `PR #10125 <https://github.com/pantsbuild/pants/pull/10125>`_

* Remove `BuildFile` (#10102)
  `PR #10102 <https://github.com/pantsbuild/pants/pull/10102>`_

Testing
~~~~~~~

* Enable test timeouts for python in v2. (#10147)
  `PR #10147 <https://github.com/pantsbuild/pants/pull/10147>`_

* Delete many v1 tests. (#10116)
  `PR #10116 <https://github.com/pantsbuild/pants/pull/10116>`_

* enable REv2 streaming client in CI (#9989)
  `PR #9989 <https://github.com/pantsbuild/pants/pull/9989>`_

Documentation
~~~~~~~~~~~~~

* Remove the v1 docsite (#10120)
  `PR #10120 <https://github.com/pantsbuild/pants/pull/10120>`_


