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.29.x Stable Releases

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

See https://pants.readme.io/v1.29/docs/release-notes-1-29 for an overview of the changes in this release.

1.29.0rc2 (6/04/2020)

Bugfixes

  • Set the pex_root cache only at build time (#9958) Issue #984 PR #9958

  • Fix lease extension, and make it recursive (#9956) PR #9956

  • Fix deadlock between Session and WorkunitStore. (#9959) PR #9959

1.29.0rc1 (6/02/2020)

Bugfixes

  • Default to invalidating for requirements.txt to ameliorate #7022. (#9946) PR #9946

  • Silence failures to close pantsd stdio handles. (#9943) PR #9943

  • Fix a bug in pyest coverage report computation. (#9933) PR #9933

  • Graph::get backs off on filesystem invalidation (#9920) PR #9920

  • Fix ABI string when building pants.pex (#9908) PR #9908

Refactoring, Improvements, and Tooling

  • Port the graph crate and dependent code in engine to async/await. (#9910) PR #9910

  • Improve pantsd waiting messages. (#9923) PR #9923

1.29.0rc0 (5/29/2020)

API Changes

  • Build pantsbuild.pants as cp36m, cp37m, and cp38 wheels (rather than abi3) (#9881) PR #9881

  • BoolField can leave off a default to represent tri-states (#9893) PR #9893

  • Deprecate plugin targets not having Target API bindings (#9896) PR #9896

  • Deprecate pants.ini in favor of pants.toml (#9879) PR #9879

  • Deprecate the codeanalysis plugin due to low usage (#9891) PR #9891

New Features

  • Add support for passthrough options for v2 (#9835) PR #9835

Bugfixes

  • A Param should never be directly used to satisfy a Get (#9890) PR #9890

  • Fix extraneous blank lines (#9882) PR #9882

Refactoring, Improvements, and Tooling

  • Add support for mutable, global, append only caches (#9852) PR #9852

  • Compute source roots in a rule. (#9888) PR #9888

  • Support Tuple-style MultiGet. (#9903) PR #9903

  • Attempt to parse as TOML, and fall back to INI. (#9901) PR #9901

  • Use V2 setup-py to build Pants wheels (#9892) PR #9892

  • Rework internal contrib_plugin to work with the Target API (#9889) PR #9889

  • Move remaining Pants wheel building logic to Python (#9898) PR #9898

  • Decouple wheel building jobs from CI’s pants.pex (#9871) PR #9871

  • Fix deploy shards failing due to missing pants.pex (#9873) PR #9873

  • Add some type annotations, dataclasses, etc. to Console (#9884) PR #9884

  • upgrade Rust to 1.43.1 (#9681) PR #9681

  • Remote execution: sort platform properties (#9875) PR #9875

Testing

  • Bump several test timeouts (#9877) PR #9877

1.29.0.dev1 (5/26/2020)

API Changes

  • Bump default Flake8 version to 3.8.0 (#9859) PR #9859

  • Rename –v2-ui to –dynamic-ui (#9775) PR #9775

  • Add Python 3.8 to Pants release tags. (#9838) PR #9838

  • Prepare to enable pantsd by default (#9826) PR #9826

  • Upgrade to Pex 2.1.11. (#9830) PR #9830

  • Bump to most recent versions of JVM dependencies. (#9321) PR #9321

New Features

  • Support V2 linters running on Python 2 and Python 3 targets at the same time (#9870) PR #9870

  • Add support for dependency injection and use with V2 Protobuf (#9851) PR #9851

Bugfixes

  • Fix fmt and lint re-runs under pantsd (#9869) PR #9869

  • Fix harmless error rendered when stdin is closed under pantsd (#9828) PR #9828

  • Explicitly handle conflict between –v2-ui and –dynamic-ui (#9849) PR #9849

  • Fix console UI redraw issues (#9812) PR #9812

Refactoring, Improvements, and Tooling

  • Filter streaming workunits by LogLevel (#9854) PR #9854

  • Add log::Level to WorkunitMetadata (#9850) PR #9850

  • Add generic mechanism for dependency inference (#9857) PR #9857

  • Make the Dependencies field an AsyncField (#9841) PR #9841

  • Internally enable Flake8 lints for invalid whitespace (#9866) PR #9866

  • Enable more Flake8 checks internally (#9864) PR #9864

  • Internally enable flake8 checks: F723 and F821 (#9776) PR #9776

  • Fix Flake8 F541 f-string check (#9843) PR #9843

  • Add sugar to getting values from UnionMembership (#9856) PR #9856

  • Remove unused @addressable_dict mechanism (#9845) PR #9845

  • Remove unused BuildConfiguration.initialize_parse_state() (#9836) PR #9836

  • Remove several uses of soon-to-be-deprecated BuildFile (#9819) PR #9819

  • Remove FileSystemProjectTree from several tests (#9842) PR #9842

  • Remove unused and buggy Pantsd method (#9844) PR #9844

  • Remove two bare ‘except’ statements (#9847) PR #9847

  • Remove assigning variable into itself. (#9853) PR #9853

  • Modernize fs_test.py to use type hints and assert statements (#9858) PR #9858

  • Modernize packages.py (#9860) PR #9860

  • Move release pre-req checks to Python (#9862) PR #9862

  • Port release.sh’s fetching of pre-built wheels to Python (#9865) PR #9865

  • Run packages.py through Pants (#9863) PR #9863

Testing

  • Test that Pylint and Bandit correctly set interpreter constraints (#9868) PR #9868

  • Remove GitHub action failing due to improper permission setup (#9832) PR #9832

  • Add a GH action to check for PR Labels. (#9821) PR #9821

  • Fix AWS S3 script breaking from a KeyError (#9840) PR #9840

Documentation

  • Move contribution guide to new doc site (#9839) PR #9839

  • Prepare 1.28.0. (#9861) PR #9861

  • Prepare 1.28.0rc2 (#9834) PR #9834

  • Prepare 1.27.0 stable release (#9837) PR #9837

1.29.0.dev0 (5/19/2020)

API Changes

  • Remove stale and private pants.contrib.buildgen plugin (#9811) PR #9811

  • Remove deprecated Antlr, Jaxb, Ragel, and Wire codegen backends (#9761) PR #9761

  • Remove deprecated contrib plugins (#9762) PR #9762

  • Remove unsafe ability to import Python in BUILD files (#9771) PR #9771

  • Remove deprecated source field in favor of sources (#9766) PR #9766

  • Remove –cloc-transitive and replace V1 implementation with V2 (#9763) PR #9763

  • Upggrade cffi from 1.13.2 to .114.0 (#9767) PR #9767

  • Upgrade py_zipkin from 0.18.4 to 0.20.0 (#9777) PR #9777

  • Upgrade toml from 0.10.0 to 0.10.1 (#9768) PR #9768

  • Upgrade packaging from 16.8 to 20.3 (#9786) PR #9786

New Features

  • Add support to Pylint for first-party source plugins (#9792) PR #9792

  • Add V2 implementation of filter (#9785) PR #9785

Bugfixes

  • Fix Pylint when a target has third-party dependencies (#9794) PR #9794

  • Omit m suffix in platform for AWS Lambdas using Python 3.8 (#9796) PR #9796

  • Improve error message when a single command line argument is invalid (#9795) PR #9795

  • Set correct project name for ./pants idea-plugin (#9783) PR #9783

  • Fix Target API bindings not loading for plugins (#9788) PR #9788

  • Move away from the debounced notify watcher (#9754) PR #9754

  • Further refine the “include .pids” hack. (#9773) PR #9773

  • Do not memoize failures in the Graph. (#9817) PR #9817

Refactoring, Improvements, and Tooling

  • Re-implement source roots without using a trie (#9799) PR #9799

  • Render failures via explicit traceback construction rather than graph walks (#9797) PR #9797

  • Refactor Workunit types (#9759) PR #9759

  • Standardized workunit names (#9774) PR #9774

  • Remove unused variants experiment (#9820) PR #9820

  • Stop using Collection.dependencies in most places internally (#9816) PR #9816

  • Remove unused BuildFileParser (#9802) PR #9802

  • Improve the repr for V2 Target (#9808) PR #9808

  • Add type hints to pants.util.filtering (#9772) PR #9772

  • Remove forced copying in local load_bytes_with (#9793) PR #9793

  • use @decorated_type_checkable for side-effecting rules! (#9780) PR #9780

Testing

  • Enable color output in travis (#9801) PR #9801

  • Use v2 binary directly for test bootstrap. (#9798) PR #9798

  • Disable capturing core dumps in travis. (#9769) PR #9769

  • Add tests for using plugins with Bandit, Flake8, and Pylint (#9787) PR #9787

  • Use the term “block list” for internal CI setup (#9784) PR #9784

Documentation

  • Stop putting pre-release notes in master.html in favor of branch notes (#9809) PR #9809

  • Reference the V2 docsite in the README and index page (#9756) PR #9756

  • Fix several typos in source code (#9813) PR #9813

  • Fix several typos in source code (#9800) PR #9800

  • Fix dependees flag help string. (#9805) PR #9805

  • Mention –owners-not-found-behavior option when owners are not found (#9770) PR #9770

  • Slightly update the documentation about pantsd (#8665) PR #8665

  • Prepare 1.28.0rc1. (#9791) PR #9791

  • Prepare 1.27.0rc2 release notes (#9790) PR #9790

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