gRPC and Protobuf versions
The kotlinx.rpc gRPC integration depends on several external libraries for protocol buffer serialization, gRPC transport, and code generation. This page lists the versions bundled with each kotlinx.rpc release and notes compatibility constraints.
Bundled versions
The following table shows the third-party dependency versions used by kotlinx.rpc. These versions are set internally and do not need to be specified in your build files, except for grpc-netty which must be added explicitly as a runtime dependency on JVM.
Dependency | Version | Notes |
|---|---|---|
1.79.0 | JVM transport layer ( | |
4.34.0 | Protobuf runtime and utilities ( | |
1.66.0 | Manages the protoc workspace and runs code generation |
grpc-netty
The grpc-netty dependency provides the JVM network transport for gRPC and must be added explicitly in your build file:
Use the same gRPC Java version as listed in the table above to avoid version conflicts.
Protobuf compatibility
The kotlinx.rpc code generator supports proto2, proto3, and editions 2023 syntax. Well-Known Types (WKT) such as google.protobuf.Timestamp and google.protobuf.Any are provided by the library's protobuf runtime module.
The code generator is a custom kotlinx.rpc protoc plugin and does not depend on official protoc-gen-java or protoc-gen-kotlin outputs. It produces Kotlin Multiplatform code directly from .proto files via Buf.
Overriding versions
The gRPC and protobuf dependency versions are managed by the library. If you need to align with a specific version of grpc-netty or other gRPC artifacts in your project, you can use Gradle's dependency resolution strategy: