1.15.x Stable Releases

1.15.x Stable Releases

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

1.15.0 (4/15/2019)

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

This is the first Pants version to support being run under either Python 3.6 or 2.7. If you've been using our provided ./pants script prior to this release, update the script by running curl -L -O https://pantsbuild.github.io/setup/pants. Pants 1.17.0 will no longer support running Pants with Python 2.7 and will require Python 3.6+.

1.15.0rc3 (4/08/2019)

Bugfixes

  • Pass interpreter constraints to the Pex we release (#7511) PR #7511

Refactoring, Improvements, and Tooling

  • Install Python 2.7 and 3.6 on Centos6 base image through Pyenv (#7064) PR #7064
  • Prepare Linux UCS2 shard for upgrade to Centos6 base image in #7064 (#7418) PR #7418

1.15.0rc2 (4/02/2019)

As of this release, Pants has reached implementation and performance parity when running under Python 3 and Python 2! Although Python 3.7 will not be supported in the 1.15.x series, Python 3.6 can now be considered a stable platform for running Pants.

New Features

  • Add ./pants generate-pants-ini for first time users to generate pants.ini with sensible defaults (#7448) PR #7448 PR #45

Bugfixes

  • Fix flaky ./pants idea-plugin when using Python 3 by properly using ConsoleTask interface (#7460) Issue #7150 PR #7460
  • Fix issues with deploy shards not properly setting Python version (#7471) PR #7471
  • Switch to twitter.common 0.3.11 to fix DeprecationWarning when using Pants as a PEX (#7461) PR #7461
  • Fix ./pants server not working with Python 3 (#7458) Issue #7443 PR #7458
  • Fix crash if pants.ini is missing in the buildroot (#7452) PR #7452
  • remove inspect.stack() from @rule parsing to fix import time regression in py3 (#7447) PR #7447

Refactoring, Improvements, and Tooling

  • No longer pin pants_runtime_python_version with ./pants generate-pants-ini (#7469) PR #7469
  • Revert unnecessary runtime check for valid Python interpreter (#7451) PR #7451

1.15.0rc1 (3/25/2019)

Note: This release does not support using Python 3.7 due to a bug that was introduced while releasing a Python 3 PEX. We are prioritizing fixing this before 1.15.0 is cut. In the meantime, you may use Python 2.7 or Python 3.6.

New Features

Refactoring, Improvements, and Tooling

  • Refactor travis.yml to deduplicate Pyenv and AWS pex code (#7397) PR #7397

Bugfixes

  • fix for pantsrc-files option (#7427) PR #7427
  • Allow usage of pants2 script from other directories (#7409) PR #7409
  • Specify the python version to use in the unstable pex deploy shard. (#7411) PR #7411
  • Simplify glob matching and directly match in-memory globs as Patterns. (#7402) PR #7402
  • add a non-numeric prefix before the unstable version to avoid getting parsed and truncated as a number (#7400) PR #7400

1.15.0rc0 (3/18/2019)

New Features

  • [rsc-compile] support explicit tagging of targets in rsc compile (#7362) PR #7362

Refactoring, Improvements, and Tooling

  • run clean-all before switching pants python version runner scripts (#7151) PR #7151
  • Run lint shard with Python 2 during daily CI instead of nightly cron job (#7391) PR #7391

1.15.0.dev4 (3/15/2019)

API Changes

  • Drop old deprecated options / conditionals (#7332) PR #7332

New Features

  • Add runtime check for valid Python interpreter (#7365) PR #7365
  • Add support for releasing Python 3 wheels (#7197) Issue #654 PR #7197
  • [pantsd] Implement auto-shutdown after runs (#7341) PR #7341
  • Add pants_runtime_python_version global option (#7363) Issue #30, PR #7363

Bugfixes

  • When building a pex in release.sh, build it for all supported ABIs. (#7393) PR #7393
  • [rsc-compile] define workflow in context instead of on fly (#7324) PR #7324
  • Fix rule graph nondeterminism due to undetected ambiguity (#7379) PR #7379
  • Hotfix Python 2 regression from #7366 using FileNotFoundError (#7381) PR #7381
  • Replace future with six in the python style checker. (#7374) PR #7374
  • Hardcode the junit xml hostname to avoid doing DNS lookups in tests (#7329) PR #7329
  • Fix use of legacy venv folder names from #7187 (#7359) PR #7359
  • Fixes to release script post-#7235. (#7349) PR #7349

Refactoring, Improvements, and Tooling

  • Use UUID from run_id as trace_id if trace_id isn't set by a flag (#7319) PR #7319
  • Refactor test code's interpreter_selection_utils.py for better naming of util functions (#7366) PR #7366
  • Update docs re: target tag usage (#7360) PR #7360
  • Create dedicated Dockerfile with Python 3.6 to reduce CI time (#7352) PR #7352
  • Add dedicated cron bootstrap stage to CI to avoid unnecessarily building Python 3 (#7353) PR #7353
  • Fix names of listtargets and sorttargets files (#7358) PR #7358
  • Refactor .travis.yml to deduplicate uses of Docker and use Mustache comments (#7351) PR #7351

1.15.0.dev3 (3/9/2019)

API Changes

  • Propagate global interpreter constraints when building PEXes with interpreter constraints requested (#7285) PR #7285

New Features

  • Publish the awslambda contrib to PyPI. (#7343) PR #7343
  • Add subsystem for appending tags to targets from a single source (#7315) PR #7315

Bugfixes

  • Revert "add a lint to warn on implicit string concatenation (#7286)" (#7340) PR #7286
  • Fix ./pants2 overriding desired $PY interpreter (#7338) PR #7338
  • Fix regression to python interpreter selection test from #7257 (#7333) PR #7333
  • Fix ./pants2 overriding preset interpreter constraints (#7334) PR #7334
  • Bugfix for stale interpreter.info purging when binary exe is no longer on the filesystem (#7292) PR #7292

Refactoring, Improvements, and Tooling

  • Specify ABI for pantsbuild.pants wheel and build with both UCS2 and UCS4 (#7235) PR #7235
  • Have extern::generator_send directly produce TypeIds for product types (#7318) PR #7318
  • use type= to register enum options (#7304) PR #7304
  • Skip GraphIntegrationTest.test_error_message as it's flaky in CI. (#7309) PR #7309
  • Re-enable https for grpc connections (#7317) PR #7317
  • convert usages of TypeConstraint to TypeId for rule products in the engine (#7114) PR #7114
  • Print trace id to console and possible URL with the zipkin trace (#7313) PR #7313
  • @union / UnionRule for letting the engine figure out paths to products not known in advance (#7116) PR #7116
  • Filter out irrelevant env vars in OptionsBootstrapper. (#7312) PR #7312
  • Revert 7238 and add requirement for more-itertools that works on python 2 (#7296) PR #7296
  • convert many manual NotImplementedError() calls to use @abstractmethod (#7310) PR #7310
  • [rsc-compile] extract helper methods for tests (#7294) PR #7294
  • add a lint to warn on implicit string concatenation (#7286) PR #7286
  • add self.assertRaisesWithMessageContaining() to TestBase and use it to clean up test_objects.py (#7303) PR #7303
  • move the declarative task stuff out of the python backend testing (#7279) PR #7279

Deprecations

  • Remove deprecated RunTracker url option (#7325) PR #7325
  • Deprecate Context.build_file_parser. (#7295) PR #7295

Documentation

Version updates

1.15.0.dev2 (3/02/2019)

New Features

  • Add filtering subsystem to permit skipping targets by tags (#7275) PR #7275
  • Add junit html-report-error-on-conflict option (#7297) PR #7297
  • add checker for accidental constants in boolean operators (#7273) PR #7273

Version updates

  • [rsc-compile] bump version; rm metacp jobs; update tests (#7272) PR #7272

Bugfixes

  • [zinc-compile] fully adopt enum based switches for hermetic/not; test coverage (#7268) PR #7268
  • don't do a pants run on osx (#7278) PR #7278

Refactoring, Improvements, and Tooling

  • enum cleanup (#7269) PR #7269
  • filespec matching utility functions use native glob matching. (#7299) PR #7299
  • move wheel extraction for UnpackWheels into PexBuilderWrapper and resolve for a single platform only (#7289) PR #7289
  • Default to pants devs using Python 3 by renaming ./pants3->`./pants` and ./pants->`./pants2` (#7257) PR #7257
  • Delete BuildFileAddressMapper. (#7291) PR #7291
  • Split out rsc distribution selection into JvmCompile (#7290) PR #7290
  • Allow tasks to opt-in to target filtering (#7283) PR #7283
  • try defining algebraic Executables in the native backend to compose more readable toolchains (#6855) PR #6855
  • Update TargetFiltering args for applying criteria (#7280) PR #7280

1.15.0.dev1 (2/22/2019)

New Features

  • Allow passing floating point numbers from rust to python (#7259) PR #7259

Bugfixes

Documentation

  • [jvm-compile] fix typo: s/direcotry/directory/ (#7265) PR #7265

Refactoring, Improvements, and Tooling

  • cache python tools in ~/.cache/pants (#7236) PR #7236
  • Prepare 1.14.0rc3 (#7274) PR #7274
  • Node is Display (#7264) PR #7264
  • Scheduler returns metrics as a dictionary instead of a tuple of tuples (#7255) PR #7255
  • Prepare 1.14.0.rc2 instead. (#7251) PR #7251
  • Prepare 1.14.0 (#7246) PR #7246
  • Avoid capturing Snapshots for previously digested codegen outputs (#7241) PR #7241
  • Add checks if values of flags zipkin-trace-id and zipkin-parent-id are valid (#7242) PR #7242
  • Remove deprecated test classes (#7243) PR #7243
  • fix expected pytest output for pytest integration after pinning to 3.0.7 (#7240) PR #7240
  • Canonicalize enum pattern matching for execution strategy, platform, and elsewhere (#7226) PR #7226
  • add a TypedCollection type constraint to reduce boilerplate for datatype tuple fields (#7115) PR #7115

1.15.0.dev0 (2/8/2019)

API Changes

  • deprecate implicit usage of binary_mode=True and mode='wb' in dirutil methods (#7120) PR #7120
  • Resolve all platforms from all python targets (#7156) PR #7156
  • Only lint the direct sources of a linted target. (#7219) PR #7219

New Features

  • Add flag reporting-zipkin-sample-rate (#7211) PR #7211
  • Add flags to prosecc_executor that say where to materialize output and what is output (#7201) PR #7201

Bugfixes

  • Do not render the coursier workunit unless it will run. (#7218) PR #7218
  • Output non-empty digest for empty directory as output_directories when running ExecuteProcessRequest (#7208) PR #7208

Documentation

  • documentation for grpcio (#7155) PR #7155

Refactoring, Improvements, and Tooling

  • Make Resettable lazy again (#7222) PR #7222
  • fix _raise_deferred_exc() (#7008) PR #7008
  • Skip flaky test (#7209) PR #7209
  • Only run master-dependent commithooks on master (#7214) PR #7214
  • Revert "make GoTest subclass PartitionedTestRunnerTaskMixin to test transitively" (#7212) PR #7212
  • Absolute-ify GIT_DIR (#7210) PR #7210
  • Fix release script ownership check command name. (#7204) PR #7204
Generated by publish_docs from dist/markdown/html/src/python/pants/notes/1.15.x.html 2019-06-11T14:46:33.621031