This release aims to fix important issues that were discovered in the 1.7.2 release,
including the inability to sync certain projects into Android Studio/IntelliJ IDEA and exceptions from custom Uuid serializers.
It uses Kotlin 2.0.20 by default.
Use explicit kotlin-stdlib and kotlin-test versions from version catalog (#2818)
Drop usage of deprecated Any?.freeze() in K/N target (#2819)
Check against serialName instead of simpleClassName (#2802)
Ignore NoClassDefFoundError when initializing builtins map for serializer() function (#2803)
Clarify example for SerializationException (#2806)
1.7.2
This release provides several new features, including a major Cbor configuration rework.
It uses Kotlin 2.0.20 by default.
Cbor feature set for COSE compliance
This change brings a lot of features to the CBOR format, namely:
Serial Labels — see @CborLabel annotation and preferCborLabelsOverNames flag.
Tagging of keys and values — see encode*Tags and verify*Tags set of flags
Definite length encoding — see useDefiniteLengthEncoding. This flag affects object encoding, since decoding of arrays with definite lenghts is automatically supported.
Option to globally prefer major type 2 for byte array encoding — see alwaysUseByteString flag.
Since there are quite a lot of flags now, they were restructured to a separate CborConfiguration class, similarly to JsonConfiguration. It is possible to retrieve this configuration from CborEncoder/CborDecoder interfaces in your custom serializers (see their documentation for details).
All of these features make it possible to serialize and parse COSE-compliant CBOR, for example, ISO/IEC 18013-5:2021-compliant mobile driving license data. In case you want to make use of them, there is a predefined Cbor.CoseCompliant instance.
However, some canonicalization steps (such as sorting keys) still need to be performed manually.
One of the most requested features for serialization plugin was to continue to generate a serializer even if a custom one is specified for the class. It allows using a plugin-generated serializer in a fallback or delegate strategy, accessing type structure via descriptor, using default serialization behavior in inheritors that do not use custom serializers.
Starting with this release, you can specify the @KeepGeneratedSerializer annotation on the class declaration to instruct the plugin to continue generating the serializer. In this case, the serializer will be accessible using the .generatedSerializer() function on the class's companion object.
This annotation is currently experimental. Kotlin 2.0.20 or higher is required for this feature to work.
Kotlin 2.0.20 added a common class to represent UUIDs in a multiplatform code. kotlinx.serialization 1.7.2 provides a corresponding Uuid.serializer() for it, making it possible to use it in @Serializable classes.
Note that for now, serializer should be provided manually with @Contextual annotation. Plugin will be able to automatically insert Uuid serializer in Kotlin 2.1.0.
This release aims to fix important issues that were discovered in the 1.7.2 release,
including the inability to sync certain projects into Android Studio/IntelliJ IDEA and exceptions from custom Uuid serializers.
It uses Kotlin 2.0.20 by default.
Use explicit kotlin-stdlib and kotlin-test versions from version catalog (#2818)
Drop usage of deprecated Any?.freeze() in K/N target (#2819)
Check against serialName instead of simpleClassName (#2802)
Ignore NoClassDefFoundError when initializing builtins map for serializer() function (#2803)
Clarify example for SerializationException (#2806)
1.7.2 / 2024-08-28
This release provides several new features, including a major Cbor configuration rework.
It uses Kotlin 2.0.20 by default.
Cbor feature set for COSE compliance
This change brings a lot of features to the CBOR format, namely:
Serial Labels — see @CborLabel annotation and preferCborLabelsOverNames flag.
Tagging of keys and values — see encode*Tags and verify*Tags set of flags
Definite length encoding — see useDefiniteLengthEncoding. This flag affects object encoding, since decoding of arrays with definite lenghts is automatically supported.
Option to globally prefer major type 2 for byte array encoding — see alwaysUseByteString flag.
Since there are quite a lot of flags now, they were restructured to a separate CborConfiguration class, similarly to JsonConfiguration.
It is possible to retrieve this configuration from CborEncoder/CborDecoder interfaces in your custom serializers (see their documentation for details).
All of these features make it possible to serialize and parse COSE-compliant CBOR, for example, ISO/IEC 18013-5:2021-compliant mobile driving license data.
In case you want to make use of them, there is a predefined Cbor.CoseCompliant instance.
However, some canonicalization steps (such as sorting keys) still need to be performed manually.
One of the most requested features for serialization plugin was to continue to generate a serializer even if a custom one is specified for the class.
It allows using a plugin-generated serializer in a fallback or delegate strategy, accessing type structure via descriptor, using default serialization behavior in inheritors that do not use custom serializers.
Starting with this release, you can specify the @KeepGeneratedSerializer annotation on the class declaration to instruct the plugin to continue generating the serializer.
In this case, the serializer will be accessible using the .generatedSerializer() function on the class's companion object.
This annotation is currently experimental. Kotlin 2.0.20 or higher is required for this feature to work.
9.41.1 (2024-09-12)
* Fixes JSONObjectUtils.parse((String)null) regression, must throw
ParseException, not NullPointerException. Regression introduced in 9.24
after dependency switch from JSON Smart to Gson (iss #557).
* Fixes JWKSet.parse((String)null) regression, must throw ParseException,
not NullPointerException (iss #557).
* The ParseException thrown by X509CertChainUtils.parse(List) must
include the message from the underlying
java.security.cert.CertificateException (iss #565).
Commits
81efe49 [maven-release-plugin] prepare for next development iteration
2c2587a JWEHeader receives support for the iss, sub and aud claims as replicated head...
version 1.0 (2012-05-29)
* First official release with authorisation endpoint, token endpoint, check
ID endpoint and UserInfo endpoint support.
* JSON Web Tokens (JWTs) support through the Nimbus-JWT library.
* Language Tags (RFC 5646) support through the Nimbus-LangTag library.
* JSON support through the JSON Smart library.
version 2.0 (2013-05-13)
* Intermediary development release with Maven build, published to
Maven Central.
version 2.1 (2013-06-06)
* Updates the APIs to OpenID Connect Messages draft 20, OpenID Connect
Standard draft 21, OpenID Connect Discovery draft 17 and OpenID
Connect Registration draft 19.
* Major refactoring of the APIs for greater simplicity.
* Adds JUnit tests.
version 2.2 (2013-06-18)
* Refactors dynamic OpenID Connect client registration.
* Adds partial support of the OAuth 2.0 Dynamic Client Registration
Protocol (draft-ietf-oauth-dyn-reg-12).
* Optimises parsing of request parameters consisting of one or more
tokens (scope, response type, etc).
version 2.4 (2013-06-20)
* Adds static OIDCClientInformation.parse(JSONObject) method.
version 2.5 (2013-06-22)
* Adds support OAuth 2.0 dynamic client update.
* Adds OpenID Connect dynamic client registration classes.
version 2.6 (2013-06-25)
* Enforces order of preference of ACR values in OpenID Connect client
metadata, as required by the specification.
* Documentation and performance improvements.
version 2.7 (2013-06-26)
* Switches Identifier generation to java.security.SecureRandom.
version 2.8 (2013-06-30)
* Fixes serialisation and assignment bugs in ClientMetadata.
* Switches Secret generation to java.security.SecureRandom.
version 2.9 (2013-09-17)
... (truncated)
Commits
108dac3 Adds native_sso_supported to OIDCProviderMetadata (iss #474)
Bumps the libs group with 14 updates in the / directory:
0.6.0
0.6.1
1.8.1
1.9.0
1.7.1
1.7.3
9.40
9.41.1
11.13
11.19.1
25.0.1
25.0.6
0.6.0
0.7.0
3.3.1
3.3.4
1.1.5
1.1.6
2.0.0
2.0.20
2.0.0
2.0.20
2.0.0
2.0.20
10.0.3
10.0.4
5.0.0.4638
5.1.0.4882
Updates
org.jetbrains.kotlinx:kotlinx-datetime
from 0.6.0 to 0.6.1Release notes
Sourced from org.jetbrains.kotlinx:kotlinx-datetime's releases.
Changelog
Sourced from org.jetbrains.kotlinx:kotlinx-datetime's changelog.
Commits
805cfe8
Version 0.6.1 (#422)a86e7f8
Permit missing /etc/localtime (#426)1cb9cdb
Disable tests for one more timezone (#424)73b7afa
Update teamcity commit status publisher settings (#388)19e3160
Rework the Windows timezone implementation (#390)da6f678
Prohibit parsing of non-ASCII digits (#413)29276fe
Fix some files with dots in names being considered time zones (#395)11c5157
Fix the time overlap right boundary being included in the overlap (#404)f74fdab
update: second text review (#400)Updates
org.jetbrains.kotlinx:kotlinx-coroutines-test
from 1.8.1 to 1.9.0Release notes
Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-test's releases.
... (truncated)
Changelog
Sourced from org.jetbrains.kotlinx:kotlinx-coroutines-test's changelog.
... (truncated)
Commits
d8d6f8f
Version 1.9.03a1be8c
Remove obsolete npm folder from the doc (#4189)d38672a
Version 1.9.0-RC.24801c65
Merge remote-tracking branch 'origin/master' into developcc34948
Rework the KDoc forCoroutineStart
(#4147)a7fe247
Fix flaky test, ensure job suspension where expected by the test (#4204)b286646
Remove various obsolete code (#4196)f0bdf00
Increase the deprecation levels for the old test framework API (#4198)5c8e650
Increase the deprecation levels for BroadcastChannel APIs (#4197)d010110
Rerun apiDump (#4207)Updates
org.jetbrains.kotlinx:kotlinx-serialization-json
from 1.7.1 to 1.7.3Release notes
Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's releases.
... (truncated)
Changelog
Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's changelog.
... (truncated)
Commits
d4d066d
Prepare 1.7.3 release (#2821)21311a6
Clarify example for SerializationException (#2806)2f1dbdb
Use explicit kotlin-stdlib and kotlin-test versions from version catalog (#2818)595bcbd
Drop usage of deprecated Any?.freeze() in K/N target (#2819)d9753af
Check against serialName instead of simpleClassName (#2802)0b015e1
Ignore NoClassDefFoundError when initializing builtins map for serializer() f...8c84a5b
Prepare 1.7.2 release (#2798)b3cfe56
Merge remote-tracking branch 'origin/master' into dev550e1a8
Rework opt-ins in build scripts (#2794)e4fa8a3
Update Annotations.kt, fixed typo: RgpPixel -> RgbPixel (#2793)Updates
com.nimbusds:nimbus-jose-jwt
from 9.40 to 9.41.1Changelog
Sourced from com.nimbusds:nimbus-jose-jwt's changelog.
Commits
81efe49
[maven-release-plugin] prepare for next development iteration2c2587a
JWEHeader receives support for the iss, sub and aud claims as replicated head...ba873c3
Adds Maven org.owasp:dependency-check-maven:10.0.3 pluginc383556
Key derivation changed to use standard java.security APIfde898f
ISSUE-564 For CEK keywrap , cipher mode should be wither WRAP or UNWRAP. It w...397e062
Merged in ISSUE-564--incorrect-usage-of-CIPHER-MODES (pull request #121)0ab8280
Adds change log for iss #564)9b42b43
Fixes change loga2fa965
Unifies the RSA_OAEP_SHA2.encryptCEK error message on invalid key (size) (iss...1a4f9b5
Merged in ISSUE-561 (pull request #120)Updates
com.nimbusds:oauth2-oidc-sdk
from 11.13 to 11.19.1Changelog
Sourced from com.nimbusds:oauth2-oidc-sdk's changelog.
... (truncated)
Commits
108dac3
Adds native_sso_supported to OIDCProviderMetadata (iss #474)20f37cf
Adds DeviceSecretHash class (iss #474)a348112
Adds IDTokenClaimsSet.{get|set}DeviceSecretHash methods (iss #474)67feec2
Renames "uri" arg to "endpoint" where endpoint URIs are concerned, simplifies...cce660c
Switches to more efficient Objects.requireNonNull in constructors, removes us...4e83b8c
Removes call to deprecated HTTPRequest.getQuery in AccessToken.parse(HTTPRequ...52d57cd
Fixes the POST implementation in AuthorizationRequest.toHTTPRequest(HTTPReque...793165c
Adds example native SSO flow as test (iss #474)7ea0b26
[maven-release-plugin] prepare release 11.15a63451e
[maven-release-plugin] prepare for next development iterationUpdates
org.keycloak:keycloak-admin-client
from 25.0.1 to 25.0.6Updates
id.walt.mdoc-credentials:waltid-mdoc-credentials-jvm
from 0.6.0 to 0.7.0Updates
org.springframework.boot
from 3.3.1 to 3.3.4Release notes
Sourced from org.springframework.boot's releases.
... (truncated)
Commits
8e9dc7b
Release v3.3.44e860f1
Merge branch '3.2.x' into 3.3.xd137191
Next development version (v3.2.11-SNAPSHOT)97dd01e
Upgrade to SendGrid 4.10.31b3b3aa
Upgrade to Hibernate 6.5.3.Finalc2adc3b
Upgrade to Zipkin Reporter 3.4.20271b24
Merge branch '3.2.x' into 3.3.xae8315e
Use Liberica for Java 23 CI4956990
Merge branch '3.2.x' into 3.3.xf9379f4
Apply nohttp check per-project rather than at rootUpdates
io.spring.dependency-management
from 1.1.5 to 1.1.6Release notes
Sourced from io.spring.dependency-management's releases.
Commits
57d4a77
Release v1.1.6caad92a
Apply exclusions earlier to avoid deprecation warning68f86ea
Merge pull request #387 from quaff4d44a45
Remove stray backtick90d9e1a
Rename property to address naming clash3c2f6e7
Next development version (v1.1.6-SNAPSHOT)Updates
org.jetbrains.kotlin.jvm
from 2.0.0 to 2.0.20Release notes
Sourced from org.jetbrains.kotlin.jvm's releases.
... (truncated)
Changelog
Sourced from org.jetbrains.kotlin.jvm's changelog.