Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ env:
ALGOLIA_INDEX_NAME: 'prod_kotlin_rpc'
ALGOLIA_KEY: '${{ secrets.ALGOLIA_KEY }}'
CONFIG_JSON_PRODUCT: 'kotlinx-rpc'
CONFIG_JSON_VERSION: '0.5.0'
CONFIG_JSON_VERSION: '0.5.1'

jobs:
build:
Expand Down
29 changes: 28 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
# 0.5.1
> Published 12 February 2025

### Features 🎉
* 2.1.10 by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/271

### Documentation 📗
* Fix typo in README.md by @SebastianAigner in https://github.com/Kotlin/kotlinx-rpc/pull/266
* Added IDE plugin docs by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/273

### Infra 🚧
* Update for IDE configs by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/272
* Added python deps automerge by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/276

### Other Changes 🧹
* Update README.md by @pambrose in https://github.com/Kotlin/kotlinx-rpc/pull/268
* Added monitor app for deps publication by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/265
* Fix kotlin master by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/274
* Fix println tests by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/277
* Update Python Monitor Dependencies by @renovate in https://github.com/Kotlin/kotlinx-rpc/pull/278

## New Contributors
* @SebastianAigner made their first contribution in https://github.com/Kotlin/kotlinx-rpc/pull/266
* @pambrose made their first contribution in https://github.com/Kotlin/kotlinx-rpc/pull/268

**Full Changelog**: https://github.com/Kotlin/kotlinx-rpc/compare/0.5.0...0.5.1

# 0.5.0
> Published 27 January 2024
> Published 27 January 2025

### Features 🎉
* Update Service Descriptors Generation by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/227
Expand Down
25 changes: 13 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import kotlinx.rpc.annotations.Rpc
interface AwesomeService : RemoteService {
suspend fun getNews(city: String): Flow<String>

suspend fun daysUntilStableRelese(): Int
suspend fun daysUntilStableRelease(): Int
}
```
In your server code define how to respond by simply implementing the service:
Expand All @@ -43,7 +43,7 @@ class AwesomeServiceImpl(
}
}

override suspend fun daysUntilStableRelese(): Int {
override suspend fun daysUntilStableRelease(): Int {
return if (parameters.stable) 0 else {
parameters.daysUntilStable ?: error("Who says it will be stable?")
}
Expand Down Expand Up @@ -88,7 +88,7 @@ val rpcClient = HttpClient { installKrpc() }.rpc {

val service = rpcClient.withService<AwesomeService>()

service.daysUntilStableRelese()
service.daysUntilStableRelease()

streamScoped {
service.getNews("KotlinBurg").collect { article ->
Expand All @@ -114,9 +114,9 @@ that will set up code generation in a project.
Example of a setup in a project's `build.gradle.kts`:
```kotlin
plugins {
kotlin("multiplatform") version "2.1.0"
kotlin("plugin.serialization") version "2.1.0"
id("org.jetbrains.kotlinx.rpc.plugin") version "0.5.0"
kotlin("multiplatform") version "2.1.10"
kotlin("plugin.serialization") version "2.1.10"
id("org.jetbrains.kotlinx.rpc.plugin") version "0.5.1"
}
```

Expand All @@ -131,15 +131,15 @@ And now you can add dependencies to your project:
```kotlin
dependencies {
// Client API
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-client:0.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-client:0.5.1")
// Server API
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-server:0.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-server:0.5.1")
// Serialization module. Also, protobuf and cbor are provided
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json:0.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json:0.5.1")

// Transport implementation for Ktor
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client:0.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server:0.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client:0.5.1")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server:0.5.1")

// Ktor API
implementation("io.ktor:ktor-client-cio-jvm:$ktor_version")
Expand Down Expand Up @@ -176,7 +176,8 @@ For a working example, see the [sample gRPC project](/samples/grpc-app).

## Kotlin compatibility
We support all stable Kotlin versions starting from 2.0.0:
- 2.0.0, 2.0.10, 2.0.20, 2.0.21, 2.1.0
- 2.0.0, 2.0.10, 2.0.20, 2.0.21
- 2.1.0, 2.1.10

For a full compatibility checklist,
see [Versions](https://kotlin.github.io/kotlinx-rpc/versions.html).
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/kotlinx-rpc/help-versions.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[
{"version":"0.5.0","url":"/kotlinx-rpc/0.5.0/","isCurrent":true}
{"version":"0.5.1","url":"/kotlinx-rpc/0.5.1/","isCurrent":true}
]
3 changes: 2 additions & 1 deletion docs/pages/kotlinx-rpc/topics/versions.topic
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
the following versions of Kotlin are supported:
</p>
<list>
<li>2.0.0, 2.0.10, 2.0.20, 2.0.21, 2.1.0</li>
<li>2.0.0, 2.0.10, 2.0.20, 2.0.21</li>
<li>2.1.0, 2.1.10</li>
</list>
<p>
Our code generation will support these versions (See more on <a anchor="code-generation-artifacts">code generation artifacts</a>).
Expand Down
4 changes: 2 additions & 2 deletions docs/pages/kotlinx-rpc/v.list
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@
<var name="host" value="https://kotlin.github.io"/>

<!-- Library versions -->
<var name="kotlinx-rpc-version" value="0.5.0"/>
<var name="kotlin-version" value="2.1.0"/>
<var name="kotlinx-rpc-version" value="0.5.1"/>
<var name="kotlin-version" value="2.1.10"/>
</vars>
2 changes: 1 addition & 1 deletion docs/pages/kotlinx-rpc/writerside.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
<images dir="images" web-path="images/"/>
<categories src="c.list"/>
<vars src="v.list"/>
<instance src="rpc.tree" version="0.5.0" web-path="/kotlinx-rpc/"/>
<instance src="rpc.tree" version="0.5.1" web-path="/kotlinx-rpc/"/>
</ihp>
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ class KrpcTestServiceBackend(override val coroutineContext: CoroutineContext) :
const val SHARED_FLOW_REPLAY = 5
}

