1.26.x Stable Releases

1.26.x Stable Releases

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

Some significant changes in this series:

1.26.0 (04/29/2020)

The first stable release in the 1.26.x series, with no changes since the previous rc!

1.26.0rc2 (04/15/2020)

API Changes

  • Upgrade to Pex 2.1.7. (#9401) PR #9401

New Features

  • Add respect strict dep option for export-dep-as-jar (#9482) PR #9482
  • first implement v1 of robot impl (#8793) PR #8793
  • Implement Cobertura output option for #9275 (#9325) PR #9325
  • Report warnings and errors to reporting server for JVM targets (#9293) PR #9293
  • [jvm] Add jvm_options to platform; use from junit and run (#9150) PR #9150

Bugfixes

  • Do not mix platforms and interpreter constraints while building release pexes (#9515) PR #9515
  • Fix workdir symlink's destination/physical dir not always created (#9504) PR #9504
  • Don't report diagnostics for cached targets (#9492) PR #9492
  • fix --tag filtering when a TargetAdaptor has None for the 'tags' kwarg (#9443) PR #9443
  • Fix equality and hashing of engine.Collection (#9437) PR #9437
  • fix accidentally double-registering setuptools for ipex (#9341) PR #9341
  • don't match the interpreter patch version for .ipex files! (#9285) PR #9285
  • Fix PathGlobs to be deterministic for more cache hits (#9347) Issue #9346 PR #9347
  • Add a coverage test for pantsd garbage collection, and fix type error. (#9271) PR #9271

Refactoring, Improvements, and Tooling

  • Drop normpath comparison, the vast majority of which is covered by the other checks. (#9538) PR #9538
  • Avoid recomputing a BuildFileAddress when subclassing will do. (#9472) PR #9472
  • [IDE] Precompute flattened dependencies for modulizable targets (#9311) PR #9311
  • Plumb Pants log level to PEX_VERBOSE in v2. (#9328) PR #9328
  • Prevent excessive uncached readlink's when using a symlinked workdir (#9270) PR #9270
  • Move the global level option to an Enum. (#9327) PR #9327
  • Zinc: Use an Array[PublishDiagnosticsParam] for LSP compliance (#9292) PR #9292
  • Fix relative path in Zinc compiler (#9261) PR #9261
  • Enable zinc to log diagnostics for jvm languages (#9228) PR #9228
  • Format zinc compiler with scalafmt (#9227) PR #9227
  • Revert "Load the bootstrapped zinc compiler from the zinc server's classpath. (#8753)" (#9226) PR #8753 PR #9226
  • create RequestsSession.Factory global subsystem, and use it to configure urllib3.util.Retry for http artifact cache downloads (#8568) PR #8568
  • Switch to a dict-backed OrderedSet impl. (#9305) PR #9305

1.26.0rc1 (03/08/2020)

Bugfixes

  • Fix V2 AWSLambda not being included in the pantsbuild.pants wheel (#9256) PR #9256
  • Fixing scoverage sourcePath to be relative in OSS (#9245) PR #9245

Refactoring, Improvements, and Tooling

  • Upgrade to pex 2.1.6. (#9255) PR #9255
  • Delay removing --test-fast from 1.27.0.dev0 to 1.28.0.dev0 (#9250) PR #9250

1.26.0rc0 (03/04/2020)

API Changes

  • Designate pants.ini as legacy, but still supported, in docs (#9194) PR #9194
  • Deprecate unused cache options. (#9196) PR #9196

New Features

  • Add V2 Pytest coverage support (#9176) PR #9176
  • Add --no-fmt-per-target-caching to run V2 formatters with batched targets (#9218) PR #9218
  • Add --no-lint2-per-target-caching to run V2 linters with batched targets (#9209) PR #9209

Bugfixes

  • Disable and re-enable async stdin when UI is disabled (#9222) PR #9222
  • Limit java version to 10 for jax ws gen (#9216) PR #9216
  • Merge filesystem specs that resolve to the same owning target (#9214) PR #9214
  • Fix V2 handling of compatibility when it's a string rather than list (#9232) PR #9232

Refactoring, Improvements, and Tooling

  • Improve cmd-line help output. (#9199) PR #9199
  • Optimization on synthetic targets with export-dep-as-jar (#9186) PR #9186
  • Break test runner pex into tool and requirements. (#9208) PR #9208
  • Replace Twitter Common's maybe_list() with pants.util.collections.ensure_list() (#9231) PR #9231
  • Use FrozenOrderedSet with PexRequirements and PexInterpreterConstraints (#9229) PR #9229
  • Fix flaky options_bootstrapper_test.py (#9220) PR #9220
  • Rename GlobalOptionsRegistrar to Global Options. (#9224) PR #9224
  • Get rid of the GlobalOptions wrapper class. (#9221) PR #9221
  • Make GlobalOptions rule provide full options. (#9215) PR #9215
  • Make BuildConfiguration a dataclass (#9192) PR #9192
  • Make _tasks a local variable on Scheduler constructor (#9223) PR #9223
  • Don't use ProjectTree in Scheduler (#9202) PR #9202
  • Turn on the v2 UI in the ./v2 script. (#9217) PR #9217
  • Simplify fmt2 grouping of formatters per language (#9211) PR #9211
  • Simplify lint2 to stop grouping by languages (#9207) PR #9207
  • Refactor V2 linters to allow batching multiple targets (#9185) PR #9185
  • Add TargetAdaptor.has_sources() (#9204) PR #9204
  • Tweak TargetAdaptor.dependencies to be a tuple rather than a list (#9184) PR #9184
  • Deduplicate HydratedTarget and TargetAdaptor (#9219) PR #9219

Testing

  • Allow mocking unions in testutil.engine.util.run_rule() (#9203) PR #9203

1.26.0.dev2 (02/27/2020)

API Changes

  • Upgrade to Pex 2.1.5. (#9187) PR #9187
  • Add back ignore for --files-not-found-behavior (#9175) PR #9175

New Features

  • Add support for reading Python lock files in V2 (#9163) PR #9163
  • Add support for ipython (#9171) PR #9171

Bugfixes

  • Fix plugin resolver cache compatibility. (#9195) PR #9195
  • Compiler option sets can be lists or sets (#9182) PR #9182

Refactoring, Improvements, and Tooling

  • Generify rules to determine the source files for multiple targets (#9172) PR #9172
  • Refactor strip_source_roots to use TargetAdaptor rather than HydratedTarget (#9178) PR #9178
  • Add back inject_init rule (#9174) PR #9174
  • Fix help printing for v2 goals (#9158) PR #9158
  • Use our OrderedSet and FrozenOrderedSet instead of Twitter Commons (#9181) PR #9181
  • Set up infrastructure for generating coverage reports in V2 ./pants test (#9170) PR #9170
  • Don't require V2 test implementations to implement coverage (#9173) PR #9173
  • Remove ProjectTreeFactory (#9189) PR #9189

Testing

  • Fix file_option not working with V2 tests (#9190) PR #9190

Documentation

  • Update docs to use pants.toml (#9165) PR #9165

1.26.0.dev1 (02/24/2020)

API Changes

  • Upgrade to Pex 2.1.4 (#8881) PR #8881
  • Register goal2 as goal if in v2-exclusive mode. (#9164) PR #9164
  • Turn on --v2 by default now that the V2 backends are not loaded by default (#9007) PR #9007
  • Reapply "Switch to dot idea project type" PR (#9105) PR #9105
  • [export-dep-as-jar] Include transitive target dependencies in export-dep-as-jar (#9146) PR #9146
  • Remove deprecated passthrough args for login, lint.mypy, and fmt.isort (#9134) PR #9134
  • Remove pytest passthrough args deprecation. (#9126) PR #9126
  • Remove deprecated --requirements options in favor of --version and --extra-requirements (#9118) PR #9118
  • Remove deprecated pantsbuild.pants.testinfra wheel (#9117) PR #9117

New Features

  • Respect precise file arguments with V2 ./pants test (#9120) PR #9120
  • Add support for precise file arguments to fmt2 and lint2 (#9133) PR #9133
  • v2 repl goal for python (#9077) PR #9077
  • Add Python docformatter auto-formatter (#9139) PR #9139
  • Add Pylint as a V2 linter (#8979) PR #8979
  • Allow disabling V1 isort by deregistering pants.backend.python.lint.isort (#9140) PR #9140
  • [jvm] Introduce runtime_platform; bump export version to 1.1 (#9003) PR #9003
  • Fetch sources and javadoc jars for 3rd party deps when exporting with 'export-dep-as-jar' (#9168) PR #9168

Bugfixes

  • Fix --skip option for V2 formatters when multiple formatters enabled (#9159) PR #9159
  • Fix setuptools's Python 2 deprecation warning with Python linters (#9131) PR #9131
  • Fix TOML config files interpolating options from the same section (#9114) PR #9114
  • Fix warnings filtering under pantsd. (#9121) PR #9121
  • No-op when V2 goals have no implementation (#9142) PR #9142
  • [export-dep-as-jar] Make library ordering deterministic (#9144) PR #9144
  • [export-dep-as-jar] Respect strict_deps in libraries field (#9145) PR #9145
  • Add non-jvm targets with classpath elements to exported modules as libraries. (#9084) PR #9084

Refactoring, Improvements, and Tooling

  • Use Black internally for auto-formatting (#9157) PR #9157
  • Use docformatter autoformatter internally (#9137) PR #9137
  • Ignore Black and docformatter changes with git blame (#9160) PR #9160
  • Use remote execution with the lint CI shard (#9156) PR #9156
  • Add OrderedSet and FrozenOrderedSet (#9166) PR #9166
  • Update compatible rust dependencies (#9122) PR #9122
  • Dirty the dependents of uncacheable nodes (#9015) PR #9015
  • Improve the error message when no rules are installed that return a type (#9136) PR #9136
  • Minor code cleanup involving some uses of Platform (#9152) PR #9152
  • Simplify calculating runtime lib path env var (#9111) PR #9111
  • Rename Platform -> PlatformConstraint (#9154) PR #9154
  • Add a rule to strip source roots from a Snapshot (#9112) PR #9112
  • Add find_target_source_files rule to generalize precise file arguments (#9127) PR #9127
  • Inline inject_init.py into prepare_chrooted_python_sources.py (#9115) PR #9115
  • Tweak strip_source_roots to allow multiple source roots in a snapshot (#9147) PR #9147
  • Stabilize CI lint shard timing out (#9155) PR #9155
  • Don't use FileContent in options parsing. (#9162) PR #9162
  • Remove AddressOriginMap (#9123) PR #9123
  • Cleanup tests handling of download_pex_bin.py (#9143) PR #9143
  • Add ./v2 script for Pants developers to more easily use V2 (#9125) PR #9125
  • Add ipdb for internal Pants tests (#9124) PR #9124

Testing

  • add assertDoesNotRaise contextmanager (#9113) PR #9113

Documentation

  • Fix options reference page on pantsbuild.org. (#9138) PR #9138

1.26.0.dev0 (02/11/2020)

New Features

  • Add support for TOML config files (pants.toml) (#9052) PR #9052
  • Add migrate_to_toml_config.py script to automatically update INI config files to TOML (#9054) PR #9054
  • Add --run-args to allow passing arguments in V2 (#9075) PR #9075

Bugfixes

  • Re-pin pytest, and add a pin for zipp. (#9095) PR #9095
  • remove hardcoded toolchain variant and fix fingerprinting (#9085) PR #9085
  • Allow test specs to be used with --no-fast for junit (#9093) PR #9093
  • Revert "Switch to dot idea project type (#8745)" (#9096) PR #9096
  • Fix deprecation warning for --transitive for goals that ignore the option (#9076) PR #9076

Refactoring, Improvements, and Tooling

  • Nicer rule graph viz (#7024) PR #7024
  • Handle Ctrl-C in the V2 UI (#9043) PR #9043
  • expose a v2 ruleset for BinaryToolBase (#8859) PR #8859
  • Move more python utils to core (#9082) PR #9082
  • Use Addresses instead of BuildFileAddresses in most rules (#9083) PR #9083
  • Allow going from Addresses -> Address (#9097) PR #9097
  • Replace BuildFileAddress with Address for HydratedTarget and TargetAdaptor (#9100) PR #9100
  • Rename ProvenancedBuildFileAddress to AddressWithOrigin (#9078) PR #9078
  • Add FilesystemResolvedGlobSpec to preserve which specific files to operate on (#9081) PR #9081
  • Fix file args working with globs (#9098) PR #9098
  • Use pants.toml internally (#9090) PR #9090
  • Warn when fix_deprecated_globs_usage.py encounters variables (#9080) PR #9080
  • Trigger warning/error for deprecated Target method overrides. (#9073) PR #9073
  • Add type hints to build_graph (#9099) PR #9099

Documentation

  • Update release instructions for modern macOS (#9072) PR #9072
  • Prepare 1.24.1rc0 (#9079) PR #9079
Generated by publish_docs from dist/markdown/html/src/python/pants/notes/1.26.x.html 2020-06-13T00:50:52.752274