diff --git a/CHANGELOG.md b/CHANGELOG.md index b3da8f4863..1dad1a13e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ +1.6.1 / 2023-11-15 +================== + +This release uses Kotlin 1.9.20 by default, while upcoming 1.9.21 is also supported. + +### Trailing commas in Json + +Trailing commas are one of the most popular non-spec Json variations. +A new configuration flag, `allowTrailingComma`, makes Json parser accept them instead of throwing an exception. +Note that it does not affect encoding, so kotlinx.serialization always produces Json without trailing commas. +See details in the corresponding [PR](https://github.com/Kotlin/kotlinx.serialization/pull/2480) + +### Support of WasmJs target + +Kotlin/Wasm has been experimental for some time and gained enough maturity to be added to the kotlinx libraries. +Starting with 1.6.1, kotlinx.serialization provides a wasm-js flavor, so your projects with Kotlin/Wasm can have even more +functionality. +As usual, just add serialization dependencies to your build +and [declare wasmJs target](https://kotlinlang.org/docs/whatsnew1920.html#new-wasm-wasi-target-and-the-renaming-of-the-wasm-target-to-wasm-js). +Please remember that Kotlin/Wasm is still experimental, so changes are expected. + +### Bugfixes and improvements + +* Fix TaggedDecoder nullable decoding (#2456) (thanks to [Phillip Schichtel](https://github.com/pschichtel)) +* Fix IllegalAccessException for some JPMS boundaries (#2469) +* Cbor: check if inline value classes are marked as @ByteString (#2466) (thanks to [eater](https://github.com/the-eater)) +* Improve polymorphic deserialization optimization (#2481) +* Update Okio dependency to 3.6.0 (#2473) +* Add protobuf conformance tests (#2404) (thanks to [Doğaç Eldenk](https://github.com/Dogacel)) +* Support decoding maps with boolean keys (#2440) 1.6.0 / 2023-08-22 ================== diff --git a/README.md b/README.md index 59f443a2a4..4069cc32c0 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ [![JetBrains official project](https://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) [![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0) [![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) -[![Kotlin](https://img.shields.io/badge/kotlin-1.9.0-blue.svg?logo=kotlin)](http://kotlinlang.org) -[![Maven Central](https://img.shields.io/maven-central/v/org.jetbrains.kotlinx/kotlinx-serialization-core/1.6.0)](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-serialization-core/1.6.0) +[![Kotlin](https://img.shields.io/badge/kotlin-1.9.20-blue.svg?logo=kotlin)](http://kotlinlang.org) +[![Maven Central](https://img.shields.io/maven-central/v/org.jetbrains.kotlinx/kotlinx-serialization-core/1.6.1)](https://central.sonatype.com/artifact/org.jetbrains.kotlinx/kotlinx-serialization-core/1.6.1) [![KDoc link](https://img.shields.io/badge/API_reference-KDoc-blue)](https://kotlinlang.org/api/kotlinx.serialization/) [![Slack channel](https://img.shields.io/badge/chat-slack-blue.svg?logo=slack)](https://kotlinlang.slack.com/messages/serialization/) @@ -95,8 +95,8 @@ Kotlin DSL: ```kotlin plugins { - kotlin("jvm") version "1.9.0" // or kotlin("multiplatform") or any other kotlin plugin - kotlin("plugin.serialization") version "1.9.0" + kotlin("jvm") version "1.9.20" // or kotlin("multiplatform") or any other kotlin plugin + kotlin("plugin.serialization") version "1.9.20" } ``` @@ -104,8 +104,8 @@ Groovy DSL: ```gradle plugins { - id 'org.jetbrains.kotlin.multiplatform' version '1.9.0' - id 'org.jetbrains.kotlin.plugin.serialization' version '1.9.0' + id 'org.jetbrains.kotlin.multiplatform' version '1.9.20' + id 'org.jetbrains.kotlin.plugin.serialization' version '1.9.20' } ``` @@ -123,7 +123,7 @@ buildscript { repositories { mavenCentral() } dependencies { - val kotlinVersion = "1.9.0" + val kotlinVersion = "1.9.20" classpath(kotlin("gradle-plugin", version = kotlinVersion)) classpath(kotlin("serialization", version = kotlinVersion)) } @@ -134,7 +134,7 @@ Groovy DSL: ```gradle buildscript { - ext.kotlin_version = '1.9.0' + ext.kotlin_version = '1.9.20' repositories { mavenCentral() } dependencies { @@ -164,7 +164,7 @@ repositories { } dependencies { - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.1") } ``` @@ -176,7 +176,7 @@ repositories { } dependencies { - implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0" + implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.1" } ``` @@ -266,8 +266,8 @@ Ensure the proper version of Kotlin and serialization version: ```xml - 1.9.0 - 1.6.0 + 1.9.20 + 1.6.1 ``` diff --git a/gradle.properties b/gradle.properties index bab6b61b75..4d7a648eab 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,9 +3,9 @@ # group=org.jetbrains.kotlinx -version=1.6.1-SNAPSHOT +version=1.6.2-SNAPSHOT -kotlin.version=1.9.20-RC +kotlin.version=1.9.20 # This version takes precedence if 'bootstrap' property passed to project kotlin.version.snapshot=1.9.255-SNAPSHOT diff --git a/integration-test/gradle.properties b/integration-test/gradle.properties index a0c9623329..df0ae0cc09 100644 --- a/integration-test/gradle.properties +++ b/integration-test/gradle.properties @@ -2,8 +2,8 @@ # Copyright 2017-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. # -mainKotlinVersion=1.9.20-RC -mainLibVersion=1.6.1-SNAPSHOT +mainKotlinVersion=1.9.20 +mainLibVersion=1.6.2-SNAPSHOT kotlin.code.style=official kotlin.js.compiler=ir