[!WARNING]
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
Kotlin/kotlinx-kover (org.jetbrains.kotlinx.kover)
### [`v0.8.3`](https://redirect.github.com/Kotlin/kotlinx-kover/blob/HEAD/CHANGELOG.md#083--2024-07-18)
\===================
#### Kover Aggregation Plugin
- Added support for Android projects in Kover Aggregation Plugin
#### Kover Maven Plugin
- [`#51`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/51) Implemented Kover Maven Plugin
### [`v0.8.2`](https://redirect.github.com/Kotlin/kotlinx-kover/blob/HEAD/CHANGELOG.md#082--2024-06-27)
\===================
#### Kover Aggregation Plugin
Implemented prototype of Kover Aggregation Plugin - an alternative to the existing Kover Gradle Plugin, it makes it easier to set up a configuration and collect coverage reactively, depending on the compilation and test tasks running.
**This is not a production-ready plugin, it is in an incubation state.**
Please refer to the [GitHub issue](https://redirect.github.com/Kotlin/kotlinx-kover/issues/608) and [documentation](https://kotlin.github.io/kotlinx-kover/gradle-plugin/aggregated.html) for details.
#### Kover Gradle Plugin
##### Bugfixes
- [`#621`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/621) Fixed coverage evaluation for enum in K2
- [`#633`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/633) Fix issue with identical cache keys between projects
- [`#613`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/613) Fixed JaCoCo error: Can't add different class with same name
- [`#601`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/601) Fixed support of Compose functions
- [`#646`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/646) Fixed reusing of configuration cache
- [`#628`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/628) Fixed coverage evaluation of try-finally and try-with-resources for Java code
##### Features
- Disable caching on kover artifact tasks
### [`v0.8.1`](https://redirect.github.com/Kotlin/kotlinx-kover/blob/HEAD/CHANGELOG.md#081--2024-06-07)
\===================
#### Kover Gradle Plugin
##### Features
- [`#600`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/600) Apply recommendations for improving DSL
- Added DSL to copy one report variant
##### Bugfixes
- [`#610`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/610) Fixed `KoverCriticalException` with a certain order of applying of plugins
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.
detekt/detekt (io.gitlab.arturbosch.detekt)
### [`v1.23.7`](https://redirect.github.com/detekt/detekt/releases/tag/v1.23.7)
##### 1.23.7 - 2024-09-08
This is a point release for Detekt `1.23.0`, built against Kotlin `2.0.10`, with fixes for several bugs that got reported by the community.
##### Notable Changes
- fix(deps): update kotlin monorepo to v2.0.10 - [#7517](https://redirect.github.com/detekt/detekt/pull/7517)
- Update to Kotlin 2.0.0 [#6640](https://redirect.github.com/detekt/detekt/pull/6640)
- fix(deps): update kotlin monorepo to v1.9.24 - [#7264](https://redirect.github.com/detekt/detekt/pull/7264)
- fix(deps): update dependency com.android.tools.build:gradle to v8.5.2 - [#7525](https://redirect.github.com/detekt/detekt/pull/7525)
- chore(deps): update dependency gradle to v8.10 - [#7546](https://redirect.github.com/detekt/detekt/pull/7546)
##### Changelog
- Add basic support for isolated projects to 1.x - [#7526](https://redirect.github.com/detekt/detekt/pull/7526)
- ExplicitCollectionElementAccessMethod: fix false positive when Map put has 3 arguments - [#7563](https://redirect.github.com/detekt/detekt/pull/7563)
- BracesOnIfStatements: fix false-positive when chained - [#7444](https://redirect.github.com/detekt/detekt/pull/7444)
- Add enum entry check in `UndocumentedPublicProperty` - [#7426](https://redirect.github.com/detekt/detekt/pull/7426)
- Use the anchor which is already present before - [#7423](https://redirect.github.com/detekt/detekt/pull/7423)
- Fix small corner-case in "SerialVersionUIDInSerializableClass" rule, … - [#7346](https://redirect.github.com/detekt/detekt/pull/7346)
- SwallowedException: fix false positive when exception is used as a receiver - [#7288](https://redirect.github.com/detekt/detekt/pull/7288)
- NamedArguments: fix false positive on spread varargs - [#7283](https://redirect.github.com/detekt/detekt/pull/7283)
- MultilineLambdaItParameter: fix false negative with single statement on multiple lines - [#7221](https://redirect.github.com/detekt/detekt/pull/7221)
- Check for root of receiver in selector expression - [#7220](https://redirect.github.com/detekt/detekt/pull/7220)
- Check for `public companion` object for `UndocumentedPublicClass` - [#7219](https://redirect.github.com/detekt/detekt/pull/7219)
- fix: TopLevelPropertyNaming also detecting extension property name - [#7212](https://redirect.github.com/detekt/detekt/pull/7212)
- Publish detekt-compiler-plugin-all to Maven and GH Releases - [#7179](https://redirect.github.com/detekt/detekt/pull/7179)
- versioned default detekt config file link - [#7161](https://redirect.github.com/detekt/detekt/pull/7161)
- Support rangeUntil operator for UnusedImport rule - [#7104](https://redirect.github.com/detekt/detekt/pull/7104)
- Fix false positive on it usages when type parameter is specified - [#6850](https://redirect.github.com/detekt/detekt/pull/6850)
##### Housekeeping/Docs
- \[bugfix] AnnotationOnSeparateLine in snippets - [#6526](https://redirect.github.com/detekt/detekt/pull/6526)
- Add docs about using the Compiler Plugin with the Kotlin CLI compiler - [#7184](https://redirect.github.com/detekt/detekt/pull/7184)
Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-protobuf)
### [`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))
qos-ch/slf4j (org.slf4j:slf4j-api)
### [`v2.0.16`](https://redirect.github.com/qos-ch/slf4j/compare/v_2.0.15...v_2.0.16)
### [`v2.0.15`](https://redirect.github.com/qos-ch/slf4j/compare/v2.0.14...v_2.0.15)
### [`v2.0.14`](https://redirect.github.com/qos-ch/slf4j/compare/v_2.0.13...v_2.0.14)
Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-debug)
### [`v1.9.0`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-190)
[Compare Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.9.0-RC.2...1.9.0)
##### Features
- Wasm/WASI target support ([#4064](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4064)). Thanks, [@igoriakovlev](https://redirect.github.com/igoriakovlev)!
- `limitedParallelism` now optionally accepts the name of the dispatcher view for easier debugging ([#4023](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4023)).
- No longer initialize `Dispatchers.IO` on the JVM when other standard dispatchers are accessed ([#4166](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4166)). Thanks, [@metalhead8816](https://redirect.github.com/metalhead8816)!
- Introduced the `Flow.chunked(size: Int): Flow>` operator that groups emitted values into groups of the given size ([#1290](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1290)).
- Closeable dispatchers are instances of `AutoCloseable` now ([#4123](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4123)).
##### Fixes
- Calling `hasNext` on a `Channel`'s iterator is idempotent ([#4065](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4065)). Thanks, [@gitpaxultek](https://redirect.github.com/gitpaxultek)!
- `CoroutineScope()` created without an explicit dispatcher uses `Dispatchers.Default` on Native ([#4074](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4074)). Thanks, [@whyoleg](https://redirect.github.com/whyoleg)!
- Fixed a bug that prevented non-Android `Dispatchers.Main` from initializing when the Firebase dependency is used ([#3914](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3914)).
- Ensured a more intuitive ordering of tasks in `runBlocking` ([#4134](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4134)).
- Forbid casting a `Mutex` to `Semaphore` ([#4176](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4176)).
- Worked around a stack overflow that may occur when calling `asDeferred` on a `Future` many times ([#4156](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4156)).
##### Deprecations and promotions
- Advanced the deprecation levels for `BroadcastChannel`-based API ([#4197](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4197)).
- Advanced the deprecation levels for the old `kotlinx-coroutines-test` API ([#4198](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4198)).
- Deprecated `Job.cancelFutureOnCompletion` ([#4173](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4173)).
- Promoted `CoroutineDispatcher.limitedParallelism` to stable ([#3864](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3864)).
- Promoted `CoroutineStart.ATOMIC` from `ExperimentalCoroutinesApi` to `DelicateCoroutinesApi` ([#4169](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4169)).
- Promoted `CancellableContinuation.resume` with an `onCancellation` lambda to stable, providing extra arguments to the lambda ([#4088](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4088)).
- Marked the classes and interfaces that are not supposed to be inherited from with the new `InternalForInheritanceCoroutinesApi` opt-in ([#3770](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3770)).
- Marked the classes and interfaces inheriting from which is not stable with the new `ExperimentalForInheritanceCoroutinesApi` opt-in ([#3770](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3770)).
##### Other
- Kotlin was updated to 2.0 ([#4137](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4137)).
- Reworked the documentation for `CoroutineStart` and `Channel`-based API ([#4147](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4147), [#4148](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4148), [#4167](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4167)). Thanks, [@globsterg](https://redirect.github.com/globsterg)!
- Simplified the internal implementation of `Job` ([#4053](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4053)).
- Small tweaks, fixes, and documentation improvements.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
0.8.0
->0.8.3
0.8.0
->0.8.3
0.14.0
->0.16.3
1.23.6
->1.23.7
1.23.6
->1.23.7
1.7.1
->1.7.3
1.7.1
->1.7.3
1.7.1
->1.7.3
1.7.1
->1.7.3
2.0.1
->2.0.2
5.10.3
->5.11.0
1.0.0-pre.781
->1.0.0-pre.812
1.2.1
->1.3.0
2.0.13
->2.0.16
1.9.0-RC.2
->1.9.0
1.9.0-RC.2
->1.9.0
1.9.0-RC.2
->1.9.0
Release Notes
Kotlin/kotlinx-kover (org.jetbrains.kotlinx.kover)
### [`v0.8.3`](https://redirect.github.com/Kotlin/kotlinx-kover/blob/HEAD/CHANGELOG.md#083--2024-07-18) \=================== #### Kover Aggregation Plugin - Added support for Android projects in Kover Aggregation Plugin #### Kover Maven Plugin - [`#51`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/51) Implemented Kover Maven Plugin ### [`v0.8.2`](https://redirect.github.com/Kotlin/kotlinx-kover/blob/HEAD/CHANGELOG.md#082--2024-06-27) \=================== #### Kover Aggregation Plugin Implemented prototype of Kover Aggregation Plugin - an alternative to the existing Kover Gradle Plugin, it makes it easier to set up a configuration and collect coverage reactively, depending on the compilation and test tasks running. **This is not a production-ready plugin, it is in an incubation state.** Please refer to the [GitHub issue](https://redirect.github.com/Kotlin/kotlinx-kover/issues/608) and [documentation](https://kotlin.github.io/kotlinx-kover/gradle-plugin/aggregated.html) for details. #### Kover Gradle Plugin ##### Bugfixes - [`#621`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/621) Fixed coverage evaluation for enum in K2 - [`#633`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/633) Fix issue with identical cache keys between projects - [`#613`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/613) Fixed JaCoCo error: Can't add different class with same name - [`#601`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/601) Fixed support of Compose functions - [`#646`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/646) Fixed reusing of configuration cache - [`#628`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/628) Fixed coverage evaluation of try-finally and try-with-resources for Java code ##### Features - Disable caching on kover artifact tasks ### [`v0.8.1`](https://redirect.github.com/Kotlin/kotlinx-kover/blob/HEAD/CHANGELOG.md#081--2024-06-07) \=================== #### Kover Gradle Plugin ##### Features - [`#600`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/600) Apply recommendations for improving DSL - Added DSL to copy one report variant ##### Bugfixes - [`#610`](https://redirect.github.com/Kotlin/kotlinx-kover/issues/610) Fixed `KoverCriticalException` with a certain order of applying of pluginsKotlin/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) - `Listdetekt/detekt (io.gitlab.arturbosch.detekt)
### [`v1.23.7`](https://redirect.github.com/detekt/detekt/releases/tag/v1.23.7) ##### 1.23.7 - 2024-09-08 This is a point release for Detekt `1.23.0`, built against Kotlin `2.0.10`, with fixes for several bugs that got reported by the community. ##### Notable Changes - fix(deps): update kotlin monorepo to v2.0.10 - [#7517](https://redirect.github.com/detekt/detekt/pull/7517) - Update to Kotlin 2.0.0 [#6640](https://redirect.github.com/detekt/detekt/pull/6640) - fix(deps): update kotlin monorepo to v1.9.24 - [#7264](https://redirect.github.com/detekt/detekt/pull/7264) - fix(deps): update dependency com.android.tools.build:gradle to v8.5.2 - [#7525](https://redirect.github.com/detekt/detekt/pull/7525) - chore(deps): update dependency gradle to v8.10 - [#7546](https://redirect.github.com/detekt/detekt/pull/7546) ##### Changelog - Add basic support for isolated projects to 1.x - [#7526](https://redirect.github.com/detekt/detekt/pull/7526) - ExplicitCollectionElementAccessMethod: fix false positive when Map put has 3 arguments - [#7563](https://redirect.github.com/detekt/detekt/pull/7563) - BracesOnIfStatements: fix false-positive when chained - [#7444](https://redirect.github.com/detekt/detekt/pull/7444) - Add enum entry check in `UndocumentedPublicProperty` - [#7426](https://redirect.github.com/detekt/detekt/pull/7426) - Use the anchor which is already present before - [#7423](https://redirect.github.com/detekt/detekt/pull/7423) - Fix small corner-case in "SerialVersionUIDInSerializableClass" rule, … - [#7346](https://redirect.github.com/detekt/detekt/pull/7346) - SwallowedException: fix false positive when exception is used as a receiver - [#7288](https://redirect.github.com/detekt/detekt/pull/7288) - NamedArguments: fix false positive on spread varargs - [#7283](https://redirect.github.com/detekt/detekt/pull/7283) - MultilineLambdaItParameter: fix false negative with single statement on multiple lines - [#7221](https://redirect.github.com/detekt/detekt/pull/7221) - Check for root of receiver in selector expression - [#7220](https://redirect.github.com/detekt/detekt/pull/7220) - Check for `public companion` object for `UndocumentedPublicClass` - [#7219](https://redirect.github.com/detekt/detekt/pull/7219) - fix: TopLevelPropertyNaming also detecting extension property name - [#7212](https://redirect.github.com/detekt/detekt/pull/7212) - Publish detekt-compiler-plugin-all to Maven and GH Releases - [#7179](https://redirect.github.com/detekt/detekt/pull/7179) - versioned default detekt config file link - [#7161](https://redirect.github.com/detekt/detekt/pull/7161) - Support rangeUntil operator for UnusedImport rule - [#7104](https://redirect.github.com/detekt/detekt/pull/7104) - Fix false positive on it usages when type parameter is specified - [#6850](https://redirect.github.com/detekt/detekt/pull/6850) ##### Housekeeping/Docs - \[bugfix] AnnotationOnSeparateLine in snippets - [#6526](https://redirect.github.com/detekt/detekt/pull/6526) - Add docs about using the Compiler Plugin with the Kotlin CLI compiler - [#7184](https://redirect.github.com/detekt/detekt/pull/7184)Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-protobuf)
### [`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))qos-ch/slf4j (org.slf4j:slf4j-api)
### [`v2.0.16`](https://redirect.github.com/qos-ch/slf4j/compare/v_2.0.15...v_2.0.16) ### [`v2.0.15`](https://redirect.github.com/qos-ch/slf4j/compare/v2.0.14...v_2.0.15) ### [`v2.0.14`](https://redirect.github.com/qos-ch/slf4j/compare/v_2.0.13...v_2.0.14)Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-debug)
### [`v1.9.0`](https://redirect.github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-190) [Compare Source](https://redirect.github.com/Kotlin/kotlinx.coroutines/compare/1.9.0-RC.2...1.9.0) ##### Features - Wasm/WASI target support ([#4064](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4064)). Thanks, [@igoriakovlev](https://redirect.github.com/igoriakovlev)! - `limitedParallelism` now optionally accepts the name of the dispatcher view for easier debugging ([#4023](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4023)). - No longer initialize `Dispatchers.IO` on the JVM when other standard dispatchers are accessed ([#4166](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4166)). Thanks, [@metalhead8816](https://redirect.github.com/metalhead8816)! - Introduced the `Flow>` operator that groups emitted values into groups of the given size ([#1290](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1290)). - Closeable dispatchers are instances of `AutoCloseable` now ([#4123](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4123)). ##### Fixes - Calling `hasNext` on a `Channel`'s iterator is idempotent ([#4065](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4065)). Thanks, [@gitpaxultek](https://redirect.github.com/gitpaxultek)! - `CoroutineScope()` created without an explicit dispatcher uses `Dispatchers.Default` on Native ([#4074](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4074)). Thanks, [@whyoleg](https://redirect.github.com/whyoleg)! - Fixed a bug that prevented non-Android `Dispatchers.Main` from initializing when the Firebase dependency is used ([#3914](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3914)). - Ensured a more intuitive ordering of tasks in `runBlocking` ([#4134](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4134)). - Forbid casting a `Mutex` to `Semaphore` ([#4176](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4176)). - Worked around a stack overflow that may occur when calling `asDeferred` on a `Future` many times ([#4156](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4156)). ##### Deprecations and promotions - Advanced the deprecation levels for `BroadcastChannel`-based API ([#4197](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4197)). - Advanced the deprecation levels for the old `kotlinx-coroutines-test` API ([#4198](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4198)). - Deprecated `Job.cancelFutureOnCompletion` ([#4173](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4173)). - Promoted `CoroutineDispatcher.limitedParallelism` to stable ([#3864](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3864)). - Promoted `CoroutineStart.ATOMIC` from `ExperimentalCoroutinesApi` to `DelicateCoroutinesApi` ([#4169](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4169)). - Promoted `CancellableContinuation.resume` with an `onCancellation` lambda to stable, providing extra arguments to the lambda ([#4088](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4088)). - Marked the classes and interfaces that are not supposed to be inherited from with the new `InternalForInheritanceCoroutinesApi` opt-in ([#3770](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3770)). - Marked the classes and interfaces inheriting from which is not stable with the new `ExperimentalForInheritanceCoroutinesApi` opt-in ([#3770](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3770)). ##### Other - Kotlin was updated to 2.0 ([#4137](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4137)). - Reworked the documentation for `CoroutineStart` and `Channel`-based API ([#4147](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4147), [#4148](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4148), [#4167](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4167)). Thanks, [@globsterg](https://redirect.github.com/globsterg)! - Simplified the internal implementation of `Job` ([#4053](https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4053)). - Small tweaks, fixes, and documentation improvements.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.