@Suppress("detekt.EmptyFunctionBlock")
override suspend fun empty() {}

override suspend fun returnType(): String {
Expand Down Expand Up @@ -156,8 +157,8 @@ class KrpcTestServiceBackend(override val coroutineContext: CoroutineContext) :
}

override suspend fun streamInStreamWithStream(payloadWithPayload: Flow<PayloadWithPayload>): Int {
payloadWithPayload.collectIndexed { index, it ->
assertContentEquals(KrpcTransportTestBase.expectedPayloadWithPayload(index), it.collect())
payloadWithPayload.collectIndexed { index, payload ->
assertContentEquals(KrpcTransportTestBase.expectedPayloadWithPayload(index), payload.collect())
}
return 5
}
Expand Down
4 changes: 2 additions & 2 deletions samples/grpc-app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
*/

plugins {
kotlin("jvm") version "2.1.0"
kotlin("plugin.serialization") version "2.1.0"
kotlin("jvm") version "2.1.10"
kotlin("plugin.serialization") version "2.1.10"
id("org.jetbrains.kotlinx.rpc.plugin") version "0.5.0-grpc-6"
id("com.google.protobuf") version "0.9.4"
}
Expand Down
4 changes: 2 additions & 2 deletions samples/ktor-all-platforms-app/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[versions]
kotlin = "2.1.0"
kotlin = "2.1.10"

agp = "8.8.0-alpha05"
android-compileSdk = "35"
Expand All @@ -19,7 +19,7 @@ ktor = "3.0.3"
logback = "1.5.16"
serialization = "1.8.0"
coroutines = "1.10.1"
kotlinx-rpc = "0.5.0"
kotlinx-rpc = "0.5.1"

[libraries]
# kotlin
Expand Down
4 changes: 2 additions & 2 deletions samples/ktor-android-app/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[versions]
agp = "8.8.0"
kotlin = "2.1.0"
kotlin = "2.1.10"
androidx-activityCompose = "1.9.3"
androidx-appcompat = "1.7.0"
androidx-constraintlayout = "2.2.0"
Expand All @@ -15,7 +15,7 @@ ktor = "3.0.3"
kotlinx-serialization-json = "1.8.0"
kotlinx-coroutines-core = "1.10.1"
logback = "1.5.16"
kotlinx-rpc = "0.5.0"
kotlinx-rpc = "0.5.1"

[libraries]
# kotlin
Expand Down
4 changes: 2 additions & 2 deletions samples/ktor-web-app/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[versions]
kotlin = "2.1.0"
kotlin = "2.1.10"
kotlin-wrappers-bom = "2025.1.2"
ktor = "3.0.3"
kotlinx-serialization-json = "1.8.0"
kotlinx-coroutines-core = "1.10.1"
logback = "1.5.16"
kotlinx-rpc = "0.5.0"
kotlinx-rpc = "0.5.1"

[libraries]
# kotlin
Expand Down
18 changes: 9 additions & 9 deletions samples/simple-ktor-app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
*/

plugins {
kotlin("jvm") version "2.1.0"
kotlin("plugin.serialization") version "2.1.0"
kotlin("jvm") version "2.1.10"
kotlin("plugin.serialization") version "2.1.10"
id("io.ktor.plugin") version "3.0.3"
id("org.jetbrains.kotlinx.rpc.plugin") version "0.5.0"
id("org.jetbrains.kotlinx.rpc.plugin") version "0.5.1"
}

group = "kotlinx.rpc.sample"
Expand All @@ -28,17 +28,17 @@ kotlin {
}

dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-client:0.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-server:0.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json:0.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-client:0.5.1")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-server:0.5.1")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json:0.5.1")

implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client:0.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server:0.5.0")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client:0.5.1")
implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server:0.5.1")

implementation("io.ktor:ktor-client-cio")
implementation("io.ktor:ktor-server-netty-jvm")
implementation("ch.qos.logback:logback-classic:1.5.16")

testImplementation("io.ktor:ktor-server-test-host")
testImplementation("org.jetbrains.kotlin:kotlin-test-junit:2.1.0")
testImplementation("org.jetbrains.kotlin:kotlin-test-junit:2.1.10")
}
2 changes: 1 addition & 1 deletion versions-root/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[versions]
# core library version
kotlinx-rpc = "0.6.0-SNAPSHOT"
kotlinx-rpc = "0.5.1"

# kotlin
kotlin-lang = "2.1.10" # or env.KOTLIN_VERSION
Expand Down