sebaslogen / resaca

Compose Multiplatform library to scope ViewModels to a Composable, surviving configuration changes and navigation
MIT License
427 stars 10 forks source link

Bump org.jetbrains.kotlinx.binary-compatibility-validator from 0.14.0 to 0.15.0 #109

Closed dependabot[bot] closed 4 months ago

dependabot[bot] commented 4 months ago

Bumps org.jetbrains.kotlinx.binary-compatibility-validator from 0.14.0 to 0.15.0.

Release notes

Sourced from org.jetbrains.kotlinx.binary-compatibility-validator's releases.

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 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 (Kotlin/binary-compatibility-validator#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 (Kotlin/binary-compatibility-validator#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.

What changed:

From 0.15.0-Beta.3

  • Non-public markers are now correctly handled when applied to const vals (#90, #245)
  • Fixed KLib dump and validation behavior for empty projects (#246, #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)

I want to give a shout-out to everyone involved! Special thanks to @​benedekh, @​adam-enko, @​JakeWharton, @​rickclephas, @​lukellmann, @​illarionov, @​sandwwraith, @​martinbonnin, @​ilya-g and @​shanshin for their feedback and contributions.

0.15.0-Beta.3

This release provides updated KLib validation support and fixes some previously reported KLib-related issues.

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 (#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 (#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-Beta.3: 0.15.0 Migration Guide.

Compared to 0.15.0-Beta.2, the KLib ABI dump file format was changed to be more readable (#196, #197). The newer BCV version will successfully validate the ABI against golden dump files generated by previous versions, but the execution of the apiDump task will result in updated .klib.api files even if the ABI itself remains the same. Thus, it's recommended to update the plugin and dump files separately from changes affecting your code.

What changed:

  • KLib validation-related Gradle tasks were made public (#203, #204)
  • KLib ABI dump format was improved to group declarations by their type (#197, #224), and additional vertical spacing was added to improve reliability (#196, #225)
  • API dump file names (for both JVM and Klib dumps) need to be case-sensitive (#231, #237)
  • Validation behavior for empty projects was aligned across all supported configurations (#243, #244); now, such projects must either contain API dump files or be explicitly excluded using ignoredProjects.
  • Fixed issue with removed native targets not triggering ABI validation failure (#234, #236)
  • Improved KlibSignatureVersion.toString format (#219, #220)
  • Made apiValidation.klib extension Groovy-friendly (#214, #215)
  • Few other minor improvements and bug fixes (#221, #229, #238)

Thanks to everyone who tried KLib validation support. Special thanks to @​JakeWharton, @​illarionov, @​aSemy, @​sandwwraith for your feedback and suggestions!

0.15.0-Beta.2

This release fixes some issues found in 0.15.0-Beta.1 that were blocking KLib validation use.

... (truncated)

Commits
  • 037e784 Version 0.15.0
  • e2c1ae3 Align klib validation behavior for empty projects with other targets (#247)
  • 0dd6e41 Fix false positive for const val with non-public marker (#245)
  • 7474660 Version 0.15.0-Beta.3
  • 3b1bfe8 Add 0.15.0 migration guide (#242)
  • 3590611 Require JVM ABI dump presence in empty KMP projects (#244)
  • 33a495b Use foojay-resolver-convention to resolve JVM toolchains (#238)
  • db8c335 Correctly handle disappeared native/web targets (#236)
  • d72d9b6 [TESTBUG] Use platform-specific path separator in assertions
  • ee129a1 Make Klib-related Gradle tasks public (#204)
  • Additional commits viewable in compare view


Dependabot compatibility score

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 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)