Alexander af Trolle
06/29/2025, 9:14 PMAlexander Sysoev
07/02/2025, 12:45 AM0.8.0
This release brings a lot of changes, including breaking changes:
- Kotlin 2.2.0 Update
- Decoupling of kotlinx.serialization
from the core functionality
- Simplifying lifetime schema (services lost their CoroutineScope
)
- Irreversible enforcement of the strict mode
These changes significantly reduce the number of footguns and improve the overall usability of the library.
Additionally, the internal structure of kRPC protocol and our compiler plugin reduced its complexity.
That allows us to provide better quality in future releases
(and this also applies to gRPC, even though in this particular release it was not a priority).
For the full list of changes that require migration,
see the Migration Guide.
We added three new documentation sections:
- API Reference
- Platform compatibility overview
- Changelog in the web
Full release notes:
https://github.com/Kotlin/kotlinx-rpc/releases/tag/0.8.0Dirk
07/03/2025, 8:44 AMDirk
07/03/2025, 8:52 AMAlexander af Trolle
07/08/2025, 8:13 PMAlexander Sysoev
07/09/2025, 1:29 PM0.8.1
bugfix release is out: https://github.com/Kotlin/kotlinx-rpc/releases/tag/0.8.1
• Compiler fixes
• Critical KrpcClient bug is fixedDirk
07/11/2025, 8:07 AMDirk
07/11/2025, 8:14 AMYakiv Yereskovskyi
07/11/2025, 12:49 PM0.4.0
to 0.8.1
and it looks like new version doesn’t serialize default arguments anymore, I’m just getting NPE:
Caused by: java.lang.NullPointerException: Parameter specified as non-null is null
...
at kotlinx.serialization.json.internal.StreamingJsonEncoder.encodeSerializableValue(StreamingJsonEncoder.kt:259)
at kotlinx.serialization.encoding.AbstractEncoder.encodeSerializableElement(AbstractEncoder.kt:80)
at kotlinx.rpc.krpc.internal.CallableParametersSerializer.serialize(SerializationUtils.kt:127)
at kotlinx.rpc.krpc.internal.CallableParametersSerializer.serialize(SerializationUtils.kt:100)
at kotlinx.serialization.json.internal.StreamingJsonEncoder.encodeSerializableValue(StreamingJsonEncoder.kt:259)
at kotlinx.serialization.json.internal.JsonStreamsKt.encodeByWriter(JsonStreams.kt:99)
Could you help to understand if this is regression or I did something wrong?Vivek Modi
07/14/2025, 8:41 PMAlexander Sysoev
07/18/2025, 10:09 AM0.9.1
release is out: https://github.com/Kotlin/kotlinx-rpc/releases/tag/0.9.1
It's a bug fix release with a minor version bump because of a breaking change fix
We fixed a problem in 0.8.1
with unresolved Apple and Windows artifacts.
The same problem affected initial 0.9.0
release, that's why we've published 0.9.1
and skipped 0.9.0
.Dumitru Preguza
08/03/2025, 6:31 PMError Domain=NSURLErrorDomain Code=-1011 "There was a bad response from the server." UserInfo={NSErrorFailingURLStringKey=<ws://test.com/rpc>, NSErrorFailingURLKey=<ws://test.com/rpc>, _NSURLLErrorWebSocketHandshakeFailureReasonKey=0, NSLocalizedDescription=There was a bad response from the server.}
Dirk
08/04/2025, 11:02 AMDirk
08/04/2025, 4:16 PMDumitru Preguza
08/11/2025, 10:59 AMInterface ChatService {
sendMessage(Message): Unit
receivedMessages(): Flow<Message> //infinite pulling of messages?
}
Alexander Sysoev
08/13/2025, 2:00 PMandylamax
08/17/2025, 10:29 PMjoseph_ivie
08/19/2025, 2:34 PMJavier
08/19/2025, 4:22 PMgalex
08/20/2025, 7:20 PMneworldlt
08/20/2025, 7:34 PMSec-WebSocket-Protocol
) on krpc server side? The default option does not leave opportunity to do that: https://github.com/Kotlin/kotlinx-rpc/blob/main/krpc/krpc-ktor/krpc-ktor-server/src/commonMain/kotlin/kotlinx/rpc/krpc/ktor/server/KtorServerDsl.kt#L45Dumitru Preguza
08/23/2025, 3:49 PMCould not find org.jetbrains.kotlinx:kotlinx-rpc-compiler-plugin-k2:2.2.10-0.9.1
It feels counterintuitive that updating the language version would affect the libraries. Shouldn’t it be backward compatible?Dumitru Preguza
08/26/2025, 10:19 PMDirk
09/01/2025, 12:42 PMLuke W
09/01/2025, 8:08 PMSlackbot
09/02/2025, 1:00 AMandylamax
09/10/2025, 1:32 PMneworldlt
09/10/2025, 9:35 PMRobert
09/14/2025, 8:46 AMRafael Diaz
09/20/2025, 3:47 PM