Skip to content

Commit

Permalink
Release 9.0.0-pre.20241016.1 (2024-10-22)
Browse files Browse the repository at this point in the history
Baseline: 253fedc

Incompatible changes:

  - With the default Unix toolchain on macOS, binaries now use
    `@rpath` to find their `.dylib` dependencies. This is required to
    fix issues where tools run during the build couldn't find their
    dynamic dependencies.
  - The flag `--incompatible_disallow_empty_glob` now defaults to
    true.

Important changes:

  - Native android_sdk is no longer available within Bazel. Use
    https://github.com/bazelbuild/rules_android
  - Add the
    --incompatible_simplify_unconditional_selects_in_rule_attrs
    option to simplify configurable rule attributes which contain
    only unconditional selects; for example, if ["a"] +
    select("//conditions:default", ["b"]) is assigned to a rule
    attribute, it is stored as ["a", "b"].
  - `--incompatible_disallow_unsound_directory_outputs` is deleted.
  - `--incompatible_remote_symlinks` and
    `--incompatible_remote_dangling_symlinks` are deleted.
  - The default value of
    `--experimental_remote_cache_eviction_retries` is changed to `5`.
  - If --proto:rule_classes flag is enabled, query proto output will
    contain rule class definitions in Stardoc proto format.
  - Non-singleton target visibility lists can now contain
    "//visibility:public" and "//visibility:private" elements; the
    result is appropriately simplified when assigned to an attribute:
    ["//foo:__subpackages__", "//visibility:public"] is saved as
    ["//visibility:public"], ["//foo:__subpackages__",
    "//visibility:private"] is saved as ["//foo:__subpackages__"],
    and for consistency's sake, an empty target visibility list [] is
    saved as ["//visibility:private"].
  - Symbolic Macros -- and with them, Finalizers and the new
    Macro-Aware Visibility model -- are now generally available
    (`--experimental_enable_first_class_macros` now defaults to
    true). Trivial `select()` values are automatically unwrapped
    (`--incompatible_simplify_unconditional_selects_in_rule_attrs`
    now defaults to true).
  - Moved all Bazel Android tool and action code to rules_android.
  - Add conlyopts and cxxopts attributes to cc rules
  - `@bazel_tools//tools/android` no longer exists. Use
    https://github.com/bazelbuild/rules_android instead.
  - Bazel now supports all characters in the rlocation and target
    paths of runfiles and can be run from workspaces with a space in
    their full path.
  - The Python six library is no longer part of @external_tools.

This release contains contributions from many people at Google, as well as Alessandro Patti, Benjamin Peterson, CaerusKaru, Dennis van den Berg, dependabot[bot], Fabian Meumertzheim, Fredrik Medley, hvd, Keith Smiley, Maria, Mislav Mandaric, Tomasz Pasternak, Xavier Bonaventura, Xdng Yng, Xùdōng Yáng.
  • Loading branch information
Bazel Release System authored and keertk committed Oct 22, 2024
1 parent 5ba77b3 commit 1854250
Showing 1 changed file with 168 additions and 2 deletions.
170 changes: 168 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,177 @@
## Release 7.4.0 (2024-10-22)
## Release 9.0.0-pre.20241016.1 (2024-10-22)

```
Baseline: 253fedc5d5adbb6015735b31103be584e2125d5b
```

Release Notes:
Incompatible changes:

- With the default Unix toolchain on macOS, binaries now use
`@rpath` to find their `.dylib` dependencies. This is required to
fix issues where tools run during the build couldn't find their
dynamic dependencies.
- The flag `--incompatible_disallow_empty_glob` now defaults to
true.

Important changes:

