Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump the libs group across 1 directory with 14 updates #190

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 24, 2024

Bumps the libs group with 14 updates in the / directory:

Package From To
org.jetbrains.kotlinx:kotlinx-datetime 0.6.0-RC.2 0.6.0
org.jetbrains.kotlinx:kotlinx-coroutines-core 1.8.0 1.8.1
org.jetbrains.kotlinx:kotlinx-coroutines-test 1.8.0 1.8.1
org.jetbrains.kotlinx:kotlinx-serialization-json 1.6.3 1.7.0
org.jetbrains.kotlinx:kotlinx-serialization-cbor 1.6.3 1.7.0
com.nimbusds:nimbus-jose-jwt 9.37.3 9.40
com.nimbusds:oauth2-oidc-sdk 11.10.1 11.12
org.keycloak:keycloak-admin-client 24.0.3 25.0.1
org.springframework.boot 3.2.5 3.3.1
io.spring.dependency-management 1.1.4 1.1.5
org.jetbrains.kotlin.jvm 1.9.23 2.0.0
org.jetbrains.kotlin.plugin.spring 1.9.23 2.0.0
org.jetbrains.kotlin.plugin.serialization 1.9.23 2.0.0
org.owasp.dependencycheck 9.1.0 9.2.0

Updates org.jetbrains.kotlinx:kotlinx-datetime from 0.6.0-RC.2 to 0.6.0

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-datetime's releases.

