tree bd1f78a7198f8a43d52c1bbe8cc31f870f94d327
parent 0cd1a914e9178d9169fe819a9521dc9385a5ddbf
author Bazel Release System <noreply@google.com> 1686346012 +0200
committer fweikert <fwe@google.com> 1686346012 +0200

Release 7.0.0-pre.20230530.3 (2023-06-09)

Baseline: 67446d625e4daafadcb5918a88ed52f517a8871f

Cherry picks:

   + 4344a0358f44c0290f85f8d90dede5824593ce77:
     Automated rollback of commit
     00a4fefe594069d47d1bde99b28c6b8dcca0a7c1.

Incompatible changes:

  - `--incompatible_check_sharding_support` is enabled by default.
    Sharded tests with test runners that do not properly advertise
    support for test sharding will fail. Refer to
    https://github.com/bazelbuild/bazel/issues/18339 for migration
    advice.

Important changes:

  - Options specified on the pseudo-command `common` in `.rc` files
    are now ignored by commands that do not support them as long as
    they are valid options for *any* Bazel command. Previously,
    commands that did not support all options given for `common`
    would fail to run. These previous semantics of `common` are now
    available via the new `always` pseudo-command.
  - the 'default' param of json.decode can now be used as a keyword
    parameter.
  - As a transitional step in a larger refactoring, rule transitions
    are applied twice. Once during dependency resolution and once
    right before
    analysis of those rules. After the refactoring is complete, rule
    transitions
    will be applied only once.

This release contains contributions from many people at Google, as well as Fabian Meumertzheim, Jimm chja20, Keith Smiley.
