Kotlin logo

Kotlin

A concise multiplatform language developed by JetBrains

News Releases

KotlinX RPC 0.9.1 Is Now Available

This release of kotlinx.rpc introduces significant improvements aimed at the long-term stability, maintenance, and evolution of the library. We’ve focused on decoupling dependencies and simplifying the API to create a more robust and user-friendly experience.

Ready to get started? Build your next project with the interactive generator at start.ktor.io, or check out our samples on GitHub. Your feedback and contributions are always welcome!

🔗 Get Started With KotlinX RPC | 📢 Join the Community on Slack in #kotlinx-rpc

Decoupling from KotlinX Serialization

The kotlinx-rpc-core module is no longer coupled with kotlinx.serialization. This major change allows you to use kotlinx.rpc without kotlinx.serialiation in a gRPC setup. The responsibility for serializing data is now handled by the implementer of the RpcClient and RpcServer interfaces. See the incompatible API changes guide for more information.

Simplified lifetime management

We’ve simplified resource management and reduced the potential for common mistakes. The @Rpc generated implementations, RpcClient, and RpcServer, no longer extend CoroutineScope. Consequently, the CoroutineScope parameter has been removed from the RpcServer.registerService factory method, streamlining the overall API.

Strict mode is now the default

Strict mode, which was introduced in version 0.5.0 to simplify the APIs and guarantee correctness, is now enabled by default, and it cannot be disabled in versions after 0.8.0. For a detailed guide on adapting your project, please check out the Strict mode documentation.

Changelog

Features

Breaking changes

Improvements and fixes

Thank you!

We want to say a huge thank-you to our community for all the valuable contributions and feedback!

A special shout-out goes to @brokenhappy, @BierDav, and @yakivy  for their first contributions to KotlinX RPC.

🔗 Get Started With KotlinX RPC | 📢 Join the Community on Slack in #kotlinx-rpc

image description