6.0.0
NEW FEATURES
When used with Bazel 7, Protobuf Toolchainization is now available. This allows you to choose where the protobuf compiler (protoc
) comes from, as well as configure a toolchain for each language you generate proto stubs for.
This de-couples rules_proto from the https://github.com/protocolbuffers/protobuf repository; rules_proto
no longer depends on com_google_protobuf
. The Bazel rules in that repository are now maintained by the protobuf team for Google use cases, and may diverge from rules_proto over time.
rules_proto does not include the toolchain implementation. See https://registry.bazel.build/modules/toolchains_protoc for an example module that registers the prebuilt binary from https://github.com/protocolbuffers/protobuf/releases.
The tracking issue for this feature is #179
BREAKING CHANGES
Upgrading from rules_proto 5.x requires some changes:
- The
load
site forrules_proto_toolchains
has changed. See the new WORKSPACE snippet below. - As mentioned above, rules_proto no longer depends on the protobuf repo (commonly as
com_google_protobuf
). As a result, therules_proto_dependencies
macro no longer fetches one. For WORKSPACE users, this may affect what version of protobuf you end up with. We recommend explicitly fetchingcom_google_protobuf
early in the WORKSPACE file, as the first declaration wins.
Install
Using bzlmod with Bazel 6 or later:
-
[Bazel 6] Add
common --enable_bzlmod
to.bazelrc
. -
Add to your
MODULE.bazel
file:
bazel_dep(name = "rules_proto", version = "6.0.0")
Using WORKSPACE:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_proto",
sha256 = "303e86e722a520f6f326a50b41cfc16b98fe6d1955ce46642a5b7a67c11c0f5d",
strip_prefix = "rules_proto-6.0.0",
url = "https://github.com/bazelbuild/rules_proto/releases/download/6.0.0/rules_proto-6.0.0.tar.gz",
)
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies")
rules_proto_dependencies()
load("@rules_proto//proto:toolchains.bzl", "rules_proto_toolchains")
rules_proto_toolchains()
What's Changed
- Upgrade WORKSPACE snipped to 4.0.0 release by @Yannic in #99
- Remove deleted buildkite pipeline from readme by @Yannic in #98
- Update rules_java to HEAD by @Bencodes in #102
- Update bazel skylib version to prevent failures on newer Bazel versions. by @comius in #104
- Update protobuf to 3.19.1 by @thii in #108
- Upgrade to protobuf 3.19.2 by @dhalperi in #109
- Update code annotations to 'starlark' by @aignas in #105
- Add link to proto/grpc docs on rules authors SIG by @alexeagle in #111
- [Zlib] update zlib version to zlib-1.2.12 by @ThomasCJY in #117
- Update protobuf to 3.20.0 by @thii in #113
- Update readme to point to the latest version by @comius in #124
- migrating to usage of rbe_preconfig and remove bazel-toolchains by @aranguyen in #134
- Bump rules_cc to 2f8c04c by @shaldengeki in #130
- update googletest by @aranguyen in #137
- Update protobuf to v21.5 by @sagmor in #139
- Internal change by @copybara-service in #143
- Test automatic import to Piper by @kotlaja in #145
- Add MODULE.bazel to rules proto by @comius in #147
- Test automatic import to Piper by @kotlaja in #146
- fix jar shasums for protobuf java/util by @perezd in #150
- doc: point users to the release page by @alexeagle in #149
- Add protobuf_lite target to protobuf_workspace by @shaldengeki in #131
- Workaround repository name for bzlmod by @comius in #156
- Update protobuf to v21.7 by @neumann-nico in #154
- Changing bazel skylib version from 1.1.1 to 1.3.0 by @Clement-Jean in #158
- Update versions of protobuf by @comius in #161
- docs: explain the roadmap by @alexeagle in #180
- Add protobuf-team to CODEOWNERS by @comius in #183
- chore: add a pre-commit hook config. by @alexeagle in #184
- refactor: remove protobuf_workspace by @thesayyn in #181
- docs: begin generating docs for defs by @thesayyn in #186
- chore: automate releases by @alexeagle in #189
- fix: executable bit for release shell script by @alexeagle in #190
- chore: add missing file needed by release automation by @alexeagle in #191
- Update release_prep.sh by @alexeagle in #192
- chore: add config for Publish to BCR app by @alexeagle in #193
- feat: introduce toolchain helper by @thesayyn in #194
- fix: presubmit does not have access to tests by @thesayyn in #196
- fix: set allowlist_different_package conditionally by @thesayyn in #199
- chore: update protobuf to 23.1 by @benjamin-bader in #200
- fix: add bazel versions tested to presubmit by @thesayyn in #202
- chore: fix stardoc targets by @alexeagle in #209
New Contributors
- @Bencodes made their first contribution in #102
- @thii made their first contribution in #108
- @dhalperi made their first contribution in #109
- @aignas made their first contribution in #105
- @alexeagle made their first contribution in #111
- @ThomasCJY made their first contribution in #117
- @aranguyen made their first contribution in #134
- @shaldengeki made their first contribution in #130
- @sagmor made their first contribution in #139
- @copybara-service made their first contribution in #143
- @kotlaja made their first contribution in #145
- @perezd made their first contribution in #150
- @neumann-nico made their first contribution in #154
- @Clement-Jean made their first contribution in #158
- @thesayyn made their first contribution in #181
- @benjamin-bader made their first contribution in #200
Full Changelog: 4.0.0...6.0.0