1.28.x Stable Releases

1.28.x Stable Releases

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

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

1.28.1rc0 (6/16/2020)

N.B.: No further releases are expected in the 1.28.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. (#10016) PR #10016

1.28.0 (5/22/2020)

The first stable release in the 1.28.x series, with no changes since the last release candidate!

1.28.0rc2 (5/20/2020)

Bugfixes

  • Fix harmless error rendered when stdin is closed under pantsd (#9828) PR #9828
  • Omit m suffix in platform for AWS Lambdas using Python 3.8 (#9796) PR #9796
  • Fix console UI redraw issues (#9812) PR #9812

Refactoring, Improvements, and Tooling

  • Standardized workunit names (#9774) PR #9774
  • Re-implement source roots without using a trie (#9799) PR #9799
  • Improve the repr for V2 Target (#9808) PR #9808

1.28.0rc1 (5/15/2020)

Bugfixes

  • Fix Target API bindings not loading for plugins (#9788) PR #9788
  • Further refine the "include .pids" hack. (#9773) PR #9773
  • Move away from the debounced notify watcher (#9754) PR #9754
  • Upgrade toml from 0.10.0 to 0.10.1 (#9768) PR #9768

Refactoring, Improvements, and Tooling

  • Mention --owners-not-found-behavior option when owners are not found (#9770) PR #9770
  • Disable capturing core dumps in travis. (#9769) PR #9769

1.28.0rc0 (5/13/2020)

API Changes

  • Always activate V2 pants.backend.pants_info and pants.backend.project_info (#9742) PR #9742
  • Deprecate filedeps defaulting to --absolute (#9746) PR #9746
  • Deprecate, instead of error, when Python targets have non-Python sources (#9752) PR #9752
  • Upgrade to pex 2.1.10. (#9744) PR #9744
  • Upgrade Pygments from 2.3.1 to 2.6.1 (#9739) PR #9739
  • Upgrade psutil from 5.6.3 to 5.7.0 (#9743) PR #9743

New Features

Bugfixes

  • Fix write_stderr in native.py (#9753) PR #9753

Refactoring, Improvements, and Tooling

  • Port the pantsd nailgun server to rust (#9722) PR #9722
  • Provide more useful and consistent console UI messages (#9720) PR #9720
  • Batch all fsync calls at the end of materialize_directory. (#9738) PR #9738
  • More simplification of SourceRoots. (#9728) PR #9728
  • Add white space between rule graph errors (#9740) PR #9740

1.28.0.dev2 (5/9/2020)

API Changes

  • Loosen restriction on docutils to not require 0.16. #9735 PR #9735
  • Remove deprecated --fast option for tests. (#9733) PR #9733
  • Remove deprecated support for within_data_subdir. (#9730) PR #9730
  • Remove build-setup-requires-pex options scope. (#9732) PR #9732
  • Remove deprecated PythonSetup options. (#9731) PR #9731
  • Adapt to upstream scalatest change (#9707) PR #9707
  • Upgrade docutils from 0.14 to 0.16 (#9724) PR #9724
  • Upgrade responses. (#9712) PR #9712
  • Simplify the source roots mechanism. (#9709) PR #9709
  • Disable watchman by default. (#9714) PR #9714
  • Upgrade pyopenssl. (#9693) PR #9693

New Features

  • Configurable local execution root for v2. (#9716) PR #9716
  • Add V2 dependees goal (#9692) PR #9692

Bugfixes

  • Fix protobuf_library to be parsable by V1 tasks (#9700) PR #9700
  • Remove deprecation warning from ivy_imports.py. (#9696) PR #9696
  • Fix PYTHONPATH commingling in sitepackages. (#9690) PR #9690

Refactoring, Improvements, and Tooling

  • Add benchmark harness and improve performance of materialize_directory (#9729) PR #9729
  • Reorganize some V2 goals into pants.backend.pants_info and pants.backend.project_info #9708 PR #9708
  • Rename V2's --test-run-coverage to --test-use-coverage (#9723) PR #9723
  • Improve pytest output. (#9691) PR #9691
  • Fix up dependency features (#9721) PR #9721
  • Improve output of V2 test goal (#9718) PR #9718
  • Improve output of V2 fmt and lint goals (#9710) PR #9710
  • Fix brfs to cleanly unmount. (#9715) PR #9715
  • Pin down floaty lockfile. (#9713) PR #9713
  • Move file invalidation handling to rust (#9636) PR #9636
  • Avoid unnecessary strip_source_roots.py work when using a repo-level root (#9702) PR #9702
  • Optimize strip_source_roots.py when there is only 1 source root (#9705) PR #9705
  • Improve concurrency of V2 formatter and linter setup (#9701) PR #9701
  • Update tokio past 0.2.16. (#9703) PR #9703
  • Simplify v1 Go buildgen's use of source roots. (#9694) PR #9694
  • Switch DownloadedPexBin to use ExternalTool. (#9665) PR #9665
  • Fix V2 isort and Black including the tmpdir in their output (#9683) PR #9683
  • MyPy now checks partially_type_checked targets. (#9688) PR #9688
  • Fix Shellcheck lint. (#9689) PR #9689
  • Improve Snapshot::merge errors. (#9685) PR #9685
  • Clean up Executor::spawn APIs and docs to better align them with tokio 0.2. (#9684) PR #9684
  • pin AR=/usr/bin/ar on osx when building native_engine.so (#9662) PR #9662

Documentation

  • Improve docs for Python target types (#9679) PR #9679
  • Prepare 1.27.0rc1 (#9717) PR #9717

1.28.0.dev1 (5/1/2020)

API Changes

  • Build pantsbuild.pants as a manylinux2014 wheel (#9656) PR #9656
  • Upgrade wheel from 0.33.6 to 0.34.2 (#9647) PR #9647
  • Upgrade PyYAML 5.1.2 to 5.3.1 (#9649) PR #9649
  • Deprecate some v1 goals that use Ivy. (#9657) PR #9657

New Features

  • Adding allowlist_compiler_args in ScroogeGen (#9610) PR #9610
  • [junit-runner] allow test specs to work for parameterized tests and t… (#9397) PR #9397
  • Add Protobuf Python support to V2 (#9651) PR #9651
  • [jvm-platform] add strict as an attr to jvm platforms (#9287) PR #9287
  • Add the ability to write junit test results file for pytest runs. (#9594) PR #9594

Bugfixes

  • Fix crash when V2 goals like repl have no specified targets (#9673) PR #9673

Refactoring, Improvements, and Tooling

  • Rules to extract archives. (#9624) PR #9624
  • Add generic mechanism to codegen sources in V2 (#9634) PR #9634
  • Allow HydratedSourcesRequest to indicate which Sources types are expected (#9641) PR #9641
  • Remove default process timeout value (#9639) PR #9639
  • Replace list with list-v2 when in V2 exclusive mode (#9671) PR #9671
  • Simplify Scheduler::execute and unify Graph retry (#9674) PR #9674
  • Rename Process.input_files to Process.input_digest (#9669) PR #9669
  • Port the bulk of the process_execution crate to async/await (#9676) PR #9676
  • Remove noisy Pants output with V2 binary, run, and repl (#9667) PR #9667
  • Rename V2 Configuration to FieldSet (#9668) PR #9668
  • Calculate SourcesSnapshot using the Target API (#9659) PR #9659
  • Rename subsystem_rule to SubsystemRule (#9666) PR #9666
  • Change GoalRuleTestBase.execute_rule to return the captured stderr (#9664) PR #9664
  • Rename Snapshot.directory_digest to Snapshot.digest (#9658) PR #9658
  • Always register engine.target.rules() via engine_initializer.py (#9661) PR #9661
  • Rename several engine/fs.py types PR #9655
  • Make the ExternalTool URL generator an instance method. (#9646) PR #9646
  • Only write to the build root when V2 fmt makes changes (#9652) PR #9652
  • Port the finding of owning targets to the Target API (#9648) PR #9648
  • Compute process execution times by walking the workunit graph (#9622) PR #9622
  • Align the rust and python PathGlobs objects. (#9653) PR #9653
  • Use ExitStack from python standard library. (#9645) PR #9645
  • An ExternalTool subsystem base for downloading external tools. (#9625) PR #9625
  • Use sysconfig.get_platform() (#9644) PR #9644
  • Simplify excluding the requirements.txt file generated from python_requirements() (#9640) PR #9640
  • Factor up filtering out non-Python targets in V2 (#9638) PR #9638
  • Extract a watch crate. (#9635) PR #9635
  • Remove premature generalization for AsyncFields (#9632) PR #9632

Testing

  • Fix selectors test for Python 3.8 (#9642) PR #9642
  • Install Python 3.8 in centos7 docker image (#9670) PR #9670
  • Stabilize the cron CI test suite (#9581) PR #9581
  • Prune the pantsd integration test target (#9660) PR #9660
  • Remoting: ensure oauth token file only has one line (#9630) PR #9630
  • Stop using deprecated assertEquals() (#9682) PR #9682
  • Reduce the # of V1 integration test shards by 1 (#9582) PR #9582

Documentation

  • Fix typos in the tests directory. (#9637) PR #9637
  • Prepare 1.26.0 (#9654) PR #9654

1.28.0.dev0 (4/24/2020)

API Changes

  • Rename target-types2 goal to target-types and targets() register.py entry point to target_types() (#9618) PR #9618
  • Default to --filedeps-transitive=false and --dependencies-transitive=false (#9576) PR #9576
  • Require explicit specification of an AWS Lambda runtime. (#9564) PR #9564
  • Revert allowing Python targets to include .c files in their sources (#9583) PR #9583

New Features

  • Add a special string <PYENV_LOCAL> to interpreter search path (#9613) PR #9613
  • Prelude file support (#9555) PR #9555

Bugfixes

  • Temporarily disable ./pants backends goal due to bug (#9629) PR #9629
  • fix test_platform usages (#9567) PR #9567
  • Use FrozenDict and FrozenOrderedSet for type safety with UnionMembership and RegisteredTargetTypes (#9609) PR #9609
  • Fix zip_safe field not being used with V2 binary (#9598) PR #9598
  • Fix python platform spec for AWS Lambdas. (#9600) PR #9600
  • Revert "Add link back to source control dir from physical workdir (#9531)" (#9601) PR #9601

Refactoring, Improvements, and Tooling

  • Remove our custom .tar.xz workaround. (#9617) PR #9617
  • Rename targets.py files to target_types.py (#9616) PR #9616
  • Refactor filtering of valid targets via the engine (#9614) PR #9614
  • Some logger.rs improvements (#9599) PR #9599
  • Rename isolated_process.py to process.py (#9608) PR #9608
  • Factor up flexible handling of invalid target types (#9605) PR #9605
  • Move private engine code into engine/internals (#9597) PR #9597
  • Break setup_logger into two functions (#9592) PR #9592
  • Factor up common Configuration code (#9557) PR #9557
  • Improve V2 UI messages by describing the scope of the work being done (#9588) PR #9588
  • Add DeduplicatedCollection to newtype FrozenOrderedSet in rules (#9590) PR #9590
  • Some ExceptionSink refactors (#9584) PR #9584
  • Logger cleanup (#9578) PR #9578
  • Reorganize engine/legacy to only have legacy engine code (#9591) PR #9591
  • Remove "Executing process" text from V2 UI (#9568) PR #9568
  • Add engine/collection.py for the Collection newtype (#9586) PR #9586
  • Add engine/unions.py to consolidate union types into one file (#9580) PR #9580
  • Add engine/addresses.py for consolidated Address imports in V2 (#9575) PR #9575
  • Use rust cpu_count crate to determine v2 UI swim lanes (#9574) PR #9574
  • Reorganize rules/core into core/goals, core/project_info, core/util_rules, and core/target_types.py (#9572) PR #9572

Testing

  • Fix test import and generic alias failures. (#9626) PR #9626
  • Use --go-chroot internally (#9579) PR #9579

Documentation

  • Fixes for the proxy page. (#9628) PR #9628
  • Add description for the validate goal. (#9602) PR #9602
  • Fix typos. (#9607) PR #9607
  • Fix typo in V1 Python interpreter selection error message (#9589) PR #9589
Generated by publish_docs from dist/markdown/html/src/python/pants/notes/1.28.x.html 2022-12-03T01:08:59.866850