Kotlin/binary-compatibility-validator (org.jetbrains.kotlinx.binary-compatibility-validator)
### [`v0.15.1`](https://togithub.com/Kotlin/binary-compatibility-validator/releases/tag/0.15.1)
[Compare Source](https://togithub.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://togithub.com/Kotlin/binary-compatibility-validator/issues/250))
### [`v0.15.0`](https://togithub.com/Kotlin/binary-compatibility-validator/releases/tag/0.15.0)
[Compare Source](https://togithub.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://togithub.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://togithub.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://togithub.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://togithub.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://togithub.com/Kotlin/binary-compatibility-validator/issues/90), [#245](https://togithub.com/Kotlin/binary-compatibility-validator/issues/245))
- Fixed KLib dump and validation behavior for empty projects ([#246](https://togithub.com/Kotlin/binary-compatibility-validator/issues/246), [#247](https://togithub.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://togithub.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://togithub.com/Kotlin/binary-compatibility-validator/issues/231), [https://github.com/Kotlin/binary-compatibility-validator/pull/237](https://togithub.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://togithub.com/Kotlin/binary-compatibility-validator/issues/243), [https://github.com/Kotlin/binary-compatibility-validator/pull/244](https://togithub.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://togithub.com/Kotlin/binary-compatibility-validator/issues/183), [#203](https://togithub.com/Kotlin/binary-compatibility-validator/issues/203), [#196](https://togithub.com/Kotlin/binary-compatibility-validator/issues/196), [#197](https://togithub.com/Kotlin/binary-compatibility-validator/issues/197), [#234](https://togithub.com/Kotlin/binary-compatibility-validator/issues/234), [#219](https://togithub.com/Kotlin/binary-compatibility-validator/issues/219), [#214](https://togithub.com/Kotlin/binary-compatibility-validator/issues/214))
I want to give a shout-out to everyone involved! Special thanks to [@benedekh](https://togithub.com/benedekh), [@adam-enko](https://togithub.com/adam-enko), [@JakeWharton](https://togithub.com/JakeWharton), [@rickclephas](https://togithub.com/rickclephas), [@lukellmann](https://togithub.com/lukellmann), [@illarionov](https://togithub.com/illarionov), [@sandwwraith](https://togithub.com/sandwwraith), [@martinbonnin](https://togithub.com/martinbonnin), [@ilya-g](https://togithub.com/ilya-g) and [@shanshin](https://togithub.com/shanshin) for their feedback and contributions.
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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
0.14.0
->0.15.1
Release Notes
Kotlin/binary-compatibility-validator (org.jetbrains.kotlinx.binary-compatibility-validator)
### [`v0.15.1`](https://togithub.com/Kotlin/binary-compatibility-validator/releases/tag/0.15.1) [Compare Source](https://togithub.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://togithub.com/Kotlin/binary-compatibility-validator/issues/250)) ### [`v0.15.0`](https://togithub.com/Kotlin/binary-compatibility-validator/releases/tag/0.15.0) [Compare Source](https://togithub.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://togithub.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://togithub.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://togithub.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://togithub.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://togithub.com/Kotlin/binary-compatibility-validator/issues/90), [#245](https://togithub.com/Kotlin/binary-compatibility-validator/issues/245)) - Fixed KLib dump and validation behavior for empty projects ([#246](https://togithub.com/Kotlin/binary-compatibility-validator/issues/246), [#247](https://togithub.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) - `ListConfiguration
📅 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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.