Releases: rules-proto-grpc/rules_proto_grpc
5.0.1
5.0.0
The 5.0.0 release introduces support for Bzlmod and drops support for WORKSPACE. This has required a large restructure of the repo, with the code being split into multiple modules. A 'core' module provides common types and compilation support, whilst per-language modules provide the integration with each language's specific third-party modules and tools. Moving to Bzlmod provides a huge improvement in the stability and maintainability of these rules, as third-party transitive dependency management has been handed off to Bazel and new versions of gRPC and Protobuf should hopefully be able to be supported more rapidly.
At present, a limited number of languages have been migrated from the 4.x.x releases, with support for the remaining languages being tracked here. For these unsupported languages - or for WORKSPACE repos - it is recommended you continue using the 4.x.x releases.
The way you use these rules is largely unchanged, but unfortunately the paths used for load
of the rules will have changed due to the splitting into language-specific modules. For example, the following load:
load("@rules_proto_grpc//go:defs.bzl", "go_proto_library")
Will become:
load("@rules_proto_grpc_go//:defs.bzl", "go_proto_library")
Details on the new rule loads can, as always, be found on each language's page in the documentation. Examples for each language are also provided in the repo's examples directory.
Some key other changes include:
- The versions of gRPC and Protobuf are updated to the latest available in
Bazel Central Registry - Python now pulls gRPC and Protobuf from pip wheels
- Buf rules now work on Windows (requires the
--enable_runfiles
flag to be set)
Should you have any issues with the new release, please open a new issue or discussion.
5.0.0-alpha3
- Fixing the generated python path with dot
- Set cfg = exec on plugins label list template
- Correctly forward test attrs for buf test rules
5.0.0-alpha2
Accept release version number from input
5.0.0-alpha1
Test first release of bzlmod rules for rules_proto_grpc
4.6.0
4.5.0
General
- Updated grpc to 1.54.1
- Updated
rules_proto
to 5.3.0-21.7 - Fixed passing extra options to the
grpc-gateway
plugin. #258 - Removed header files from runfiles of
cpp_grpc_library
. #262 - Added a path conversion from snake_case to dashed-case. #274
- Fixed missing env var in documentation. #279
C
- Added support for
NO_PREFIX
output mode. #276
C#/F#
- Updated gRPC to 2.53.0
Go
- Updated
rules_go
to 0.39.1
Python
- Added support for passing
data
attr to Python library rules. #257
Ruby
- Updated
rules_ruby
to latest
Rust
- Major change: Replaced Rust protobuf and gRPC libraries with Prost and Tonic respectively. See the Rust rules documentation for examples of how this change can be adopted. #265
4.4.0
General
- Increased minimum supported Bazel version from 5.0.0 to 5.3.0. #230
- Added support for param file for excess arguments, which allows for longer commands lines without failure
- Fixed Windows incompatibility due to test workspace containing quote character in path
- The
proto_compile
function is now exported in the publicdefs.bzl
for use in external rules - Added static release assets generation, which will change the format of the download URL to use in your WORKSPACE. See the sample installation docs for the new URL
Go
- Updated
github.com/envoyproxy/protoc-gen-validate
to 1.0.0
grpc-gateway
- WORKSPACE update needed: Renamed
grpc-gateway
repository name fromgrpc_ecosystem_grpc_gateway
tocom_github_grpc_ecosystem_grpc_gateway_v2
, to match the naming used by Gazelle. You may need to update your WORKSPACE file to use the new name
Objective-C
- Fixed expected naming of output files for proto files containing numbers in file name. #253
4.3.0
General
- Updated protobuf to 21.10
- Updated grpc to 1.51.0
- Updated
rules_proto
to 5.3.0-21.5 - Updated
bazel_skylib
to 1.3.0 - Added support for paths to proto files that contain spaces or other special characters
- Added forwarding of all standard Bazel rule attributes for library macros
- Added support for providing plugin-specific environment variables
Buf
- Updated Buf plugins to v1.9.0
C
- WORKSPACE update needed: The upb version is now sourced from gRPC dependencies to prevent version skew in mixed C and C workspaces. See the example workspaces for the new template
C#/F#
- Updated gRPC to 2.50.0
Go
- Updated
google.golang.org/protobuf
to 1.28.1 - Updated
rules_go
to 0.36.0 - Updated
github.com/envoyproxy/protoc-gen-validate
to 0.9.0
grpc-gateway
- Updated
grpc-gateway
to 2.14.0
gRPC-Web
- Added support for M1 builds of grpc-web
- Updated
grpc-web
to 1.4.2
Java
- Updated
rules_jvm_external
to 4.5
JavaScript
- Updated
google-protobuf
to 3.21.2 - Updated
@grpc/grpc-js
to 1.7.3 - Updated
rules_nodejs
to 5.7.1
Python
- Updated
rules_python
to 0.15.0 - Updated
grpclib
to 0.4.3 - WORKSPACE update needed: The Python dependencies have moved from
pip_install
topip_parse
, as advised byrules_python
authors. See the example workspaces for the new template, which is only necessary if you are using grpclib - Removed subpar dependency
Ruby
- Updated
google-protobuf
to 3.21.9 - Updated
grpc
to 1.50.0
Rust
- Updated
rules_rust
to 0.14.0
Scala
- Update ScalaPB to 0.11.12
- Updated
rules_scala
to latest
Swift
- Updated
rules_swift
to 1.4.0
4.2.0
General
- Updated protobuf to 21.5
- Updated grpc to 1.48.0
- Updated zlib to 1.2.12
- Switched default
use_built_in_shell_environment
toTrue
. #182 - Bumped minimum Bazel version to 5.0.0
- Updated
bazel_skylib
to 1.2.1 - Added section to the documentation on overriding dependencies
- Fixed compilation failure when using a mix of plugins that output directories and files
Buf
- Updated Buf plugins to v1.7.0
- Added support for M1/arm64
C
- WORKSPACE update needed: You now need to load
grpc_extra_deps
in your WORKSPACE file. See the example workspaces for the new template
C#/F#
- Breaking change: The C# and F# rules have switched from using the deprecated
Grpc.Core
to the newGrpc.Net.Client
andGrpc.AspNetCore
- Updated gRPC to 2.47.0
- Updated
rules_dotnet
to latest - Updated
FSharp.Core
to 6.0.5 - Updated
Protobuf.FSharp
to 0.2.0 - Updated
grpc-fsharp
to 0.2.0
Docs
- Updated
protoc-gen-doc
to 1.5.1
Go
- Updated
rules_go
to 0.34.0 - Updated
gazelle
to 0.26.0 - Updated
protoc-gen-validate
to 0.6.7
grpc-gateway
- Updated
grpc-gateway
to 2.11.3
gRPC-Web
- Updated
grpc-web
to 1.3.1
JavaScript
- Updated
rules_nodejs
to 5.5.2 - Moved to
protocolbuffers/protobuf-javascript
- Updated
@grpc/grpc-js
to 1.6.7 - WORKSPACE update needed: The
build_bazel_rules_nodejs_dependencies
rule needs to be added to your WORKSPACE - TypeScript support is currently somewhat broken, see here. This is not a change from 4.1.0
Objective-C
- Fixed expected naming of output files for proto files containing dash in file name.
#177 - WORKSPACE update needed: You now need to load
grpc_extra_deps
in your WORKSPACE file. See the example workspaces for the new template
Python
- Updated
rules_python
to 0.10.2 - WORKSPACE update needed: You now need to load
grpc_extra_deps
in your WORKSPACE file. See the example workspaces for the new template
Rust
- Updated
rules_rust
to 0.9.0
Scala
- Updated
rules_scala
to latest - Updated
ScalaPB
to 0.11.10
Swift
- Updated
rules_swift
to 1.1.0