Releases: Guardsquare/proguard
Releases · Guardsquare/proguard
7.5
7.4.2
Bugfixes
- Fix potential access issues when backporting.
- Fix potential NoClassDefFoundError when using type specialization optimization. (#373)
- Improve processing of Kotlin metadata flags to prevent unnecessary null checks for consumers of protected library artifacts.
- Prevent potential
StackGeneralizationException
during optimization when processing methods with many arguments.
Added
ProGuardTask
support for Gradle configuration cache. (#254)
7.4.1
7.4
Java support
- Add support for Java 21. (#331)
Kotlin support
- Add support for Kotlin 1.9.
Bugfixes
- Fix "NoClassDefFoundError: Failed resolution of: Lorg/apache/logging/log4j/LogManager" when using GSON optimization or
-addconfigurationdebugging
. (#326) - Don't drop Record attribute for records with no components. (proguard-core#118)
- Fix potential duplication class when name obfuscating Kotlin multi-file facades.
- Do not inline interface methods during optimization to avoid compilation errors during output writing due to an interface method being made package visible.
Added
- Support parsing of wildcard
*
when used as a field type or method return type in class specifications.
7.4.0-beta02
Version 7.4-beta02
Java support
- Add support for Java 21. (#331)
Kotlin support
- Add support for Kotlin 1.9.
Bugfixes
- Fix "NoClassDefFoundError: Failed resolution of: Lorg/apache/logging/log4j/LogManager" when using GSON optimization or
-addconfigurationdebugging
. (#326) - Don't drop Record attribute for records with no components. (proguard-core#118)
- Fix potential duplication of classes when name obfuscating Kotlin multi-file facades.
7.4.0-beta01
7.3.2
7.3.1
Version 7.3.1
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)
Bugfixes
- Fix
-keepparameternames
to keep Kotlin function, constructor and property setter parameter names. - Fix
-keepparameternames
to keep Kotlin annotation constructor parameter names. - Fix
-keepparameternames
to keep Kotlin interface parameter names. - Fix potential
NullPointerException
while processing enum classes with invalid Kotlin metadata. - Fix potential
Instruction has invalid constant index size
error during GSON optimization. - Fix member specialization & generalization optimizations.
- Fix potential "Сan't find referenced class ClassName$DefaultImpls" warnings. (#290)
7.3.0
Java support
To allow ProGuard to continue to optimize, obfuscate and shrink Java class files ProGuard now supports all Java versions including Java 19.
- Add support for Java 19. (
PGD-247
)
Kotlin support
ProGuard 7.3 deprecates the -keepkotlinmetadata
option. You can use -keep class kotlin.Metadata
instead
which automatically enables processing of Kotlin metadata. Some consumer rules, from libraries
such as kotlin-reflect
, already contain this rule which means that Kotlin metadata processing will be enabled
automatically in those cases.
- Add support for Kotlin 1.7.
- Improve support for Kotlin library projects. (
T3752
) - Automatically process Kotlin Metadata when keeping the
kotlin.Metadata
annotation. (T3116
)
Improved
- Improve app startup times when using
-addconfigurationdebugging
. (T17153
)
Bug fixes
- Prevent merging classes with native methods that would result in
UnsatisfiedLinkError
. - Fix optimization of simple enums (optimization
class/unboxing/enums
). - Prevent potential build time
NullPointerException
when processing Kotlin interface methods. - Fix ProGuard Gradle Plugin not working correctly on Windows. (
PGD-272
)
7.3.0-beta2
Version 7.3.0-beta2
7.3.0-beta2 includes 2 bug fixes, on top of the changes in 7.3.0-beta1.
Bug fixes
- Prevent potential build time
NullPointerException
when processing Kotlin interface methods. - Fix ProGuard Gradle Plugin not working correctly on Windows. (
PGD-272
)