1.26.x Stable Releases

1.26.x Stable Releases

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

The 1.26.x series adds support for TOML config files, e.g. pants.toml. INI config files will still be supported for some time, but INI is now legacy. Please see https://groups.google.com/forum/#!topic/pants-devel/N1H03oJONco for more information.

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-04-03T17:19:14.825304