Skip to content

0.15.0

Compare
Choose a tag to compare
@fzhinkin fzhinkin released this 08 Jul 08:17
· 12 commits to master since this release

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.