kotlinx.rpc 0.10.2 Help

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

gRPC Java

1.79.0

JVM transport layer (grpc-api, grpc-stub, grpc-netty, grpc-protobuf)

Protobuf Java

4.34.0

Protobuf runtime and utilities (protobuf-java, protobuf-kotlin)

Buf CLI

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:

dependencies { implementation("io.grpc:grpc-netty:1.79.0") }

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:

configurations.all { resolutionStrategy { force("io.grpc:grpc-netty:1.79.0") } }
Last modified: 12 March 2026