Releases: thought-machine/please
Releases · thought-machine/please
Please v2.0.0
New release, with a bunch of new features! We are now doing semver so the major version will be bumped to indicate incompatible changes.
Highlights of this release:
- More convenient output on incorrect hashes.
- C++ tests now honour being given a specific test to run (The current implementation
of this requires C++11, we could write it in a more tedious way if it's a problem). - Reading stdin for build labels is now done asynchronously.
plz query alltargetsnow does not display hidden targets (those starting with an
underscore) by default. It has a new--hiddenflag which will show them as well.subinclude()can now be given a URL to download build defs from.- Fix interactive display on versions of iTerm (2.1.x) that don't support the
ANSI CPL instruction. - Go version in config now only affects hashes of Go targets.
- Suffix temp build directories with #.build (and tests with #.test instead of just .test)
to avoid cases where they clash with paths to sub-packages that happen to
begin with the same name. - Support for loading arch-specific config files, .plzconfig_linux_amd64 etc.
Allows tweaking config for different machine types. - Reworked internal queuing implementation which prioritises
subinclude()targets
more highly.subinclude()itself also caches compiled code. - New feature,
plz query reverseDepswhich finds reverse dependencies of a target. plz query graphoutput has more features in it.- new setting in config, blacklistdirs, which excludes certain directory names from
being walked byplz build ...and the like. - Upgraded python coverage package.
- Upgraded gRPC implementation. Note that this is a breaking change for the RPC cache
so that will need to be upgraded in sync with plz itself. - Allow passing build target expressions to --exclude.
Please v1.7.2
Minor feature additions since v1.7.0:
- Additional flag,
--include_file, toplz coverwhich filters coverage output to
just the given files. - maven_jars now has two new arguments,
combinewhich combines its transitive deps
into a single uberjar andhashwhich sets the hash for that uberjar.
The intention here is to make it more lightweight to set a hash for a single target
rather than having to provide potentially many individual hashes. - Fixed aliases which were accidentally broken by some flag changes.
Please v1.7.0
First release of 1.7.x, after the short-lived 1.6.x series never made it here. Notable changes include:
- Reworking of error handling in parsing code. Previous code used to panic back through
the parser which deeply upset PyPy (often we got away with it because we'd die before
anything else could go wrong, but not always). Now errors are returned to Python and
reraised as exceptions there - which implies that it's possible for BUILD code to
catch and handle such exceptions, although I don't recommend writing them that way :) - Optimised glob() a bit so it doesn't descend into some directories that will never match
the given pattern. - Officially ban subincluding of local targets (didn't actually work before anyway, but now
you get an 'official' message explaining why) plz cleannow cleans sub-targets as well- Banned double slashes in build labels which was being incorrectly let though, leading
to some very strange failures. - Ensure paths are relative in hash memoisation - improves hit rate by about 30% and
is a performance improvement (although probably not very noticeable in most cases). plz covernow has a--line_coverage_report/-lflag to produce line-by-line
coverage output for its affected files.
Please v1.5.11
A series of minor fixes over 1.5.8. We remain hopeful there isn't much left for the 1.5.x branch :)
* Write explicit failures into unit test output on timeout etc. Needed for some downstream
tools that don't check attributes like 'failures' and need explicit entries.
* Fix for multiple caches which could sometimes panic with a negative waitgroup.
* grpc_library now correctly honours the 'languages' argument.
Please v1.5.8
A selection of changes & fixes:
- Fix bug in go_test where it would sometimes return success if a test panicked
plz query completionstreats : as equivalent to : to help bash completion workgo_generaterule added- Fixes to RPC cache
Please v1.5.4
Contains minor fixes versus 1.5.4:
- Consistent naming of please_go_test
- Fix to cache_cleaner which sometimes didn't clean properly
Please v1.5.2
First stable release of the 1.5 series!
Notable / breaking changes:
- Support for build configurations, activated by '-c opt' and '-c dbg'. Those two are provided by default on C++ and Go rules; other languages can stick with a single command at present, use those and / or define their own configs. Users can define defaults in their .plzconfig.
- The 'strip' config option and go_binary argument has been removed. It's now implicit in -c opt for go_binary.
- C++ config options have changed a lot; the test / normal dichotomy has gone, we now have defaults for dbg and opt and a default set of ldflags. -lunittest++ is applied automatically by cc_test.
- --no_cache has been changed to --nocache for consistency.
- The -c argument to plz clean is now removed. Default is to clean the cache, and it honours the top-level --nocache flag if you don't want to clean that.
- python_library now has an 'out' argument where you can set the name of the output pex. It defaults to the same as before.
- More reliable returning of test output when tests time out.
- Rewritten cffi interface so startup times are significantly faster.
Please v1.4.9
First release available on the public github repo.
plz cleannow backgrounds itself when possible, in which case the user can
continue with other tasks with no delay.- Added
licenses()builtin function for Bazel compatibility; it roughly parallels
theirs in setting the default licence for all targets in a BUILD file. Implicitly
we can also now usepackage(default_licences = [...])which is equivalent. - + is now allowed in names of build rules.
- Fixed .deb package to include plz_diff_graphs.