- Native android_sdk is no longer available within Bazel. Use
https://github.com/bazelbuild/rules_android
- Add the
--incompatible_simplify_unconditional_selects_in_rule_attrs
option to simplify configurable rule attributes which contain
only unconditional selects; for example, if ["a"] +
select("//conditions:default", ["b"]) is assigned to a rule
attribute, it is stored as ["a", "b"].
- `--incompatible_disallow_unsound_directory_outputs` is deleted.
- `--incompatible_remote_symlinks` and
`--incompatible_remote_dangling_symlinks` are deleted.
- The default value of
`--experimental_remote_cache_eviction_retries` is changed to `5`.
- If --proto:rule_classes flag is enabled, query proto output will
contain rule class definitions in Stardoc proto format.
- Non-singleton target visibility lists can now contain
"//visibility:public" and "//visibility:private" elements; the
result is appropriately simplified when assigned to an attribute:
["//foo:__subpackages__", "//visibility:public"] is saved as
["//visibility:public"], ["//foo:__subpackages__",
"//visibility:private"] is saved as ["//foo:__subpackages__"],
and for consistency's sake, an empty target visibility list [] is
saved as ["//visibility:private"].
- Symbolic Macros -- and with them, Finalizers and the new
Macro-Aware Visibility model -- are now generally available
(`--experimental_enable_first_class_macros` now defaults to
true). Trivial `select()` values are automatically unwrapped
(`--incompatible_simplify_unconditional_selects_in_rule_attrs`
now defaults to true).
- Moved all Bazel Android tool and action code to rules_android.
- Add conlyopts and cxxopts attributes to cc rules
- `@bazel_tools//tools/android` no longer exists. Use
https://github.com/bazelbuild/rules_android instead.
- Bazel now supports all characters in the rlocation and target
paths of runfiles and can be run from workspaces with a space in
their full path.
- The Python six library is no longer part of @external_tools.

This release contains contributions from many people at Google, as well as Alessandro Patti, Benjamin Peterson, CaerusKaru, Dennis van den Berg, dependabot[bot], Fabian Meumertzheim, Fredrik Medley, hvd, Keith Smiley, Maria, Mislav Mandaric, Tomasz Pasternak, Xavier Bonaventura, Xdng Yng, Xùdōng Yáng.

## Release 8.0.0-pre.20240925.4 (2024-10-03)

```
Baseline: f4d92d45be3617b72c21ad5ce8912fa548472e50

Cherry picks:

+ 99434b16ba41677b92f7eb79d5d8dcb1130d7c47:
Automated rollback of commit
4607ad439fe8869c8e8951d953e2d3adb613e6d6.
```

Incompatible changes:

- `ctx.resolve_tools` is no longer available by default, in
preparation for complete removal. See
https://github.com/bazelbuild/bazel/issues/22249 for migration
instructions. Use `--noincompatible_disallow_ctx_resolve_tools`
to temporarily make it available again.
- The `aquery` command now reports all potential inputs of actions
that support input discovery, including the input headers of C++
compilation actions and those explicitly marked as unused through
the `unused_inputs_list` argument to `ctx.actions.run`. Set
`--noinclude_pruned_inputs` to omit pruned inputs from `aquery`
output when running it after action execution.
RELNOTES[INC]: This is not a release note, but a reminder to
remove the note for `--include_scheduling_dependencies`, which
was introduced in the 8.x tree but won't make it into the final
release.
- `--zip_undeclared_test_outputs` now defaults to false, causing
undeclared test outputs (i.e., files written to
`$TEST_UNDECLARED_OUTPUTS_DIR` by a test) to be produced as a
directory instead of a zip file.
- --legacy_important_outputs is flipped to false. See #14353 for
details

New features:

- Bazel can now parse .scl files, a dialect of Starlark without
Bazel-specific symbols.
- Dormant dependencies and materializer functions are now available
with the --experimental_dormant_deps flag.

Important changes:

