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.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 2020-06-13T00:50:52.781022