Skip to content

Releases: bazelbuild/bazel

0.24.0

26 Mar 16:47
Compare
Choose a tag to compare

Release notes: https://blog.bazel.build/2019/03/26/bazel-0.24.html

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.

0.23.2

11 Mar 16:59
Compare
Choose a tag to compare

Cherry picks:

  • 6ca7763:
    Fix a typo
  • 2310b1c:
    Ignore SIGCHLD in test setup script
  • f9eb1b5:
    Complete channel initialization in the event loop
  • f0a1597:
    remote: properly reset state when using remote cache. Fixes #7555
  • 56366ee:
    Set non-empty values for msvc_env_* when VC not installed

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.

0.23.1

04 Mar 12:05
Compare
Choose a tag to compare

Cherry picks:

  • 6ca7763:
    Fix a typo
  • 2310b1c:
    Ignore SIGCHLD in test setup script
  • f9eb1b5:
    Complete channel initialization in the event loop
  • f0a1597:
    remote: properly reset state when using remote cache. Fixes #7555

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.

0.23.0

26 Feb 17:53
Compare
Choose a tag to compare

Cherry picks:

  • 6ca7763:
    Fix a typo
  • 2310b1c:
    Ignore SIGCHLD in test setup script
  • f9eb1b5:
    Complete channel initialization in the event loop

Release notes can be found here:
https://blog.bazel.build/2019/02/26/bazel-0.23.html

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.

0.22.0

28 Jan 13:30
Compare
Choose a tag to compare

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.

0.21.0

19 Dec 13:58
Compare
Choose a tag to compare

Release 0.21.0 (2018-12-19)

Baseline: cb9b2af

Cherry picks:

  • 12b9646:
    Windows, test wrapper: rename the associated flag
  • 7fc967c:
    Use a fixed thread pool in ByteStreamBuildEventArtifactUploader
  • 798b9a9:
    Add --build_event_upload_max_threads option
  • dbe05df:
    Update the version of skylib bundled in the distfile

Release notes:
https://blog.bazel.build/2018/12/19/bazel-0.21.html

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.

0.20.0

30 Nov 14:53
Compare
Choose a tag to compare

Release 0.20.0 (2018-11-30)

Baseline: 7bf7f03

Cherry picks:

  • fd52341:
    update bazel-toolchains pin to latest release Part of changes to
    allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
    before 0.17.0 are not compatible with bazel 0.19.0 or above.
  • 241f28d:
    Revert "Toggle --incompatible_disable_late_bound_option_defaults
    flag."
  • f7e5aef:
    Add cc_toolchain targets for the new entries in the default
    cc_toolchain_suite.
  • d2920e3:
    Revert "WindowsFileSystem: open files with delete-sharing"

Breaking changes in 0.20

0.20 is a migration window for the following changes

Breaking changes in the next release (0.21)

Incompatible changes:

  • the --experimental_no_dotd_scanning_with_modules command line
    argument is not supported anymore.
  • The --prune_cpp_modules command line option is not supported
    anymore.
  • the --experimental_prune_cpp_input_discovery command line option
    is not supported anymore.

New features:

  • Added support for Android NDK r18.

