1.9.x Stable Releases

1.9.x Stable Releases

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

1.9.0 (09/17/2018)

The first stable release of the 1.9.x series, with no changes since rc3.

1.9.0rc3 (09/10/2018)

Bugfixes

  • Cherry-pick setup_py fixes (#6472) Issue #8315 PR #6472
  • Work around production coverage float. (#6452) PR #6452
  • Cancel running work when entering the fork context (#6464) PR #6464

1.9.0rc2 (08/30/2018)

New features

  • Add --output-dir flag to ScalaFmt task (#6134) PR #6134

Bugfixes

  • Fix --binaries-path-by-id fingerprinting error (#6413) PR #6413
  • added fullpath to fix path concat issue with files when not in git root (#6331) PR #6331
  • Link requirements targets to their source. (#6405) PR #6405
  • Move fork context management to rust (#5521) PR #5521
  • Bound pytest below 3.7 to avoid a ZipImportError (#6285) PR #6285
  • Fix pydist native sources selection (#6205) PR #6205
  • Fix spurious deprecation warning for fatal_warnings (#6237) PR #6237

Refactoring, Improvements, and Tooling

  • Add basic native task unit tests. (#6179) PR #6179
  • Associate cli arguments with executables and refactor llvm/gcc c/c++ toolchain selection (#6217) PR #6217

1.9.0rc1 (07/20/2018)

  • 1.9.0rc0 failed due to a pypi error (#6192) Issue 6192

1.9.0rc0 (07/19/2018)

New features

  • Conan (third party) support for ctypes native libraries (#5998) PR #5998 PR #5815
  • Early support for @console_rule. (#6088) PR #6088

Bugfixes

  • Fix incorrect use of bytes() when invoking the daemon in a tty (#6181) PR #6181
  • rustfmt check more reliably works (#6172) PR #6172
  • Fix isort issues (#6174) PR #6174
  • add the target fingerprint to the version of each local dist so that we don't use the first cached one (#6022) PR #6022
  • Eliminate obsolete PANTS_ARGS from ci. (#6141) PR #6141
  • Preserve output directories if process execution failed (#6152) PR #6152

Refactoring, Improvements, and Tooling

  • Upgrade to isort 4.3.4. (#6166) PR #6166
  • fs_util can list the recursive files in a Directory (#6153) PR #6153
  • Support output directory saving in remote execution (#6167) PR #6167
  • Move each EntryState in the graph under its own Mutex (#6095) PR #6095

Documentation Updates

  • Impose a consistent sort on CONTRIBUTORS.md. (#6125) PR #6125

Python 3 porting (#6062)

  • Port engine to Python 3 (#6133) PR #6133
  • Port go to py3 (#6139) PR #6139
  • Port init package to Python 3 (#6145) PR #6145
  • Port help package to Python 3 (#6144) PR #6144
  • Port invalidation to Python 3 (#6147) PR #6147
  • port cpp to py3 (#6116) PR #6116
  • Port ivy to Python 3 (#6154) PR #6154
  • Port java to Python 3 (#6159) PR #6159
  • Port contrib/scalajs to py3 (#6164) PR #6164
  • port scrooge to py3 (#6165) PR #6165
  • Add missing future dependency to BUILD (#6135) PR #6135
  • Port binaries package to Python 3 (#6127) PR #6127
  • Port option package to python3 (#6117) PR #6117
  • Port to mypy to py3 (#6140) PR #6140
  • Port goal package to Python 3 (#6138) Issue #6062 PR #6138
  • Port findbugs to py3 (#6137) PR #6137
  • Port backend project info to Python 3 (#6132) PR #6132
  • Port backend graph info to Python 3 (#6131) PR #6131
  • Port core tasks to Python 3 (#6130) PR #6130

1.9.0.dev1 (07/14/2018)

New features

  • Add support for reusing Graph node values if their inputs haven't changed (#6059) PR #6059
  • Compile a VERY simple java source remotely (no dependencies or inner classes) (#5999) PR #5999
  • Expose materialize_directory as an intrinsic function on the scheduler (#6028) PR #6028
  • Targets always have a Snapshot (#5994) PR #5994
  • Add an execution strategy flag (#5981) PR #5981
  • Enable passing option sets to the compiler and deprecate fatal_warnings (#6065) PR #6065

API Changes

  • Upgrade to v2 of bazel protobuf (#6027) PR #6027
  • Add PrimitivesSetField and deprecate SetOfPrimitivesField (#6087) PR #6087
  • Update to rust 1.27, implicitly requiring OSX 10.11 (#6035) PR #6035

Bugfixes

  • Fix local execution of hermetic integration tests (#6101) PR #6101
  • Use PrimitivesSetField in ScalaJs target and minor help text fixup (#6113) PR #6113
  • Fix 'current' platform handling. (#6104) PR #6104
  • Make RUST_BACKTRACE sniffing less specific (#6107) PR #6107
  • Improve source field deprecations (#6097) PR #6097
  • Remove and prevent inaccurate __eq__ implementations on datatype (#6061) PR #6061
  • Ensure correct toolchain per clone. (#6054) PR #6054
  • Have pantsbuild-ci-bot do deploys. (#6053) PR #6053
  • Fix go-import meta tag ends with /> #6036 (#6037) PR #6037
  • Fix bad exclusion introduced during rushed change. (#6034) PR #6034
  • Fix unicode handling in Exiters (#6032) PR #6032
  • [pantsd] Improve environment unicode handling. (#6031) PR #6031
  • Actually return execution options (#6019) PR #6019
  • Ignore the logs/ dir. (#6021) PR #6021
  • Fix edge removal in Graph that could make invalidation inaccurate (#6123) PR #6123

Refactoring, Improvements, and Tooling

  • Port errorprone to py3 (#6118) PR #6118
  • Port console to Python 3 (#6121) PR #6121
  • Port buildgen to py3 (#6110) PR #6110
  • Add release metadata to boxfuture (#6106) PR #6106
  • Port engine/fs.py datatype() instances (#6103) PR #6103 PR #6098 PR #6092
  • Port findbugs to py3. (#6120) PR #6120
  • Port codeanalysis to py3. (#6111) PR #6111
  • Port buildrefactor to py3. (#6109) PR #6109
  • Switch from output_async to spawn_async, and buffer output. (#6105) PR #6105
  • Allow Rust to store unicode as well as bytes (#6108) PR #6108 PR #6103
  • Remove unnecessary __future__ imports (#6096) PR #6096
  • Port fs to python 3 compatibility (#6091) PR #6091
  • Nodes output cheaply-cloneable values (#6078) PR #6078
  • execution_strategy is a memoized_property (#6052) PR #6052
  • Port backend/python to Python 3 (#6086) Issue #6062 PR #6086
  • Port backend/native to Python 3 (#6084) Issue #6062 PR #6084
  • Port majority of pants/util to Python 3 (#6073) Issue #6062 PR #6073
  • Port backend/codegen and backend/docgen to Python 3 (#6083) PR #6083
  • Port util/process_handler.py and util/tarutil.py to Python 3 (#6082) PR #6082 PR #6073
  • Add -ltrace and requests debug logging. (#6070) PR #6070
  • Port util metaprogramming files to Python3 (#6072) Issue #6062 PR #6072
  • Add future lib and port src/base to Python3 (#6067) Issue #6062), PR #6067
  • Run futurize --stage1 to make safe changes for python 3 compatibility. (#6063) PR #6063 Issue #6062
  • Switch to a per-entry state machine in Graph (#6013) PR #6013
  • Log more in rust tests (#6060) PR #6060
  • Introduce libc subsystem to find crti.o on linux hosts and unskip the native backend subsystem tests (#5943) PR #5943
  • Clean up process execution python API (#6051) PR #6051
  • Skip pyprep and pytest-prep if there are no python targest (#6039) PR #6039
  • Simplify rust code (#6043) PR #6043
  • [remoting] Move local process execution tempdirs into the workdir, add option to not delete them (#6023) PR #6023
  • Many rust lints (#5982) PR #5982
  • Include type name in TypedDataType construction errors (#6015) PR #6015
  • Consolidate src/python/pants/python -> src/python/pants/backend/python (#6025) PR #6025
  • Extract and genericize Graph for easier testing (#6010) PR #6010
  • Add libc search noop option (#6122) PR #6122
  • Fix test_objects handling of dataclass() py2-py3 compatibility (#6098) PR #6098 Issue #6062

1.9.0.dev0 (06/25/2018)

New features

  • Release Pants as a pex. (#6014) PR #6014
  • C/C++ targets which can be compiled/linked and used in python_dist() with ctypes (#5815) PR #5815

API Changes

  • Deprecate sources except EagerFilesetWithSpec (#5993) PR #5993
  • source attribute is automatically promoted to sources (#5908) PR #5908

Bugfixes

  • Run scalafix before scalafmt (#6011) PR #6011

Refactoring, Improvements, and Tooling

  • Add .vscode/ folder to .gitignore (#6020) PR #6020
  • [engine] Selecting for ExecuteProcessResult will Throw on non-zero exit (#6000) PR #6000
  • Context always has a scheduler in tests (#5997) PR #5997
  • Engine looks up default sources when parsing (#5989) PR #5989
  • Fix TestSetupPyInterpreter.test_setuptools_version (#5988) PR #5988
  • Caching tests are parsed through the engine (#5985) PR #5985
  • Override get_sources for pants plugins (#5984) PR #5984
  • make_target upgrades sources to EagerFilesetWithSpec (#5974) PR #5974
  • Robustify test_namespace_effective PYTHONPATH. (#5976) PR #5976

Documentation Updates

Generated by publish_docs from dist/markdown/html/src/python/pants/notes/1.9.x.html 2018-10-18T10:17:07.847270