- Deleted native Android mobile-install
- Repository rules instantiated in the same module extensions can
now refer to each other by their extension-specified names in
label attributes.
- A new experimental flag,
`--experimental_build_event_output_group_mode`, allows users to
change how a given output group's files are reported in BEP. The
current behavior is `FILESET` which populates
`OutputGroup.file_sets`. Users may now specify `INLINE` to
instead report files directly in the
`TargetComplete`/`AspectComplete` event under
`OutputGroup.inline_files`. Users may also specify `BOTH` to
populate `OutputGroup.file_sets` and `OutputGroup.inline_files`.
- Bazel no longer has the android_binary, android_library,
android_device_script_fixture and android_host_service_fixture
rules. Use https://github.com/bazelbuild/rules_android instead.
See https://github.com/bazelbuild/bazel/issues/23199
- Bazel no longer has the android_sdk_repository rule. Use
https://github.com/bazelbuild/rules_android instead.
- Uploading local action results to a disk or remote cache now
occurs in the background whenever possible, potentially
unblocking the execution of followup actions. Set
`--noremote_cache_async` to revert to the previous behavior.
- `--incompatible_remote_downloader_send_all_headers` is removed.
- `--build_event_upload_max_threads` is removed.
- `incompatible_remote_output_paths_relative_to_input_root` is
removed.
- The default value of
`--experimental_remote_cache_compression_threshold` is changed to
`100`.
- Build without the Bytes is disabled when using HTTP cache.
- Build without the Bytes is disabled when using HTTP cache.
- Symlink trees are now created through direct filesystem calls by
default, instead of delegated to a helper process. On Windows,
this entails respecting the `--windows_enable_symlinks` flag,
falling back to a copy when the flag is unset (the helper process
always attempts to create symlinks, irrespective of the flag).
Set `--noexperimental_inprocess_symlink_creation` to temporarily
revert to the previous behavior, which will be removed in a
future release.
- By default, coverage artifacts will be reported inline in the
`TargetComplete` event. To disable this behavior, pass
`--experimental_build_event_output_group_mode=baseline.lcov=named_
set_of_files_only`.
- Uploading local action results to a disk or remote cache now
occurs in the background whenever possible, potentially
unblocking the execution of followup actions. Set
`--noremote_cache_async` to revert to the previous behavior.
- Overrides in the root MODULE.bazel file are now ignored with
`--ignore_dev_dependency`. (Overrides in non-root modules are
already ignored.)
- Added support for using a remote cache that evicts blobs and
doesn't have AC integrity check (e.g. HTTP cache).
- Undeclared test outputs are now reported individually in the BEP,
unless zipping is enabled via `--zip_undeclared_test_outputs`.
- The native version of android_tools_defaults_jar is no longer in
Bazel. Use https://github.com/bazelbuild/rules_android instead.
- Bazel fetch and vendor command now supports --target_pattern_file
for specifying target patterns.
- The compact execution log now stores runfiles in a more compact
representation that should reduce the memory overhead and log
output size, in particular for test spawns. This change required
breaking changes to the (experimental) log format.
- `override_repo` and `inject_repo` can be used to override and
inject repos in module extensions.
- Patches to the module file in `single_version_override` are now
effective as long as the patch file lies in the root module.
- If `--allowed_cpu_values` is set, the `--cpu` flag value is
validated against it.

This release contains contributions from many people at Google, as well as Adam Azarchs, Alessandro Patti, Benjamin Peterson, Cornelius Riemenschneider, dependabot[bot], Fabian Meumertzheim, Fil-Den, George Gensure, hvd, Jacob Van De Weert, James Sharpe, Javier Maestro, Jay Conrod, John Millikin, Jordan Mele, Jordan Mele, Keith Smiley, Lior Gorelik, Luis Padron, Michael Siegrist, Nils Wireklint, PikachuHy, Sangita.Nalkar, Son Luong Ngoc, Thi Doan, Xdng Yng, xinyu.wang.

## Release 7.3.2 (2024-10-01)

```
Expand Down

0 comments on commit 1854250

Please sign in to comment.