Skip to content
This repository was archived by the owner on Nov 13, 2025. It is now read-only.

Bump the kotlin group across 1 directory with 2 updates#20

Merged
Buried-In-Code merged 1 commit intomainfrom
dependabot/gradle/kotlin-5e63b58826
Jan 7, 2025
Merged

Bump the kotlin group across 1 directory with 2 updates#20
Buried-In-Code merged 1 commit intomainfrom
dependabot/gradle/kotlin-5e63b58826

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Jan 6, 2025

Bumps the kotlin group with 2 updates in the / directory: org.jetbrains.kotlinx:kotlinx-serialization-json and org.xerial:sqlite-jdbc.

Updates org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.3 to 1.8.0

Release notes

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

1.8.0

This release contains all of the changes from 1.8.0-RC. Kotlin 2.1.0 is used as a default, while upcoming 2.1.10 is also supported. Also added small bugfixes, including speedup of ProtoWireType.from (#2879).

Changelog for 1.8.0-RC is presented below:

@JsonIgnoreUnknownKeys annotation

Previously, only global setting JsonBuilder.ignoreUnknownKeys controlled whether Json parser would throw exception if input contained a property that was not declared in a @Serializable class. There were a lot of complaints that this setting is not flexible enough. To address them, we added new @JsonIgnoreUnknownKeys annotation that can be applied on a per-class basis. With this annotation, it is possible to allow unknown properties for annotated classes, while general decoding methods (such as Json.decodeFromString and others) would still reject them for everything else. See details in the corresponding PR.

Stabilization of SerialDescriptor API and @SealedSerializationApi annotation

SerialDescriptor, SerialKind, and related API has been around for a long time and has proven itself useful. The main reason @ExperimentalSerializationApi was on SerialDescriptor's properties is that we wanted to discourage people from subclassing it. Fortunately, Kotlin 2.1 provides a special mechanism for such a case — SubclassOptInRequired. New kotlinx.serialization.SealedSerializationApi annotation designates APIs as public for use, but closed for implementation — the case for SerialDescriptor, which is a non-sealed interface for technical reasons. Now you can use most of SerialDescriptor and its builders API without the need to opt-in into experimental serialization API. See the PR for more details.

Note: All SerialKinds are stable API now, except PolymorphicKind — we may want to expand it in the future.

Generate Java 8's default method implementations in interfaces

TL;DR This change ensures better binary compatibility in the future for library. You should not experience any difference from it.

kotlinx.serialization library contains a lot of interfaces with default method implementations. Historically, Kotlin compiled a synthetic DefaultImpls class for them. Starting from Kotlin 1.4, it was possible to compile them using as Java 8's default methods to ensure that new methods can still be added to interfaces without the need for implementors to recompile. To preserve binary compatibility with existing clients, a special all-compatbility mode is supported in compiler to generate both default methods and synthetic DefaultImpls class.

Now, kotlinx.serialization finally makes use of this all-compatibility mode, which potentially allows us to add new methods to interfaces such as SerialDescriptor, Encoder, Decoder, etc., without breaking existing clients. This change is expected to have no effect on existing clients, and no action from your side is required.

... (truncated)

Changelog

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

1.8.0 / 2025-01-06

This release contains all of the changes from 1.8.0-RC. Kotlin 2.1.0 is used as a default, while upcoming 2.1.10 is also supported. Also added small bugfixes, including speedup of ProtoWireType.from (#2879).

1.8.0-RC / 2024-12-10

This is a release candidate for the next version. It is based on Kotlin 2.1.0 and includes a few new features, as well as bugfixes and improvements:

@JsonIgnoreUnknownKeys annotation

Previously, only global setting JsonBuilder.ignoreUnknownKeys controlled whether Json parser would throw exception if input contained a property that was not declared in a @Serializable class. There were a lot of complaints that this setting is not flexible enough. To address them, we added new @JsonIgnoreUnknownKeys annotation that can be applied on a per-class basis. With this annotation, it is possible to allow unknown properties for annotated classes, while general decoding methods (such as Json.decodeFromString and others) would still reject them for everything else. See details in the corresponding PR.

Stabilization of SerialDescriptor API and @SealedSerializationApi annotation

SerialDescriptor, SerialKind, and related API has been around for a long time and has proven itself useful. The main reason @ExperimentalSerializationApi was on SerialDescriptor's properties is that we wanted to discourage people from subclassing it. Fortunately, Kotlin 2.1 provides a special mechanism for such a case — SubclassOptInRequired. New kotlinx.serialization.SealedSerializationApi annotation designates APIs as public for use, but closed for implementation — the case for SerialDescriptor, which is a non-sealed interface for technical reasons. Now you can use most of SerialDescriptor and its builders API without the need to opt-in into experimental serialization API. See the PR for more details.

Note: All SerialKinds are stable API now, except PolymorphicKind — we may want to expand it in the future.

Generate Java 8's default method implementations in interfaces

TL;DR This change ensures better binary compatibility in the future for library. You should not experience any difference from it.

kotlinx.serialization library contains a lot of interfaces with default method implementations. Historically, Kotlin compiled a synthetic DefaultImpls class for them. Starting from Kotlin 1.4, it was possible to compile them using as Java 8's default methods to ensure that new methods can still be added to interfaces without the need for implementors to recompile. To preserve binary compatibility with existing clients, a special all-compatbility mode is supported in compiler

... (truncated)

Commits

Updates org.xerial:sqlite-jdbc from 3.47.1.0 to 3.47.2.0

Release notes

Sourced from org.xerial:sqlite-jdbc's releases.

Release 3.47.2.0

Changelog

🚀 Features

sqlite

  • upgrade to sqlite 3.47.2 (0bd2f8f)

🐛 Fixes

jdbc

  • getColumns doesn't correctly parse precision/scale with whitespace (8455468), closes #1215

🛠 Build

deps

  • bump org.apache.maven.plugins:maven-javadoc-plugin (533efae)
  • bump org.graalvm.buildtools:native-maven-plugin (bbe5e1e)

deps-dev

  • bump org.assertj:assertj-core from 3.26.3 to 3.27.0 (8283aa7)
  • bump org.junit.jupiter:junit-jupiter (80e51ea)

Contributors

We'd like to thank the following people for their contributions: Gauthier, Gauthier Roebroeck

Commits
  • d56e2c4 chore(release): 3.47.2.0 [skip ci]
  • 3e3f5b9 chore: update native libraries
  • 0bd2f8f feat(sqlite): upgrade to sqlite 3.47.2
  • 8283aa7 build(deps-dev): bump org.assertj:assertj-core from 3.26.3 to 3.27.0
  • 80e51ea build(deps-dev): bump org.junit.jupiter:junit-jupiter
  • 533efae build(deps): bump org.apache.maven.plugins:maven-javadoc-plugin
  • bbe5e1e build(deps): bump org.graalvm.buildtools:native-maven-plugin
  • 8455468 fix(jdbc): getColumns doesn't correctly parse precision/scale with whitespace
  • 27cbdc0 chore(release): prepare next snapshot [skip ci]
  • See full diff in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps the kotlin group with 2 updates in the / directory: [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) and [org.xerial:sqlite-jdbc](https://github.com/xerial/sqlite-jdbc).


Updates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.7.3 to 1.8.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.7.3...v1.8.0)

Updates `org.xerial:sqlite-jdbc` from 3.47.1.0 to 3.47.2.0
- [Release notes](https://github.com/xerial/sqlite-jdbc/releases)
- [Changelog](https://github.com/xerial/sqlite-jdbc/blob/master/CHANGELOG)
- [Commits](xerial/sqlite-jdbc@3.47.1.0...3.47.2.0)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: kotlin
- dependency-name: org.xerial:sqlite-jdbc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: kotlin
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Jan 6, 2025
@Buried-In-Code Buried-In-Code merged commit 8adc4c2 into main Jan 7, 2025
@Buried-In-Code Buried-In-Code deleted the dependabot/gradle/kotlin-5e63b58826 branch January 7, 2025 04:21
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

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.

1 participant