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 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.
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.
Extending DefaultErrorAttributes and overriding getErrorAttributes() gets called twice #41995
When using WebFlux, server.error.include-binding-errors=ALWAYS no longer has an effect when the BindingResult exception is the cause of a ResponseStatusException #41987
PropertiesLauncher does not respect classpath.idx when adding jars in BOOT-INF/lib to the classpath #41970
Web extension for SBOM endpoint isn't available under /cloudfoundryapplication #41890
Launcher's ClassLoader is no longer parallel capable #41873
spring-boot-testcontainers causes unwanted container initialization during AOT processing #41859
ReactiveElasticsearchRepositoriesAutoConfiguration should back off when Reactor is not on the classpath #41678
mvn spring-boot:build-image fails when 'classifier' is set to non-default value #41661
Spring Boot Maven plugin AOT cannot handle Maven modules with module-info.java #41647
Docker publishRegistry in Maven plugin configuration is validated when publish option is false #41641
Using Gradle's new file permission API is implemented in a way that prevents removal of the old API #41607
Some @ControllerEndpoint and @RestControllerEndpoint infrastructure remains undeprecated #41596
Constructor binding of EnumMap fails due to missing key type #41563
:notebook_with_decorative_cover: Documentation
Improve documented logging property descriptions and default values #41989
Explain that enabling virtual threads disables traditional thread pools #41976
Harmonize code sample for MyUserHandler in reference documentation #41949
Document when environment variable property mapping applies #41945
Javadoc of slice test annotations should describe more accurately which components are considered #41935
Bumps the libs group with 9 updates in the / directory:
1.7.1
1.7.2
11.13
11.19
3.3.1
3.3.3
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-serialization-json
from 1.7.1 to 1.7.2Release notes
Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's releases.
Changelog
Sourced from org.jetbrains.kotlinx:kotlinx-serialization-json's changelog.
... (truncated)
Commits
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)62aa4bb
Add serializer for kotlin.uuid.Uuid (#2744)4646740
Prohibited using of zero and negative filed number in ProtoNumber and zero fi...4ca05dd
Update Kotlin to 2.0.20 (#2792)35a9edc
Migrate from kotlinOptions to compilerOptions (#2746)0b5145c
Improve readability of protobuf decoding exception messages (#2768)b931598
Remove redundant toString() (#2790)Updates
com.nimbusds:oauth2-oidc-sdk
from 11.13 to 11.19Changelog
Sourced from com.nimbusds:oauth2-oidc-sdk's changelog.
... (truncated)
Commits
c59f3e3
Refactors AccessTokenResponse1a4b638
Refactors OIDCTokens42074d3
Adds DeviceSecret to OIDCTokens (iss #474)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...Updates
org.springframework.boot
from 3.3.1 to 3.3.3Release notes
Sourced from org.springframework.boot's releases.
... (truncated)
Commits
27f852a
Release v3.3.3f0d2503
Merge branch '3.2.x' into 3.3.x1822b2f
Include spring-boot-starter-parent in Integration tests repositoryd4e1aed
Merge branch '3.2.x' into 3.3.x0b24ee8
Improve loading of jar entry certificates29e4607
Merge branch '3.2.x' into 3.3.x112cfc8
Remove processed annotations plugin declaration05b73ce
Call getErrorAttributes() only onced974686
Upgrade to apachepulsar/pulsar 3.2.4459d899
Add release type attribute for Antora documentation generationUpdates
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.
... (truncated)
Commits
6af99c8
Add changelog for 2.0.2068f075d
Add ChangeLog for 2.0.20-RC22b7c4f7
[K/Wasm] Don't add mappings into source-maps for unavailable sourcese35e9ae
Update codeownersc580c67
[K/N] Remember StableRefs, released during RC colleciton (KT-70159)565a35c
[FIR2IR] UnsetisLateinit
flag for properties implemented by delegation5607bd3
[Test] Reproduce KT-70417ce5d599
[K/JS] Fix coroutines on ES2015 generators when there is not a GeneratorCorou...ca9fb23
Disallow open@Composable
functions with default params9a4c77e
Update codeownersUpdates
org.jetbrains.kotlin.plugin.spring
from 2.0.0 to 2.0.20Release notes
Sourced from org.jetbrains.kotlin.plugin.spring's releases.
... (truncated)
Changelog
Sourced from org.jetbrains.kotlin.plugin.spring's changelog.
... (truncated)
Commits
6af99c8
Add changelog for 2.0.2068f075d
Add ChangeLog for 2.0.20-RC22b7c4f7
[K/Wasm] Don't add mappings into source-maps for unavailable sourcese35e9ae
Update codeownersc580c67
[K/N] Remember StableRefs, released during RC colleciton (KT-70159)565a35c
[FIR2IR] UnsetisLateinit
flag for properties implemented by delegation5607bd3
[Test] Reproduce KT-70417ce5d599
[K/JS] Fix coroutines on ES2015 generators when there is not a GeneratorCorou...ca9fb23
Disallow open@Composable
functions with default params9a4c77e
Update codeownersUpdates
org.jetbrains.kotlin.plugin.serialization
from 2.0.0 to 2.0.20Release notes
Sourced from org.jetbrains.kotlin.plugin.serialization's releases.