Bazel Blog

Bazel 3.3

Bazel 3.3 has just been released.

Bazel 3.3 is a minor release. It is an incremental update to Bazel 3.2.

Incompatible changes

The startup option --fatal_event_bus_exceptions is now a no-op and will be removed soon.


Bazel offers basic completion for the fish shell. To install, see //scripts/fish/ or copy //scripts/fish/completions/ to ~/.config/fish/completions/ locally.


  • It is now possible to use the flag --custom_malloc and replace the default malloc implementation even for rules written in Starlark.
  • Previously, the output name for cc_binary targets that set linkshared=1 had to match the target name, eg. or foo.dll. Now the target can be named foo, and the correct output name will be inferred from the target name.


The --watchos_cpus flag accepts the value arm64_32.

Action Execution

Bazel 3.3 allows you to use different action mnemonics while sharing the same pool of persistent workers by setting a new property on the execution requirements (worker-key-mnemonic). The value overrides the action's mnemonic for reusing worker processes.


This release contains contributions from many people at Google, as well as Abhishek Kumar, Adam Azarchs, Akira Baruah, Daniel Wagner-Hall, Derek Argueta, Jason Furmanek, Jiri Dank, Keith Smiley, Kseniia Vasilchuk, Matt Mackay, Michael Klemm, Nikolay Shelukhin, Patrick Balestra, Rui Chen, Siggi Simonarson, Tom de Goede, Vladimir Chebotarev, Yannic Bonenberger, and glukasiknuro.