1.15.x Stable Releases
This document describes releases leading up to the 1.15.x stable series.
1.15.0 (4/15/2019)
The first stable release of the 1.15.x series, with no changes since rc3!
This is the first Pants version to support being run under either Python 3.6 or 2.7. If you've been using our provided ./pants script prior to this release, update the script by running curl -L -O https://pantsbuild.github.io/setup/pants. Pants 1.17.0 will no longer support running Pants with Python 2.7 and will require Python 3.6+.
1.15.0rc3 (4/08/2019)
Bugfixes
- Pass interpreter constraints to the Pex we release (#7511) PR #7511
1.15.0rc2 (4/02/2019)
As of this release, Pants has reached implementation and performance parity when running under Python 3 and Python 2! Although Python 3.7 will not be supported in the 1.15.x series, Python 3.6 can now be considered a stable platform for running Pants.
New Features
Bugfixes
- Fix flaky ./pants idea-plugin when using Python 3 by properly using ConsoleTask interface (#7460) Issue #7150 PR #7460
- Fix issues with deploy shards not properly setting Python version (#7471) PR #7471
- Switch to twitter.common 0.3.11 to fix DeprecationWarning when using Pants as a PEX (#7461) PR #7461
- Fix ./pants server not working with Python 3 (#7458) Issue #7443 PR #7458
- Fix crash if pants.ini is missing in the buildroot (#7452) PR #7452
- remove inspect.stack() from @rule parsing to fix import time regression in py3 (#7447) PR #7447
1.15.0rc1 (3/25/2019)
Note: This release does not support using Python 3.7 due to a bug that was introduced while releasing a Python 3 PEX. We are prioritizing fixing this before 1.15.0 is cut. In the meantime, you may use Python 2.7 or Python 3.6.
New Features
- Release pants as both a Python 2.7 PEX and a Python 3.6 PEX (#7401) Issue #654 PR #7401
Refactoring, Improvements, and Tooling
- Refactor travis.yml to deduplicate Pyenv and AWS pex code (#7397) PR #7397
Bugfixes
- fix for pantsrc-files option (#7427) PR #7427
- Allow usage of pants2 script from other directories (#7409) PR #7409
- Specify the python version to use in the unstable pex deploy shard. (#7411) PR #7411
- Simplify glob matching and directly match in-memory globs as Patterns. (#7402) PR #7402
- add a non-numeric prefix before the unstable version to avoid getting parsed and truncated as a number (#7400) PR #7400
1.15.0rc0 (3/18/2019)
New Features
- [rsc-compile] support explicit tagging of targets in rsc compile (#7362) PR #7362
1.15.0.dev4 (3/15/2019)
API Changes
- Drop old deprecated options / conditionals (#7332) PR #7332
New Features
- Add runtime check for valid Python interpreter (#7365) PR #7365
- Add support for releasing Python 3 wheels (#7197) Issue #654 PR #7197
- [pantsd] Implement auto-shutdown after runs (#7341) PR #7341
- Add pants_runtime_python_version global option (#7363) Issue #30, PR #7363
Bugfixes
- When building a pex in release.sh, build it for all supported ABIs. (#7393) PR #7393
- [rsc-compile] define workflow in context instead of on fly (#7324) PR #7324
- Fix rule graph nondeterminism due to undetected ambiguity (#7379) PR #7379
- Hotfix Python 2 regression from #7366 using FileNotFoundError (#7381) PR #7381
- Replace future with six in the python style checker. (#7374) PR #7374
- Hardcode the junit xml hostname to avoid doing DNS lookups in tests (#7329) PR #7329
- Fix use of legacy venv folder names from #7187 (#7359) PR #7359
- Fixes to release script post-#7235. (#7349) PR #7349
Refactoring, Improvements, and Tooling
- Use UUID from run_id as trace_id if trace_id isn't set by a flag (#7319) PR #7319
- Refactor test code's interpreter_selection_utils.py for better naming of util functions (#7366) PR #7366
- Update docs re: target tag usage (#7360) PR #7360
- Create dedicated Dockerfile with Python 3.6 to reduce CI time (#7352) PR #7352
- Add dedicated cron bootstrap stage to CI to avoid unnecessarily building Python 3 (#7353) PR #7353
- Fix names of listtargets and sorttargets files (#7358) PR #7358
- Refactor .travis.yml to deduplicate uses of Docker and use Mustache comments (#7351) PR #7351
1.15.0.dev3 (3/9/2019)
API Changes
- Propagate global interpreter constraints when building PEXes with interpreter constraints requested (#7285) PR #7285
New Features
Bugfixes
- Revert "add a lint to warn on implicit string concatenation (#7286)" (#7340) PR #7286
- Fix ./pants2 overriding desired $PY interpreter (#7338) PR #7338
- Fix regression to python interpreter selection test from #7257 (#7333) PR #7333
- Fix ./pants2 overriding preset interpreter constraints (#7334) PR #7334
- Bugfix for stale interpreter.info purging when binary exe is no longer on the filesystem (#7292) PR #7292
Refactoring, Improvements, and Tooling
- Specify ABI for pantsbuild.pants wheel and build with both UCS2 and UCS4 (#7235) PR #7235
- Have extern::generator_send directly produce TypeIds for product types (#7318) PR #7318
- use type= to register enum options (#7304) PR #7304
- Skip GraphIntegrationTest.test_error_message as it's flaky in CI. (#7309) PR #7309
- Re-enable https for grpc connections (#7317) PR #7317
- convert usages of TypeConstraint to TypeId for rule products in the engine (#7114) PR #7114
- Print trace id to console and possible URL with the zipkin trace (#7313) PR #7313
- @union / UnionRule for letting the engine figure out paths to products not known in advance (#7116) PR #7116
- Filter out irrelevant env vars in OptionsBootstrapper. (#7312) PR #7312
- Revert 7238 and add requirement for more-itertools that works on python 2 (#7296) PR #7296
- convert many manual NotImplementedError() calls to use @abstractmethod (#7310) PR #7310
- [rsc-compile] extract helper methods for tests (#7294) PR #7294
- add a lint to warn on implicit string concatenation (#7286) PR #7286
- add self.assertRaisesWithMessageContaining() to TestBase and use it to clean up test_objects.py (#7303) PR #7303
- move the declarative task stuff out of the python backend testing (#7279) PR #7279
Deprecations
1.15.0.dev2 (3/02/2019)
New Features
Version updates
- [rsc-compile] bump version; rm metacp jobs; update tests (#7272) PR #7272
Bugfixes
Refactoring, Improvements, and Tooling
- enum cleanup (#7269) PR #7269
- filespec matching utility functions use native glob matching. (#7299) PR #7299
- move wheel extraction for UnpackWheels into PexBuilderWrapper and resolve for a single platform only (#7289) PR #7289
- Default to pants devs using Python 3 by renaming ./pants3->`./pants` and ./pants->`./pants2` (#7257) PR #7257
- Delete BuildFileAddressMapper. (#7291) PR #7291
- Split out rsc distribution selection into JvmCompile (#7290) PR #7290
- Allow tasks to opt-in to target filtering (#7283) PR #7283
- try defining algebraic Executables in the native backend to compose more readable toolchains (#6855) PR #6855
- Update TargetFiltering args for applying criteria (#7280) PR #7280
1.15.0.dev1 (2/22/2019)
New Features
- Allow passing floating point numbers from rust to python (#7259) PR #7259
Bugfixes
- Fix nightly cron ctypes enum failure (#7249) PR #7249
- Revert remote execution from tower to grpcio (#7256) PR #7256
- Pin pytest version to avoid induced breakage from more-itertools transitive dep (#7238) Issue #4770#issuecomment-462869367, PR #7238
- Validate and maybe prune interpreter cache run over run (#7225) PR #7225
Documentation
- [jvm-compile] fix typo: s/direcotry/directory/ (#7265) PR #7265
Refactoring, Improvements, and Tooling
- cache python tools in ~/.cache/pants (#7236) PR #7236
- Prepare 1.14.0rc3 (#7274) PR #7274
- Node is Display (#7264) PR #7264
- Scheduler returns metrics as a dictionary instead of a tuple of tuples (#7255) PR #7255
- Prepare 1.14.0.rc2 instead. (#7251) PR #7251
- Prepare 1.14.0 (#7246) PR #7246
- Avoid capturing Snapshots for previously digested codegen outputs (#7241) PR #7241
- Add checks if values of flags zipkin-trace-id and zipkin-parent-id are valid (#7242) PR #7242
- Remove deprecated test classes (#7243) PR #7243
- fix expected pytest output for pytest integration after pinning to 3.0.7 (#7240) PR #7240
- Canonicalize enum pattern matching for execution strategy, platform, and elsewhere (#7226) PR #7226
- add a TypedCollection type constraint to reduce boilerplate for datatype tuple fields (#7115) PR #7115
1.15.0.dev0 (2/8/2019)
API Changes
New Features
Bugfixes
Documentation
- documentation for grpcio (#7155) PR #7155
Refactoring, Improvements, and Tooling
- Make Resettable lazy again (#7222) PR #7222
- fix _raise_deferred_exc() (#7008) PR #7008
- Skip flaky test (#7209) PR #7209
- Only run master-dependent commithooks on master (#7214) PR #7214
- Revert "make GoTest subclass PartitionedTestRunnerTaskMixin to test transitively" (#7212) PR #7212
- Absolute-ify GIT_DIR (#7210) PR #7210
- Fix release script ownership check command name. (#7204) PR #7204