tree a3284880520e9ee51f09082b79bfe5e9b13e9b50
parent fdc7718c60397a040646551e52fd48772044a8d6
author Bazel Release System <noreply@google.com> 1562089549 +0200
committer Laurent Le Brun <laurentlb@gmail.com> 1562089549 +0200

Release 0.27.1 (2019-07-02)

Baseline: 8c3b3fba3f68833bd97d3df2db9c48f0539efc3b

Cherry picks:

   + 123c68daed17b19927372e4df7f7a2256db6b80e:
     Warn in more cases of possible Python version mismatch in host
     config
   + 052167e907373ac7ea43238c3049739f6e94a9d1:
     Add a non-strict autodetecting Python toolchain
   + 6ef6d879ab69225d54ecab3db847fb4eff33bbeb:
     Default java toolchain target
   + 50fa3ec27efdd95771c70faa38a4543d4fed44f2:
     Fix problems with the non-strict Python toolchain
   + e2a626c4f61fe4ceb79a5675d09a6f25ca7b5b22:
     Automated rollback of commit
     bc6f7cb330bb531f062bb301f3703876051191f5.
   + 6efc5b787ad3164cc2fb779c73377695032b4524:
     Treat existence of managed directories as a part of repository
     dirtiness.
   + 3a4be3c93813987a27a97dade3f9ebbc5770e349:
     Add /usr/local/bin to default PATH under strict action env
   + 5c1005c0947b010ee36ca851b8ba07c9479cf682:
     Automated rollback of commit
     536a166270590a8dbc701718550383f3a07cc763.
   + c82eb4878c7dc829455caeb915affe36c89df06f:
     Release 0.27.0 (2019-06-17)
   + d4589630428c1c1bc08a9baf36257e636fe9d746:
     Check for both :lcov_merger and $lcov_merger  attributes in
     TestActionBuilder.

Important changes:

  - Add new options --cs_fdo_absolute_path= to support the absolute
    path
    profile for LLVM's context-sensitive FDO.
  - When `--incompatible_strict_action_env` is enabled, the default
    `PATH` now includes `/usr/local/bin`.
  - Turn on --experimental_build_setting_api by default for starlark
    build settings (see
    https://docs.bazel.build/versions/master/skylark/config.html#user-
    defined-build-settings for more info)

This release contains contributions from many people at Google, as well as Ricky Pai.
