Skip to content

Commit 370c4e3

Browse files
authored
Prepare 1.10.0 release (#3142)
1 parent eaa4b0b commit 370c4e3

File tree

4 files changed

+68
-7
lines changed

4 files changed

+68
-7
lines changed

CHANGELOG.md

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,64 @@
1+
1.10.0 / 2026-01-21
2+
==================
3+
4+
This release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.
5+
The only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (#3079).
6+
Big thanks to [KosmX](https://github.com/KosmX) for contributing the fix.
7+
8+
> For your convenience, the changelog for 1.10.0-RC is duplicated below:
9+
10+
## Stabilization of APIs
11+
12+
kotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.
13+
The following APIs and configuration options are no longer experimental because they're widely used without any known major issues:
14+
15+
* `Json` configuration options: `decodeEnumsCaseInsensitive`, `allowTrailingComma`, `allowComments`, and `prettyPrintIndent`. (#3100)
16+
* `@EncodeDefault` annotation and its modes. (#3106)
17+
* `JsonUnquotedLiteral` constructor function (#2900)
18+
* `JsonPrimitive` constructor function overloads that accept unsigned types. (#3117)
19+
* JSON DSL functions on `JsonElement` with `Nothing?` overloads. (#3117)
20+
21+
## Readiness for return value checker
22+
23+
Kotlin 2.3.0 [introduces a new feature](https://kotlinlang.org/docs/whatsnew23.html#unused-return-value-checker) aimed
24+
at helping you to catch bugs related to the accidentally ignored return value of the function.
25+
kotlinx-serialization 1.10.0-RC code is fully marked for this feature, meaning that you
26+
can get warnings for unused function calls like `Json.encodeToString(...)`.
27+
To get the warnings, the feature has to be enabled in your project as [described here](https://kotlinlang.org/docs/unused-return-value-checker.html#configure-the-unused-return-value-checker).
28+
29+
## Polymorphism improvements
30+
31+
Polymorphic serialization received a couple of improvements in this release:
32+
33+
New `subclassesOfSealed` utility to automatically register sealed subclasses serializers in polymorphic modules (#2201).
34+
Use it in your `SerializersModule` when configuring a polymorphic hierarchy which contains both abstract and sealed classes.
35+
[For example](https://github.com/Kotlin/kotlinx.serialization/issues/2199), when root of your hierarchy is an `interface`, but most of your inheritors are `sealed` classes.
36+
The new function will register all known sealed subclasses for you, so you don’t need to list them one by one.
37+
This makes writing your `SerializerModule`s much faster and simpler.
38+
Big thanks to [Paul de Vrieze](https://github.com/pdvrieze) for contributing this feature.
39+
40+
Class discriminator conflict check rework (#3105).
41+
If a payload already contains a property with the same name as the configured discriminator (for example, `type`),
42+
it is called a class discriminator conflict.
43+
To produce a correct output and allow more inputs to be deserialized at the same time, the following changes were made:
44+
* Conflicts introduced by `JsonNamingStrategy` transformations are now detected during serialization as well and will cause `SerializationException`.
45+
It also affects non-polymorphic classes.
46+
* Conflicts from `ClassDisciminatorMode.ALL_JSON_OBJECTS` and `SerializersModuleBuilder.polymorphicDefaultSerializer` are also detected.
47+
* It is allowed to deserialize such a conflicting key for both sealed and open polymorphic hierarchies.
48+
Previously, it was possible in the sealed hierarchies alone due to missing assertion. See #1664 for details.
49+
50+
## General improvements
51+
52+
* Add `.serialName` to `MissingFieldException` for clearer diagnostics. (#3114)
53+
* Generate unique `Automatic-Module-Name` entries for metadata JARs. (#3109)
54+
* Revised ProGuard rules and added R8 tests. (#3041)
55+
* CBOR: Improved error message when a byte string/array type mismatch is encountered. (#3052)
56+
57+
## Bugfixes
58+
59+
* Fix the type in the `BIGNUM_NEGATIVE` tag name. (#3090)
60+
* CBOR: Fix various bugs in the decoder implementation to be more strict and consistent with the specification.
61+
162
1.10.0-RC / 2025-12-18
263
==================
364

@@ -29,7 +90,7 @@ Polymorphic serialization received a couple of improvements in this release:
2990

3091
New `subclassesOfSealed` utility to automatically register sealed subclasses serializers in polymorphic modules (#2201).
3192
Use it in your `SerializersModule` when configuring a polymorphic hierarchy which contains both abstract and sealed classes.
32-
[For example](https://github.com/Kotlin/kotlinx.serialization/issues/2199), when root of your hierarchy is an `inteface`, but most of your inheritors are `sealed` classes.
93+
[For example](https://github.com/Kotlin/kotlinx.serialization/issues/2199), when root of your hierarchy is an `interface`, but most of your inheritors are `sealed` classes.
3394
The new function will register all known sealed subclasses for you, so you don’t need to list them one by one.
3495
This makes writing your `SerializerModule`s much faster and simpler.
3596
Big thanks to [Paul de Vrieze](https://github.com/pdvrieze) for contributing this feature.

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0)
66
[![TeamCity build](https://img.shields.io/teamcity/http/teamcity.jetbrains.com/s/KotlinTools_KotlinxSerialization_Ko.svg)](https://teamcity.jetbrains.com/viewType.html?buildTypeId=KotlinTools_KotlinxSerialization_Ko&guest=1)
77
[![Kotlin](https://img.shields.io/badge/kotlin-2.3.0-blue.svg?logo=kotlin)](http://kotlinlang.org)
8-
[![Maven Central](https://img.shields.io/maven-central/v/org.jetbrains.kotlinx/kotlinx-serialization-core/1.10.0-RC)](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-serialization-core/1.10.0-RC)
8+
[![Maven Central](https://img.shields.io/maven-central/v/org.jetbrains.kotlinx/kotlinx-serialization-core/1.10.0)](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-serialization-core/1.10.0)
99
[![KDoc link](https://img.shields.io/badge/API_reference-KDoc-blue)](https://kotlinlang.org/api/kotlinx.serialization/)
1010
[![Slack channel](https://img.shields.io/badge/chat-slack-blue.svg?logo=slack)](https://kotlinlang.slack.com/messages/serialization/)
1111

@@ -163,7 +163,7 @@ repositories {
163163
}
164164

165165
dependencies {
166-
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.10.0-RC")
166+
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.10.0")
167167
}
168168
```
169169

@@ -175,7 +175,7 @@ repositories {
175175
}
176176
177177
dependencies {
178-
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.10.0-RC"
178+
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.10.0"
179179
}
180180
```
181181

@@ -266,7 +266,7 @@ Ensure the proper version of Kotlin and serialization version:
266266
```xml
267267
<properties>
268268
<kotlin.version>2.3.0</kotlin.version>
269-
<serialization.version>1.10.0-RC</serialization.version>
269+
<serialization.version>1.10.0</serialization.version>
270270
</properties>
271271
```
272272

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44

55
group=org.jetbrains.kotlinx
6-
version=1.10.0-SNAPSHOT
6+
version=1.10.1-SNAPSHOT
77
jdk_toolchain_version=11
88

99
# This version takes precedence if 'bootstrap' property passed to project

integration-test/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44

55
mainKotlinVersion=2.3.0
6-
mainLibVersion=1.10.0-SNAPSHOT
6+
mainLibVersion=1.10.1-SNAPSHOT
77

88
kotlin.code.style=official
99

0 commit comments

Comments
 (0)