Details
-
Task
-
Resolution: Fixed
-
Major
-
10.2
-
None
Description
See http://asm.ow2.org/history.html
new V10 constant for Java 10 class files
xml package deprecated
project layout changed to Maven style
build system changed from Ant to Gradle
coding style changed to Google Java style
code quality and readability improved a lot
code quality tracked with SonarQube
performance improvements
unit tests improved: migrated to JUnit 5, faster, coverage > 95%
non-regression tests added for past issues
benchmarks improved: now use JMH
new Gitlab Continuous Integration pipeline
bug fixes:
317800: Resizing jump instruction adds invalid stack frame to a class without frames
317802: MethodRemapper.visitInvokeDynamicInsn mutates source bsmArgs
317804: Adjust CheckModuleAdapter so Module attribute in 54.0+ class file cannot contains a requires java.base with ACC_TRANSITIVE or ACC_STATIC_PHASE
317807: Asymmetry of ClassWriter for bytecode versions higher than the one that ClassReader accepts
317809: CheckMethodAdapter rejects valid Java and JVM identifiers with surrogate characters
small bug fixes related to modules (https://gitlab.ow2.org/asm/asm/merge_requests/20/, https://gitlab.ow2.org/asm/asm/merge_requests/19/)
backward binary compatibility is preserved, but the behavior at runtime has changed in a few areas:
ACC_SYNTHETIC flag vs Synthetic attribute, see https://gitlab.ow2.org/asm/asm/merge_requests/17
numbering of synthetic parameters: see https://gitlab.ow2.org/asm/asm/merge_requests/56
StringBuffer no longer used in util (Printer.buf deprecated, use stringBuilder instead)