Skip to content
Open
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/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Sources
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ env:
ALGOLIA_INDEX_NAME: 'prod_kotlin_rpc'
ALGOLIA_KEY: '${{ secrets.ALGOLIA_KEY }}'
CONFIG_JSON_PRODUCT: 'kotlinx-rpc'
CONFIG_JSON_VERSION: '0.9.1'
CONFIG_JSON_VERSION: '0.10.0'
DOKKA_ARTIFACT: 'dokka.zip'
ASSEMBLE_DIR: '__docs_assembled'
ASSEMBLE_ARTIFACT: 'assembled.zip'
Expand All @@ -40,7 +40,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

Expand All @@ -67,7 +67,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: kotlinx-rpc
path: artifacts
Expand All @@ -83,12 +83,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Download Writerside artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: kotlinx-rpc

Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: kotlinx-rpc-assembled

Expand All @@ -151,7 +151,7 @@ jobs:
uses: actions/configure-pages@v5

- name: Package and upload Pages artifact
uses: actions/upload-pages-artifact@v3
uses: actions/upload-pages-artifact@v4
with:
path: publish

Expand All @@ -167,7 +167,7 @@ jobs:
image: registry.jetbrains.team/p/writerside/builder/algolia-publisher:2.0.32-3
steps:
- name: Download artifact
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: kotlinx-rpc
- name: Unzip artifact
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/platforms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Sources
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup Gradle
Expand Down
51 changes: 51 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,54 @@
# 0.10.0
> Published 1 October 2025

## Overview
This release brings a lot of changes, work:
- Kotlin 2.2.20 and 2.2.10 support
- kRPC: Backpressure

