Skip to content

Releases: Guardsquare/proguard

7.6.1

12 Dec 11:39
Compare
Choose a tag to compare

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 the optimization.enable.slot.replacement system property.

7.6

02 Oct 15:50
Compare
Choose a tag to compare
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

29 May 16:02
af475c6
Compare
Choose a tag to compare
7.5

Kotlin support

  • Add support for Kotlin 2.0. (#376)

Java support

  • Add support for Java 22. (#387)

Bugfixes

  • Prevent unwanted name collision leading to missing methods in Kotlin DefaultImpls classes.
  • Prevent ParseException when consumer rules contain -maximumremovedandroidloglevel rules.

7.4.2

31 Jan 17:12
Compare
Choose a tag to compare

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

22 Nov 10:27
Compare
Choose a tag to compare

Bugfixes

  • Fix inadvertent closing of System.out when printing configuration. (#365)

Added

  • Support for parsing of <clinit> methods without specifying the return type in class specifications.

7.4

12 Oct 13:25
Compare
Choose a tag to compare
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

04 Sep 13:02
9a7a97d
Compare
Choose a tag to compare
7.4.0-beta02 Pre-release
Pre-release

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

27 Jul 16:57
Compare
Choose a tag to compare
7.4.0-beta01 Pre-release
Pre-release

Version 7.4.0-beta01

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)

7.3.2

17 Mar 13:44
Compare
Choose a tag to compare

Version 7.3.2

Java support

  • Add support for Java 20. (#294)

Improved

  • Merge classes only when -optimizeaggressively is set.

Bugfixes

  • Fix potential ArrayIndexOutOfBoundsException when processing Kotlin metadata. (#297)

7.3.1

16 Jan 08:47
Compare
Choose a tag to compare

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)