@bazel-io bazel-io released this Jan 28, 2019 · 712 commits to master since this release

Release 0.22.0 (2019-01-28)

Baseline: deb028e

Cherry picks:

  • a3a5975:
    Fix a race condition in remote cache
  • b8d0e1b:
    Use a new GitHub token and KMS key for the release process.
  • 3759e38:
    remote: fix unexpected IO error (not a directory)
  • 4473bb1:
    Fix a race condition in Bazel's Windows process management.
  • 9137fb9:
    undo flag flip of --incompatible_strict_action_env
  • 12ab12e:
    Revert "Enabling Bazel to generate input symlinks as defined by
    RE AP?
  • 6345c74:
    Automated rollback of commit
    30536ba.

New features:

  • Add inputs filtering for aquery
  • https://docs.bazel.build now supports versioned
    documentation. Use the selector at the top of the navigation bar
    to
    switch between documentation for different Bazel releases.
  • build_tar.py in tools/build_defs/pkg now supports a json manifest
    that can be used to add paths that have symbols that can't be
    specified via the command line

Important changes:

  • Added --incompatible_dont_emit_static_libgcc
    (#6825)
    Added --incompatible_linkopts_in_user_link_flags
    (#6826)
  • mobile-install now works with aapt2. Try it out with bazel mobile-install --android_aapt=aapt2 //my:target
  • Fixed a mobile-install v1 bug when deploying to Android 9 Pie
    devices. #6814
  • Add a new option --xbinary_fdo to pass xbinary profile.
  • --runs_per_test: place in TESTING documentation category.
  • Adds a clarifying message to test case summary output when all
    test cases pass but the target fails.
  • Fixed mobile-install v1 error when installing an app with native
    libraries onto an Android 9 (Pie) device. See
    bazelbuild/examples#77
  • Fixed issue where error messages from Android manifest merging
    actions were not propagated fully.
  • Add outputs and mnemonic filtering to aquery
  • New incompatible change flag for defaulting to aapt2 in Android
    builds: --incompatible_use_aapt2_by_default. To build with
    aapt2 today, pass the flag
    --incompatible_use_aapt2_by_default=true or
    --android_aapt=aapt2, or set the aapt_version to aapt2 on
    your android_binary or android_local_test target.
  • set projectId in all PublishBuildToolEventStreamRequest
  • Flip flag --incompatible_string_is_not_iterable
    (#5830)
  • cc_toolchain.(static|dynamic)_runtime_libs attributes are now
    optional
  • Added --incompatible_disable_runtimes_filegroups
    (#6942).
  • objc_bundle has been removed. Please migrate to rules_apple's
    [apple_bundle_import](https://github.com/bazelbuild/rules_apple/bl
    ob/master/doc/rules-resources.md#apple_bundle_import).
  • The apple_stub_binary rule has been deleted.
  • Incompatible flag --incompatible_dont_emit_static_libgcc has
    been flipped (#6825)
  • Incompatible flag --incompatible_linkopts_in_user_link_flags
    has been flipped (#6826)
  • Open source aquery & cquery query2 tests
  • Fixed a mobile-install bug where arm64-v8a libraries were not
    deployed correctly on arm64 devices. This was done by enabling
    incremental native lib deployment by default. A previously
    undocumented --android_incremental_native_libs flag is removed,
    and is now the regular behavior. See
    #2239
  • Incompatible flag --incompatible_linkopts_in_user_link_flags
    has been flipped (#6826)
  • Incompatible flag --incompatible_dont_emit_static_libgcc has
    been flipped (#6825)
  • Added --incompatible_disable_legacy_crosstool_fields. See the
    migration notes at
    #6861.
  • In the Query HowTo, recommend ":*" instead of ":all". "all" might
    be the name of a target.
  • The default value for --incompatible_strict_action_env has been
    flipped to 'false' again, as we discovered breakages for local
    execution users. We'll need some more time to figure out the best
    way to make this work for local and remote execution. Follow
    #7026 for more details.

This release contains contributions from many people at Google, as well as Benjamin Peterson, Dave Lee, George Gensure, Gert van Dijk, Gustavo Storti Salibi, Keith Smiley, Loo Rong Jie, Lukasz Tekieli, Mikhail Mazurskiy, Thi, Travis Cline, Vladimir Chebotarev, Yannic.

Notice: Bazel installers contain binaries licensed under the GPLv2 with
Classpath exception. Those installers should always be redistributed along with
the source code.

Some versions of Bazel contain a bundled version of OpenJDK. The license of the
bundled OpenJDK and other open-source components can be displayed by running
the command bazel license. The vendor and version information of the bundled
OpenJDK can be displayed by running the command bazel info java-runtime.
The binaries and source-code of the bundled OpenJDK can be
downloaded from our mirror server.

Security: All our binaries are signed with our
public key 48457EE0.

Assets 26