To read about the backpressure feature,
see the updated [kRPC Configuration](https://kotlin.github.io/kotlinx-rpc/configuration.html#connector-dsl) page.

### Breaking Changes 🔴
* Allow suspend calls inside ktor rpc builder #433 by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/439

### Features 🎉
* Kotlin 2.2.20 by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/478
* Kotlin 2.2.10 by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/456
* kRPC: Backpressure by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/462
* Add support for Wasm/Wasi to krpc #465 by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/480

### Bug fixes 🐛
* Add collect once check for client streams by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/431
* Fix diagnostic rendering for compiler plugins checkers by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/432
* fix wrong unchecked null cast (potential NPE) by @y9maly in https://github.com/Kotlin/kotlinx-rpc/pull/445

### Documentation 📗
* Docs for gRPC with Ktor by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/394
* Add a doc for KMP source sets with gRPC by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/405
* Update strict-mode.topic by @BierDav in https://github.com/Kotlin/kotlinx-rpc/pull/440
* Update grpc-configuration.topic by @flockbastian in https://github.com/Kotlin/kotlinx-rpc/pull/450
* Added docs for release by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/482

### Infra 🚧
* Fix docs yaml and signing tasks by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/404
* Fix jdk resolution problems on CI by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/406
* Use compat-patrouille for compatibility settings by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/438

### Other Changes 🧹
* Fix how we create 'publishMavenArtifact' tasks by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/416
* Update grpc-sample app by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/425
* Fix LV and signing by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/424
* Update ktor-all-platforms-app sample to sync service creation by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/455
* Added Ktor closure tests and Cancellation tests, + minor fixes by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/479
* Fix flaky tests by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/481

## New Contributors
* @flockbastian made their first contribution in https://github.com/Kotlin/kotlinx-rpc/pull/450
* @y9maly made their first contribution in https://github.com/Kotlin/kotlinx-rpc/pull/445

**Full Changelog**: https://github.com/Kotlin/kotlinx-rpc/compare/0.9.1...0.10.0

# 0.9.1
> Published 17 July 2025

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ Example of a setup in a project's `build.gradle.kts`:
plugins {
kotlin("multiplatform") version "2.2.20"
kotlin("plugin.serialization") version "2.2.20"
id("org.jetbrains.kotlinx.rpc.plugin") version "0.9.1"
id("org.jetbrains.kotlinx.rpc.plugin") version "0.10.0"
}
```

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

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

// Ktor API
implementation("io.ktor:ktor-client-cio-jvm:$ktor_version")
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.9.1","url":"/kotlinx-rpc/0.9.1/","isCurrent":true}
{"version":"0.10.0","url":"/kotlinx-rpc/0.10.0/","isCurrent":true}
]
52 changes: 52 additions & 0 deletions docs/pages/kotlinx-rpc/topics/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,58 @@

This page contains all changes throughout releases of the library.

## 0.10.0
> Published 1 October 2025

**Full Changelog**: [0.9.1...0.10.0](https://github.com/Kotlin/kotlinx-rpc/compare/0.9.1...0.10.0)

### Overview {id=Overview_0_10_0}
This release brings a lot of changes, work:
- Kotlin 2.2.20 and 2.2.10 support
- kRPC: Backpressure

To read about the backpressure feature,
see the updated [kRPC Configuration](https://kotlin.github.io/kotlinx-rpc/configuration.html#connector-dsl) page.

#### Breaking Changes 🔴 {id=Breaking_Changes_0_10_0}
* Allow suspend calls inside ktor rpc builder #433 by [@Mr3zee](https://github.com/Mr3zee) in [#439](https://github.com/Kotlin/kotlinx-rpc/pull/439)

#### Features 🎉 {id=Features_0_10_0}
* Kotlin 2.2.20 by [@Mr3zee](https://github.com/Mr3zee) in [#478](https://github.com/Kotlin/kotlinx-rpc/pull/478)
* Kotlin 2.2.10 by [@Mr3zee](https://github.com/Mr3zee) in [#456](https://github.com/Kotlin/kotlinx-rpc/pull/456)
* kRPC: Backpressure by [@Mr3zee](https://github.com/Mr3zee) in [#462](https://github.com/Kotlin/kotlinx-rpc/pull/462)
* Add support for Wasm/Wasi to krpc #465 by [@Mr3zee](https://github.com/Mr3zee) in [#480](https://github.com/Kotlin/kotlinx-rpc/pull/480)

#### Bug fixes 🐛 {id=Bug_fixes_0_10_0}
* Add collect once check for client streams by [@Mr3zee](https://github.com/Mr3zee) in [#431](https://github.com/Kotlin/kotlinx-rpc/pull/431)
* Fix diagnostic rendering for compiler plugins checkers by [@Mr3zee](https://github.com/Mr3zee) in [#432](https://github.com/Kotlin/kotlinx-rpc/pull/432)
* fix wrong unchecked null cast (potential NPE) by [@y9maly](https://github.com/y9maly) in [#445](https://github.com/Kotlin/kotlinx-rpc/pull/445)

#### Documentation 📗 {id=Documentation_0_10_0}
* Docs for gRPC with Ktor by [@Mr3zee](https://github.com/Mr3zee) in [#394](https://github.com/Kotlin/kotlinx-rpc/pull/394)
* Add a doc for KMP source sets with gRPC by [@Mr3zee](https://github.com/Mr3zee) in [#405](https://github.com/Kotlin/kotlinx-rpc/pull/405)
* Update strict-mode.topic by [@BierDav](https://github.com/BierDav) in [#440](https://github.com/Kotlin/kotlinx-rpc/pull/440)
* Update grpc-configuration.topic by [@flockbastian](https://github.com/flockbastian) in [#450](https://github.com/Kotlin/kotlinx-rpc/pull/450)
* Added docs for release by [@Mr3zee](https://github.com/Mr3zee) in [#482](https://github.com/Kotlin/kotlinx-rpc/pull/482)

#### Infra 🚧 {id=Infra_0_10_0}
* Fix docs yaml and signing tasks by [@Mr3zee](https://github.com/Mr3zee) in [#404](https://github.com/Kotlin/kotlinx-rpc/pull/404)
* Fix jdk resolution problems on CI by [@Mr3zee](https://github.com/Mr3zee) in [#406](https://github.com/Kotlin/kotlinx-rpc/pull/406)
* Use compat-patrouille for compatibility settings by [@Mr3zee](https://github.com/Mr3zee) in [#438](https://github.com/Kotlin/kotlinx-rpc/pull/438)

#### Other Changes 🧹 {id=Other_Changes_0_10_0}
* Fix how we create 'publishMavenArtifact' tasks by [@Mr3zee](https://github.com/Mr3zee) in [#416](https://github.com/Kotlin/kotlinx-rpc/pull/416)
* Update grpc-sample app by [@Mr3zee](https://github.com/Mr3zee) in [#425](https://github.com/Kotlin/kotlinx-rpc/pull/425)
* Fix LV and signing by [@Mr3zee](https://github.com/Mr3zee) in [#424](https://github.com/Kotlin/kotlinx-rpc/pull/424)
* Update ktor-all-platforms-app sample to sync service creation by [@Mr3zee](https://github.com/Mr3zee) in [#455](https://github.com/Kotlin/kotlinx-rpc/pull/455)
* Added Ktor closure tests and Cancellation tests, + minor fixes by [@Mr3zee](https://github.com/Mr3zee) in [#479](https://github.com/Kotlin/kotlinx-rpc/pull/479)
* Fix flaky tests by [@Mr3zee](https://github.com/Mr3zee) in [#481](https://github.com/Kotlin/kotlinx-rpc/pull/481)

### New Contributors {id=New_Contributors_0_10_0}
* [@flockbastian](https://github.com/flockbastian) made their first contribution in [#450](https://github.com/Kotlin/kotlinx-rpc/pull/450)
* [@y9maly](https://github.com/y9maly) made their first contribution in [#445](https://github.com/Kotlin/kotlinx-rpc/pull/445)


## 0.9.1
> Published 17 July 2025

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/kotlinx-rpc/topics/configuration.topic
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@
<br/>
Note that this is <b>per call</b>, not per connection.
<br/>
The default value is <code>1</code>.
The default value is <code>1000</code>.
</li>
</list>
<p>
Expand Down
2 changes: 1 addition & 1 deletion 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.9.1"/>
<var name="kotlinx-rpc-version" value="0.10.0"/>
<var name="kotlin-version" value="2.2.20"/>
</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.9.1" web-path="/kotlinx-rpc/"/>
<instance src="rpc.tree" version="0.10.0" web-path="/kotlinx-rpc/"/>
</ihp>
5 changes: 3 additions & 2 deletions gradle-conventions/src/main/kotlin/util/targets/configure.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ package util.targets
import io.gitlab.arturbosch.detekt.extensions.DetektExtension
import org.gradle.api.Action
import org.gradle.api.Project
import org.gradle.jvm.toolchain.JavaLanguageVersion
import org.gradle.kotlin.dsl.the
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
Expand All @@ -31,7 +30,9 @@ private fun KotlinMultiplatformExtension.configureTargets(config: KmpConfig): Li
if (config.js) {
js(IR) {
nodejs()
browser()
if (!config.kotlinMasterBuild) {
browser()
}

binaries.library()
}.also { targets.add(it) }
Expand Down
5 changes: 4 additions & 1 deletion gradle-conventions/src/main/kotlin/util/targets/wasm.kt
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@ fun KmpConfig.configureWasm() {
wasmJs {
configureJsAndWasmJsTasks()

browser()
if (!kotlinMasterBuild) {
browser()
}

nodejs()
if (wasmJsD8) {
// this platform needs some care KRPC-210
Expand Down
2 changes: 1 addition & 1 deletion krpc/krpc-client/api/krpc-client.klib.api
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// Klib ABI Dump
// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm64, watchosSimulatorArm64, watchosX64]
// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm64, watchosSimulatorArm64, watchosX64]
// Rendering settings:
// - Signature version: 2
// - Show manifest properties: true
Expand Down
Loading