Skip to content

9.0.9

Compare
Choose a tag to compare
@mrjameshamilton mrjameshamilton released this 07 Jun 16:05
· 229 commits to master since this release
72ff4a8

Kotlin support

  • Add support for processing Kotlin 1.9 metadata.
  • Update kotlinx metadata dependency to version 0.6.0.

Java support

  • Update maximum supported Java class version to 65.65535 (Java 21).

Improved

  • Added support for adding line numbers in the CodeAttributeEditor.
  • Improve performance of ClassReferenceInitializer when initializing Kotlin type aliases.
  • Improve performance of ClassPool.removeClass.
  • Allow more configuration of ExecutingInvocationUnit by using ExecutingInvocationUnit.Builder.
  • Add a mode to ExecutingInvocationUnit to approximate reference of types not supported for the execution via reflection.
  • Implement Autocloseable in DataEntryWriter interface.
  • JvmTransferRelation does not store anymore static variables with default value, reducing the dataflow analysis state space.

Bug fixes

  • Use program location as hash code for JvmAbstractState to allow correct use with hash sets.
  • Fix a bug in JvmTransferRelation handling arithmetic instructions returning category 2 values incorrectly.
  • Fix delegation of proguard.evaluation.value.ParticularValueFactory#createReferenceValueNull().

API changes

  • The key used for fields in JvmAbstractState has been updated to include the field type to disambiguate between
    overloaded fields.
  • Replace allNodes field in proguard.analysis.cpa.defaults.Cfa with getAllNodes method to save memory.
  • Constructor for ExecutingInvocationUnit is deprecated, use ExecutingInvocationUnit.Builder instead.