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

build(deps): bump serializationVersion from 1.5.0 to 1.6.0 #609

Merged
merged 1 commit into from
Sep 28, 2023

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Aug 23, 2023

Bumps serializationVersion from 1.5.0 to 1.6.0.
Updates org.jetbrains.kotlinx:kotlinx-serialization-protobuf from 1.5.0 to 1.6.0

Release notes

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

1.6.0

This release contains all features and bugfixes from 1.6.0-RC plus some bugfixes on its own (see below). Kotlin 1.9.0 is used as a default, while 1.9.10 is also supported.

Bugfixes

  • Improve error messages from Json parser (#2406)
  • Mark @SerialName, @Required and @Transient with @MustBeDocumented (#2407)
  • Ensure that no additional files except java compiler output get into multi-release jar (#2405)
  • Fix enums with negative numbers in protobuf not serializing & de-serializing (#2400) (thanks to Doğaç Eldenk)

1.6.0-RC

This release is based on the Kotlin 1.9.0.

Removal of Legacy JS target

Some time ago, in Kotlin 1.8, JS IR compiler was promoted to stable and old JS compiler was deprecated. Kotlin 1.9 promotes the usage of deprecated JS compiler to an error. As a result, kotlinx.serialization no longer builds with the legacy compiler and does not distribute artifacts for it. You can read the migration guide for JS IR compiler here.

Also pay attention to the fact that Kotlin/Native also has some deprecated targets that are going to be removed in the Kotlin 1.9.20. Therefore, kotlinx.serialization 1.6.0-RC and 1.6.0 are likely the last releases that support these targets.

Case insensitivity for enums in Json

This release features a new configuration flag for Json: decodeEnumsCaseInsensitive that allows you to decode enum values in a case-insensitive manner. For example, when decoding enum class Foo { VALUE_A , VALUE_B} both inputs "value_a" and "value_A" will yield Foo.VALUE_A. You can read more about this feature in the documentation and corresponding PR.

Other bugfixes and enhancements

  • Add support to decode numeric literals containing an exponent (#2227) (thanks to Roberto Blázquez)
  • Fix NoSuchMethodError related to Java 8 API compatibility (#2328, #2350) (thanks to Björn Kautler)
  • Changed actual FormatLanguage annotation for JS and Native to avoid problems with duplicating org.intellij.lang.annotations.Language (#2390, #2379)
  • Fix error triggered by 'consume leading class discriminator' polymorphic parsing optimization (#2362)
  • Fix runtime error with Serializer for Nothing on the JS target (#2330) (thanks to Shreck Ye)
  • Fix beginStructure in JsonTreeDecoder when inner structure descriptor is same as outer (#2346) (thanks to Ugljesa Jovanovic)
  • Actualize 'serializer not found' platform-specific message (#2339)
  • Fixed regression with serialization using a list parametrized with contextual types (#2331)

1.5.1

This release contains an important Native targets overhaul, as well as numerous enhancements and bugfixes. Kotlin 1.8.21 is used by default.

New set of Native targets

The official Kotlin target support policy has recently been published describing new target policy: each target belongs to a certain tier, and different tiers have different stability guarantees. The official recommendation for library authors is to support targets up to Tier 3, and kotlinx.serialization now follows it. It means that in this release, there are a lot of new targets added from this tier, such as androidNativeX86 or watchosDeviceArm64. Note that since they belong to Tier 3, they're not auto-tested on CI.

kotlinx.serialization also ships some deprecated Kotlin/Native targets that do not belong to any tier (e.g. iosArm32, mingwX86). We'll continue to release them, but we do not provide support for them, nor do we plan to add new targets from the deprecated list.

Improvements in Json elements

There are two new function sets that should make creating raw Json elements easier.

... (truncated)

Changelog

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

1.6.0 / 2023-08-22

This release contains all features and bugfixes from 1.6.0-RC plus some bugfixes on its own (see below). Kotlin 1.9.0 is used as a default, while 1.9.10 is also supported.

Bugfixes

1.6.0-RC / 2023-08-03

This release is based on the Kotlin 1.9.0.

Removal of Legacy JS target

Some time ago, in Kotlin 1.8, JS IR compiler was promoted to stable and old JS compiler was deprecated. Kotlin 1.9 promotes the usage of deprecated JS compiler to an error. As a result, kotlinx.serialization no longer builds with the legacy compiler and does not distribute artifacts for it. You can read the migration guide for JS IR compiler here.

Also pay attention to the fact that Kotlin/Native also has some deprecated targets that are going to be removed in the Kotlin 1.9.20. Therefore, kotlinx.serialization 1.6.0-RC and 1.6.0 are likely the last releases that support these targets.

Case insensitivity for enums in Json

This release features a new configuration flag for Json: decodeEnumsCaseInsensitive that allows you to decode enum values in a case-insensitive manner. For example, when decoding enum class Foo { VALUE_A , VALUE_B} both inputs "value_a" and "value_A" will yield Foo.VALUE_A. You can read more about this feature in the documentation and corresponding PR.

Other bugfixes and enhancements

  • Add support to decode numeric literals containing an exponent (#2227) (thanks to Roberto Blázquez)
  • Fix NoSuchMethodError related to Java 8 API compatibility (#2328, #2350) (thanks to Björn Kautler)
  • Changed actual FormatLanguage annotation for JS and Native to avoid problems with duplicating org.intellij.lang.annotations.Language (#2390, #2379)
  • Fix error triggered by 'consume leading class discriminator' polymorphic parsing optimization (#2362)
  • Fix runtime error with Serializer for Nothing on the JS target (#2330) (thanks to Shreck Ye)
  • Fix beginStructure in JsonTreeDecoder when inner structure descriptor is same as outer (#2346) (thanks to Ugljesa Jovanovic)
  • Actualize 'serializer not found' platform-specific message (#2339)
  • Fixed regression with serialization using a list parametrized with contextual types (#2331)

1.5.1 / 2023-05-11

This release contains an important Native targets overhaul, as well as numerous enhancements and bugfixes. Kotlin 1.8.21 is used by default.

... (truncated)

Commits

Updates org.jetbrains.kotlinx:kotlinx-serialization-json from 1.5.0 to 1.6.0

Release notes

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

1.6.0

This release contains all features and bugfixes from 1.6.0-RC plus some bugfixes on its own (see below). Kotlin 1.9.0 is used as a default, while 1.9.10 is also supported.

Bugfixes

  • Improve error messages from Json parser (#2406)
  • Mark @SerialName, @Required and @Transient with @MustBeDocumented (#2407)
  • Ensure that no additional files except java compiler output get into multi-release jar (#2405)
  • Fix enums with negative numbers in protobuf not serializing & de-serializing (#2400) (thanks to Doğaç Eldenk)

1.6.0-RC

This release is based on the Kotlin 1.9.0.

Removal of Legacy JS target

Some time ago, in Kotlin 1.8, JS IR compiler was promoted to stable and old JS compiler was deprecated. Kotlin 1.9 promotes the usage of deprecated JS compiler to an error. As a result, kotlinx.serialization no longer builds with the legacy compiler and does not distribute artifacts for it. You can read the migration guide for JS IR compiler here.

Also pay attention to the fact that Kotlin/Native also has some deprecated targets that are going to be removed in the Kotlin 1.9.20. Therefore, kotlinx.serialization 1.6.0-RC and 1.6.0 are likely the last releases that support these targets.

Case insensitivity for enums in Json

This release features a new configuration flag for Json: decodeEnumsCaseInsensitive that allows you to decode enum values in a case-insensitive manner. For example, when decoding enum class Foo { VALUE_A , VALUE_B} both inputs "value_a" and "value_A" will yield Foo.VALUE_A. You can read more about this feature in the documentation and corresponding PR.

Other bugfixes and enhancements

  • Add support to decode numeric literals containing an exponent (#2227) (thanks to Roberto Blázquez)
  • Fix NoSuchMethodError related to Java 8 API compatibility (#2328, #2350) (thanks to Björn Kautler)
  • Changed actual FormatLanguage annotation for JS and Native to avoid problems with duplicating org.intellij.lang.annotations.Language (#2390, #2379)
  • Fix error triggered by 'consume leading class discriminator' polymorphic parsing optimization (#2362)
  • Fix runtime error with Serializer for Nothing on the JS target (#2330) (thanks to Shreck Ye)
  • Fix beginStructure in JsonTreeDecoder when inner structure descriptor is same as outer (#2346) (thanks to Ugljesa Jovanovic)
  • Actualize 'serializer not found' platform-specific message (#2339)
  • Fixed regression with serialization using a list parametrized with contextual types (#2331)

1.5.1

This release contains an important Native targets overhaul, as well as numerous enhancements and bugfixes. Kotlin 1.8.21 is used by default.

New set of Native targets

The official Kotlin target support policy has recently been published describing new target policy: each target belongs to a certain tier, and different tiers have different stability guarantees. The official recommendation for library authors is to support targets up to Tier 3, and kotlinx.serialization now follows it. It means that in this release, there are a lot of new targets added from this tier, such as androidNativeX86 or watchosDeviceArm64. Note that since they belong to Tier 3, they're not auto-tested on CI.

kotlinx.serialization also ships some deprecated Kotlin/Native targets that do not belong to any tier (e.g. iosArm32, mingwX86). We'll continue to release them, but we do not provide support for them, nor do we plan to add new targets from the deprecated list.

Improvements in Json elements

There are two new function sets that should make creating raw Json elements easier.

... (truncated)

Changelog

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

1.6.0 / 2023-08-22

This release contains all features and bugfixes from 1.6.0-RC plus some bugfixes on its own (see below). Kotlin 1.9.0 is used as a default, while 1.9.10 is also supported.

Bugfixes

1.6.0-RC / 2023-08-03

This release is based on the Kotlin 1.9.0.

Removal of Legacy JS target

Some time ago, in Kotlin 1.8, JS IR compiler was promoted to stable and old JS compiler was deprecated. Kotlin 1.9 promotes the usage of deprecated JS compiler to an error. As a result, kotlinx.serialization no longer builds with the legacy compiler and does not distribute artifacts for it. You can read the migration guide for JS IR compiler here.

Also pay attention to the fact that Kotlin/Native also has some deprecated targets that are going to be removed in the Kotlin 1.9.20. Therefore, kotlinx.serialization 1.6.0-RC and 1.6.0 are likely the last releases that support these targets.

Case insensitivity for enums in Json

This release features a new configuration flag for Json: decodeEnumsCaseInsensitive that allows you to decode enum values in a case-insensitive manner. For example, when decoding enum class Foo { VALUE_A , VALUE_B} both inputs "value_a" and "value_A" will yield Foo.VALUE_A. You can read more about this feature in the documentation and corresponding PR.

Other bugfixes and enhancements

  • Add support to decode numeric literals containing an exponent (#2227) (thanks to Roberto Blázquez)
  • Fix NoSuchMethodError related to Java 8 API compatibility (#2328, #2350) (thanks to Björn Kautler)
  • Changed actual FormatLanguage annotation for JS and Native to avoid problems with duplicating org.intellij.lang.annotations.Language (#2390, #2379)
  • Fix error triggered by 'consume leading class discriminator' polymorphic parsing optimization (#2362)
  • Fix runtime error with Serializer for Nothing on the JS target (#2330) (thanks to Shreck Ye)
  • Fix beginStructure in JsonTreeDecoder when inner structure descriptor is same as outer (#2346) (thanks to Ugljesa Jovanovic)
  • Actualize 'serializer not found' platform-specific message (#2339)
  • Fixed regression with serialization using a list parametrized with contextual types (#2331)

1.5.1 / 2023-05-11

This release contains an important Native targets overhaul, as well as numerous enhancements and bugfixes. Kotlin 1.8.21 is used by default.

... (truncated)

Commits

You can trigger a rebase of this PR 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 this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot bot added the Dependencies Pull requests that update a dependency file label Aug 23, 2023
@@ -146,7 +146,7 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach

dependencies {
val coroutinesVersion = "1.7.3"
val serializationVersion = "1.5.0"
val serializationVersion = "1.6.0"
implementation("ch.acra:acra-mail:5.11.1")
implementation("com.melnykov:floatingactionbutton:1.3.0")
implementation("io.reactivex.rxjava2:rxjava:2.2.21")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on the provided code patch, here's a brief code review:

  1. The code change is related to the version update of the serializationVersion from "1.5.0" to "1.6.0". This indicates that the project will now use a newer version of the serialization library.

  2. There don't seem to be any immediate bug risks in the code patch. It appears to be a straightforward version update.

Suggestions for improvement:

  1. It's generally good practice to keep the dependency versions in a separate location, like a dependencies.gradle file. This allows for easier management and centralized control over the dependencies.

  2. It's advisable to verify if other parts of the project are compatible with the updated version of the serialization library (1.6.0) to ensure smooth functioning of your codebase.

  3. Consider adding comments or documentation explaining the reasons for the version update, especially if it entails breaking changes or new features.

Overall, the provided code patch seems fine, focusing solely on updating the serialization library version. Remember to test the code thoroughly after applying updates to ensure everything continues to work as expected.

@codecov
Copy link

codecov bot commented Aug 23, 2023

Codecov Report

Patch and project coverage have no change.

Comparison is base (ea7ae96) 69.34% compared to head (ea27d7e) 69.34%.
Report is 1 commits behind head on develop.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop     #609   +/-   ##
==========================================
  Coverage      69.34%   69.34%           
  Complexity       582      582           
==========================================
  Files             76       76           
  Lines           4387     4387           
  Branches         526      526           
==========================================
  Hits            3042     3042           
- Misses          1015     1016    +1     
+ Partials         330      329    -1     

see 2 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Bumps `serializationVersion` from 1.5.0 to 1.6.0.

Updates `org.jetbrains.kotlinx:kotlinx-serialization-protobuf` from 1.5.0 to 1.6.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.5.0...v1.6.0)

Updates `org.jetbrains.kotlinx:kotlinx-serialization-json` from 1.5.0 to 1.6.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.5.0...v1.6.0)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/gradle/serializationVersion-1.6.0 branch from 9b716b1 to ea27d7e Compare September 17, 2023 10:59
@@ -146,7 +146,7 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach

dependencies {
val coroutinesVersion = "1.7.3"
val serializationVersion = "1.5.0"
val serializationVersion = "1.6.0"
implementation("ch.acra:acra-mail:5.11.2")
implementation("com.melnykov:floatingactionbutton:1.3.0")
implementation("io.reactivex.rxjava2:rxjava:2.2.21")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the provided code patch, there is only one change which updates the serializationVersion from "1.5.0" to "1.6.0". This suggests that there might be a new version of the serialization library being used.

Potential bug risks:

  • Updating the library version may introduce compatibility issues or bugs with existing code that relies on the previous version. It's important to test the code thoroughly after making this change to ensure it works as expected.
  • The impact of this library update on other dependencies and modules should be considered in case any conflicts or incompatibilities arise.

Suggestions for further improvements:

  • Though the code snippet doesn't provide complete context, make sure to review and validate the rest of the dependencies to ensure they are up-to-date and compatible with the latest versions of Kotlin and other libraries.
  • Consider adding explicit version numbers to the implementation dependencies rather than relying on variables like coroutinesVersion and serializationVersion. This helps maintain better control and traceability over the project's dependencies.

Please note that a more comprehensive code review can only be done by considering the entire context of the codebase and project requirements.

@yuriykulikov yuriykulikov merged commit ac83bec into develop Sep 28, 2023
9 checks passed
@dependabot dependabot bot deleted the dependabot/gradle/serializationVersion-1.6.0 branch September 28, 2023 07:43
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant