Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 23, 2025

This PR contains the following updates:

Package Change Age Confidence
org.jetbrains.kotlinx.binary-compatibility-validator 0.15.0-Beta.2 -> 0.18.1 age confidence
org.jetbrains.kotlinx:binary-compatibility-validator 0.15.0-Beta.2 -> 0.18.1 age confidence

Release Notes

Kotlin/binary-compatibility-validator (org.jetbrains.kotlinx.binary-compatibility-validator)

v0.18.1

Compare Source

What's Changed
  • Fixed a bug preventing use of cross-compilation support during KLIB dump validation [#​304][#​306]

v0.18.0

Compare Source

What's Changed

  • Supported KLIB cross compilation enabled in Kotlin 2.1.0 #​299
  • Fixed issue with early properties evaluation #​286
  • Started excluding local classes created by Parcelize #​300

Thanks to @​TheMrMilchmann, @​osipxd, and @​Goooler for their contributions!

v0.17.0

Compare Source

What's Changed

  • $suspendImpl functions are now filtered from dumps (#​271)
    This change may cause validation failures for projects where dumps already contain such functions. It is recommended to regenerate dumps (apiDump task) after updating the BCV to 0.17.0.
  • Supported class files generated for JVM target 23 (#​284)

v0.16.3

Compare Source

What's Changed:

  • Fixed support for Gradle version older than 8.2 (#​263)

v0.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, #​256, #​258).

v0.16.0

Compare Source

What changed:
  • Updated Kotlin Metadata JVM library to the latest version (now it's kotlin-metadata-jvm:2.0.0) #​255
  • Various improvements in KLib ABI dumping API #​253, #​254

v0.15.1

Compare Source

What changed:
  • Fixed a regression introduced in 0.15.0 affecting how enum entries from classes with non-public companions are dumped (#​250)

v0.15.0

Compare Source

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 (#​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: 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)
  • List<ClassBinarySignature>.dump now sorts declarations the same way the Gradle task does (#​188)
  • 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.
  • Experimental KLib ABI dumping and validation support was added (#​183, #​203, #​196, #​197, #​234, #​219, #​214)

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.

v0.15.0-Beta.3

Compare Source

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!


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 these updates again.


  • If you want to rebase/retry this PR, check this box

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

@codecov
Copy link

codecov bot commented Feb 23, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.17%. Comparing base (ca42819) to head (aab1ebe).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #696   +/-   ##
=======================================
  Coverage   79.17%   79.17%           
=======================================
  Files          42       42           
  Lines         941      941           
  Branches      169      169           
=======================================
  Hits          745      745           
  Misses        120      120           
  Partials       76       76           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@renovate renovate bot force-pushed the renovate/binary.compatibility.validator branch from c59780f to edc6034 Compare March 3, 2025 16:14
@renovate renovate bot force-pushed the renovate/binary.compatibility.validator branch from edc6034 to a157cd3 Compare June 25, 2025 00:28
@renovate renovate bot changed the title fix(deps): update binary.compatibility.validator to v0.17.0 fix(deps): update binary.compatibility.validator Jun 25, 2025
@renovate renovate bot changed the title fix(deps): update binary.compatibility.validator fix(deps): update binary.compatibility.validator to v0.18.0 Jun 25, 2025
@renovate renovate bot force-pushed the renovate/binary.compatibility.validator branch from a157cd3 to 711fc68 Compare July 10, 2025 02:40
@renovate renovate bot changed the title fix(deps): update binary.compatibility.validator to v0.18.0 fix(deps): update binary.compatibility.validator to v0.18.1 Jul 10, 2025
@renovate renovate bot force-pushed the renovate/binary.compatibility.validator branch from 711fc68 to f397f8e Compare August 16, 2025 11:32
@renovate renovate bot force-pushed the renovate/binary.compatibility.validator branch from f397f8e to 1004b60 Compare September 8, 2025 12:11
@renovate renovate bot force-pushed the renovate/binary.compatibility.validator branch from 1004b60 to aab1ebe Compare September 20, 2025 16:29
@renovate renovate bot force-pushed the renovate/binary.compatibility.validator branch from aab1ebe to 0d9d06b Compare October 9, 2025 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🆕 Triage

Development

Successfully merging this pull request may close these issues.

1 participant