We’re excited to share the release of ProGuard 7.2.2 and ProGuardCORE 9.0.1. As always, you can download ProGuard from GitHub or check out the manual to integrate it into your build .
Here are a few relevant updates for ProGuard:
Improved
- Remove Kotlin Intrinsics strings by default, without requiring the -keepkotlinmetadata option. (T16518)
Bug fixes
-
Fix “Can’t save configuration file” error in ProGuardGUI. (PGD-220)
-
Fix missing warnings in ProGuardGUI. (PGD-239)
-
Fix rule configurations that extend annotation classes. (PGD-229)
-
Fix “No matching variant” Gradle plugin error when using Gradle 7.4 and Java 8. (PGD-2311)
-
Fix potential Kotlin metadata initialization issue when using the -Xno-optimized-callable-references compiler option. (T16486)
-
Fix potential “bad class file” caused by sorting attributes in class files (PGD-192)
And some relevant updates for ProGuardCORE:
Improved
-
ExecutingInvocationUnit
now loads values from static final fields. -
Initialize Kotlin lambda method references when the JVM method name is
<anonymous>
. (T16483
) -
Add the possibility of limiting the number of
CodeAttributes
contributing into CFA. -
Add the possibility of limiting the number of
CodeAttributes
considered by theCallResolver
.
Bug fixes
-
Fix wrong handling of array types in
ExecutingIvocationUnit
andParticularReferenceValue
. -
ParticularReferenceValue
sanity checks now take inheritance into consideration, improving call analysis. (T15197
) -
Prevent missing semicolon leading to an infinite loop in
ClassUtil#internalMethodParameterCount
. -
Make category 2 CPA taint sources affect only the most significant byte abstract state.
-
Fix inconsistent usage of type names in the context of the
PartialEvaluator
that could result in trying to create an internal type string from a string that was already an internal type. (T15513
) -
Fix initialization of Kotlin callable references when using
-Xno-optimized-callable-references
compiler option. (T16486
)
You can check out the full list of release notes for ProGuard and ProGuardCORE here and here.
As always, please let us know what you think.