Skip to content

Releases: Guardsquare/proguard

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)

7.3.0

15 Nov 17:03
Compare
Choose a tag to compare

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

19 Sep 15:59
Compare
Choose a tag to compare
7.3.0-beta2 Pre-release
Pre-release

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)

7.3.0-beta1

09 Sep 16:03
Compare
Choose a tag to compare
7.3.0-beta1 Pre-release
Pre-release

Version 7.3.0-beta1

Java support

New Java versions are released every 6 months.
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. (#247)

Kotlin support

New Kotlin versions are released every 6 months.
To allow ProGuard to continue to optimize, obfuscate and shrink Kotlin generated class files and their corresponding metadata ProGuard now supports Kotlin reading Kotlin classes from version 1.0 to 1.7 and writing Kotlin metadata with version 1.6 (readable by Kotlin reflection library / compiler 1.5 - 1.7).

  • Add support for Kotlin 1.7.
  • Improve support for Kotlin library projects. (T3752)

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).