Important changes:

  • The 'default' parameter of attr.output and attr.output_list is
    removed. This is controlled by
    --incompatible_no_output_attr_default
  • A number of platform-related Starlark APIs which were previously
    marked "experimental" are now disabled by default, and may be
    enabled via --experimental_platforms_api
  • Make legacy-test-support ("legacy_test-") from
    android_sdk_repository neverlink. The legacy test support
    libraries shouldn't be built into test binaries. To make them
    available at runtime, developers should declare them via
    uses-library:
    https://developer.android.com/training/testing/set-up-project#andr
    oid-test-base
  • query remote server Capabilities (per REAPI v2)
  • CppRules: All cc_toolchains depended on from
    cc_toolchain_suite.toolchains are now analyzed when not using
    platforms in order to select the right cc_toolchain.
  • removed obsolete --explicit_jre_deps flag.
  • Incompatible flag
    --incompatible_disable_legacy_cpp_toolchain_skylark_api was
    flipped.
  • Improve error messaging when unsupport proguard options are
    specified at the library level.
  • Incompatible flag
    --incompatible_disable_legacy_cpp_toolchain_skylark_api was
    flipped.
  • Incompatible flag
    --incompatible_disable_legacy_cpp_toolchain_skylark_api was
    flipped.
  • The --incompatible_disable_late_bound_option_defaults flag has
    been flipped (#6384)
  • Incompatible flag
    --incompatible_disable_legacy_flags_cc_toolchain_api was flipped
    (#6434)
  • Fixed issue where ctx.resolve_command created conflicting
    intermediate files when resolve_command was called multiple times
    within the same rule invocation with a long command attribute.
  • Incompatible flag
    --incompatible_disable_cc_configuration_make_variables was
    flipped (#6381)
  • If the --javabase flag is unset, it Bazel locates a JDK using
    the JAVA_HOME environment variable and searching the PATH. If no
    JDK is found --javabase will be empty, and builds targeting Java
    will not
    be supported. Previously Bazel would fall back to using the
    embedded
    JDK as a --javabase, but this is no longer default behaviour. A
    JDK should
    be explicitly installed instead to enable Java development
  • Bazel will now shut down when idle for 5 minutes and the system
    is low on RAM (linux only).
  • CROSSTOOL file is now read from the package of cc_toolchain, not
    from
    the package of cc_toolchain_suite. This is not expected to break
    anybody since
    cc_toolchain_suite and cc_toolchain are commonly in the same
    package.
  • All overrides of Starlark's ctx.new_file function are now
    deprecated.
    Try the --incompatible_new_actions_api flag to ensure your
    code is forward-compatible.
  • --incompatible_disable_cc_toolchain_label_from_crosstool_proto
    was flipped.
  • Introduce --(no)shutdown_on_low_sys_mem startup flag to toggle
    idle low-memory shutdown, disabled by default.
  • --incompatible_disable_cc_toolchain_label_from_crosstool_proto
    was flipped.
  • --incompatible_disable_cc_toolchain_label_from_crosstool_proto
    was flipped.
  • CppRules: All cc_toolchains depended on from
    cc_toolchain_suite.toolchains are now analyzed when not using
    platforms in order to select the right cc_toolchain.
  • The function attr.license is deprecated and will be removed.
    It can be disabled now with --incompatible_no_attr_license.
  • range() function now returns a lazy value
    (--incompatible_range_type is now set by default).
  • The code coverage report now includes the actual paths to header
    files instead of the ugly,
    Bazel generated, virtual includes path.
  • --incompatible_disallow_conflicting_providers has been switched
    to true
  • Add new flag --incompatible_disable_systool_from_configration to
    disable loading the systool from CppConfiguration.
  • Add new flag --incompatible_disable_sysroot_from_configuration
    to
    disable loading the systool from CppConfiguration.
  • Sorting remote Platform properties for remote execution. May
    affect cache keys!
  • Use different server log files per Bazel server process; java.log
    is
    now a symlink to the latest log.

This release contains contributions from many people at Google, as well as a7g4 [email protected], Alan [email protected], Asaf Flescher [email protected], Benjamin Peterson [email protected], Ed Schouten [email protected], George Gensure [email protected], George Kalpakas [email protected], Greg [email protected], Irina Iancu [email protected], Keith Smiley [email protected], Loo Rong Jie [email protected], Mark Zeren [email protected], Petros Eskinder [email protected], rachcatch [email protected], Robert Brown [email protected], Robert Gay [email protected], Salty Egg [email protected].

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.

0.19.2

19 Nov 16:32
Compare
Choose a tag to compare

Release 0.19.2 (2018-11-19)

Baseline: eb2af0f

Cherry picks:

  • f7e5aef:
    Add cc_toolchain targets for the new entries in the default
    cc_toolchain_suite.
  • 683c302:
    Read the CROSSTOOL from the package of the current cc_toolchain,
    not from --crosstool_top
  • Fixes regression #6662, by fixing tools/cpp/BUILD
  • Fixes regression #6665, by setting the toolchain identifier.
  • CROSSTOOL file is now read from the package of cc_toolchain, not from the
    package of cc_toolchain_suite. This is not expected to break anybody since
    cc_toolchain_suite and cc_toolchain are commonly in the same package.

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.

0.19.1

12 Nov 15:39
Compare
Choose a tag to compare

Release 0.19.1 (2018-11-12)

Baseline: f0c844c

Cherry picks:

  • 8e28083:
    Windows Add tests for msys gcc toolchain and mingw gcc toolchain
    + fd52341:
    update bazel-toolchains pin to latest release Part of changes to
    allow bazelci to use 0.19.0 configs. RBE toolchain configs at or
    before 0.17.0 are not compatible with bazel 0.19.0 or above.

Important changes:

  • Fix regression #6610, which prevents using the MINGW compiler on Windows.

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.

0.18.1

31 Oct 14:52
Compare
Choose a tag to compare

Release 0.18.1 (2018-10-31)

Baseline: c062b1f

Cherry picks:

  • 2834613:
    Include also ext jars in the bootclasspath jar.
  • 2579b79:
    Fix toolchain_java9 on --host_javabase= after
    7eb9ea1
  • faaff7f:
    Release notes: fix markdown
  • b073a18:
    Fix NestHost length computation Fixes #5987
  • bf6a63d:
    Fixes #6219. Don't rethrow any remote cache failures on either
    download or upload, only warn. Added more tests.
  • c1a7b4c:
    Fix broken IdlClassTest on Bazel's CI.
  • 71926bc:
    Fix the Xcode version detection which got broken by the upgrade
    to Xcode 10.0.
  • 86a8217:
    Temporarily restore processing of workspace-wide tools/bazel.rc
    file.
  • 914b4ce:
    Windows: Fix Precondition check for addDynamicInputLinkOptions
  • e025726:
    Update turbine

Important changes:

  • Fix regression #6219, remote cache failures

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.