v0.6.0

  • Introduce the widely requested API for locale-invariant parsing and formatting (#343)
  • Completely overhaul the KDoc-based documentation (#347)
  • Breaking change: forbid parsing Instant values without the second-of-minute component on the JVM and JS, fixing inconsistency with Native (#369)
  • Breaking change: use the fully qualified name of classes in the JSON serializers (#308)
  • Fix Proguard emitting warning about missing kotlinx-serialization classes when serialization is not used (#336)
  • Reimplement the timezone database handling for Native targets from scratch (#286, #327)
  • Support Android NDK targets (#344)
  • Small tweaks and fixes.

Changelog relative to version 0.6.0-RC.2

  • Completely overhaul the KDoc-based documentation (#347)
  • Breaking change: forbid parsing Instant values without the second-of-minute component on the JVM and JS, fixing inconsistency with Native (#369)
  • Improve error descriptiveness in some cases (#360, #371)
  • Remove stat usages to comply with Apple's new publishing requirements (#385)
  • Fix parsing of formats where optional is directly between numbers (#362)
  • Forbid empty and duplicate month, day-of-week, and AM/PM marker names in datetime formats (#362)

New Contributors

Full Changelog: Kotlin/kotlinx-datetime@v0.5.0...v0.6.0

Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-datetime's changelog.

0.6.0

  • Introduce the widely requested API for locale-invariant parsing and formatting (#343)
  • Completely overhaul the KDoc-based documentation (#347)
  • Breaking change: forbid parsing Instant values without the second-of-minute component on the JVM and JS, fixing inconsistency with Native (#369)
  • Breaking change: use the fully qualified name of classes in the JSON serializers (#308)
  • Fix Proguard emitting warning about missing kotlinx-serialization classes when serialization is not used (#336)
  • Reimplement the timezone database handling for Native targets from scratch (#286, #327)
  • Support Android NDK targets (#344)
  • Small tweaks and fixes.
Commits
  • bc8adee Version 0.6.0 (#392)
  • a100ce8 Fix Instant.parse succeeding even when seconds are omitted on the JVM and J...
  • cff3fdd Improve the KDoc (#367)
  • e721269 Fix using optional between numbers; forbid duplicate and empty strings in t...
  • ce30554 No longer use stat in timezone database implementations (#385)
  • 9de96c0 Added coverage measurement using Kover (#380)
  • 9d59199 Update Dokka to 1.9.20 (#363)
  • 3bc18fb Improve performance of the parser's failure path (#374)
  • 4470516 Add context to the DayOfWeek constructor precondition (#371)
  • 02e4e4d Improve error descriptiveness in the parsing API (#360)
  • See full diff in compare view

Updates org.jetbrains.kotlinx:kotlinx-coroutines-core from 1.8.0 to 1.8.1

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-core's releases.

1.8.1

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Introduce a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Flow.timeout throws the exception with which the channel was closed (#4071).
  • Small tweaks and documentation fixes.

1.8.1-Beta

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Attempt a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Small tweaks.
Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-core's changelog.

Version 1.8.1

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Introduce a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Flow.timeout throws the exception with which the channel was closed (#4071).
  • Small tweaks and documentation fixes.

Changelog relative to version 1.8.1-Beta

  • Flow.timeout throws the exception with which the channel was closed (#4071).
  • Small documentation fixes.

Version 1.8.1-Beta

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Attempt a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Small tweaks.
Commits
  • cd696d3 Version 1.8.1
  • c1ba5af Fix the ticker channel example giving wrong results on the website (#4109)
  • 2430d9a Fix broken API reference links to the Project Reactor Javadoc (#4111)
  • f22b229 fix the link to Thread.uncaughtExceptionHandler
  • 515308d fix: get rid of horizontal scrolling by splitting the comment and show more c...
  • f8d1821 Fix typo in coroutine-context-and-dispatchers.md (#3941)
  • 20707d3 fix: remove sampleStart and sampleEnd comments from example in coroutine-...
  • 0148534 chore: fix identation in example loadContributorsBlocking() (#4085)
  • 74774df Docs: reference to The Hitchhiker's Guide to the Galaxy (#4082)
  • d106ac7 Docs: avoid scrolling sample code; fix test description; add () to functions ...
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlinx:kotlinx-coroutines-test from 1.8.0 to 1.8.1

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-test's releases.

1.8.1

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Introduce a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Flow.timeout throws the exception with which the channel was closed (#4071).
  • Small tweaks and documentation fixes.

1.8.1-Beta

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Attempt a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Small tweaks.
Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-test's changelog.

Version 1.8.1

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Introduce a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Flow.timeout throws the exception with which the channel was closed (#4071).
  • Small tweaks and documentation fixes.

Changelog relative to version 1.8.1-Beta

  • Flow.timeout throws the exception with which the channel was closed (#4071).
  • Small documentation fixes.

Version 1.8.1-Beta

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Attempt a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Small tweaks.
Commits
  • cd696d3 Version 1.8.1
  • c1ba5af Fix the ticker channel example giving wrong results on the website (#4109)
  • 2430d9a Fix broken API reference links to the Project Reactor Javadoc (#4111)
  • f22b229 fix the link to Thread.uncaughtExceptionHandler
  • 515308d fix: get rid of horizontal scrolling by splitting the comment and show more c...
  • f8d1821 Fix typo in coroutine-context-and-dispatchers.md (#3941)
  • 20707d3 fix: remove sampleStart and sampleEnd comments from example in coroutine-...
  • 0148534 chore: fix identation in example loadContributorsBlocking() (#4085)
  • 74774df Docs: reference to The Hitchhiker's Guide to the Galaxy (#4082)
  • d106ac7 Docs: avoid scrolling sample code; fix test description; add () to functions ...
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlinx:kotlinx-coroutines-test from 1.8.0 to 1.8.1

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-test's releases.

1.8.1

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Introduce a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Flow.timeout throws the exception with which the channel was closed (#4071).
  • Small tweaks and documentation fixes.

1.8.1-Beta

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Attempt a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Small tweaks.
Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-test's changelog.

Version 1.8.1

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Introduce a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Flow.timeout throws the exception with which the channel was closed (#4071).
  • Small tweaks and documentation fixes.

Changelog relative to version 1.8.1-Beta

  • Flow.timeout throws the exception with which the channel was closed (#4071).
  • Small documentation fixes.

Version 1.8.1-Beta

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#4046). Thanks, @​hfhbd!
  • Attempt a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#4051).
  • Small tweaks.
Commits
  • cd696d3 Version 1.8.1
  • c1ba5af Fix the ticker channel example giving wrong results on the website (#4109)
  • 2430d9a Fix broken API reference links to the Project Reactor Javadoc (#4111)
  • f22b229 fix the link to Thread.uncaughtExceptionHandler
  • 515308d fix: get rid of horizontal scrolling by splitting the comment and show more c...
  • f8d1821 Fix typo in coroutine-context-and-dispatchers.md (#3941)
  • 20707d3 fix: remove sampleStart and sampleEnd comments from example in coroutine-...
  • 0148534 chore: fix identation in example loadContributorsBlocking() (#4085)
  • 74774df Docs: reference to The Hitchhiker's Guide to the Galaxy (#4082)
  • d106ac7 Docs: avoid scrolling sample code; fix test description; add () to functions ...
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlinx:kotlinx-serialization-json from 1.6.3 to 1.7.0

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's releases.

1.7.0

This release contains all of the changes from 1.7.0-RC and is compatible with Kotlin 2.0. Please note that for reasons explained in the 1.7.0-RC changelog, it may not be possible to use it with the Kotlin 1.9.x compiler plugin. Yet, it is still fully backward compatible with previous versions.

The only difference with 1.7.0-RC is that the classDiscriminatorMode property in JsonBuilder is marked as experimental, as it should have been when it was introduced (#2680).

1.7.0-RC

This is a release candidate for the next version. It is based on Kotlin 2.0.0-RC3 and is fully compatible with a stable Kotlin 2.0 release. Due to a potential breaking change (see below), it requires a compiler plugin with a version at least of 2.0.0-RC1.

Important change: priority of PolymorphicSerializer for interfaces during call to serializer() function

Non-sealed interfaces in kotlinx.serialization are always serializable with a polymorphic serializer, even if they do not have @Serializable annotation. This also means that serializersModule.serializer<SomeInterface>() call will return you a serializer capable of polymorphism. This function was written in a way that it unconditionally returns a PolymorphicSerializer if type argument is a non-sealed interface. This caused problems with SerializersModule functionality, because actual module was not taken into consideration, and therefore it was impossible to override serializer for interface using 'contextual serialization' feature. The problem is described in detail here. To overcome these problems, we had to change the behavior of this function regarding interfaces. It now looks into SerializersModule first if T is a non-sealed interface, and only if there is no registered contextual serializer for T, it returns a polymorphic serializer.

Behavior before 1.7.0-RC:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints PolymorphicSerializer<SomeInterface>:
println(module.serializer<SomeInterface>())

Behavior in 1.7.0-RC, 1.7.0, and higher:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints CustomSomeInterfaceSerializer:
println(module.serializer<SomeInterface>())

We expect minimal impact from this change, but be aware of it anyway. Implementation details are available in this PR.

Due to the serializer() function being also a compiler intrinsic, code of kotlinx.serialization compiler plugin also accommodates this change in the 2.0 branch. To get a consistent result from both plugin and runtime, kotlinx.serialization compiler plugin should be at least of 2.0.0-RC1 version. To verify so, 1.7.0-RC runtime will be rejected by older plugins.

... (truncated)

Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's changelog.

1.7.0 / 2024-06-05

This release contains all of the changes from 1.7.0-RC and is compatible with Kotlin 2.0. Please note that for reasons explained in the 1.7.0-RC changelog, it may not be possible to use it with the Kotlin 1.9.x compiler plugin. Yet, it is still fully backwards compatible with previous versions.

The only difference with 1.7.0-RC is that classDiscriminatorMode property in JsonBuilder is marked as experimental, as it should have been when it was introduced (#2680).

1.7.0-RC / 2024-05-16

This is a release candidate for the next version. It is based on Kotlin 2.0.0-RC3 and is fully compatible with a stable Kotlin 2.0 release. Due to a potential breaking change (see below), it requires a compiler plugin with a version at least of 2.0.0-RC1.

Important change: priority of PolymorphicSerializer for interfaces during call to serializer() function

Non-sealed interfaces in kotlinx.serialization are always serializable with a polymorphic serializer, even if they do not have @Serializable annotation. This also means that serializersModule.serializer<SomeInterface>() call will return you a serializer capable of polymorphism. This function was written in a way that it unconditionally returns a PolymorphicSerializer if type argument is a non-sealed interface. This caused problems with SerializersModule functionality, because actual module was not taken into consideration, and therefore it was impossible to override serializer for interface using 'contextual serialization' feature. The problem is described in details here. To overcome these problems, we had to change the behavior of this function regarding interfaces. It now looks into SerializersModule first if T is a non-sealed interface, and only if there is no registered contextual serializer for T, it returns a polymorphic serializer.

Behavior before 1.7.0-RC:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints PolymorphicSerializer<SomeInterface>:
println(module.serializer<SomeInterface>())

Behavior in 1.7.0-RC, 1.7.0, and higher:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints CustomSomeInterfaceSerializer:
println(module.serializer<SomeInterface>())
</tr></table>

... (truncated)

Commits
  • d2dc7d2 Update to Kotlin 2.0 and prepare 1.7.0 release (#2706)
  • 1cac162 Merge remote-tracking branch 'origin/master' into dev
  • fbd0734 Use @​PublishedApi annotation on functions called from plugin-generated code (...
  • 4bf4113 Add bencoding to community-supported formats (#2687)
  • c487e78 JSON: Fix mutable classDiscriminatorMode in config, and mark experimental i...
  • 385c97d Remove yellow code (#2691)
  • 688f64b Added link to kotlinx-serialization-smile in the formats list (#2689)
  • 1f38e22 Add additional repository
  • dd1b76e Prepare Changelog and Readme for 1.7.0-RC release
  • b4bf182 Raise Require-Kotlin-Version to 2.0.0-RC1
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlinx:kotlinx-serialization-cbor from 1.6.3 to 1.7.0

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-cbor's releases.

1.7.0

This release contains all of the changes from 1.7.0-RC and is compatible with Kotlin 2.0. Please note that for reasons explained in the 1.7.0-RC changelog, it may not be possible to use it with the Kotlin 1.9.x compiler plugin. Yet, it is still fully backward compatible with previous versions.

The only difference with 1.7.0-RC is that the classDiscriminatorMode property in JsonBuilder is marked as experimental, as it should have been when it was introduced (#2680).

1.7.0-RC

This is a release candidate for the next version. It is based on Kotlin 2.0.0-RC3 and is fully compatible with a stable Kotlin 2.0 release. Due to a potential breaking change (see below), it requires a compiler plugin with a version at least of 2.0.0-RC1.

Important change: priority of PolymorphicSerializer for interfaces during call to serializer() function

Non-sealed interfaces in kotlinx.serialization are always serializable with a polymorphic serializer, even if they do not have @Serializable annotation. This also means that serializersModule.serializer<SomeInterface>() call will return you a serializer capable of polymorphism. This function was written in a way that it unconditionally returns a PolymorphicSerializer if type argument is a non-sealed interface. This caused problems with SerializersModule functionality, because actual module was not taken into consideration, and therefore it was impossible to override serializer for interface using 'contextual serialization' feature. The problem is described in detail here. To overcome these problems, we had to change the behavior of this function regarding interfaces. It now looks into SerializersModule first if T is a non-sealed interface, and only if there is no registered contextual serializer for T, it returns a polymorphic serializer.

Behavior before 1.7.0-RC:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints PolymorphicSerializer<SomeInterface>:
println(module.serializer<SomeInterface>())

Behavior in 1.7.0-RC, 1.7.0, and higher:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints CustomSomeInterfaceSerializer:
println(module.serializer<SomeInterface>())

We expect minimal impact from this change, but be aware of it anyway. Implementation details are available in this PR.

Due to the serializer() function being also a compiler intrinsic, code of kotlinx.serialization compiler plugin also accommodates this change in the 2.0 branch. To get a consistent result from both plugin and runtime, kotlinx.serialization compiler plugin should be at least of 2.0.0-RC1 version. To verify so, 1.7.0-RC runtime will be rejected by older plugins.

... (truncated)

Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-cbor's changelog.

1.7.0 / 2024-06-05

This release contains all of the changes from 1.7.0-RC and is compatible with Kotlin 2.0. Please note that for reasons explained in the 1.7.0-RC changelog, it may not be possible to use it with the Kotlin 1.9.x compiler plugin. Yet, it is still fully backwards compatible with previous versions.

The only difference with 1.7.0-RC is that classDiscriminatorMode property in JsonBuilder is marked as experimental, as it should have been when it was introduced (#2680).

1.7.0-RC / 2024-05-16

This is a release candidate for the next version. It is based on Kotlin 2.0.0-RC3 and is fully compatible with a stable Kotlin 2.0 release. Due to a potential breaking change (see below), it requires a compiler plugin with a version at least of 2.0.0-RC1.

Important change: priority of PolymorphicSerializer for interfaces during call to serializer() function

Non-sealed interfaces in kotlinx.serialization are always serializable with a polymorphic serializer, even if they do not have @Serializable annotation. This also means that serializersModule.serializer<SomeInterface>() call will return you a serializer capable of polymorphism. This function was written in a way that it unconditionally returns a PolymorphicSerializer if type argument is a non-sealed interface. This caused problems with SerializersModule functionality, because actual module was not taken into consideration, and therefore it was impossible to override serializer for interface using 'contextual serialization' feature. The problem is described in details here. To overcome these problems, we had to change the behavior of this function regarding interfaces. It now looks into SerializersModule first if T is a non-sealed interface, and only if there is no registered contextual serializer for T, it returns a polymorphic serializer.

Behavior before 1.7.0-RC:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints PolymorphicSerializer<SomeInterface>:
println(module.serializer<SomeInterface>())

Behavior in 1.7.0-RC, 1.7.0, and higher:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints CustomSomeInterfaceSerializer:
println(module.serializer<SomeInterface>())
</tr></table>

... (truncated)

Commits
  • d2dc7d2 Update to Kotlin 2.0 and prepare 1.7.0 release (#2706)
  • 1cac162 Merge remote-tracking branch 'origin/master' into dev
  • fbd0734 Use @​PublishedApi annotation on functions called from plugin-generated code (...
  • 4bf4113 Add bencoding to community-supported formats (#2687)
  • c487e78 JSON: Fix mutable classDiscriminatorMode in config, and mark experimental i...
  • 385c97d Remove yellow code (#2691)
  • 688f64b Added link to kotlinx-serialization-smile in the formats list (#2689)
  • 1f38e22 Add additional repository
  • dd1b76e Prepare Changelog and Readme for 1.7.0-RC release
  • b4bf182 Raise Require-Kotlin-Version to 2.0.0-RC1
  • Additional commits viewable in compare view

Updates org.jetbrains.kotlinx:kotlinx-serialization-cbor from 1.6.3 to 1.7.0

Release notes

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-cbor's releases.

1.7.0

This release contains all of the changes from 1.7.0-RC and is compatible with Kotlin 2.0. Please note that for reasons explained in the 1.7.0-RC changelog, it may not be possible to use it with the Kotlin 1.9.x compiler plugin. Yet, it is still fully backward compatible with previous versions.

The only difference with 1.7.0-RC is that the classDiscriminatorMode property in JsonBuilder is marked as experimental, as it should have been when it was introduced (#2680).

1.7.0-RC

This is a release candidate for the next version. It is based on Kotlin 2.0.0-RC3 and is fully compatible with a stable Kotlin 2.0 release. Due to a potential breaking change (see below), it requires a compiler plugin with a version at least of 2.0.0-RC1.

Important change: priority of PolymorphicSerializer for interfaces during call to serializer() function

Non-sealed interfaces in kotlinx.serialization are always serializable with a polymorphic serializer, even if they do not have @Serializable annotation. This also means that serializersModule.serializer<SomeInterface>() call will return you a serializer capable of polymorphism. This function was written in a way that it unconditionally returns a PolymorphicSerializer if type argument is a non-sealed interface. This caused problems with SerializersModule functionality, because actual module was not taken into consideration, and therefore it was impossible to override serializer for interface using 'contextual serialization' feature. The problem is described in detail here. To overcome these problems, we had to change the behavior of this function regarding interfaces. It now looks into SerializersModule first if T is a non-sealed interface, and only if there is no registered contextual serializer for T, it returns a polymorphic serializer.

Behavior before 1.7.0-RC:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints PolymorphicSerializer<SomeInterface>:
println(module.serializer<SomeInterface>())

Behavior in 1.7.0-RC, 1.7.0, and higher:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints CustomSomeInterfaceSerializer:
println(module.serializer<SomeInterface>())

We expect minimal impact from this change, but be aware of it anyway. Implementation details are available in this PR.

Due to the serializer() function being also a compiler intrinsic, code of kotlinx.serialization compiler plugin also accommodates this change in the 2.0 branch. To get a consistent result from both plugin and runtime, kotlinx.serialization compiler plugin should be at least of 2.0.0-RC1 version. To verify so, 1.7.0-RC runtime will be rejected by older plugins.

... (truncated)

Changelog

Sourced from org.jetbrains.kotlinx:kotlinx-serialization-cbor's changelog.

1.7.0 / 2024-06-05

This release contains all of the changes from 1.7.0-RC and is compatible with Kotlin 2.0. Please note that for reasons explained in the 1.7.0-RC changelog, it may not be possible to use it with the Kotlin 1.9.x compiler plugin. Yet, it is still fully backwards compatible with previous versions.

The only difference with 1.7.0-RC is that classDiscriminatorMode property in JsonBuilder is marked as experimental, as it should have been when it was introduced (#2680).

1.7.0-RC / 2024-05-16

This is a release candidate for the next version. It is based on Kotlin 2.0.0-RC3 and is fully compatible with a stable Kotlin 2.0 release. Due to a potential breaking change (see below), it requires a compiler plugin with a version at least of 2.0.0-RC1.

Important change: priority of PolymorphicSerializer for interfaces during call to serializer() function

Non-sealed interfaces in kotlinx.serialization are always serializable with a polymorphic serializer, even if they do not have @Serializable annotation. This also means that serializersModule.serializer<SomeInterface>() call will return you a serializer capable of polymorphism. This function was written in a way that it unconditionally returns a PolymorphicSerializer if type argument is a non-sealed interface. This caused problems with SerializersModule functionality, because actual module was not taken into consideration, and therefore it was impossible to override serializer for interface using 'contextual serialization' feature. The problem is described in details here. To overcome these problems, we had to change the behavior of this function regarding interfaces. It now looks into SerializersModule first if T is a non-sealed interface, and only if there is no registered contextual serializer for T, it returns a polymorphic serializer.

Behavior before 1.7.0-RC:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints PolymorphicSerializer<SomeInterface>:
println(module.serializer<SomeInterface>())

Behavior in 1.7.0-RC, 1.7.0, and higher:

interface SomeInterface
val module = SerializersModule {
contextual(SomeInterface::class, CustomSomeInterfaceSerializer)
}
// Prints CustomSomeInterfaceSerializer:
println(module.serializer<SomeInterface>())
</tr></table>

... (truncated)

Commits
  • d2dc7d2 Update to Kotlin 2.0 and prepare 1.7.0 release (#2706)
  • 1cac162 Merge remote-tracking branch 'origin/master' into dev
  • fbd0734 Use @​PublishedApi annotation on functions called from plugin-generated code (...
  • 4bf4113 Add bencoding to community-supported formats (#2687)
  • c487e78 JSON: Fix mutable classDiscriminatorMode in config, and mark experimental i...
  • 385c97d Remove yellow code (#2691)
  • 688f64b Added link to kotlinx-serialization-smile in the formats list (#2689)
  • 1f38e22 Add additional repository
  • dd1b76e Prepare Changelog and Readme for 1.7.0-RC release
  • b4bf182 Raise Require-Kotlin-Version to 2.0.0-RC1
  • Additional commits viewable in compare view

Updates com.nimbusds:nimbus-jose-jwt from 9.37.3 to 9.40

Changelog

Sourced from com.nimbusds:nimbus-jose-jwt's changelog.

version 1.0 (2012-03-01)

  • First version based on the OpenInfoCard JWT, JWS and JWE code base.

version 1.1 (2012-03-06)

  • Introduces type-safe enumeration of the JSON Web Algorithms (JWA).
  • Refactors the JWT class.

version 1.2 (2012-03-08)

  • Moves JWS and JWE code into separate classes.

version 1.3 (2012-03-09)

  • Switches to Apache Commons Codec for Base64URL encoding and decoding
  • Consolidates the crypto utilities within the package.
  • Introduces a JWT content serialiser class.

version 1.4 (2012-03-09)

  • Refactoring of JWT class and JUnit tests.

version 1.5 (2012-03-18)

  • Switches to JSON Smart for JSON serialisation and parsing.
  • Introduces claims set class with JSON objects, string, Base64URL and byte array views.

version 1.6 (2012-03-20)

  • Creates class for representing, serialising and parsing JSON Web Keys (JWK).
  • Introduces separate class for representing JWT headers.

version 1.7 (2012-04-01)

  • Introduces separate classes for plain, JWS and JWE headers.
  • Introduces separate classes for plain, signed and encrypted JWTs.
  • Removes the JWTContent class.
  • Removes password-based (PE820) encryption support.

version 1.8 (2012-04-03)

  • Adds support for the ZIP JWE header parameter.
  • Removes unsupported algorithms from the JWA enumeration.

version 1.9 (2012-04-03)

  • Renames JWEHeader.{get|set}EncryptionAlgorithm() to JWEHeader.{get|set}EncryptionMethod().

version 1.9.1 (2012-04-03)

  • Upgrades JSON Smart JAR to 1.1.1.

version 1.10 (2012-04-14)

  • Introduces serialize() method to base abstract JWT class.

version 1.11 (2012-05-13)

  • JWT.serialize() throws checked JWTException instead of

... (truncated)

Commits
  • 4320e1f Disables tests incompatible with BC "fips" profile
  • caf5b9f Change log edits
  • 0fcdc21 SignedJWT, EncryptedJWT and PlainJWT must serialise JWTClaimsSet claims with ...
  • cb37910 JWEObject.decrypt must reject cipher texts of compressed plain text that are ...
  • f470497 Chane log edits for 9.38
  • 57f268d [maven-release-plugin] prepare release 9.38
  • 4409b5f [maven-release-plugin] prepare for next development iteration
  • 6820c9d Merged connect2id/nimbus-jose-jwt into master
  • f14e944 Bumped Maven plugins
  • bd59d30 Adds JSONObjectUtils.getEpochSecondAsDate, JWTClaimsSet.parse must handle nul...
  • Additional commits viewable in

Bumps the libs group with 14 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.6.0-RC.2` | `0.6.0` |
| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.0` | `1.8.1` |
| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.8.0` | `1.8.1` |
| [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.6.3` | `1.7.0` |
| [org.jetbrains.kotlinx:kotlinx-serialization-cbor](https://github.com/Kotlin/kotlinx.serialization) | `1.6.3` | `1.7.0` |
| [com.nimbusds:nimbus-jose-jwt](https://bitbucket.org/connect2id/nimbus-jose-jwt) | `9.37.3` | `9.40` |
| [com.nimbusds:oauth2-oidc-sdk](https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions) | `11.10.1` | `11.12` |
| org.keycloak:keycloak-admin-client | `24.0.3` | `25.0.1` |
| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.2.5` | `3.3.1` |
| [io.spring.dependency-management](https://github.com/spring-gradle-plugins/dependency-management-plugin) | `1.1.4` | `1.1.5` |
| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `1.9.23` | `2.0.0` |
| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `1.9.23` | `2.0.0` |
| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `1.9.23` | `2.0.0` |
| org.owasp.dependencycheck | `9.1.0` | `9.2.0` |



Updates `org.jetbrains.kotlinx:kotlinx-datetime` from 0.6.0-RC.2 to 0.6.0
- [Release notes](https://github.com/Kotlin/kotlinx-datetime/releases)
- [Changelog](https://github.com/Kotlin/kotlinx-datetime/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx-datetime@v0.6.0-RC.2...v0.6.0)

Updates `org.jetbrains.kotlinx:kotlinx-coroutines-core` from 1.8.0 to 1.8.1
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](Kotlin/kotlinx.coroutines@1.8.0...1.8.1)

Updates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.8.0 to 1.8.1
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](Kotlin/kotlinx.coroutines@1.8.0...1.8.1)

Updates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.8.0 to 1.8.1
- [Release notes](https://github.com/Kotlin/kotlinx.coroutines/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md)
- [Commits](Kotlin/kotlinx.coroutines@1.8.0...1.8.1)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.6.3 to 1.7.0
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.7.0)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-cbor` from 1.6.3 to 1.7.0
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.7.0)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-cbor` from 1.6.3 to 1.7.0
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](Kotlin/kotlinx.serialization@v1.6.3...v1.7.0)

Updates `com.nimbusds:nimbus-jose-jwt` from 9.37.3 to 9.40
- [Changelog](https://bitbucket.org/connect2id/nimbus-jose-jwt/src/master/CHANGELOG.txt)
- [Commits](https://bitbucket.org/connect2id/nimbus-jose-jwt/branches/compare/9.40..9.37.3)

Updates `com.nimbusds:oauth2-oidc-sdk` from 11.10.1 to 11.12
- [Changelog](https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/src/master/CHANGELOG.txt)
- [Commits](https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/branches/compare/11.12..11.10.1)

Updates `org.keycloak:keycloak-admin-client` from 24.0.3 to 25.0.1

Updates `org.springframework.boot` from 3.2.5 to 3.3.1
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](spring-projects/spring-boot@v3.2.5...v3.3.1)

Updates `io.spring.dependency-management` from 1.1.4 to 1.1.5
- [Release notes](https://github.com/spring-gradle-plugins/dependency-management-plugin/releases)
- [Commits](spring-gradle-plugins/dependency-management-plugin@v1.1.4...v1.1.5)

Updates `org.jetbrains.kotlin.jvm` from 1.9.23 to 2.0.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.23...v2.0.0)

Updates `org.jetbrains.kotlin.plugin.spring` from 1.9.23 to 2.0.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.23...v2.0.0)

Updates `org.jetbrains.kotlin.plugin.serialization` from 1.9.23 to 2.0.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.23...v2.0.0)

Updates `org.jetbrains.kotlin.plugin.spring` from 1.9.23 to 2.0.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.23...v2.0.0)

Updates `org.jetbrains.kotlin.plugin.serialization` from 1.9.23 to 2.0.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.9.23...v2.0.0)

Updates `org.owasp.dependencycheck` from 9.1.0 to 9.2.0

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-datetime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: libs
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: libs
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: libs
- dependency-name: org.jetbrains.kotlinx:kotlinx-coroutines-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: libs
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: libs
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-cbor
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: libs
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-cbor
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: libs
- dependency-name: com.nimbusds:nimbus-jose-jwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: libs
- dependency-name: com.nimbusds:oauth2-oidc-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: libs
- dependency-name: org.keycloak:keycloak-admin-client
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: libs
- dependency-name: org.springframework.boot
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: libs
- dependency-name: io.spring.dependency-management
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: libs
- dependency-name: org.jetbrains.kotlin.jvm
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: libs
- dependency-name: org.jetbrains.kotlin.plugin.spring
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: libs
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: libs
- dependency-name: org.jetbrains.kotlin.plugin.spring
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: libs
- dependency-name: org.jetbrains.kotlin.plugin.serialization
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: libs
- dependency-name: org.owasp.dependencycheck
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: libs
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot requested a review from a team as a code owner June 24, 2024 03:27
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Jun 24, 2024
Copy link
Contributor Author

dependabot bot commented on behalf of github Jul 1, 2024

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot bot closed this Jul 1, 2024
@dependabot dependabot bot deleted the dependabot/gradle/libs-8ec8c111bc branch July 1, 2024 03:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file java Pull requests that update Java code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants