Support for various code analysis tools in Pants.
Project description
Pants is an Apache2 licensed build tool written in Python.
The latest documentation can be found `here <http://pantsbuild.org/>`_.
1.14.x Stable Releases
======================
This document describes releases leading up to the ``1.14.x`` ``stable`` series.
1.14.0 (3/07/2019)
------------------
The first stable release of the ``1.14.x`` series, with no changes since ``rc3``!
1.14.0rc3 (2/21/2019)
---------------------
API Changes
~~~~~~~~~~~
* Add flags to processs_executor that say where to materialize output and what output is (#7201)
`PR #7201 <https://github.com/pantsbuild/pants/pull/7201>`_
* Resolve all platforms from all python targets (#7156)
`PR #7156 <https://github.com/pantsbuild/pants/pull/7156>`_
* Remove deprecated test classes (#7243)
`PR #7243 <https://github.com/pantsbuild/pants/pull/7243>`_
Bugfixes
~~~~~~~~
* Revert remote execution from tower to grpcio (#7256)
`PR #7256 <https://github.com/pantsbuild/pants/pull/7256>`_
* Avoid capturing Snapshots for previously digested codegen outputs (#7241)
`PR #7241 <https://github.com/pantsbuild/pants/pull/7241>`_
* Validate and maybe prune interpreter cache run over run (#7225)
`PR #7225 <https://github.com/pantsbuild/pants/pull/7225>`_
1.14.0rc2 (2/15/2019)
---------------------
API Changes
~~~~~~~~~~~
* Pin pytest version to avoid induced breakage from more-itertools transitive dep (#7238)
`PR #7238 <https://github.com/pantsbuild/pants/pull/7238>`_
`PR #7240 <https://github.com/pantsbuild/pants/pull/7240>`_
1.14.0rc1 (2/06/2019)
---------------------
Bugfixes
~~~~~~~~
* Only lint the direct sources of a linted target. (#7219)
`PR #7219 <https://github.com/pantsbuild/pants/pull/7219>`_
* Do not render the coursier workunit unless it will run. (#7218)
`PR #7218 <https://github.com/pantsbuild/pants/pull/7218>`_
* Revert "make GoTest subclass PartitionedTestRunnerTaskMixin to test transitively" (#7212)
`PR #7212 <https://github.com/pantsbuild/pants/pull/7212>`_
* Only run master-dependent commithooks on master (#7214)
`PR #7214 <https://github.com/pantsbuild/pants/pull/7214>`_
* Absolute-ify GIT_DIR (#7210)
`PR #7210 <https://github.com/pantsbuild/pants/pull/7210>`_
* Fix release script ownership check command name. (#7204)
`PR #7204 <https://github.com/pantsbuild/pants/pull/7204>`_
1.14.0rc0 (2/01/2019)
---------------------
New Features
~~~~~~~~~~~~
* Add support for trace propagation from Pants callers (#7177)
`PR #7177 <https://github.com/pantsbuild/pants/pull/7177>`_
* Add scala_exclude to append the Scala major version in BUILD files. (#7189)
`PR #7189 <https://github.com/pantsbuild/pants/pull/7189>`_
* fetch native libraries from python requirements, e.g. tensorflow to define custom operators (#7046)
`PR #7046 <https://github.com/pantsbuild/pants/pull/7046>`_
API Changes
~~~~~~~~~~~
* Add toolchain_variant on native target level (#7179)
`PR #7179 <https://github.com/pantsbuild/pants/pull/7179>`_
* Bump to future==0.17.1 (#7159)
`PR #7159 <https://github.com/pantsbuild/pants/pull/7159>`_
* Move dependencies that are only consumed by examples/testprojects out of core pants. (#7174)
`PR #7174 <https://github.com/pantsbuild/pants/pull/7174>`_
* Loosen glob type bounds so that OrderedSet is fine (#7166)
`PR #7166 <https://github.com/pantsbuild/pants/pull/7166>`_
Bugfixes
~~~~~~~~
* Set default PY in cargo wrapper (#7195)
`PR #7195 <https://github.com/pantsbuild/pants/pull/7195>`_
* Consume the PyTest Subsystem to stabilize the pytest version. (#7193)
`PR #7193 <https://github.com/pantsbuild/pants/pull/7193>`_
* Fix setting conan remotes (#7191)
`PR #7191 <https://github.com/pantsbuild/pants/pull/7191>`_
* Add setup workunit to critical_path_timings for all main workunits (#7184)
`PR #7184 <https://github.com/pantsbuild/pants/pull/7184>`_
* Fix test_pantsd_integration (#7175)
`PR #7175 <https://github.com/pantsbuild/pants/pull/7175>`_
* Work around multi-python pex issues for checker. (#7178)
`PR #7178 <https://github.com/pantsbuild/pants/pull/7178>`_
Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Remove unused operation wrapper (#7194)
`PR #7194 <https://github.com/pantsbuild/pants/pull/7194>`_
* Refactor packages.py in preparation for adding Python 3 support (#7190)
`PR #7190 <https://github.com/pantsbuild/pants/pull/7190>`_
* Add ability to specify Python minor version when running `./pants` (#7187)
`PR #7187 <https://github.com/pantsbuild/pants/pull/7187>`_
* [junit-runner] extracted refactoring from sec mgr change (#6860)
`PR #6860 <https://github.com/pantsbuild/pants/pull/6860>`_
* virtualenv always finds git root (#7173)
`PR #7173 <https://github.com/pantsbuild/pants/pull/7173>`_
* Don't re-panic in mock execution server (#7167)
`PR #7167 <https://github.com/pantsbuild/pants/pull/7167>`_
* Engine can store python OrderedSets (#7165)
`PR #7165 <https://github.com/pantsbuild/pants/pull/7165>`_
* Error on all rust warnings (#7154)
`PR #7154 <https://github.com/pantsbuild/pants/pull/7154>`_
* Start testing pre commit hooks (#7118)
`PR #7118 <https://github.com/pantsbuild/pants/pull/7118>`_
* Remove scala_repl_integration and testprojects_integration from Python 3 blacklist (#7169)
`PR #7169 <https://github.com/pantsbuild/pants/pull/7169>`_
1.14.0.dev3 (1/27/2019)
-----------------------
New Features
~~~~~~~~~~~~
* make GoTest subclass PartitionedTestRunnerTaskMixin to test transitively (#7145)
`PR #7145 <https://github.com/pantsbuild/pants/pull/7145>`_
* Take deploy_jar_rules into account when detecting duplicates (#7113)
`PR #7113 <https://github.com/pantsbuild/pants/pull/7113>`_
* Add Zipkin tracing to pants v1 (#7125)
`PR #7125 <https://github.com/pantsbuild/pants/pull/7125>`_
* Allow options to be logged to stats server (#7119)
`PR #7119 <https://github.com/pantsbuild/pants/pull/7119>`_
API Changes
~~~~~~~~~~~
* Bump pyzipkin to 0.17.0 (#7161)
`PR #7161 <https://github.com/pantsbuild/pants/pull/7161>`_
* remove support for using the pants native toolchain with distutils Extensions in setup.py (#7126)
`PR #7126 <https://github.com/pantsbuild/pants/pull/7126>`_
* Bump cucumber version to get jar with correct unicode encoding (#7134)
`Issue #7123. <https://github.com/pantsbuild/pants/issues/7123.>`_
`PR #7134 <https://github.com/pantsbuild/pants/pull/7134>`_
Bugfixes
~~~~~~~~
* blacklist idea plugin gen from faulty earlier edit (#7157)
`PR #7157 <https://github.com/pantsbuild/pants/pull/7157>`_
* Add Python 3 support to Pytest with V2 engine (#7153)
`PR #7153 <https://github.com/pantsbuild/pants/pull/7153>`_
* Fix Py2 regression with rjust argument (#7132)
`PR #7132 <https://github.com/pantsbuild/pants/pull/7132>`_
* v2 python test execution fails if resolve process fails (#7135)
`PR #7135 <https://github.com/pantsbuild/pants/pull/7135>`_
Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixes to get contrib, lint, JVM tests, and platform-specific tests working with ./pants3 (#7067)
`PR #7067 <https://github.com/pantsbuild/pants/pull/7067>`_
* Properly handle unicode and byte streams with pantsd for Python 3 (#7130)
`PR #7130 <https://github.com/pantsbuild/pants/pull/7130>`_
* populate parent directories of process outputs locally to match remote execution api (#7133)
`PR #7133 <https://github.com/pantsbuild/pants/pull/7133>`_
* Fix test_jvm_platform_analysis_integration.py using unknown platforms (#7140)
`Issue #7139 <https://github.com/pantsbuild/pants/issues/7139>`_
`PR #7140 <https://github.com/pantsbuild/pants/pull/7140>`_
* Remove option integration test from Python 3 blacklist (#7142)
`PR #7142 <https://github.com/pantsbuild/pants/pull/7142>`_
* Fix Idea plugin unicode issues with Python 3 (#7141)
`PR #7141 <https://github.com/pantsbuild/pants/pull/7141>`_
`PR #7157 <https://github.com/pantsbuild/pants/pull/7157>`_
* Fix legacy graph test Python 3 issue with rendering unicode literals (#7143)
`PR #7143 <https://github.com/pantsbuild/pants/pull/7143>`_
* Fix setup_py.py unicode issue with Python 3 (#7144)
`PR #7144 <https://github.com/pantsbuild/pants/pull/7144>`_
* Fix various backend/jvm/task Python 3 and unicode issues (#7124)
`PR #7124 <https://github.com/pantsbuild/pants/pull/7124>`_
* refactor ImportJarsMixin into ImportRemoteSourcesMixin for extensibility (same with tasks) (#7061)
`PR #7061 <https://github.com/pantsbuild/pants/pull/7061>`_
* Ignore 3rd party deprecation warnings for unmaintained libraries (#7110)
`PR #7110 <https://github.com/pantsbuild/pants/pull/7110>`_
* Update to rust 1.32.0 (#7094)
`PR #7094 <https://github.com/pantsbuild/pants/pull/7094>`_
1.14.0.dev2 (1/19/2019)
-----------------------
New Features
~~~~~~~~~~~~
* Allow nailgun execution for RscCompile by bundling together the tool classpaths (#7092)
`PR #7092 <https://github.com/pantsbuild/pants/pull/7092>`_
* Python code generation for protobufs and gRPC (#6974)
`PR #6974 <https://github.com/pantsbuild/pants/pull/6974>`_
* refactor NativeExternalLibraryFetch to be a SimpleCodegenTask (#7060)
`PR #7060 <https://github.com/pantsbuild/pants/pull/7060>`_
* Rerun proto compilation when protos change (#7029)
`PR #7029 <https://github.com/pantsbuild/pants/pull/7029>`_
API Changes
~~~~~~~~~~~
* move dict key encoding into hash_utils.py and deprecate stable_json_hash() (#6475)
`PR #6475 <https://github.com/pantsbuild/pants/pull/6475>`_
Version updates
~~~~~~~~~~~~~~~
* Update psutil to fix deprecation warnings (#7112)
`PR #7112 <https://github.com/pantsbuild/pants/pull/7112>`_
* Bump twitter.common dependencies to 0.3.10 to pull in Py3 fixes. (#7102)
`PR #7102 <https://github.com/pantsbuild/pants/pull/7102>`_
* Upgrade several dependencies to fix Py3 deprecations (#7053)
`PR #7053 <https://github.com/pantsbuild/pants/pull/7053>`_
* Update pantsbuild/pants to scala 2.12, and bump the default patch version for 2.12 (#7035)
`PR #7035 <https://github.com/pantsbuild/pants/pull/7035>`_
Bugfixes
~~~~~~~~
* Move pants.init.subprocess into pants.process (#7081)
`PR #7081 <https://github.com/pantsbuild/pants/pull/7081>`_
* Continue to reexport stable_json_hash from its previous location. (#7103)
`PR #7103 <https://github.com/pantsbuild/pants/pull/7103>`_
* [compile.rsc] fix key error; ensure java compiles get necessary zinc scala deps (#7038)
`PR #7038 <https://github.com/pantsbuild/pants/pull/7038>`_
* Fix jvm compile unicode issues when using Python 3 (#6987)
`PR #6987 <https://github.com/pantsbuild/pants/pull/6987>`_
* Revert "set PEX_PYTHON_PATH when invoking the checkstyle pex for pexrc to work (#7013)" (#7028)
`PR #7028 <https://github.com/pantsbuild/pants/pull/7028>`_
Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Reorder CI based on what's most likely to change from a typical PR (#7104)
`PR #7104 <https://github.com/pantsbuild/pants/pull/7104>`_
* Switch operation getting to tower (#7108)
`PR #7108 <https://github.com/pantsbuild/pants/pull/7108>`_
* Only clippy on CI on one shard (#7109)
`PR #7109 <https://github.com/pantsbuild/pants/pull/7109>`_
* Make ci.sh's -b bootstrap flag a positive flag (#7096)
`PR #7096 <https://github.com/pantsbuild/pants/pull/7096>`_
* Use docker on wheel builder shard (#7100)
`PR #7100 <https://github.com/pantsbuild/pants/pull/7100>`_
* don't override PANTS_DEV if set to 0 in the calling environment to make python checkstyle work in a separate repo (#7017)
`PR #7017 <https://github.com/pantsbuild/pants/pull/7017>`_
* Split out unrelated CI jobs into their own distinct shards (#7090)
`PR #7090 <https://github.com/pantsbuild/pants/pull/7090>`_
* Hotfix for #6981 breaking release.sh (#7091)
`PR #7091 <https://github.com/pantsbuild/pants/pull/7091>`_
* Use ./pants3 for majority of CI (#6981)
`PR #6981 <https://github.com/pantsbuild/pants/pull/6981>`_
* [compile.rsc] fix typo (#7057)
`PR #7057 <https://github.com/pantsbuild/pants/pull/7057>`_
* Fix threading issue with report.py when using Py3 (#7085)
`PR #7085 <https://github.com/pantsbuild/pants/pull/7085>`_
* Allow Pants to run with Python 3 via `./pants3` script (#6959)
`PR #6959 <https://github.com/pantsbuild/pants/pull/6959>`_
* Properly render
in exceptions with Py3 (#7073)
`PR #7073 <https://github.com/pantsbuild/pants/pull/7073>`_
* use the asttokens 3rdparty lib to make @rule parsing errors very smooth (#7023)
`PR #7023 <https://github.com/pantsbuild/pants/pull/7023>`_
* Add specific copyright year check on newly added python files (#7066)
`PR #7066 <https://github.com/pantsbuild/pants/pull/7066>`_
* Use homebrew addon feature in CI (#7062)
`PR #7062 <https://github.com/pantsbuild/pants/pull/7062>`_
* Add `collections.abc` backport to fix deprecation warning (#7055)
`PR #7055 <https://github.com/pantsbuild/pants/pull/7055>`_
* Improve symlink errors (#7054)
`PR #7054 <https://github.com/pantsbuild/pants/pull/7054>`_
* Fix invalid escape sequence problems (#7056)
`PR #7056 <https://github.com/pantsbuild/pants/pull/7056>`_
* Build rust code only once per platform in a CI run (#7047)
`PR #7047 <https://github.com/pantsbuild/pants/pull/7047>`_
* Remote execution uses tower-grpc to start executions (#7049)
`PR #7049 <https://github.com/pantsbuild/pants/pull/7049>`_
* Workaround for homebrew bug with osx shard (#7050)
`PR #7050 <https://github.com/pantsbuild/pants/pull/7050>`_
`Issue #5513 <https://github.com/Homebrew/brew/issues/5513>`_
* Support some conversions for prost protos (#7040)
`PR #7040 <https://github.com/pantsbuild/pants/pull/7040>`_
* Expose 1.13.x in the docsite notes dropdown. (#7045)
`PR #7045 <https://github.com/pantsbuild/pants/pull/7045>`_
* Reqwest uses rustls not openssl (#7002)
`PR #7002 <https://github.com/pantsbuild/pants/pull/7002>`_
* Fix awscli install to be language agnostic. (#7033)
`PR #7033 <https://github.com/pantsbuild/pants/pull/7033>`_
* Improve readability of integration test logging. (#7036)
`PR #7036 <https://github.com/pantsbuild/pants/pull/7036>`_
* Generate protos for tower as well as grpcio (#7030)
`PR #7030 <https://github.com/pantsbuild/pants/pull/7030>`_
* Ensure all rust crates have common prefix (#7031)
`PR #7031 <https://github.com/pantsbuild/pants/pull/7031>`_
* Eliminate bs4 warning. (#7027)
`PR #7027 <https://github.com/pantsbuild/pants/pull/7027>`_
1.14.0.dev1 (1/4/2019)
----------------------
New Features
~~~~~~~~~~~~
* Validate yield statements in rule bodies to remove ambiguity about returning (#7019)
`PR #7019 <https://github.com/pantsbuild/pants/pull/7019>`_
* Add support for consuming Subsystems from @rules (#6993)
`PR #6993 <https://github.com/pantsbuild/pants/pull/6993>`_
* add rules to plugins and add some integration tests, maybe (#6892)
`PR #6892 <https://github.com/pantsbuild/pants/pull/6892>`_
Version updates
~~~~~~~~~~~~~~~
* Update to rust 2018 (#6867)
`PR #6867 <https://github.com/pantsbuild/pants/pull/6867>`_
Bugfixes
~~~~~~~~
* set PEX_PYTHON_PATH when invoking the checkstyle pex for pexrc to work (#7013)
`PR #7013 <https://github.com/pantsbuild/pants/pull/7013>`_
* fix binary_util.py main method, add unit test, and kill integration test (#7010)
`PR #7010 <https://github.com/pantsbuild/pants/pull/7010>`_
* Markdown writer errors are written properly (#6975)
`PR #6975 <https://github.com/pantsbuild/pants/pull/6975>`_
* Fix unused_must_use, error in the futrue (#6999)
`PR #6999 <https://github.com/pantsbuild/pants/pull/6999>`_
* Add python version to the native cache key (#6991)
`PR #6991 <https://github.com/pantsbuild/pants/pull/6991>`_
* Fix invalid escape sequence & regex expression deprecations (#6984)
`PR #6984 <https://github.com/pantsbuild/pants/pull/6984>`_
* Fix test_checkstyle.py interpreter constraint (#6983)
`PR #6983 <https://github.com/pantsbuild/pants/pull/6983>`_
`PR #6959 <https://github.com/pantsbuild/pants/pull/6959>`_
* Fix native.py unicode issue leading to compile error with Python 3 (#6982)
`PR #6982 <https://github.com/pantsbuild/pants/pull/6982>`_
* Fix python_artifact fingerprint unicode issue for Python 3 (#6971)
`PR #6971 <https://github.com/pantsbuild/pants/pull/6971>`_
Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Eliminate dead code warnings. (#7018)
`PR #7018 <https://github.com/pantsbuild/pants/pull/7018>`_
* Retrofit the Conan tool using PythonToolBase. (#6992)
`PR #6992 <https://github.com/pantsbuild/pants/pull/6992>`_
* A preliminary bootstrapping CI stage, to prevent repeated work in each CI shard. (#7012)
`PR #7012 <https://github.com/pantsbuild/pants/pull/7012>`_
* add unit testing for requesting transitively available products (#7015)
`PR #7015 <https://github.com/pantsbuild/pants/pull/7015>`_
* When compiling with rsc, metacp java libraries in a separate execution graph node. (#6940)
`PR #6940 <https://github.com/pantsbuild/pants/pull/6940>`_
* digest returns hashing::Digest (#7006)
`PR #7006 <https://github.com/pantsbuild/pants/pull/7006>`_
* Fix all rust clippy warnings (#7001)
`PR #7001 <https://github.com/pantsbuild/pants/pull/7001>`_
* Engine can store dict (#6996)
`PR #6996 <https://github.com/pantsbuild/pants/pull/6996>`_
* Programatically add rust config to vendored protos (#7000)
`PR #7000 <https://github.com/pantsbuild/pants/pull/7000>`_
* Engine can store bools (#6994)
`PR #6994 <https://github.com/pantsbuild/pants/pull/6994>`_
* Clarify which files should be edited when releasing from branch (#6988)
`PR #6988 <https://github.com/pantsbuild/pants/pull/6988>`_
* Core has a PathBuf for build root (#6995)
`PR #6995 <https://github.com/pantsbuild/pants/pull/6995>`_
* Don't explicitly use TaskRule (#6980)
`PR #6980 <https://github.com/pantsbuild/pants/pull/6980>`_
* Make UI Per-session instead of per-request (#6827)
`PR #6827 <https://github.com/pantsbuild/pants/pull/6827>`_
* Replace deprecated cgi.escape() with html.escape() (#6986)
`PR #6986 <https://github.com/pantsbuild/pants/pull/6986>`_
* Allow remote store RPC attempts to be configured (#6978)
`PR #6978 <https://github.com/pantsbuild/pants/pull/6978>`_
* Prep for 1.13.0 (#6977)
`PR #6977 <https://github.com/pantsbuild/pants/pull/6977>`_
* Allow fs_util thread count to be configured (#6976)
`PR #6976 <https://github.com/pantsbuild/pants/pull/6976>`_
* Convert Native into a singleton (#6979)
`PR #6979 <https://github.com/pantsbuild/pants/pull/6979>`_
1.14.0.dev0 (12/21/2018)
------------------------
New Features
~~~~~~~~~~~~
* Add support for deprecating scoped SubsystemDependencies (#6961)
`PR #6961 <https://github.com/pantsbuild/pants/pull/6961>`_
* Add a flag to filedeps v1 to output abs or rel paths (#6960)
`PR #6960 <https://github.com/pantsbuild/pants/pull/6960>`_
* Add serverset (#6921)
`PR #6921 <https://github.com/pantsbuild/pants/pull/6921>`_
* Use serverset for Store (#6931)
`PR #6931 <https://github.com/pantsbuild/pants/pull/6931>`_
* Add Python 3 support to C and C++ module initialization (#6930)
`PR #6930 <https://github.com/pantsbuild/pants/pull/6930>`_
* Support source and 3rdparty dependencies in v2 python test running (#6915)
`PR #6915 <https://github.com/pantsbuild/pants/pull/6915>`_
* Add tool classpath for ./pants scalafix (#6926)
`PR #6926 <https://github.com/pantsbuild/pants/pull/6926>`_
* Log aggregate statistics for remote executions (#6812)
`PR #6812 <https://github.com/pantsbuild/pants/pull/6812>`_
Version updates
~~~~~~~~~~~~~~~
* Upgrade Scrooge, Finagle, and Thrift for unified Thrift library and Py3 support (#6945)
`PR #6945 <https://github.com/pantsbuild/pants/pull/6945>`_
* Bump zinc bootstrapper to 0.0.4 (#6967)
`PR #6967 <https://github.com/pantsbuild/pants/pull/6967>`_
* Set CI's minimum Python 3 version to 3.6 (#6954)
`PR #6954 <https://github.com/pantsbuild/pants/pull/6954>`_
* Bump scalafix version and use os.pathsep (#6938)
`PR #6938 <https://github.com/pantsbuild/pants/pull/6938>`_
Bugfixes
~~~~~~~~
* Handle ValueError when child wants to reset stderr but it is closed. (#6932)
`PR #6932 <https://github.com/pantsbuild/pants/pull/6932>`_
* Manually manage Delay's timer thread (#6950)
`PR #6950 <https://github.com/pantsbuild/pants/pull/6950>`_
Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Ensure digests are uploaded before attempting execution (#6965)
`PR #6965 <https://github.com/pantsbuild/pants/pull/6965>`_
* Fix tokenize encoding issue engine parser on Python 3 (#6962)
`PR #6962 <https://github.com/pantsbuild/pants/pull/6962>`_
* Fix scheduler.metrics() returning bytes instead of unicode (#6969)
`PR #6969 <https://github.com/pantsbuild/pants/pull/6969>`_
* Use stdout with bytes for task context (#6968)
`PR #6968 <https://github.com/pantsbuild/pants/pull/6968>`_
* Fix plaintext_recorder sometimes being passed TextIO (#6963)
`PR #6963 <https://github.com/pantsbuild/pants/pull/6963>`_
* Switch daytime CI to Python 3 only (#6952)
`PR #6952 <https://github.com/pantsbuild/pants/pull/6952>`_
* Renamespace and publish the buck zip utils (#6955)
`PR #6955 <https://github.com/pantsbuild/pants/pull/6955>`_
* Add filedeps goal and tests for v2 (#6933)
`PR #6933 <https://github.com/pantsbuild/pants/pull/6933>`_
* serverset: Add ability to retry a function (#6953)
`PR #6953 <https://github.com/pantsbuild/pants/pull/6953>`_
* Only build fs_util when releasing (#6951)
`PR #6951 <https://github.com/pantsbuild/pants/pull/6951>`_
* Exclude Antlr test from testprojects to avoid interpreter conflict (#6944)
`PR #6944 <https://github.com/pantsbuild/pants/pull/6944>`_
* Fix failing lint with TEST_BUILD pattern (#6943)
`PR #6943 <https://github.com/pantsbuild/pants/pull/6943>`_
* Fix relative import for testprojects dummy test on Python 3 (#6942)
`PR #6942 <https://github.com/pantsbuild/pants/pull/6942>`_
* Fix relative import for conftest test on Python 3 (#6941)
`PR #6941 <https://github.com/pantsbuild/pants/pull/6941>`_
* Fix Travis environment variable overriding interpreter_selection test's config (#6939)
`PR #6939 <https://github.com/pantsbuild/pants/pull/6939>`_
* PythonToolPrepBase now sets up its interpreter. (#6928)
`PR #6928 <https://github.com/pantsbuild/pants/pull/6928>`_
* Remove remaining unnecessary __future__ imports (#6925)
`PR #6925 <https://github.com/pantsbuild/pants/pull/6925>`_
* Construct clients on demand (#6920)
`PR #6920 <https://github.com/pantsbuild/pants/pull/6920>`_
* Enforce interpreter constraints for antlr3 python code. (#6924)
`PR #6924 <https://github.com/pantsbuild/pants/pull/6924>`_
The latest documentation can be found `here <http://pantsbuild.org/>`_.
1.14.x Stable Releases
======================
This document describes releases leading up to the ``1.14.x`` ``stable`` series.
1.14.0 (3/07/2019)
------------------
The first stable release of the ``1.14.x`` series, with no changes since ``rc3``!
1.14.0rc3 (2/21/2019)
---------------------
API Changes
~~~~~~~~~~~
* Add flags to processs_executor that say where to materialize output and what output is (#7201)
`PR #7201 <https://github.com/pantsbuild/pants/pull/7201>`_
* Resolve all platforms from all python targets (#7156)
`PR #7156 <https://github.com/pantsbuild/pants/pull/7156>`_
* Remove deprecated test classes (#7243)
`PR #7243 <https://github.com/pantsbuild/pants/pull/7243>`_
Bugfixes
~~~~~~~~
* Revert remote execution from tower to grpcio (#7256)
`PR #7256 <https://github.com/pantsbuild/pants/pull/7256>`_
* Avoid capturing Snapshots for previously digested codegen outputs (#7241)
`PR #7241 <https://github.com/pantsbuild/pants/pull/7241>`_
* Validate and maybe prune interpreter cache run over run (#7225)
`PR #7225 <https://github.com/pantsbuild/pants/pull/7225>`_
1.14.0rc2 (2/15/2019)
---------------------
API Changes
~~~~~~~~~~~
* Pin pytest version to avoid induced breakage from more-itertools transitive dep (#7238)
`PR #7238 <https://github.com/pantsbuild/pants/pull/7238>`_
`PR #7240 <https://github.com/pantsbuild/pants/pull/7240>`_
1.14.0rc1 (2/06/2019)
---------------------
Bugfixes
~~~~~~~~
* Only lint the direct sources of a linted target. (#7219)
`PR #7219 <https://github.com/pantsbuild/pants/pull/7219>`_
* Do not render the coursier workunit unless it will run. (#7218)
`PR #7218 <https://github.com/pantsbuild/pants/pull/7218>`_
* Revert "make GoTest subclass PartitionedTestRunnerTaskMixin to test transitively" (#7212)
`PR #7212 <https://github.com/pantsbuild/pants/pull/7212>`_
* Only run master-dependent commithooks on master (#7214)
`PR #7214 <https://github.com/pantsbuild/pants/pull/7214>`_
* Absolute-ify GIT_DIR (#7210)
`PR #7210 <https://github.com/pantsbuild/pants/pull/7210>`_
* Fix release script ownership check command name. (#7204)
`PR #7204 <https://github.com/pantsbuild/pants/pull/7204>`_
1.14.0rc0 (2/01/2019)
---------------------
New Features
~~~~~~~~~~~~
* Add support for trace propagation from Pants callers (#7177)
`PR #7177 <https://github.com/pantsbuild/pants/pull/7177>`_
* Add scala_exclude to append the Scala major version in BUILD files. (#7189)
`PR #7189 <https://github.com/pantsbuild/pants/pull/7189>`_
* fetch native libraries from python requirements, e.g. tensorflow to define custom operators (#7046)
`PR #7046 <https://github.com/pantsbuild/pants/pull/7046>`_
API Changes
~~~~~~~~~~~
* Add toolchain_variant on native target level (#7179)
`PR #7179 <https://github.com/pantsbuild/pants/pull/7179>`_
* Bump to future==0.17.1 (#7159)
`PR #7159 <https://github.com/pantsbuild/pants/pull/7159>`_
* Move dependencies that are only consumed by examples/testprojects out of core pants. (#7174)
`PR #7174 <https://github.com/pantsbuild/pants/pull/7174>`_
* Loosen glob type bounds so that OrderedSet is fine (#7166)
`PR #7166 <https://github.com/pantsbuild/pants/pull/7166>`_
Bugfixes
~~~~~~~~
* Set default PY in cargo wrapper (#7195)
`PR #7195 <https://github.com/pantsbuild/pants/pull/7195>`_
* Consume the PyTest Subsystem to stabilize the pytest version. (#7193)
`PR #7193 <https://github.com/pantsbuild/pants/pull/7193>`_
* Fix setting conan remotes (#7191)
`PR #7191 <https://github.com/pantsbuild/pants/pull/7191>`_
* Add setup workunit to critical_path_timings for all main workunits (#7184)
`PR #7184 <https://github.com/pantsbuild/pants/pull/7184>`_
* Fix test_pantsd_integration (#7175)
`PR #7175 <https://github.com/pantsbuild/pants/pull/7175>`_
* Work around multi-python pex issues for checker. (#7178)
`PR #7178 <https://github.com/pantsbuild/pants/pull/7178>`_
Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Remove unused operation wrapper (#7194)
`PR #7194 <https://github.com/pantsbuild/pants/pull/7194>`_
* Refactor packages.py in preparation for adding Python 3 support (#7190)
`PR #7190 <https://github.com/pantsbuild/pants/pull/7190>`_
* Add ability to specify Python minor version when running `./pants` (#7187)
`PR #7187 <https://github.com/pantsbuild/pants/pull/7187>`_
* [junit-runner] extracted refactoring from sec mgr change (#6860)
`PR #6860 <https://github.com/pantsbuild/pants/pull/6860>`_
* virtualenv always finds git root (#7173)
`PR #7173 <https://github.com/pantsbuild/pants/pull/7173>`_
* Don't re-panic in mock execution server (#7167)
`PR #7167 <https://github.com/pantsbuild/pants/pull/7167>`_
* Engine can store python OrderedSets (#7165)
`PR #7165 <https://github.com/pantsbuild/pants/pull/7165>`_
* Error on all rust warnings (#7154)
`PR #7154 <https://github.com/pantsbuild/pants/pull/7154>`_
* Start testing pre commit hooks (#7118)
`PR #7118 <https://github.com/pantsbuild/pants/pull/7118>`_
* Remove scala_repl_integration and testprojects_integration from Python 3 blacklist (#7169)
`PR #7169 <https://github.com/pantsbuild/pants/pull/7169>`_
1.14.0.dev3 (1/27/2019)
-----------------------
New Features
~~~~~~~~~~~~
* make GoTest subclass PartitionedTestRunnerTaskMixin to test transitively (#7145)
`PR #7145 <https://github.com/pantsbuild/pants/pull/7145>`_
* Take deploy_jar_rules into account when detecting duplicates (#7113)
`PR #7113 <https://github.com/pantsbuild/pants/pull/7113>`_
* Add Zipkin tracing to pants v1 (#7125)
`PR #7125 <https://github.com/pantsbuild/pants/pull/7125>`_
* Allow options to be logged to stats server (#7119)
`PR #7119 <https://github.com/pantsbuild/pants/pull/7119>`_
API Changes
~~~~~~~~~~~
* Bump pyzipkin to 0.17.0 (#7161)
`PR #7161 <https://github.com/pantsbuild/pants/pull/7161>`_
* remove support for using the pants native toolchain with distutils Extensions in setup.py (#7126)
`PR #7126 <https://github.com/pantsbuild/pants/pull/7126>`_
* Bump cucumber version to get jar with correct unicode encoding (#7134)
`Issue #7123. <https://github.com/pantsbuild/pants/issues/7123.>`_
`PR #7134 <https://github.com/pantsbuild/pants/pull/7134>`_
Bugfixes
~~~~~~~~
* blacklist idea plugin gen from faulty earlier edit (#7157)
`PR #7157 <https://github.com/pantsbuild/pants/pull/7157>`_
* Add Python 3 support to Pytest with V2 engine (#7153)
`PR #7153 <https://github.com/pantsbuild/pants/pull/7153>`_
* Fix Py2 regression with rjust argument (#7132)
`PR #7132 <https://github.com/pantsbuild/pants/pull/7132>`_
* v2 python test execution fails if resolve process fails (#7135)
`PR #7135 <https://github.com/pantsbuild/pants/pull/7135>`_
Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Fixes to get contrib, lint, JVM tests, and platform-specific tests working with ./pants3 (#7067)
`PR #7067 <https://github.com/pantsbuild/pants/pull/7067>`_
* Properly handle unicode and byte streams with pantsd for Python 3 (#7130)
`PR #7130 <https://github.com/pantsbuild/pants/pull/7130>`_
* populate parent directories of process outputs locally to match remote execution api (#7133)
`PR #7133 <https://github.com/pantsbuild/pants/pull/7133>`_
* Fix test_jvm_platform_analysis_integration.py using unknown platforms (#7140)
`Issue #7139 <https://github.com/pantsbuild/pants/issues/7139>`_
`PR #7140 <https://github.com/pantsbuild/pants/pull/7140>`_
* Remove option integration test from Python 3 blacklist (#7142)
`PR #7142 <https://github.com/pantsbuild/pants/pull/7142>`_
* Fix Idea plugin unicode issues with Python 3 (#7141)
`PR #7141 <https://github.com/pantsbuild/pants/pull/7141>`_
`PR #7157 <https://github.com/pantsbuild/pants/pull/7157>`_
* Fix legacy graph test Python 3 issue with rendering unicode literals (#7143)
`PR #7143 <https://github.com/pantsbuild/pants/pull/7143>`_
* Fix setup_py.py unicode issue with Python 3 (#7144)
`PR #7144 <https://github.com/pantsbuild/pants/pull/7144>`_
* Fix various backend/jvm/task Python 3 and unicode issues (#7124)
`PR #7124 <https://github.com/pantsbuild/pants/pull/7124>`_
* refactor ImportJarsMixin into ImportRemoteSourcesMixin for extensibility (same with tasks) (#7061)
`PR #7061 <https://github.com/pantsbuild/pants/pull/7061>`_
* Ignore 3rd party deprecation warnings for unmaintained libraries (#7110)
`PR #7110 <https://github.com/pantsbuild/pants/pull/7110>`_
* Update to rust 1.32.0 (#7094)
`PR #7094 <https://github.com/pantsbuild/pants/pull/7094>`_
1.14.0.dev2 (1/19/2019)
-----------------------
New Features
~~~~~~~~~~~~
* Allow nailgun execution for RscCompile by bundling together the tool classpaths (#7092)
`PR #7092 <https://github.com/pantsbuild/pants/pull/7092>`_
* Python code generation for protobufs and gRPC (#6974)
`PR #6974 <https://github.com/pantsbuild/pants/pull/6974>`_
* refactor NativeExternalLibraryFetch to be a SimpleCodegenTask (#7060)
`PR #7060 <https://github.com/pantsbuild/pants/pull/7060>`_
* Rerun proto compilation when protos change (#7029)
`PR #7029 <https://github.com/pantsbuild/pants/pull/7029>`_
API Changes
~~~~~~~~~~~
* move dict key encoding into hash_utils.py and deprecate stable_json_hash() (#6475)
`PR #6475 <https://github.com/pantsbuild/pants/pull/6475>`_
Version updates
~~~~~~~~~~~~~~~
* Update psutil to fix deprecation warnings (#7112)
`PR #7112 <https://github.com/pantsbuild/pants/pull/7112>`_
* Bump twitter.common dependencies to 0.3.10 to pull in Py3 fixes. (#7102)
`PR #7102 <https://github.com/pantsbuild/pants/pull/7102>`_
* Upgrade several dependencies to fix Py3 deprecations (#7053)
`PR #7053 <https://github.com/pantsbuild/pants/pull/7053>`_
* Update pantsbuild/pants to scala 2.12, and bump the default patch version for 2.12 (#7035)
`PR #7035 <https://github.com/pantsbuild/pants/pull/7035>`_
Bugfixes
~~~~~~~~
* Move pants.init.subprocess into pants.process (#7081)
`PR #7081 <https://github.com/pantsbuild/pants/pull/7081>`_
* Continue to reexport stable_json_hash from its previous location. (#7103)
`PR #7103 <https://github.com/pantsbuild/pants/pull/7103>`_
* [compile.rsc] fix key error; ensure java compiles get necessary zinc scala deps (#7038)
`PR #7038 <https://github.com/pantsbuild/pants/pull/7038>`_
* Fix jvm compile unicode issues when using Python 3 (#6987)
`PR #6987 <https://github.com/pantsbuild/pants/pull/6987>`_
* Revert "set PEX_PYTHON_PATH when invoking the checkstyle pex for pexrc to work (#7013)" (#7028)
`PR #7028 <https://github.com/pantsbuild/pants/pull/7028>`_
Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Reorder CI based on what's most likely to change from a typical PR (#7104)
`PR #7104 <https://github.com/pantsbuild/pants/pull/7104>`_
* Switch operation getting to tower (#7108)
`PR #7108 <https://github.com/pantsbuild/pants/pull/7108>`_
* Only clippy on CI on one shard (#7109)
`PR #7109 <https://github.com/pantsbuild/pants/pull/7109>`_
* Make ci.sh's -b bootstrap flag a positive flag (#7096)
`PR #7096 <https://github.com/pantsbuild/pants/pull/7096>`_
* Use docker on wheel builder shard (#7100)
`PR #7100 <https://github.com/pantsbuild/pants/pull/7100>`_
* don't override PANTS_DEV if set to 0 in the calling environment to make python checkstyle work in a separate repo (#7017)
`PR #7017 <https://github.com/pantsbuild/pants/pull/7017>`_
* Split out unrelated CI jobs into their own distinct shards (#7090)
`PR #7090 <https://github.com/pantsbuild/pants/pull/7090>`_
* Hotfix for #6981 breaking release.sh (#7091)
`PR #7091 <https://github.com/pantsbuild/pants/pull/7091>`_
* Use ./pants3 for majority of CI (#6981)
`PR #6981 <https://github.com/pantsbuild/pants/pull/6981>`_
* [compile.rsc] fix typo (#7057)
`PR #7057 <https://github.com/pantsbuild/pants/pull/7057>`_
* Fix threading issue with report.py when using Py3 (#7085)
`PR #7085 <https://github.com/pantsbuild/pants/pull/7085>`_
* Allow Pants to run with Python 3 via `./pants3` script (#6959)
`PR #6959 <https://github.com/pantsbuild/pants/pull/6959>`_
* Properly render
in exceptions with Py3 (#7073)
`PR #7073 <https://github.com/pantsbuild/pants/pull/7073>`_
* use the asttokens 3rdparty lib to make @rule parsing errors very smooth (#7023)
`PR #7023 <https://github.com/pantsbuild/pants/pull/7023>`_
* Add specific copyright year check on newly added python files (#7066)
`PR #7066 <https://github.com/pantsbuild/pants/pull/7066>`_
* Use homebrew addon feature in CI (#7062)
`PR #7062 <https://github.com/pantsbuild/pants/pull/7062>`_
* Add `collections.abc` backport to fix deprecation warning (#7055)
`PR #7055 <https://github.com/pantsbuild/pants/pull/7055>`_
* Improve symlink errors (#7054)
`PR #7054 <https://github.com/pantsbuild/pants/pull/7054>`_
* Fix invalid escape sequence problems (#7056)
`PR #7056 <https://github.com/pantsbuild/pants/pull/7056>`_
* Build rust code only once per platform in a CI run (#7047)
`PR #7047 <https://github.com/pantsbuild/pants/pull/7047>`_
* Remote execution uses tower-grpc to start executions (#7049)
`PR #7049 <https://github.com/pantsbuild/pants/pull/7049>`_
* Workaround for homebrew bug with osx shard (#7050)
`PR #7050 <https://github.com/pantsbuild/pants/pull/7050>`_
`Issue #5513 <https://github.com/Homebrew/brew/issues/5513>`_
* Support some conversions for prost protos (#7040)
`PR #7040 <https://github.com/pantsbuild/pants/pull/7040>`_
* Expose 1.13.x in the docsite notes dropdown. (#7045)
`PR #7045 <https://github.com/pantsbuild/pants/pull/7045>`_
* Reqwest uses rustls not openssl (#7002)
`PR #7002 <https://github.com/pantsbuild/pants/pull/7002>`_
* Fix awscli install to be language agnostic. (#7033)
`PR #7033 <https://github.com/pantsbuild/pants/pull/7033>`_
* Improve readability of integration test logging. (#7036)
`PR #7036 <https://github.com/pantsbuild/pants/pull/7036>`_
* Generate protos for tower as well as grpcio (#7030)
`PR #7030 <https://github.com/pantsbuild/pants/pull/7030>`_
* Ensure all rust crates have common prefix (#7031)
`PR #7031 <https://github.com/pantsbuild/pants/pull/7031>`_
* Eliminate bs4 warning. (#7027)
`PR #7027 <https://github.com/pantsbuild/pants/pull/7027>`_
1.14.0.dev1 (1/4/2019)
----------------------
New Features
~~~~~~~~~~~~
* Validate yield statements in rule bodies to remove ambiguity about returning (#7019)
`PR #7019 <https://github.com/pantsbuild/pants/pull/7019>`_
* Add support for consuming Subsystems from @rules (#6993)
`PR #6993 <https://github.com/pantsbuild/pants/pull/6993>`_
* add rules to plugins and add some integration tests, maybe (#6892)
`PR #6892 <https://github.com/pantsbuild/pants/pull/6892>`_
Version updates
~~~~~~~~~~~~~~~
* Update to rust 2018 (#6867)
`PR #6867 <https://github.com/pantsbuild/pants/pull/6867>`_
Bugfixes
~~~~~~~~
* set PEX_PYTHON_PATH when invoking the checkstyle pex for pexrc to work (#7013)
`PR #7013 <https://github.com/pantsbuild/pants/pull/7013>`_
* fix binary_util.py main method, add unit test, and kill integration test (#7010)
`PR #7010 <https://github.com/pantsbuild/pants/pull/7010>`_
* Markdown writer errors are written properly (#6975)
`PR #6975 <https://github.com/pantsbuild/pants/pull/6975>`_
* Fix unused_must_use, error in the futrue (#6999)
`PR #6999 <https://github.com/pantsbuild/pants/pull/6999>`_
* Add python version to the native cache key (#6991)
`PR #6991 <https://github.com/pantsbuild/pants/pull/6991>`_
* Fix invalid escape sequence & regex expression deprecations (#6984)
`PR #6984 <https://github.com/pantsbuild/pants/pull/6984>`_
* Fix test_checkstyle.py interpreter constraint (#6983)
`PR #6983 <https://github.com/pantsbuild/pants/pull/6983>`_
`PR #6959 <https://github.com/pantsbuild/pants/pull/6959>`_
* Fix native.py unicode issue leading to compile error with Python 3 (#6982)
`PR #6982 <https://github.com/pantsbuild/pants/pull/6982>`_
* Fix python_artifact fingerprint unicode issue for Python 3 (#6971)
`PR #6971 <https://github.com/pantsbuild/pants/pull/6971>`_
Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Eliminate dead code warnings. (#7018)
`PR #7018 <https://github.com/pantsbuild/pants/pull/7018>`_
* Retrofit the Conan tool using PythonToolBase. (#6992)
`PR #6992 <https://github.com/pantsbuild/pants/pull/6992>`_
* A preliminary bootstrapping CI stage, to prevent repeated work in each CI shard. (#7012)
`PR #7012 <https://github.com/pantsbuild/pants/pull/7012>`_
* add unit testing for requesting transitively available products (#7015)
`PR #7015 <https://github.com/pantsbuild/pants/pull/7015>`_
* When compiling with rsc, metacp java libraries in a separate execution graph node. (#6940)
`PR #6940 <https://github.com/pantsbuild/pants/pull/6940>`_
* digest returns hashing::Digest (#7006)
`PR #7006 <https://github.com/pantsbuild/pants/pull/7006>`_
* Fix all rust clippy warnings (#7001)
`PR #7001 <https://github.com/pantsbuild/pants/pull/7001>`_
* Engine can store dict (#6996)
`PR #6996 <https://github.com/pantsbuild/pants/pull/6996>`_
* Programatically add rust config to vendored protos (#7000)
`PR #7000 <https://github.com/pantsbuild/pants/pull/7000>`_
* Engine can store bools (#6994)
`PR #6994 <https://github.com/pantsbuild/pants/pull/6994>`_
* Clarify which files should be edited when releasing from branch (#6988)
`PR #6988 <https://github.com/pantsbuild/pants/pull/6988>`_
* Core has a PathBuf for build root (#6995)
`PR #6995 <https://github.com/pantsbuild/pants/pull/6995>`_
* Don't explicitly use TaskRule (#6980)
`PR #6980 <https://github.com/pantsbuild/pants/pull/6980>`_
* Make UI Per-session instead of per-request (#6827)
`PR #6827 <https://github.com/pantsbuild/pants/pull/6827>`_
* Replace deprecated cgi.escape() with html.escape() (#6986)
`PR #6986 <https://github.com/pantsbuild/pants/pull/6986>`_
* Allow remote store RPC attempts to be configured (#6978)
`PR #6978 <https://github.com/pantsbuild/pants/pull/6978>`_
* Prep for 1.13.0 (#6977)
`PR #6977 <https://github.com/pantsbuild/pants/pull/6977>`_
* Allow fs_util thread count to be configured (#6976)
`PR #6976 <https://github.com/pantsbuild/pants/pull/6976>`_
* Convert Native into a singleton (#6979)
`PR #6979 <https://github.com/pantsbuild/pants/pull/6979>`_
1.14.0.dev0 (12/21/2018)
------------------------
New Features
~~~~~~~~~~~~
* Add support for deprecating scoped SubsystemDependencies (#6961)
`PR #6961 <https://github.com/pantsbuild/pants/pull/6961>`_
* Add a flag to filedeps v1 to output abs or rel paths (#6960)
`PR #6960 <https://github.com/pantsbuild/pants/pull/6960>`_
* Add serverset (#6921)
`PR #6921 <https://github.com/pantsbuild/pants/pull/6921>`_
* Use serverset for Store (#6931)
`PR #6931 <https://github.com/pantsbuild/pants/pull/6931>`_
* Add Python 3 support to C and C++ module initialization (#6930)
`PR #6930 <https://github.com/pantsbuild/pants/pull/6930>`_
* Support source and 3rdparty dependencies in v2 python test running (#6915)
`PR #6915 <https://github.com/pantsbuild/pants/pull/6915>`_
* Add tool classpath for ./pants scalafix (#6926)
`PR #6926 <https://github.com/pantsbuild/pants/pull/6926>`_
* Log aggregate statistics for remote executions (#6812)
`PR #6812 <https://github.com/pantsbuild/pants/pull/6812>`_
Version updates
~~~~~~~~~~~~~~~
* Upgrade Scrooge, Finagle, and Thrift for unified Thrift library and Py3 support (#6945)
`PR #6945 <https://github.com/pantsbuild/pants/pull/6945>`_
* Bump zinc bootstrapper to 0.0.4 (#6967)
`PR #6967 <https://github.com/pantsbuild/pants/pull/6967>`_
* Set CI's minimum Python 3 version to 3.6 (#6954)
`PR #6954 <https://github.com/pantsbuild/pants/pull/6954>`_
* Bump scalafix version and use os.pathsep (#6938)
`PR #6938 <https://github.com/pantsbuild/pants/pull/6938>`_
Bugfixes
~~~~~~~~
* Handle ValueError when child wants to reset stderr but it is closed. (#6932)
`PR #6932 <https://github.com/pantsbuild/pants/pull/6932>`_
* Manually manage Delay's timer thread (#6950)
`PR #6950 <https://github.com/pantsbuild/pants/pull/6950>`_
Refactoring, Improvements, and Tooling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Ensure digests are uploaded before attempting execution (#6965)
`PR #6965 <https://github.com/pantsbuild/pants/pull/6965>`_
* Fix tokenize encoding issue engine parser on Python 3 (#6962)
`PR #6962 <https://github.com/pantsbuild/pants/pull/6962>`_
* Fix scheduler.metrics() returning bytes instead of unicode (#6969)
`PR #6969 <https://github.com/pantsbuild/pants/pull/6969>`_
* Use stdout with bytes for task context (#6968)
`PR #6968 <https://github.com/pantsbuild/pants/pull/6968>`_
* Fix plaintext_recorder sometimes being passed TextIO (#6963)
`PR #6963 <https://github.com/pantsbuild/pants/pull/6963>`_
* Switch daytime CI to Python 3 only (#6952)
`PR #6952 <https://github.com/pantsbuild/pants/pull/6952>`_
* Renamespace and publish the buck zip utils (#6955)
`PR #6955 <https://github.com/pantsbuild/pants/pull/6955>`_
* Add filedeps goal and tests for v2 (#6933)
`PR #6933 <https://github.com/pantsbuild/pants/pull/6933>`_
* serverset: Add ability to retry a function (#6953)
`PR #6953 <https://github.com/pantsbuild/pants/pull/6953>`_
* Only build fs_util when releasing (#6951)
`PR #6951 <https://github.com/pantsbuild/pants/pull/6951>`_
* Exclude Antlr test from testprojects to avoid interpreter conflict (#6944)
`PR #6944 <https://github.com/pantsbuild/pants/pull/6944>`_
* Fix failing lint with TEST_BUILD pattern (#6943)
`PR #6943 <https://github.com/pantsbuild/pants/pull/6943>`_
* Fix relative import for testprojects dummy test on Python 3 (#6942)
`PR #6942 <https://github.com/pantsbuild/pants/pull/6942>`_
* Fix relative import for conftest test on Python 3 (#6941)
`PR #6941 <https://github.com/pantsbuild/pants/pull/6941>`_
* Fix Travis environment variable overriding interpreter_selection test's config (#6939)
`PR #6939 <https://github.com/pantsbuild/pants/pull/6939>`_
* PythonToolPrepBase now sets up its interpreter. (#6928)
`PR #6928 <https://github.com/pantsbuild/pants/pull/6928>`_
* Remove remaining unnecessary __future__ imports (#6925)
`PR #6925 <https://github.com/pantsbuild/pants/pull/6925>`_
* Construct clients on demand (#6920)
`PR #6920 <https://github.com/pantsbuild/pants/pull/6920>`_
* Enforce interpreter constraints for antlr3 python code. (#6924)
`PR #6924 <https://github.com/pantsbuild/pants/pull/6924>`_