ProGuardCORE 9.0.4 is live with support for Kotlin 1.8 metadata!

ProGuardCORE 9.0.4 is now live! This release includes support for reading & writing Kotlin 1.8 metadata as well as numerous other improvements you can find below.


  • Allow class sub-hierarchy re-initialization for the optimized implementation of ClassSubHierarchyInitializer.
  • Enable providing distinct abort operators for the main and trace reconstruction CPAs.
  • Add a heap model for taint CPA supporting tainting of whole objects.
  • Call API: Add a few utilities and fix inconsistent call argument count getter behavior.
  • Only change the Kotlin metadata version if the original version is unsupported.
  • Add support for Kotlin context receivers in Kotlin metadata.
  • Add support for reading & writing Kotlin 1.8 metadata.

API Improvements

  • Add referencedDefaultImplementationMethodAccept to KotlinFunctionMetadata model class.
  • Deprecated referencedMethodAccept(Clazz, MemberVisitor) in favour of referencedMethodAccept(MemberVisitor) in KotlinFunctionMetadata model class.
  • Add TransformedStringMatcher.
  • Add ClassFeatureNameCollector.
  • Add var-arg constructor to ClassPath.
  • Add DataEntryClassInfoFilter.
  • Add NamedDataEntry.
  • Refactor CodeLocation#getClassName as getExternalClassName to comply with the types naming convention.

As always, let us know any feedback you may have here!