Releases: Guardsquare/proguard
Releases · Guardsquare/proguard
7.6.1
Bugfixes
- Fix backporting default interface method parameter annotations. (#451)
- Prevent
Value in slot <n> is empty
exception during processing time by no longer applying lower slot replacement by default. It can be enabled again with theoptimization.enable.slot.replacement
system property.
7.6
Java support
- Add support for Java 23. (#387)
Improved
- Improve obfuscation dictionary name performance with large dictionaries. (#413)
Bugfixes
- Prevent unknown enum value for
KmVersionRequirementVersionKind
exception when processing code compiled with an outdated Kotlin version. - ReTrace: Fix separation of multiple frames with a newline. (#432)
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)