diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 5dad15ff..6eae1282 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -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.7.0'
+ CONFIG_JSON_VERSION: '0.8.0'
jobs:
build:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ab546d69..491a5e25 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,57 @@
+# 0.8.0
+> Published 30 June 2025
+
+## Overview
+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](https://kotlin.github.io/kotlinx-rpc/strict-mode.html)
+
+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](https://kotlin.github.io/kotlinx-rpc/0-8-0.html).
+
+## Docs update
+
+We added three new documentation sections:
+- [API Reference](https://kotlin.github.io/kotlinx-rpc/api/index.html)
+- [Platform compatibility overview](https://kotlin.github.io/kotlinx-rpc/platforms.html)
+- [Changelog](https://kotlin.github.io/kotlinx-rpc/changelog.html) in the web
+
+### Features ๐
+* Serialization decoupling by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/354
+* Update Kotlin to 2.2.0 by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/359
+
+### Breaking Changes ๐ด
+* [Meta] Strict mode, deprecations, lifetime by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/353
+
+### Bug fixes ๐
+* Fix compilation for standalone k2 module by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/350
+* Fix Pupperteer Version by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/355
+
+### Documentation ๐
+* Platforms Table and docs by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/356
+* Dokka by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/357
+* Add Changelog.md to Docs by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/358
+* Onboarding by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/363
+
+### Other Changes ๐งน
+* Advance version to 0.8.0-SNAPSHOT by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/340
+* Update README.md to use non-suspend flows by @brokenhappy in https://github.com/Kotlin/kotlinx-rpc/pull/342
+* Fix kotlin master builds by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/345
+* Simplify Gradle Configs by @Mr3zee in https://github.com/Kotlin/kotlinx-rpc/pull/360
+
+## New Contributors
+* @brokenhappy made their first contribution in https://github.com/Kotlin/kotlinx-rpc/pull/342
+
+**Full Changelog**: https://github.com/Kotlin/kotlinx-rpc/compare/0.7.0...0.8.0
+
# 0.7.0
> Published 13 May 2025
diff --git a/README.md b/README.md
index 8e09c897..a9605b3b 100644
--- a/README.md
+++ b/README.md
@@ -136,7 +136,7 @@ Example of a setup in a project's `build.gradle.kts`:
plugins {
kotlin("multiplatform") version "2.2.0"
kotlin("plugin.serialization") version "2.2.0"
- id("org.jetbrains.kotlinx.rpc.plugin") version "0.7.0"
+ id("org.jetbrains.kotlinx.rpc.plugin") version "0.8.0"
}
```
@@ -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.7.0")
+ implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-client:0.8.0")
// Server API
- implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-server:0.7.0")
+ implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-server:0.8.0")
// Serialization module. Also, protobuf and cbor are provided
- implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json:0.7.0")
+ implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json:0.8.0")
// Transport implementation for Ktor
- implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client:0.7.0")
- implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server:0.7.0")
+ implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-client:0.8.0")
+ implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server:0.8.0")
// Ktor API
implementation("io.ktor:ktor-client-cio-jvm:$ktor_version")
diff --git a/docs/pages/kotlinx-rpc/help-versions.json b/docs/pages/kotlinx-rpc/help-versions.json
index 88888d30..2c7d0e0a 100644
--- a/docs/pages/kotlinx-rpc/help-versions.json
+++ b/docs/pages/kotlinx-rpc/help-versions.json
@@ -1,3 +1,3 @@
[
- {"version":"0.7.0","url":"/kotlinx-rpc/0.7.0/","isCurrent":true}
+ {"version":"0.8.0","url":"/kotlinx-rpc/0.8.0/","isCurrent":true}
]
diff --git a/docs/pages/kotlinx-rpc/v.list b/docs/pages/kotlinx-rpc/v.list
index e1b31733..d556cded 100644
--- a/docs/pages/kotlinx-rpc/v.list
+++ b/docs/pages/kotlinx-rpc/v.list
@@ -14,6 +14,6 @@
-
+
diff --git a/docs/pages/kotlinx-rpc/writerside.cfg b/docs/pages/kotlinx-rpc/writerside.cfg
index 605d1779..69d888c3 100644
--- a/docs/pages/kotlinx-rpc/writerside.cfg
+++ b/docs/pages/kotlinx-rpc/writerside.cfg
@@ -12,5 +12,5 @@
-
+
diff --git a/kotlin-js-store/package-lock.json b/kotlin-js-store/package-lock.json
index 157b33f1..3415a64f 100644
--- a/kotlin-js-store/package-lock.json
+++ b/kotlin-js-store/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "kotlinx-rpc",
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "kotlinx-rpc",
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"workspaces": [
"packages/kotlinx-rpc-core",
"packages/kotlinx-rpc-core-test",
@@ -4415,11 +4415,11 @@
"devDependencies": {}
},
"packages/kotlinx-rpc-core": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-core-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4438,11 +4438,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-client": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-client-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4461,11 +4461,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-core": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-core-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4484,14 +4484,14 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-client": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"ws": "8.18.0"
},
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-client-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0",
"ws": "8.18.0"
@@ -4511,11 +4511,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-core": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-core-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4534,11 +4534,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-server": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-server-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4557,11 +4557,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-logging": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-logging-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4580,11 +4580,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-cbor": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-cbor-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4603,11 +4603,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-core": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-core-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4626,11 +4626,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-json": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-json-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4649,11 +4649,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-protobuf": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-protobuf-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4672,11 +4672,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-server": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-server-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4695,11 +4695,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-test-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4718,11 +4718,11 @@
}
},
"packages/kotlinx-rpc-utils": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-utils-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
diff --git a/kotlin-js-store/wasm/package-lock.json b/kotlin-js-store/wasm/package-lock.json
index d470b1d5..44f3782d 100644
--- a/kotlin-js-store/wasm/package-lock.json
+++ b/kotlin-js-store/wasm/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "kotlinx-rpc",
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "kotlinx-rpc",
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"workspaces": [
"packages/kotlinx-rpc-core",
"packages/kotlinx-rpc-core-test",
@@ -4415,11 +4415,11 @@
"devDependencies": {}
},
"packages/kotlinx-rpc-core": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-core-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4437,11 +4437,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-client": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-client-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4459,11 +4459,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-core": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-core-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4481,14 +4481,14 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-client": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"ws": "8.18.0"
},
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-client-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0",
"ws": "8.18.0"
@@ -4507,11 +4507,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-core": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-core-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4529,11 +4529,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-server": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-ktor-krpc-ktor-server-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4551,11 +4551,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-logging": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-logging-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4573,11 +4573,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-cbor": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-cbor-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4595,11 +4595,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-core": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-core-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4617,11 +4617,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-json": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-json-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4639,11 +4639,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-protobuf": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-serialization-krpc-serialization-protobuf-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4661,11 +4661,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-server": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-server-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4683,11 +4683,11 @@
}
},
"packages/kotlinx-rpc-krpc-krpc-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-krpc-krpc-test-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
@@ -4705,11 +4705,11 @@
}
},
"packages/kotlinx-rpc-utils": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"devDependencies": {}
},
"packages/kotlinx-rpc-utils-test": {
- "version": "0.8.0-SNAPSHOT",
+ "version": "0.8.0",
"dependencies": {
"puppeteer": "24.9.0"
},
diff --git a/versions-root/libs.versions.toml b/versions-root/libs.versions.toml
index 71c747da..fea2bcec 100644
--- a/versions-root/libs.versions.toml
+++ b/versions-root/libs.versions.toml
@@ -1,6 +1,6 @@
[versions]
# core library version
-kotlinx-rpc = "0.8.0-SNAPSHOT"
+kotlinx-rpc = "0.8.0"
# kotlin
kotlin-lang = "2.2.0" # or env.KOTLIN_VERSION