Skip to content

Releases: Kotlin/binary-compatibility-validator

0.15.0-Beta.2

04 Apr 08:37
Compare
Choose a tag to compare

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

What changed:

  • Fixed merged dumps parsing to correctly work with projects having no declarations shared among all supported targets (#201)
  • Fixed KLib ABI dumping and validation for targets that do not produce any artifacts (#199)
  • Improved KLib ABI dumping and validation for projects with generated sources (#206)

Thanks to all early adopters, especially to @JakeWharton, @rickclephas, and @lukellmann for provided feedback

0.15.0-Beta.1

20 Mar 11:46
Compare
Choose a tag to compare

This release add Kotlin libraries (KLib) dumping and validation support.
See project's README for details on how to enable it for your project.

What changed:

  • Experimental KLib ABI dumping and validation support (#183)
  • List<ClassBinarySignature>.dump now sorts declarations the same way the Gradle task does (#188)

Thanks to @benedekh and @adam-enko for contributions and feedback!

0.14.0

29 Jan 15:50
15fe830
Compare
Choose a tag to compare

The release contains changes potentially affecting dump's content (#144, #162, #161, #175).

What changed:

  • $EntriesMappings classes backing Kotlin's 1.9 Enum.entries are now filtered out (#144)
  • Companion class' annotation are now propagated to the corresponding Companion field (#162)
  • Interface's class-level annotations are now propagated to the corresponding DefaultImpls class (#161)
  • An option to setup a custom dump output directory (other that the default api/) is added (#170)
  • Packages annotated in Java package-info classes could be now filtered from the dump by adding these annotations to nonPublicMarkers (#175)
  • Fixed ignoredClasses behavior to avoid exclusion of classes whose name is a prefix of some ignoredClasses values (#136)
  • Gradle is updated to 8.5, build scripts and configs are refactored (#134, #167), strict API mode is enabled (#168)
  • ASM is updated to 8.6 to support classifies targeting Java versions (#173)
  • Tests were cleaned up to avoid hardcoded dump root paths (#154)
  • Badges in the README file were updated (#159)

Thanks to @qwwdfsad, @bryanlogan, @aSemy, @xtrm-en and @Goooler for contributions!

0.13.2

03 Jun 19:22
Compare
Choose a tag to compare
  • kotlinx-metadata is updated to 0.6.2 with the support of LV 2.0

0.13.1

18 Apr 10:33
Compare
Choose a tag to compare
  • Added support for explicit public API markers (#116)

0.13.0

16 Feb 13:18
Compare
Choose a tag to compare
  • Kotlin is updated to 1.8.10
  • kotlinx-metadata is updated to 0.6.0

0.12.1

26 Oct 09:49
Compare
Choose a tag to compare
  • Reverted support of mixed Android Kotlin-Java libraries that lead to empty API dumps (Revert of #94, fixes #103)

0.12.0

20 Oct 16:47
3f37b63
Compare
Choose a tag to compare
  • Support of API dump and comparison directly from JAR (#99)
  • Support of Android Library Plugin (#94). Thanks @realbarisbasturk for the contribution!

0.11.1

05 Sep 09:29
Compare
Choose a tag to compare
  • Fixed compatibility with Gradle configuration cache (#95). Thanks @3flex!

0.11.0

12 Jul 10:24
Compare
Choose a tag to compare
  • kotlinx-metadata is updated to 0.5.0
  • Gradle is updated to 7.4.2 (thanks to @martinbonninmartinbonnin!)