pants

The Pants Build System

APACHE-2.0 License

Downloads
117.9K
Stars
3.1K
Committers
342

Bot releases are visible (Hide)

pants - https://github.com/pantsbuild/pants/releases/tag/release_1.30.2

Published by almost 4 years ago

pants - https://github.com/pantsbuild/pants/releases/tag/release_2.0.1

Published by almost 4 years ago

The second stable release in the 2.0.x series, with no changes since
rc4.

Thank you for everyone's feedback!

pants - https://github.com/pantsbuild/pants/releases/tag/release_2.1.1

Published by almost 4 years ago

The second stable release in the 2.1.x series, with no changes since
rc2.

Thank you to everyone who helped test the rcs!

Bugfixes(11310)

  • Fix filtering of log messages generated in native code. (cherrypick
    of #11313) (#11318)
  • Upgrade to Pex 2.1.24 to fix macOS Big Sur. (cherrypick of #11312)
    (#11314)
  • Clean the graph speculatively, and cancel nodes when interest is
    lost (cherrypick of #11308) (#11310)
  • Implement native Process cache scoping to fix --test-force
    (cherrypick of #11291) (#11299)
  • Revert "Move graph cycle detection to rust. (#11202)" (cherrypick
    of #11272) (#11277)
  • Increase Pants' python recursion limit by default, and allow it to
    be overridden. (cherrypick of #11271) (#11276)

Bugfixes

  • Fix filtering of log messages generated in native code. (cherrypick
    of #11313) (#11316)
  • Upgrade to Pex 2.1.24. (cherrypick of #11312) (#11315)
  • Clean the graph speculatively, and cancel nodes when interest is
    lost (cherrypick of #11308) (#11311)
  • Implement native Process cache scoping to fix --test-force
    (cherrypick of #11291) (#11298)
  • Increase Pants' python recursion limit by default, and allow it to
    be overridden. (cherrypick of #11271) (#11274)
  • Revert "Move graph cycle detection to rust. (#11202)" (cherrypick
    of #11272) (#11275) PR
    #11275

New Features

  • Add shorthand to use a file name for pex_binary's entry_point and python_awslambda's handler field (#11261)

  • Add dependency inference for pex_binary's entry_point and python_awslambda's handler fields (#11245)

  • Allow file arguments to work with the app.py shorthand for pex_binary and python_awslambda (#11263)

  • Warn if package and test have no matching files/targets (#11240)

User API Changes

  • 2.2.0.dev1 deprecations. (#11281)

  • Require pex_binary's platforms field to be a list (#11246)

  • Remove deprecated --pants-distdir-legacy-paths option (#11247)

Bug fixes

  • Increase Pants' python recursion limit by default, and allow it to be overridden. (#11271)

  • Stop logging if Pyenv not installed (#11243)

Performance

  • Reduce interning overhead (#11262)

  • Parallelize the Owners rule more (#11260)

Documentation

  • Update Pants prerequisites facts. (#11265)

Bugfixes

  • Fix off-by-one error for python_awslambda
    sources field validation (#11234)

New Features

  • Add dependency inference for Protobuf <-> Protobuf imports (#11205)

  • Add dependency inference for Python imports of Protobuf/gRPC (#11195)

  • Allow setting the entry point for a pex_binary to <none> (#11199)

  • Add support for filtering file vs BUILD targets (#11126)

  • Cancel sessions rather than killing pantsd (#11123)

  • Remoting: allow timeout parameters to be configured (#11125)

User API Changes

  • Require Python 3.7 or 3.8 to run Pants (#11135)

  • Deprecate mypy_source_plugin and pylint_source_plugin targets in favor of python_library (#11233)

  • Remove deprecated compatibility field in favor of interpreter_constraints (#11225)

  • Upgrade to Pex 2.1.21. (#11131)

Plugin API Changes

  • Remove PrimitiveField and align AsyncField with Field (#11231)

  • Change AsyncField to be AsyncFieldMixin (#11232)

  • Deprecate TransitiveTargetsRequestLite and DependenciesRequestLite now that graph cycle is fixed (#11188)

Bug fixes

  • Fix dependency inference parsing of Python 3.8 and 3.9 syntax (#11213)

  • Set the soft ulimit value more conservatively to fix macOS Big Sur issue (#11194)

  • Move graph cycle detection to Rust to fix recursion limit. (#11202)

  • Fix relative imports in dependency inference (#11181)

  • Remove extraneous info level log line (#11228)

  • Fix Coverage not finding resource files when generating a report (#11129)

  • Fix test results showing up twice by removing TargetsWithOrigin (#11128)

  • Make a few minor reliability fixes to remote caching code (#11130)

Documentation

  • Improve error message for no applicable targets (#11215)

User API Changes

  • Revert premature deprecation of sources field for
    python_awslambda (#11217)

Bugfixes

  • Move graph cycle detection to Rust to fix recursion limit.
    (cherrypick of #11202) (#11204)
  • Set the soft ulimit value more conservatively to fix macOS Big Sur
    issue (cherrypick of #11194) (#11197)

User API Changes

  • Revert premature deprecation of sources field for
    python_awslambda (#11216)

Bugfixes

  • Move graph cycle detection to rust to fix recursion limit.
    (cherrypick of #11202) (#11203)
  • Set the soft ulimit value more conservatively to fix macOS Big Sur
    issue (cherrypick of #11194) (#11196)
pants - https://github.com/pantsbuild/pants/releases/tag/release_2.1.0

Published by almost 4 years ago

The first stable release of the 2.1.x series, with no changes since
the previous release candidate.

User API Changes

  • Deprecate the sources field for
    python_awslambda (Cherry-pick of #11176) (#11177)

Bugfixes

  • Fix relative imports in dependency inference (Cherry-pick of #11181)
    (#11190)

Bugfixes

  • Fix relative imports in dependency inference (Cherry-pick of #11181)
    (#11189)

New Features

  • Remoting: allow timeout parameters to be configured (Cherry-pick of
    #11125) (#11158)

User API Changes

  • Deprecate running Pants with Python 3.6 (#11173)
  • Deprecate the sources field for
    python_awslambda (Cherry-pick of #11176) (#11178)

Bugfixes

  • make a few minor reliability fixes to remote caching code
    (Cherry-pick of #11130) (#11159)

User API Changes

  • Add a specific error for target names containing slashes (cherrypick
    of #11115) (#11122)

Bugfixes

  • Fix logs for test, lint,
    fmt, and typecheck to always print, even
    if cached (Cherry-pick of #11111) (#11116)
  • Fix pytest.pex leaking into coverage data (Cherry-pick
    of #11110) (#11112)
  • Fix Coverage not finding resource files when generating a report
    (Cherry-pick of #11129) (#11139)
  • Fix !! transitive excludes when used multiple times in
    a repo (Cherry-pick of #11103) (#11104)
  • Fix setup_py().with_binaries() to properly inject
    dependencies (#11098)
  • Upgrade to Pex 2.1.21 to fix interpreter selection and race
    condition (Cherry-pick of #11131) (#11133)
  • Fix --pex-verbosity to work with the interpreter
    selection PEX (Cherry-pick of #11108) (#11120)

Bugfixes

  • Upgrade to Pex 2.1.21 (Cherry-pick of #11131) (#11134)
  • Fix Coverage not finding resource files when generating a report
    (Cherry-pick of #11129) (#11138)

New Features

  • Add export-codegen goal (#11107)
  • Add ./pants py-constraints --summary for project
    overview (#11099)
  • Add ./pants help subsystems (#11088)
  • Improve performance of dependency inference (#11094)

User API Changes

  • Change default for --pants-distdir-legacy-paths and
    deprecate it (#11096)
  • Clarify that process cache namespacing works for all runners
    (#11095)
  • Deprecate target names containing slashes and colons (#11115)

Plugin API Changes

  • Rename SourcesSnapshot to SpecsSnapshot
    (#11114)

Bugfixes

  • Fix logs for test, lint,
    fmt, and typecheck to always print, even
    if cached (#11111)
  • Fix pytest.pex leaking into coverage data (#11110)
  • Fix --pex-verbosity to work with the interpreter
    selection PEX (#11108)
  • Fix !! transitive excludes when used multiple times in
    a repo (#11103)
  • Fix setup_py.with_provides() to respect the
    :func entry-point shorthand (#11093)
  • Include a host fingerprint in pantsd's identity (#11092)

Documentation

  • Improve error message for invalid unions in Get()s (#11102)

User API Changes

  • Do not error if ./pants package does not match any
    targets (#11051)
  • Deprecate the compatibility field in favor of
    interpreter_constraints (#11074)
  • Remove deprecated awslambda, binary, and
    setup-py goals in favor of package
    (#11048)
  • Rename pex-binary/python-distribution to avoid naming collisions.
    (#11007)
  • Remove deprecated --{fmt,lint}-per-target-caching in
    favor of --per-file-caching (#11062)
  • Remove post_stats from RunTracker (#11068)
  • Remove stats_version in runtracker (#11065)
  • Remove deprecated --lang and --lc-all
    options in favor of --env-vars (#11066)
  • Remove deprecated --protoc-runtime-targets option
    (#11083)
  • Remove deprecated --interpreter-constraints option
    for some Python tools (#11082)
  • Remove deprecated runtime_binary_dependencies field
    (#11079)
  • Remove deprecated --spec-file option in favor of
    --spec-files (#11076)
  • Remove deprecated [basic-auth],
    [reporter], and run-tracker
    options (#11078)
  • Remove deprecated --print-exception-stacktrace in
    favor of --print-stacktrace (#11085)
  • Remove unused global options (#11077)
  • Remove deprecated python_requirement BUILD file symbol
    (#11055)
  • Deprecate the platforms field allowing a bare string
    (#11073)
  • Deprecate several unused options (#11041)
  • Deprecate unused run-tracker options (#11038)
  • Remove deprecated python-setup options (#10984)
  • Remove deprecated Subsystem.get_options() in favor of
    Subsystem.options (#10986)
  • Remove deprecated global options like --v2 and
    --backend-packages2 (#10985)
  • Remove deprecated --changed-* options (#10982)
  • Remove deprecated ./pants filter options (#10983)

New Features

  • Add [python-setup].resolver_http_cache_ttl option
    (#10997)
  • Add new py-constraints goal through new
    pants.backend.python.mixed_interpreter_constraints
    backend (#11075)
  • Add :my_func shorthand for the
    entry_point field (#11064)
  • Add new EngineAware method metadata() (#11030)
  • remote caching support (#10960)
  • Store per-run logs on RunTracker (#11025)
  • Allow changing the URL to download tools like PEX and Protoc
    (#11013)
  • Add mechanism to deprecate target types and fields (#10966)

Bugfixes

  • remote caching: upload stdout/stderr content to remote cache
    (#11049)
  • Fix PEX to always write to named_caches_dir, rather
    than ~/.pex (#11040)
  • Fix setup_py().with_binaries() to use the default
    entry point (#11021)
  • Fix resource leak warning with stdio (#10995)
  • Fix ./pants repl to use global constrains when no
    targets specified (#10991)
  • Fix overly verbose FieldSet in stack traces (#10978)
  • Fix several bad usages of itertools.groupby() (#10976)
  • Fix bug with linter targets being skipped (#10974)
  • Fix config validation not erroring on global options in wrong scope
    (#10950)
  • Automatically set setuptools interpreter constraints if unspecified
    (#10951)

Documentation

  • Improve error message for invalid input in Get()s (#11081)
  • Improve several help messages (#11029)
  • Fold target help into the help system. (#11022)