Skip to main content

The Pants Python source code lint tool.

Project description

Pants is an Apache2 licensed build tool written in Python.

The latest documentation can be found at pantsbuild.

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.1rc0 (6/16/2020)

N.B.: No further releases are expected in the 1.26.x stable series. This .1rc0 release is for those upgrading through stable versions who wish to retain pytest console coverage support in Pants “v1”.

Bugfixes

  • Restore pytest coverage console report. (#10017) PR #10017

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page