kiwicom / navigation-compose-typed

Type-safe arguments for Jetpack Navigation Compose using Kotlinx.Serialization
MIT License
220 stars 9 forks source link

fix(deps): update kotlin & dokka & compose compiler #138

Open renovate[bot] opened 4 months ago

renovate[bot] commented 4 months ago

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
androidx.compose.compiler:compiler (source) 1.5.13 -> 1.5.15 age adoption passing confidence
org.jetbrains.kotlinx.binary-compatibility-validator 0.14.0 -> 0.16.3 age adoption passing confidence
org.jetbrains.kotlin.plugin.serialization (source) 1.9.23 -> 1.9.25 age adoption passing confidence
org.jetbrains.kotlin.android (source) 1.9.23 -> 1.9.25 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-serialization-json 1.6.3 -> 1.7.3 age adoption passing confidence
org.jetbrains.kotlin:kotlin-stdlib-jdk8 (source) 1.9.23 -> 1.9.25 age adoption passing confidence

Release Notes

Kotlin/binary-compatibility-validator (org.jetbrains.kotlinx.binary-compatibility-validator) ### [`v0.16.3`](https://redirect.github.com/Kotlin/binary-compatibility-validator/releases/tag/0.16.3) [Compare Source](https://redirect.github.com/Kotlin/binary-compatibility-validator/compare/0.16.2...0.16.3) What's Changed: - Fixed support for Gradle version older than `8.2` ([#​263](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/263)) ### [`v0.16.2`](https://redirect.github.com/Kotlin/binary-compatibility-validator/releases/tag/0.16.2) ##### What's Changed: - The plugin was changed to use the Gradle Workers API and its classpath isolation mode to remove almost all dependencies from the plugin itself; all required libraries are now fetched on demand, in isolation from the buildscript classpath ([#​208](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/208), [#​256](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/256), [#​258](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/258)). ### [`v0.16.0`](https://redirect.github.com/Kotlin/binary-compatibility-validator/releases/tag/0.16.0) [Compare Source](https://redirect.github.com/Kotlin/binary-compatibility-validator/compare/0.15.1...0.16.0) ##### What changed: - Updated Kotlin Metadata JVM library to the latest version (now it's `kotlin-metadata-jvm:2.0.0`) [#​255](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/255) - Various improvements in KLib ABI dumping API [#​253](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/253), [#​254](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/254) ### [`v0.15.1`](https://redirect.github.com/Kotlin/binary-compatibility-validator/releases/tag/0.15.1) [Compare Source](https://redirect.github.com/Kotlin/binary-compatibility-validator/compare/0.15.0...0.15.1) ##### What changed: - Fixed a regression introduced in `0.15.0` affecting how enum entries from classes with non-public companions are dumped ([#​250](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/250)) ### [`v0.15.0`](https://redirect.github.com/Kotlin/binary-compatibility-validator/releases/tag/0.15.0) [Compare Source](https://redirect.github.com/Kotlin/binary-compatibility-validator/compare/0.14.0...0.15.0) This release finalizes what was added in the series of beta releases and adds Kotlin libraries (KLib) dumping and validation support. See [project's README](https://redirect.github.com/Kotlin/binary-compatibility-validator/tree/master?tab=readme-ov-file#experimental-klib-abi-validation-support) for details on how to enable it for your project. **The release contains some breaking changes** that were made to align and fix BCV behavior across all supported configurations: - BCV now (again) uses case-sensitive dump file names ([https://github.com/Kotlin/binary-compatibility-validator/pull/237](https://redirect.github.com/Kotlin/binary-compatibility-validator/pull/237)); - Multiplatform projects having no release sources (for instance, test-only projects) now need to be either explicitly excluded or an empty dump file needs to be generated for them ([https://github.com/Kotlin/binary-compatibility-validator/issues/231](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/231)); - Gradle tasks provided by the plugin changed their API to use Gradle Properties instead of plain Kotlin properties. If any of these changes affect your projects, **please check the migration guide** for details on what needs to be done to update BCV to 0.15.0: [0.15.0 Migration Guide](https://redirect.github.com/Kotlin/binary-compatibility-validator/blob/master/docs/design/0.15.0-migration-guide.md). ##### What changed: ##### From `0.15.0-Beta.3` - Non-public markers are now correctly handled when applied to `const val`s ([#​90](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/90), [#​245](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/245)) - Fixed KLib dump and validation behavior for empty projects ([#​246](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/246), [#​247](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/247)); now `apiDump` will emit an empty file and `apiCheck` will successfully consume it ##### From `0.14.0` (brief overview of Beta.1 .. Beta.3 changes) - `List.dump` now sorts declarations the same way the Gradle task does ([https://github.com/Kotlin/binary-compatibility-validator/pull/188](https://redirect.github.com/Kotlin/binary-compatibility-validator/pull/188)) - API dump file names (for both JVM and Klib dumps) need to be case-sensitive ([https://github.com/Kotlin/binary-compatibility-validator/issues/231](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/231), [https://github.com/Kotlin/binary-compatibility-validator/pull/237](https://redirect.github.com/Kotlin/binary-compatibility-validator/pull/237)) - Validation behavior for empty projects was aligned across all supported configurations ([https://github.com/Kotlin/binary-compatibility-validator/issues/243](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/243), [https://github.com/Kotlin/binary-compatibility-validator/pull/244](https://redirect.github.com/Kotlin/binary-compatibility-validator/pull/244)); now, such projects must either contain API dump files or be explicitly excluded using ignoredProjects. - Experimental KLib ABI dumping and validation support was added ([#​183](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/183), [#​203](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/203), [#​196](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/196), [#​197](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/197), [#​234](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/234), [#​219](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/219), [#​214](https://redirect.github.com/Kotlin/binary-compatibility-validator/issues/214)) I want to give a shout-out to everyone involved! Special thanks to [@​benedekh](https://redirect.github.com/benedekh), [@​adam-enko](https://redirect.github.com/adam-enko), [@​JakeWharton](https://redirect.github.com/JakeWharton), [@​rickclephas](https://redirect.github.com/rickclephas), [@​lukellmann](https://redirect.github.com/lukellmann), [@​illarionov](https://redirect.github.com/illarionov), [@​sandwwraith](https://redirect.github.com/sandwwraith), [@​martinbonnin](https://redirect.github.com/martinbonnin), [@​ilya-g](https://redirect.github.com/ilya-g) and [@​shanshin](https://redirect.github.com/shanshin) for their feedback and contributions.
JetBrains/kotlin (org.jetbrains.kotlin.plugin.serialization) ### [`v1.9.25`](https://redirect.github.com/JetBrains/kotlin/releases/tag/v1.9.25): Kotlin 1.9.25 ##### ***Note:** This is a technical release for IntelliJ IDEA.* #### Changelog ##### Tools. JPS - [`KT-69204`](https://youtrack.jetbrains.com/issue/KT-69204) Generate lookups in dumb mode for compatibility with ref index ### [`v1.9.24`](https://redirect.github.com/JetBrains/kotlin/releases/tag/v1.9.24): 1.9.24 #### Changelog ##### Backend. Wasm - [`KT-64890`](https://youtrack.jetbrains.com/issue/KT-64890) K/Wasm compiler crash with external class and Kodein ##### Compiler - [`KT-65235`](https://youtrack.jetbrains.com/issue/KT-65235) JDK 21 might lead to change in overloads resolution - [`KT-66768`](https://youtrack.jetbrains.com/issue/KT-66768) K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call ##### Native - [`KT-67218`](https://youtrack.jetbrains.com/issue/KT-67218) Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary ##### Tools. Gradle - [`KT-67139`](https://youtrack.jetbrains.com/issue/KT-67139) Build reports can be overridden - [`KT-67138`](https://youtrack.jetbrains.com/issue/KT-67138) Json report is empty for incremental compilation ##### Tools. Gradle. Multiplatform - [`KT-67127`](https://youtrack.jetbrains.com/issue/KT-67127) KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machines - [`KT-66514`](https://youtrack.jetbrains.com/issue/KT-66514) Don't get output file from Cinterop task for IDE Import if host os doesn't support it ##### Tools. JPS - [`KT-65043`](https://youtrack.jetbrains.com/issue/KT-65043) JPS dumb mode should respect maps needed for the compiler ##### Tools. Wasm - [`KT-67785`](https://youtrack.jetbrains.com/issue/KT-67785) Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore - [`KT-65864`](https://youtrack.jetbrains.com/issue/KT-65864) K/Wasm: update Node.js to 22.x
Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-json) ### [`v1.7.3`](https://redirect.github.com/Kotlin/kotlinx.serialization/blob/HEAD/CHANGELOG.md#173--2024-09-19) \================== 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](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2818)) - Drop usage of deprecated Any?.freeze() in K/N target ([#​2819](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2819)) - Check against serialName instead of simpleClassName ([#​2802](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2802)) - Ignore NoClassDefFoundError when initializing builtins map for serializer() function ([#​2803](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2803)) - Clarify example for SerializationException ([#​2806](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2806)) ### [`v1.7.2`](https://redirect.github.com/Kotlin/kotlinx.serialization/blob/HEAD/CHANGELOG.md#172--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](https://datatracker.ietf.org/doc/html/rfc8152), 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. This functionality [was contributed](https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2412) to us by [Bernd Prünster](https://redirect.github.com/JesusMcCloud). #### Keeping generated serializers 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. You can check out the examples in [the documentation](docs/serializers.md#simultaneous-use-of-plugin-generated-and-custom-serializers) and in the PRs: [#​2758](https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2758), [#​2669](https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2669). #### Serializer for kotlin.uuid.Uuid Kotlin 2.0.20 [added](https://kotlinlang.org/docs/whatsnew2020.html#support-for-uuids-in-the-common-kotlin-standard-library) 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](https://redirect.github.com/Kotlin/kotlinx.serialization/blob/master/docs/serializers.md#contextual-serialization). Plugin will be able to automatically insert `Uuid` serializer in Kotlin 2.1.0. See more details in the [corresponding PR](https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2744). #### Other bugfixes and improvements - Prohibited using of zero and negative field numbers in ProtoNumber ([#​2766](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2766)) - Improve readability of protobuf decoding exception messages ([#​2768](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2768)) (thanks to [xiaozhikang0916](https://redirect.github.com/xiaozhikang0916)) - docs(serializers): Fix grammatical errors ([#​2779](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2779)) (thanks to [jamhour1g](https://redirect.github.com/jamhour1g)) - Fixed VerifyError after ProGuard optimization ([#​2728](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2728)) - Add wasm-wasi target to Okio integration ([#​2727](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2727)) ### [`v1.7.1`](https://redirect.github.com/Kotlin/kotlinx.serialization/blob/HEAD/CHANGELOG.md#171--2024-06-25) \================== This is a bugfix release that aims to fix missing `kotlinx-serialization-hocon` artifact. It also contains experimental integration with `kotlinx-io` library. Kotlin 2.0.0 is used by default. #### Fixed HOCON publication Sadly, 1.7.0 release was published incomplete: `kotlinx-serialization-hocon` artifact is missing from 1.7.0 and 1.7.0-RC releases. This release fixes this problem and now `kotlinx-serialization-hocon` is available again with 1.7.1 version. No other changes were made to this artifact. Related ticket: [#​2717](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2717). #### Add integration with a kotlinx-io library [`kotlinx-io`](https://redirect.github.com/Kotlin/kotlinx-io) is an official multiplatform library that provides basic IO primitives, similar to Okio. kotlinx.serialization integration is now available in a separate artifact, located at the `kotlinx-serialization-json-io` coordinates. Integration artifact provides functions similar to existing [Okio integration](https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-json-okio/kotlinx.serialization.json.okio/): `encodeToSink`, `decodeFromSource`, and `decodeSourceToSequence`. Check out the [PR](https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2707) for more details. #### Other bugfixes - Prohibited use of elements other than JsonObject in JsonTransformingSerializer with polymorphic serialization ([#​2715](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2715)) ### [`v1.7.0`](https://redirect.github.com/Kotlin/kotlinx.serialization/blob/HEAD/CHANGELOG.md#170--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](https://redirect.github.com/Kotlin/kotlinx.serialization/releases/tag/v1.7.0-RC), 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](https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2680)).

Configuration

📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.



This PR was generated by Mend Renovate. View the repository job log.