In conjunction with the Kotlin 1.8.0 release our team added support for it in ProGuard 7.3.1! In addition, we are happy to share numerous improvements and changes with ProGuardCORE 9.0.7, including the ability to process Kotlin 1.8 metadata.
You can apply the latest updates and view the full release notes here:
ProGuard 7.3.1
ProGuardCORE 9.0.7
ProGuard 7.3.1 Notes
Kotlin support
- Add support for Kotlin 1.8.
Improved
- Conservative optimization is now the default. Previously, it could be enabled by setting the
optimize.conservatively
system property. This has been replaced with the-optimizeaggressively
option, which sets optimization to aggressive. - Improve optimization performance in edge cases with generated code. (#283)
ProGuardCORE 9.0.7
Improved
- Don’t report warnings for missing Kotlin default implementation classes when initializing with
ClassReferenceInitializer
. - Only link matching methods in Kotlin file facades with
MethodLinker
. - Extend the
LimitedHashMap
parameterization with an element exclusion selector. - Add the possibility to add a predicate to taint sources and sinks for selective response to calls.
API Improvements
- Add
KotlinMetadataAsserter
to check the integrity of Kotlin metadata. - Add
JvmReturnTaintSink
to support return instruction sinks in taint analysis. - Use method signatures instead of fully qualified names in taint sources and sinks.
API changes
-
JvmTaintSink
has been generalized, useJvmInvokeTaintSink
to have the old functionalities.