Author: ggregory
Date: Thu Jan 22 13:44:56 2026
New Revision: 82057
Log:
Publish bcel 6.12.0 Release
Added:
release/commons/bcel/binaries/bcel-6.12.0-bin.tar.gz
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz
release/commons/bcel/binaries/bcel-6.12.0-bin.tar.gz.asc
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz.asc
release/commons/bcel/binaries/bcel-6.12.0-bin.tar.gz.sha512
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz.sha512
release/commons/bcel/binaries/bcel-6.12.0-bin.zip
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip
release/commons/bcel/binaries/bcel-6.12.0-bin.zip.asc
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip.asc
release/commons/bcel/binaries/bcel-6.12.0-bin.zip.sha512
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip.sha512
release/commons/bcel/source/bcel-6.12.0-src.tar.gz
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz
release/commons/bcel/source/bcel-6.12.0-src.tar.gz.asc
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz.asc
release/commons/bcel/source/bcel-6.12.0-src.tar.gz.sha512
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz.sha512
release/commons/bcel/source/bcel-6.12.0-src.zip
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip
release/commons/bcel/source/bcel-6.12.0-src.zip.asc
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip.asc
release/commons/bcel/source/bcel-6.12.0-src.zip.sha512
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip.sha512
Replaced:
release/commons/bcel/RELEASE-NOTES.txt
- copied unchanged from r82056,
dev/commons/bcel/6.12.0-RC1/RELEASE-NOTES.txt
Deleted:
dev/commons/bcel/6.12.0-RC1/RELEASE-NOTES.txt
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz.asc
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz.sha512
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip.asc
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip.sha512
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz.asc
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz.sha512
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip.asc
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip.sha512
Copied: release/commons/bcel/RELEASE-NOTES.txt (from r82056,
dev/commons/bcel/6.12.0-RC1/RELEASE-NOTES.txt)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/bcel/RELEASE-NOTES.txt Thu Jan 22 13:44:56 2026
(r82057, copy of r82056, dev/commons/bcel/6.12.0-RC1/RELEASE-NOTES.txt)
@@ -0,0 +1,1471 @@
+Apache Commons BCEL Version 6.12.0
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.12.0.
+
+The Commons Byte Code Engineering Library (BCEL) is designed to provide users
with a convenient way to analyze, create, and manipulate compiled .class files.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+New Features
+------------
+* Add Const.MAJOR_26. Thanks to Gary Gregory.
+* Add Const.MINOR_26. Thanks to Gary Gregory.
+
+Fixed Bugs
+----------
+* Fix infinite loop in example.TransitiveHull #476. Thanks to
fmantz, Gary Gregory.
+* Fix Apache RAT plugin console warnings. Thanks to Gary Gregory.
+* Fix malformed Javadoc comments. Thanks to Gary Gregory.
+* Make the build reproducible on the Azul JDK. Thanks to Gary
Gregory.
+* Fix infinite loop in JavaClass.findField() on invalid input.
Thanks to Gary Gregory, Pavel Kohout.
+* Fix infinite loop in JavaClass.getAllInterfaces() on invalid
input. Thanks to Gary Gregory, Pavel Kohout.
+* Fix infinite loop in JavaClass.getSuperClasses() on invalid input.
Thanks to Gary Gregory, Pavel Kohout.
+* Exception message in Args.requireU4() refers to the wrong data
type. Thanks to Gary Gregory.
+* Exception message in Args.requireU2() refers to the wrong upper
range value. Thanks to Gary Gregory.
+* Code.Code(int, int, DataInput, ConstantPool) now throws a
ClassFormatException if the code array is greater than the JVM specification
allows. Thanks to Gary Gregory, Stanislav Fort.
+* Code.Code(int, int, int, int, byte[], CodeException[],
Attribute[], ConstantPool) now throws a ClassFormatException if the code array
is greater than the JVM specification allows. Thanks to Gary Gregory, Stanislav
Fort.
+* Code.setCode(byte[]) now throws a ClassFormatException if the code
array is greater than the JVM specification allows. Thanks to Gary Gregory.
+* ClassDumper.dump() should not call the input stream it didn't
open; fixes IOException when calling DumpClass.main(ClassDumper.java:351).
Thanks to Gary Gregory.
+* org.apache.bcel.classfile.ConstantPool.ConstantPool(Constant[])
now uses varagrs: ConstantPool(Constant...). Thanks to Gary Gregory.
+* org.apache.bcel.classfile.Deprecated now requires its the
attribute_length item be zero; see
https://docs.oracle.com/javase/specs/jvms/se25/html/jvms-4.html#jvms-4.7.15.
Thanks to Gary Gregory.
+* org.apache.bcel.classfile.Synthetic now requires its the
attribute_length item be zero; see
https://docs.oracle.com/javase/specs/jvms/se25/html/jvms-4.html#jvms-4.7.8.
Thanks to Gary Gregory.
+* The size of an Attribute unknown to the JVM specification is
limited to 1 MB and is overridden with the system property
BCEL.Attribute.Unknown.max_attribute_length; see
https://docs.oracle.com/javase/specs/jvms/se25/html/jvms-4.html#jvms-4.7.
Thanks to Gary Gregory, Stanislav Fort.
+
+Changes
+-------
+* Bump org.apache.commons:commons-parent from 89 to 95 #482. Thanks
to Gary Gregory.
+* [test] Bump org.jetbrains.kotlin:kotlin-stdlib from 2.2.20 to
2.3.0 #481. Thanks to Gary Gregory.
+* Bump commons-io:commons-io from 2.20.0 to 2.21.0. Thanks to Gary
Gregory.
+* Bump commons-lang3 from 3.19.0 to 3.20.0. Thanks to Gary Gregory.
+* [test] Bump org.apache.commons:commons-exec from 1.5.0 to 1.6.0.
Thanks to Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcel/changes.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.11.0
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.11.0.
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+New Features
+------------
+* Add Const.MAJOR_25. Thanks to Gary Gregory.
+* Add Const.MINOR_25. Thanks to Gary Gregory.
+* Add experimental CycloneDX VEX file #446. Thanks to Piotr P.
Karwasz, Gary Gregory.
+* Refactor to use new Maven POM variable ecj.version. Thanks to Gary
Gregory.
+
+Fixed Bugs
+----------
+* Replace internal use of Locale.ENGLISH with Locale.ROOT. Thanks to
Gary Gregory.
+* BCEL-375: Wrong permissions on bcel .jar file in binary .tar.gz distribution
file. Thanks to J. Lewis Muir, Gary Gregory.
+* BCEL-376: ClassPath.close() throws UnsupportedOperationException when
created with system-classpath. Thanks to Dominik Stadler, Gary Gregory.
+* ClassPath.getResources(String) can use an ArrayList instead of a
Vector. Thanks to Gary Gregory.
+* Fix SpotBugs [ERROR] Medium: Operation on the "created" shared
variable in "ConstantUtf8" class is not atomic
[org.apache.bcel.classfile.ConstantUtf8] At ConstantUtf8.java:[line 119]
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE. Thanks to Gary Gregory.
+* Fix SpotBugs [ERROR] Medium: Operation on the "considered" shared
variable in "ConstantUtf8" class is not atomic
[org.apache.bcel.classfile.ConstantUtf8] At ConstantUtf8.java:[line 137]
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE. Thanks to Gary Gregory.
+* Fix SpotBugs [ERROR] Medium: Operation on the "skipped" shared
variable in "ConstantUtf8" class is not atomic
[org.apache.bcel.classfile.ConstantUtf8] At ConstantUtf8.java:[line 134]
AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE. Thanks to Gary Gregory.
+* org.apache.bcel.util.ClassPath.addJdkModules(String, List<String>)
now reads the system property "jdk.module.path" instead of "java.modules.path";
see
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/System.html#jdk.module.path.
Thanks to Gary Gregory.
+* Fix ConstantPoolModuleAccessTest failures on Java 25. Thanks to
Andrey Loskutov.
+* 377: Fix testing on Java 24 and up. Thanks to Dejan Stojadinović, Gary
Gregory, Andrey Loskutov.
+
+Changes
+-------
+* Bump org.apache.commons:commons-parent from 72 to 89 #346, #349,
#559, #364, #368, #378, #464. Thanks to Dependabot, Gary Gregory.
+* Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.19.0 #334,
#341, #351, #444. Thanks to Dependabot, Gary Gregory.
+* Bump org.jetbrains.kotlin:kotlin-stdlib from 2.0.0 to 2.2.20 #340,
#347, #369, #390, #407, #422, #434, #441, #452, #462. Thanks to Dependabot,
Gary Gregory.
+* Bump commons-io:commons-io from 2.16.1 to 2.20.0 #357, #387.
Thanks to Dependabot, Gary Gregory.
+* Bump jna.version from 5.14.0 to 5.18.1 #358, #399, #466, #470.
Thanks to Dependabot, Gary Gregory.
+* Bump org.codehaus.mojo:taglist-maven-plugin from 3.1.0 to 3.2.1
#376. Thanks to Dependabot, Gary Gregory.
+* Bump org.apache.commons:commons-collections4 from 4.5.0-M2 to
4.5.0 #395. Thanks to Dependabot, Gary Gregory.
+* Bump org.apache.commons:commons-exec from 1.4.0 to 1.5.0. Thanks
to Dependabot, Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcel/changes.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.10.0
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.10.0.
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Maintenance and bug fix release. Requires a minimum of Java 8.
+
+Changes
+-------
+* Fix PMD UnnecessaryFullyQualifiedName. Thanks to Gary Gregory.
+* Fix PMD EmptyCatchBlock by allowing commented blocks. Thanks to
Gary Gregory.
+* Fix PMD EmptyControlStatement by allowing commented blocks. Thanks
to Gary Gregory.
+* Fix SpotBugs RV_RETURN_VALUE_IGNORED_BAD_PRACTICE in
JasminVisitor. Thanks to Gary Gregory.
+* SpotBugs checks should ignore code generated by JavaCC. Thanks to
Gary Gregory.
+* Fix SpotBugs URF_UNREAD_FIELD in ClassDumper. Thanks to Gary
Gregory.
+* Fix SpotBugs DM_DEFAULT_ENCODING in JasminVisitor. Thanks to Gary
Gregory.
+* Fix SpotBugs RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE in
ASTFunAppl. Thanks to Gary Gregory.
+* Fix SpotBugs RV_ABSOLUTE_VALUE_OF_HASHCODE in Mini.Environment.
Thanks to Gary Gregory.
+* Fix SpotBugs DM_DEFAULT_ENCODING in Mini.MiniC. Thanks to Gary
Gregory.
+* Fix SpotBugs WMI_WRONG_MAP_ITERATOR in Package.go(String[]).
Thanks to Gary Gregory.
+* Deprecate TransitiveHull.INGORED in favor of
TransitiveHull.getIgnored(). Thanks to Gary Gregory.
+* Add accessors to model and unit tests, Javadoc #183. Thanks to
nbauma109, Gary Gregory, Mark Roberts.
+* Add Const.MAJOR_22. Thanks to Gary Gregory.
+* Add Const.MINOR_22. Thanks to Gary Gregory.
+* Add Const.MAJOR_23. Thanks to Gary Gregory.
+* Add Const.MINOR_23. Thanks to Gary Gregory.
+* Add Const.MAJOR_24. Thanks to Gary Gregory.
+* Add Const.MINOR_24. Thanks to Gary Gregory.
+* Bump tests from org.assertj:assertj-core 3.25.3 to 3.26.3 #322,
#332. Thanks to Dependabot.
+* Bump tests from org.jetbrains.kotlin:kotlin-stdlib 1.9.23 to 2.0.0
#309, #318. Thanks to Dependabot.
+* Bump tests from org.apache.commons:commons-collections4 4.4 to
4.5.0-M2. Thanks to Gary Gregory.
+* Bump org.apache.commons:commons-parent from 69 to 71. Thanks to
Gary Gregory.
+* Bump org.codehaus.mojo:taglist-maven-plugin from 3.0.0 to 3.1.0
#331. Thanks to Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcel/changes-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.9.0
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.9.0.
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Maintenance and bug fix release.
+
+Changes
+-------
+* Add Support for Java 16 records #290. Thanks to Pablo Nicolas
Diaz, Gary Gregory, Paul King, Mark Roberts.
+* Add null guard for InstructionFactory.createInvoke() #289. Thanks
to Heewon Lee.
+* Avoid possible NullPointerException in
org.apache.bcel.classfile.DescendingVisitor.accept(E[]). Thanks to Gary Gregory.
+* Avoid possible NullPointerException in
AnnotationEntryGen.getAnnotationAttributes(ConstantPoolGen,
AnnotationEntryGen[]). Thanks to Gary Gregory.
+* Avoid possible NullPointerException in
AnnotationEntryGen.copyValues(ElementValuePair[], ConstantPoolGen, boolean).
Thanks to Gary Gregory.
+* Avoid possible NullPointerException in
ArrayElementValueGen.ArrayElementValueGen(int, ElementValue[],
ConstantPoolGen). Thanks to Gary Gregory.
+* Avoid possible NullPointerException in
org.apache.bcel.generic.ClassGen.setMethods(Method[]). Thanks to Gary Gregory.
+* Avoid possible NullPointerException in
org.apache.bcel.generic.ClassGen.unpackAnnotations(Attribute[]). Thanks to Gary
Gregory.
+* Avoid possible NullPointerException in
org.apache.bcel.classfile.ParameterAnnotationEntry.createParameterAnnotationEntries(Attribute[]).
Thanks to Gary Gregory.
+* Avoid possible NullPointerException in
org.apache.bcel.generic.ClassGen.ClassGen(JavaClass). Thanks to Gary Gregory.
+* Avoid possible NullPointerException in
org.apache.bcel.generic.FieldGenOrMethodGen.addAll(Attribute[]). Thanks to Gary
Gregory.
+* Avoid possible NullPointerException in
org.apache.bcel.classfile.ParameterAnnotationEntry.createParameterAnnotationEntries(Attribute[]).
Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.MethodParameters.setParameters(MethodParameter[])
with null. Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.ParameterAnnotations.setParameterAnnotationTable(ParameterAnnotationEntry[])
with null. Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.LocalVariableTypeTable.setLocalVariableTable(LocalVariable[])
with null. Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.LocalVariableTable.setLocalVariableTable(LocalVariable[])
with null. Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.LineNumberTable.setLineNumberTable(LineNumber[]) with
null. Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.JavaClass.setMethods(Method[] with null. Thanks to
Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.JavaClass.setInterfaces(int[]) with null. Thanks to
Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.JavaClass.setInterfaceNames(String[]) with null.
Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.JavaClass.setFields(Field[]) with null. Thanks to
Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.JavaClass.setAttributes(Attribute[]) with null.
Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.ConstantPool.setConstantPool(Constant[]) with null.
Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.FieldOrMethod.setAttributes(Attribute[]) with null.
Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.Annotations.setAnnotationTable(AnnotationEntry[])
with null. Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.ArrayElementValue.ArrayElementValue(int,
ElementValue[], ConstantPool) with null. Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.BootstrapMethod.BootstrapMethod(int, int[]) with
null. Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.BootstrapMethod.setBootstrapArguments(int[]) with
null. Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.BootstrapMethods.BootstrapMethods(int, int,
BootstrapMethod[], ConstantPool) with null. Thanks to Gary Gregory.
+* Avoid NullPointerException after calling
org.apache.bcel.classfile.BootstrapMethods.setBootstrapMethods(BootstrapMethod[])
with null. Thanks to Gary Gregory.
+* Avoid NullPointerException calling
org.apache.bcel.generic.InstructionList.redirectLocalVariables(LocalVariableGen[],
InstructionHandle, InstructionHandle) with null. Thanks to Gary Gregory.
+* Avoid NullPointerException calling
org.apache.bcel.generic.InstructionList.redirectExceptionHandlers(CodeExceptionGen[],
InstructionHandle, InstructionHandle) with null. Thanks to Gary Gregory.
+* Avoid NullPointerException calling
org.apache.bcel.generic.InstructionList.findHandle(InstructionHandle[], int[],
int, int) with null. Thanks to Gary Gregory.
+* Avoid NullPointerException calling
org.apache.bcel.generic.MethodGen.setArgumentTypes(Type[]) with null. Thanks to
Gary Gregory.
+* Avoid NullPointerException calling
org.apache.bcel.generic.MethodGen.setArgumentNames(String[]) with null. Thanks
to Gary Gregory.
+* Avoid NullPointerException calling
org.apache.bcel.generic.MethodGen.removeRuntimeAttributes(Attribute[]) with
null. Thanks to Gary Gregory.
+* Avoid NullPointerException calling
org.apache.bcel.generic.MethodGen.makeMutableVersion(AnnotationEntry[]) with
null. Thanks to Gary Gregory.
+* Bump org.apache.commons:commons-parent from 66 to 69 #283, #297.
Thanks to Dependabot.
+* Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.22 to 1.9.23
#284. Thanks to Dependabot.
+* Bump commons-io:commons-io from 2.15.1 to 2.16.1 #295, #300.
Thanks to Dependabot.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcel/changes-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.8.2
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.8.2.
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Maintenance and bug fix release.
+
+New Features
+------------
+* Fix ConcurrentModificationException in
org.apache.bcel.util.SyntheticRepository.getInstance() #275. Thanks to
Guillaume Nodet.
+* Add Maven property project.build.outputTimestamp for build
reproducibility. Thanks to Gary Gregory.
+
+Changes
+-------
+* Bump GitHub various actions for CI builds. Thanks to Dependabot.
+* Bump org.assertj:assertj-core from 3.25.1 to 3.25.2. Thanks to
Dependabot.
+* Bump org.apache.commons:commons-parent from 65 to 66. Thanks to
Dependabot.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcel/changes-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.8.1
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.8.1.
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Maintenance and bug fix release.
+
+Fixed Bugs
+-----------
+
+* Replace internal use of StringBuffer with StringBuilder. Thanks to
Gary Gregory.
+* BCEL-370: CONSTANT_Dynamic is not handled in LDC #254. Thanks to Gary
Gregory.
+* BCELComparator now uses generics. Thanks to Gary Gregory.
+* Avoid NullPointerException in ClassGen.BCELComparator#equals() and
ClassGen.BCELComparator#hashCode(). Thanks to Gary Gregory.
+* Avoid NullPointerException in Constant.BCELComparator#equals() and
Constant.BCELComparator#hashCode(). Thanks to Gary Gregory.
+* Avoid NullPointerException in Field.BCELComparator#equals() and
Field.BCELComparator#hashCode(). Thanks to Gary Gregory.
+* Avoid NullPointerException in FieldGen.BCELComparator#equals() and
FieldGen.BCELComparator#hashCode(). Thanks to Gary Gregory.
+* Avoid NullPointerException in JavaClass.BCELComparator#equals()
and JavaClass.BCELComparator#hashCode(). Thanks to Gary Gregory.
+* Avoid NullPointerException in Method.BCELComparator#equals() and
Method.BCELComparator#hashCode(). Thanks to Gary Gregory.
+* Avoid NullPointerException in MethodGen.BCELComparator#equals()
and MethodGen.BCELComparator#hashCode(). Thanks to Gary Gregory.
+
+Changes
+--------
+
+* Bump GitHub various actions for CI builds. Thanks to Dependabot.
+* Bump jna.version from 5.13.0 to 5.14.0 #250. Thanks to Dependabot.
+* Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.21 to 1.9.22
#252. Thanks to Dependabot.
+* Bump org.apache.commons:commons-exec from 1.3 to 1.4.0 #255.
Thanks to Dependabot.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcelchanges-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.8.0
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.8.0!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Maintenance and bug fix release.
+
+New Features
+-------------
+
+* Add and use InvalidMethodSignatureException extending
ClassFormatException. Thanks to Gary Gregory.
+* Increase code coverage in Class2HTMLTestCase with new test input
Java4Example #186. Thanks to nbauma109.
+* Add verifier tests on some opcodes #180. Thanks to nbauma109.
+* Added signature test cases for class/method, and bad signatures
#182. Thanks to nbauma109.
+* Add Const.MAJOR_20. Thanks to Gary Gregory.
+* Add Const.MINOR_20. Thanks to Gary Gregory.
+* Add Const.MAJOR_21. Thanks to Gary Gregory.
+* Add Const.MINOR_21. Thanks to Gary Gregory.
+* [Bcelifier] stackmap support to pass JDK verifier #177. Thanks to
nbauma109, Gary Gregory, Mark Roberts.
+* Fix SpotBugs [ERROR] Class org.apache.bcel.util.ClassVector
defines non-transient non-serializable instance field vec
[org.apache.bcel.util.ClassVector] In ClassVector.java SE_BAD_FIELD. Thanks to
Gary Gregory.
+* Fix SpotBugs [ERROR] Switch statement found in
org.apache.bcel.util.BCELFactory.visitAllocationInstruction(AllocationInstruction)
where one case falls through to the next case
[org.apache.bcel.util.BCELFactory, org.apache.bcel.util.BCELFactory] At
BCELFactory.java:[lines 188-191]Another occurrence at BCELFactory.java:[lines
192-196] SF_SWITCH_FALLTHROUGH. Thanks to Gary Gregory.
+
+Fixed Bugs
+-----------
+
+* When parsing an class with an invalid constant reference, ensure
ClassParser.parse() throws ClassFormatException, not NullPointerException.
Thanks to OSS-Fuzz.
+* Ensure that references to a constant pool entry with index zero
trigger a ClassFormatException, not a NullPointerException. Thanks to OSS-Fuzz.
+* Ensure that references to the unused constant pool entry after a
long/double entry triggers a ClassFormatException, not a NullPointerException.
Thanks to OSS-Fuzz.
+* Test and coverage of InstructionFactory #190. Thanks to nbauma109.
+* Verifier: test and coverage for SWAP instruction #188. Thanks to
nbauma109.
+* Exception parsing Kotlin class with 'fun `method name with () in
it`()' #205. Thanks to Jason Copenhaver, Gary Gregory.
+* Fix null pointers in AnnotationEntry #213. Thanks to nbauma109,
Gary Gregory.
+* Field not found, search field in both super class and implemented
interfaces (5x duplicated code to find field by name and type is refactored to
a new method and now supports package-private) #181. Thanks to nbauma109.
+* BCEL-366: Use alternative name for broken classes under test #220. Thanks to
Slawomir Jaranowski.
+* BCEL-367: Fixes java.lang.IndexOutOfBoundsException for ATHROW on empty
stack #223. Thanks to Katherine Hough, Gary Gregory.
+* BCEL-368: Fixes java.lang.StackOverflowError in Select#toString(boolean)
#229. Thanks to Katherine Hough, Gary Gregory.
+* Fix for type.getType(...) use on non-signature type names #221.
Thanks to nbauma109, Judit Knoll, Gary Gregory.
+* Fix EmptyVisitorTestCase on Java 21. Thanks to Gary Gregory.
+
+Changes
+--------
+
+* Bump commons-parent from 54 to 65 #189, #198, #222. Thanks to Gary
Gregory, Dependabot.
+* Bump jna.version from 5.12.1 to 5.13.0 #203. Thanks to Dependabot.
+* Bump kotlin-stdlib from 1.8.10 to 1.9.21 #217, #219, #227, #231,
#235, #245, #247. Thanks to Dependabot.
+* Bump commons-io from 2.11.0 to 2.15.1. Thanks to Dependabot.
+* Bump commons-lang3 from 3.12.0 to 3.14.0. Thanks to Gary Gregory.
+* Bump org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 3.1.1 #246.
Thanks to Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcelchanges-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.7.0
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.7.0!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Maintenance and bug fix release.
+
+New Features
+-------------
+
+* Add
org.apache.bcel.classfile.ClassFormatException.ClassFormatException(Throwable).
Thanks to Gary Gregory.
+* Add org.apache.bcel.classfile.JavaClass.EXTENSION. Thanks to Gary
Gregory.
+* Add org.apache.bcel.classfile.Module.EXTENSION. Thanks to Gary
Gregory.
+* Add org.apache.bcel.util.Args. Thanks to Gary Gregory.
+* Add org.apache.bcel.generic.ArrayType.getClassName(). Thanks to
Gary Gregory.
+* Add org.apache.bcel.generic.Type.getClassName(). Thanks to Gary
Gregory.
+* Add org.apache.bcel.classfile.Utility.packageToPath(String).
Thanks to Gary Gregory.
+* org.apache.bcel.classfile.MethodParameter now implements
org.apache.bcel.classfile.Node. Thanks to Gary Gregory, Mark Roberts.
+* Add org.apache.bcel.classfile.JavaClass.getSourceFilePath().
Thanks to nbauma109, Gary Gregory.
+* Add org.apache.bcel.generic.PUSH.PUSH(ConstantPoolGen, ArrayType).
Thanks to nbauma109, Gary Gregory.
+
+Fixed Bugs
+-----------
+
+* Avoid internal NPE in
org.apache.bcel.util.ClassPath.getInputStream(String, String). Thanks to Gary
Gregory.
+* InstructionConstants.ALOAD_0 value is wrong (regression from
6.6.0). Thanks to Gary Gregory.
+* InstructionConstants.DCONST_0 value is wrong (regression from
6.6.0). Thanks to Gary Gregory.
+* org.apache.bcel.classfile.Attribute constructors now throw
ClassFormatException on invalid name index input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.CodeException constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+*
org.apache.bcel.classfile.ConstantInvokeDynamic.ConstantInvokeDynamic(DataInput).
Thanks to Gary Gregory.
+* org.apache.bcel.classfile.ConstantValue constructors now throw
ClassFormatException on invalid length input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.Deprecated constructors now throw
ClassFormatException on invalid length input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.EnclosingMethod constructors now throw
ClassFormatException on invalid length, class index, or method index input.
Thanks to Gary Gregory.
+* org.apache.bcel.classfile.ExceptionTable constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.InnerClasses constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.LineNumber constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.LocalVariable constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.LocalVariableTable constructors now
throw ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.LocalVariableTypeTable constructors now
throw ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.ModuleMainClass constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.ModulePackages constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.NestHost constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.NestMembers constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.Signature constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.SourceFile constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.StackMap constructors now throw
ClassFormatException on invalid input. Thanks to Gary Gregory.
+* org.apache.bcel.classfile.StackMapEntry.StackMapEntry(DataInput,
ConstantPool) reads signed instead of unsigned shorts from its DataInput.
Thanks to Gary Gregory.
+* org.apache.bcel.classfile.StackMapType.StackMapType(DataInput,
ConstantPool) reads signed instead of unsigned shorts from its DataInput.
Thanks to Gary Gregory.
+* org.apache.bcel.classfile.Synthetic constructors now throw
ClassFormatException on invalid length input. Thanks to Gary Gregory.
+* org.apache.bcel.util.ClassPath hashCode() and equals() don't
match. Thanks to Gary Gregory.
+* Fix code duplication in
org.apache.bcel.verifier.structurals.ExceptionHandlers.ExceptionHandlers(MethodGen).
Thanks to Mark Roberts, Gary Gregory.
+* Improve test coverage to bcel/generic and UtilityTest #162. Thanks
to Sam Ng, Gary Gregory.
+* Code coverage and bug fixes for bcelifier #171. Thanks to
nbauma109, Gary Gregory.
+* Code coverage and unit tests on the verifier #166. Thanks to
nbauma109, Gary Gregory.
+* Typo in SimpleElementValue error message #161. Thanks to
nbauma109, Gary Gregory.
+* org.apache.bcel.classfile.Attribute constructors now throw
ClassFormatException on invalid length input. Thanks to Mark Thomas, Gary
Gregory.
+* References to constant pool entries that are not of the expected
type should throw ClassFormatException, not ClassCastException. Thanks to
OSS-Fuzz.
+* When parsing an invalid class, ensure ClassParser.parse() throws
ClassFormatException, not IllegalArgumentException. Thanks to OSS-Fuzz.
+* org.apache.bcel.classfile.Code constructors now throw
ClassFormatException on invalid input. Thanks to OSS-Fuzz.
+* org.apache.bcel.classfile.StackMapType constructors now throw
ClassFormatException on invalid input. Thanks to OSS-Fuzz.
+* When parsing class files, limit arrays to no more than 255
dimensions as per section 4.4.1 of the JVM specification. Thanks to OSS-Fuzz.
+* Tests and coverage for Utility class #175. Thanks to nbauma109.
+* Unit tests and coverage for binary operations #174. Thanks to
nbauma109.
+* Fix possible NullPointerException in
org.apache.bcel.classfile.StackMap.setStackMap(StackMapEntry[]). Thanks to Gary
Gregory.
+
+Changes
+--------
+
+* Bump spotbugs-maven-plugin from 4.7.2.2 to 4.7.3.0 #167. Thanks to
Gary Gregory.
+* Bump jmh.version from 1.35 to 1.36 #170. Thanks to Dependabot.
+* Bump pmd from 6.51.0 to 6.52.0. Thanks to Gary Gregory.
+* Bump japicmp from 0.16.0 to 0.17.1. Thanks to Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcelchanges-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.6.1
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.6.1!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Maintenance and bug fix release.
+
+Fixed Bugs
+-----------
+
+* Keep ConstantPool.getConstant(int) backward compatible with 6.5.0
#157. Thanks to Kengo TODA, Gary Gregory.
+
+Changes
+--------
+
+* Bump actions/setup-java from 3.5.1 to 3.6.0 #159. Thanks to
Dependabot.
+* Bump spotbugs from 4.7.2 to 4.7.3. Thanks to Gary Gregory.
+* Bump pmd from 6.50.0 to 6.51.0. Thanks to Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcelchanges-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/proper/commons-bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+
+Apache Commons BCEL Version 6.6.0
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.6.0!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Fixes CVE-2022-42920: Apache Commons BCEL prior to 6.6.0 allows producing
arbitrary bytecode via out-of-bounds writing.
+
+New Features
+-------------
+
+* Add github/codeql-action.
+* Make Annotations implement Iterable<AnnotationEntry>. Thanks to
Gary Gregory.
+* Make BootstrapMethods implement Iterable<BootstrapMethod>. Thanks
to Gary Gregory.
+* Make ConstantPool implement Iterable<Constant>. Thanks to Gary
Gregory.
+* Make InnerClasses implement Iterable<InnerClass>. Thanks to Gary
Gregory.
+* Make LineNumberTable implement Iterable<LineNumber>. Thanks to
Gary Gregory.
+* Make LocalVariableTable implement Iterable<LocalVariable>. Thanks
to Gary Gregory.
+* Make LocalVariableTypeTable implement Iterable<LocalVariable>.
Thanks to Gary Gregory.
+* Make MethodParameters implement Iterable<MethodParameter>. Thanks
to Gary Gregory.
+* Make ParameterAnnotations implement
Iterable<ParameterAnnotationEntry>. Thanks to Gary Gregory.
+* Add Const.MAJOR_15 Thanks to Gary Gregory.
+* Add Const.MAJOR_16 Thanks to Gary Gregory.
+* Add Const.MAJOR_17 Thanks to Gary Gregory.
+* Add Const.MAJOR_18 Thanks to Gary Gregory.
+* Add Const.MAJOR_19 Thanks to Gary Gregory.
+* Add Const.MINOR_15 Thanks to Gary Gregory.
+* Add Const.MINOR_16 Thanks to Gary Gregory.
+* Add Const.MINOR_17 Thanks to Gary Gregory.
+* Add Const.MINOR_18 Thanks to Gary Gregory.
+* Add Const.MINOR_19 Thanks to Gary Gregory.
+
+Fixed Bugs
+-----------
+
+* Improve test case coverage; fix Utility.encode bug #46. Thanks to
Mark Roberts, Gary Gregory.
+* BCEL-342: Migrate test suite to JUnit Jupiter #68. Thanks to Allon Murienik,
Gary Gregory.
+* BCEL-343: JUnit Assertion improvement #69. Thanks to Allon Murienik, Gary
Gregory.
+* Minor improvements to comments and toString() methods #71. Thanks
to Mark Roberts.
+* Minor Improvements #83. Thanks to Arturo Bernal.
+* Inline variable and avoid unnecessary variable. #94. Thanks to
Arturo Bernal.
+* Formalize PerformanceTest #168. Thanks to Mark Roberts, Gary
Gregory.
+* Java 8 improvements #95. Thanks to Arturo Bernal.
+* BCEL-345: Make documentation wording more inclusive #98. Thanks to Christine
Poerschke.
+* Force unsigned short for LineNumber.toString() #118. Thanks to
Mark Roberts, Gary Gregory.
+* Fix IllegalStateException when calling toString(ConstantPool) on a
Module or ModuleRequires #125. Thanks to Tim Boudreau, Gary Gregory.
+* Generate HTML in UTF-8 instead of whatever happens to be the
default platform encoding. Thanks to Gary Gregory.
+* BCEL-303: Several fixes to the verifier #117. Thanks to Mark Roberts, Gary
Gregory.
+* BCEL-307: Several fixes to the verifier #117. Thanks to Mark Roberts, Gary
Gregory.
+* BCEL-308: Several fixes to the verifier #117. Thanks to Mark Roberts, Gary
Gregory.
+* BCEL-309: Several fixes to the verifier #117. Thanks to Mark Roberts, Gary
Gregory.
+* BCEL-311: Several fixes to the verifier #117. Thanks to Mark Roberts, Gary
Gregory.
+* BCEL-312: Several fixes to the verifier #117. Thanks to Mark Roberts, Gary
Gregory.
+* BCEL-313: Several fixes to the verifier #117. Thanks to Mark Roberts, Gary
Gregory.
+* BCEL-337: Several fixes to the verifier #117. Thanks to Mark Roberts, Gary
Gregory.
+* Close resources #138. Thanks to Michael Ernst, Gary Gregory.
+* Improve condy (constant dynamic) support #139. Thanks to Alexander
Kriegisch, Gary Gregory.
+* Fix typos #140. Thanks to Michael Ernst.
+* BCEL-363: Enforce MAX_CP_ENTRIES in ConstantPoolGen and ConstantPool.dump
#147. Thanks to Richard Atkins, Gary Gregory.
+* Minor Changes #99. Thanks to Arturo Bernal, Gary Gregory.
+* Simplify boolean expressions #152. Thanks to Arturo Bernal.
+* Use Math.max #151. Thanks to Arturo Bernal.
+* org.apache.bcel.classfile.Signature.translate(String) does not
detect EOF correctly. Thanks to Gary Gregory.
+* Fix SpotBugs [ERROR] High: Found reliance on default encoding in
new org.apache.bcel.util.BCELifier(JavaClass, OutputStream): new
java.io.PrintWriter(OutputStream) [org.apache.bcel.util.BCELifier] At
BCELifier.java:[line 169] DM_DEFAULT_ENCODING. Thanks to Gary Gregory.
+* Fix SpotBugs [ERROR] Medium: Unread field:
org.apache.bcel.verifier.GraphicalVerifier.packFrame; should this field be
static? [org.apache.bcel.verifier.GraphicalVerifier] At
GraphicalVerifier.java:[line 43] SS_SHOULD_BE_STATIC. Thanks to Gary Gregory.
+* Fix SpotBugs [ERROR] Medium: new
org.apache.bcel.util.ModularRuntimeImage(String) creates a
java.net.URLClassLoader classloader, which should be performed within a
doPrivileged block [org.apache.bcel.util.ModularRuntimeImage] At
ModularRuntimeImage.java:[line 68] DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED.
Thanks to Gary Gregory.
+
+Changes
+--------
+
+* Bump actions/cache from 2 to 3.0.10 #88, #93, #110, #119, #149,
#154. Thanks to Dependabot, Gary Gregory.
+* Bump actions/checkout from 2.3.1 to 3.1.0 #59, #66, #73, #108,
#115, #153. Thanks to Dependabot, Gary Gregory.
+* Bump actions/setup-java from 1.4.0 to 3.5.1 #62, #67. Thanks to
Dependabot, Gary Gregory.
+* Bump tests from Apache Commons Lang 3.10 to 3.12.0 Thanks to Gary
Gregory.
+* Bump commons-parent from 50 to 54. Thanks to Gary Gregory.
+* Bump biz.aQute.bndlib from 5.1.0 to 6.3.1, #54, #72, #81, #111.
Thanks to Dependabot, Gary Gregory.
+* Bump maven-surefire-plugin from 3.0.0-M4 to 3.0.0-M7 #53, #124,
#129. Thanks to Dependabot.
+* Bump maven-checkstyle-plugin from 3.1.0 to 3.2.0, #77, #141.
Thanks to Gary Gregory, Dependabot.
+* Bump Jacoco from 0.8.5 to 0.8.8. Thanks to Dependabot, Gary
Gregory.
+* Bump commons-io from 2.7 to 2.11.0 #65, #96. Thanks to Dependabot,
Gary Gregory.
+* Bump exec-maven-plugin from 1.6.0 to 3.1.0 #51, #134. Thanks to
Dependabot.
+* Bump commons.japicmp.version from 0.14.3 to 0.16.0. Thanks to Gary
Gregory.
+* Bump maven-pmd-plugin from 3.13.0 to 3.19. #74, #103, #116, #130,
#142, #144. Thanks to Dependabot.
+* Bump pmd from 6.44.0 to 6.50.0. Thanks to Dependabot, Gary Gregory.
+* Bump junit-jupiter from 5.7.0 to 5.9.1 #78, #90, #101, #112, #135.
Thanks to Dependabot, Gary Gregory.
+* Bump jna.version from 5.6.0 to 5.12.1 #84, #102, #109, #120, #131.
Thanks to Dependabot.
+* Bump jmh.version from 1.19 to 1.35 #92, #100, #122. Thanks to
Dependabot.
+* Bump maven-javadoc-plugin from 3.2.0 to 3.4.1. Thanks to Gary
Gregory.
+* Bump maven-bundle-plugin from 5.1.1 to 5.1.8. Thanks to Gary
Gregory.
+* Bump taglist-maven-plugin from 2.4 to 3.0.0 #114. Thanks to
Dependabot.
+* Bump spotbugs-maven-plugin from 4.5.3.0 to 4.7.2.1 #128, #132,
#136, #144, #155. Thanks to Gary Gregory, Dependabot.
+* Bump spotbugs from 4.5.3 to 4.7.1. Thanks to Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcelchanges-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.5.0
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.5.0!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Minor feature and bug fix release.
+
+Fixed Bugs
+-----------
+
+* BCEL-329: MethodGen duplicates some attributes. Thanks to Gary Gregory, Mark
Roberts.
+
+Changes
+--------
+
+* BCEL-330: Remove unnecessary references to Constants. Thanks to Mark Roberts.
+* BCEL-336: MethodGen throws NullPointerException upon Invalid Class File
Missing Constructor Body. Thanks to Tomo Suzuki, Gary Gregory.
+* Improve documentation of Pass3bVerifier (#37). Thanks to Michael
Ernst.
+* Replaced deprecated constants in examples (#38). Thanks to Arthur
Kupriyanov.
+* Update tests from JNA 5.4.0 to 5.5.0. Thanks to Gary Gregory.
+* Update tests JUnit from 4.12 to 4.13. Thanks to Gary Gregory.
+* Update tests from Apache Commons Lang 3.9 to 3.10. Thanks to Gary
Gregory.
+* Update build maven-pmd-plugin 3.12.0 -> 3.13.0. Thanks to Gary
Gregory.
+* Update tests maven-surefire-plugin 3.0.0-M3 -> 3.0.0-M4. Thanks to
Gary Gregory.
+* Update build japicmp-maven-plugin 0.14.1 -> 0.14.3. Thanks to Gary
Gregory.
+* Update build jacoco-maven-plugin 0.8.4 -> 0.8.5. Thanks to Gary
Gregory.
+* Update tests from commons-io:commons-io 2.6 to 2.7. Thanks to Gary
Gregory.
+* Add support for invokestatic of an InterfaceMethodref #39. Thanks
to Mark Roberts.
+* Add attribute name(s) to Code.toString() #40. Thanks to Mark
Roberts.
+* BCEL-338: org.apache.bcel.generic.InstructionFactory.createInvoke()
populates its internal ConstantPoolGen on bad input, then throws exception.
Thanks to Gary Gregory.
+* BCEL-339: Throw IllegalArgumentException, IllegalStateException,
UnsupportedOperationException instead of RuntimeException. Thanks to Gary
Gregory.
+* Make some annotation methods public (#45). Thanks to Mark Roberts.
+* Fix ConcurrentModificationException in the
maven-bundle-plugin:4.2.1:manifest on Java 15-ea. Thanks to Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcel/changes-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons Team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.4.1
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.4.1!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Bug fix release.
+
+Fixed Bugs
+-----------
+
+* BCEL-328: java.util.EmptyStackException at
org.apache.bcel.classfile.DescendingVisitor.visitModule
(DescendingVisitor.java:592). Thanks to Gary Gregory, Mark Roberts.
+
+Changes
+--------
+
+* Update build from Checkstyle Maven Plugin 3.0.0 to 3.1.0. Thanks
to Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcelchanges-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons Team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.4.0
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.4.0!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Feature and bug fix release.
+
+New Features
+-------------
+
+* BCEL-318: Add method org.apache.bcel.classfile.ConstantUtf8.clearCache().
Thanks to Gary Gregory.
+* BCEL-320: Add LruCacheClassPathRepository that can scan many JAR files
without OutOfMemoryError. Thanks to Tomo Suzuki, Gary Gregory.
+* BCEL-322: Add constants to org.apache.bcel.Const for Java 14. Thanks to Gary
Gregory.
+* BCEL-321: Refactor subclasses of ClassPathRepository for differences in
underlying cache. Thanks to Tomo Suzuki.
+
+Fixed Bugs
+-----------
+
+* BCEL-316: org.apache.bcel.classfile.Attribute class and subclasses should
NOT log to the console by default. Thanks to Gary Gregory.
+* BCEL-278: InvokeInstruction.toString(final ConstantPool cp) throws
NoSuchElementException #11. Thanks to Valery Barysoky.
+* BCEL-270: Calling toString(ConstantPool) on InvokeInstruction throws
NullPointerException. Thanks to Alexandru-Constantin Bledea.
+* BCEL-323: org.apache.bcel.util.BCELifier to set major and minor versions.
Thanks to Tomo Suzuki.
+* BCEL-326: Add missing Java 9 and Java 11 class file attributes. #33 Thanks
to Mark Roberts.
+* BCEL-325: ClassDumper crashes on a module-info.class. #33 Thanks to Mark
Roberts.
+* BCEL-327: Update signature scanning in Utility to support TypeParameters.
#32 Thanks to Mark Roberts.
+
+Changes
+--------
+
+* BCEL-317: Pluggable cache for ConstantUtf8. Thanks to Tomo Suzuki, Gary
Gregory.
+* BCEL-299: Fix example src/examples/ClassDumper.java ClassDumper.processID().
Thanks to Gary Gregory, zhangminglei.
+* Update tests from JNA 4.5.0 to 5.3.1. Thanks to Gary Gregory.
+* Update tests from JNA 5.3.1. to 5.4.0. Thanks to Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-bcelchanges-report.html
+
+For complete information on Apache Commons BCEL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BCEL website:
+
+https://commons.apache.org/proper/commons-bcel
+
+Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi
+
+Have fun!
+-Apache Commons Team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+
+Apache Commons BCEL Version 6.3.1
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.3.1!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Bug fix release
+
+Fixed Bugs
+-----------
+
+* BCEL-267: Race conditions on static fields in BranchHandle and
InstructionHandle. Thanks to Stephan Herrmann, Sebb, Gary Gregory, Torsten
Curdt.
+* BCEL-297: Possible NPE in override implementation of Object.equals (#20)
Thanks to Mark Roberts, mingleizhang.
+* BCEL-315: NullPointerException at
org.apache.bcel.classfile.FieldOrMethod.dump(). Thanks to Gary Gregory.
+
+Changes
+--------
+
+* BCEL-298: Add some files to .gitignore (#19) Thanks to mingleizhang.
+
+
+
+Have fun!
+-Apache Commons Team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.3
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.3!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+
+New Features
+-------------
+
+* Added
org.apache.bcel.classfile.Visitor.visitConstantDynamic(ConstantDynamic) Thanks
to Mark Thomas.
+* Added org.apache.bcel.classfile.ConstantDynamic Thanks to Mark
Thomas.
+* Added fields in org.apache.bcel.Const for Java 9, 10, and 11.
Thanks to Mark Thomas.
+* Added fields in org.apache.bcel.Const for Java 12 and 13 based on
Java Early Access releases. Thanks to Mark Thomas.
+
+Fixed Bugs
+-----------
+
+* BCEL-304: ClassPath.getClassFile() and friends do not work with JDK 9 and
higher (PR #22.) Thanks to Gary Gregory, Ed Pavlak.
+* BCEL-305: ClassPath.getClassFile() and friends do not work with JRE 9 and
higher Thanks to Gary Gregory.
+
+Changes
+--------
+
+* Initial support for Java 11 Thanks to Mark Thomas, Gary Gregory.
+* Update Java requirement from Java 7 to Java 8. Thanks to Gary
Gregory.
+
+
+
+Have fun!
+-Apache Commons Team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.2
+RELEASE NOTES
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.2!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Experimental Java 9 Support
+
+Fixed Bugs
+-----------
+
+* BCEL-294: Incorrect comment in StackMap.java Thanks to Mark Roberts.
+* BCEL-296: Incorrect comment in several classes. Thanks to Mark Roberts.
+* BCEL-295: Fix local variable live range length; add test case. Thanks to
Mark Roberts.
+* BCEL-300: org.apache.bcel.classfile.ClassFormatException: Invalid byte tag
in constant pool: 19.
+* BCEL-301: org.apache.bcel.classfile.ClassFormatException: Invalid byte tag
in constant pool: 20.
+
+
+Have fun!
+-Apache Commons Team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Apache Commons BCEL Version 6.1
+RELEASE NOTES
+
+
+Introduction
+
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.1!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Apache Commons BCEL 6.1 is a bugfix and feature release supporting bringing
+experimental support for Java 9.
+
+It requires Java 7 or higher to run.
+
+
+COMPATIBILITY with 6.1
+----------------------
+
+Binary compatible - Yes
+
+Source compatible - Yes, sort of;
+ - The org.apache.bcel.classfile.Visitor interface has been enhanced with
+ additional methods. If you implemented it directly instead of extending
+ the EmptyVisitor class you'll have to implement the new methods.
+ - The org.apache.bcel.generic.Visitor interface has been enhanced with an
+ additional method. If you implemented it directly instead of extending
+ the EmptyVisitor class you'll have to implement the new methods.
+
+Semantic compatible - Yes
+
+For full information about API changes please see the extended Clirr report:
+
+
+https://commons.apache.org/bcel/clirr-report.html
+
+
+COMPATIBILITY with Java 9
+-------------------------
+
+The MANIFEST.MF now contains an additional entry:
+
+ Automatic-Module-Name: org.apache.bcel
+
+This should make it possible to use Commons BCEL 6.1 as a module in the Java 9
+module system. For more information see the corresponding issue and the
+referenced mailing list discussions:
+
+https://issues.apache.org/jira/browse/BCEL-293
+
+The build currently on Java 9 fails with test failures related to Locales. We
+are still working on this. For more information see:
+
+https://issues.apache.org/jira/browse/BCEL-275
+
+
+New Features
+-------------
+
+* BCEL-293: Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility.
+* BCEL-292: Add minimal Java 9 support.
+
+Fixed Bugs
+-----------
+
+* BCEL-286: Utility.signatureToString fails if a method has multiple type
+ arguments. Thanks to Mark Roberts.
+* BCEL-287: IINC does not handle -128 properly. Thanks to Mark Roberts.
+* BCEL-283: Support for StackMap should be different from StackMapTable.
+ Thanks to Mark Roberts.
+* BCEL-289: Crash when parsing constructor of inner classes with parameters
+ annotated.
+* BCEL-276: LocalVariableTypeTable is not updated.
+ Thanks to Sam Yoon, Mark Roberts.
+* BCEL-277: Resolving the String representation of a constant throws
+ NoSuchElementException in case of CONSTANT_NameAndType constant.
+ Thanks to Sam Yoon.
+
+
+Have fun!
+-Apache Commons Team
+
+-----------------------------------------------------------------------------
+
+Release Notes for 6.0
+
+
+Introduction
+------------
+The Apache Commons BCEL team is pleased to announce the release of
+Apache Commons BCEL 6.0!
+
+The Byte Code Engineering Library (BCEL) is designed to provide users with a
convenient way to analyze, create, and manipulate compiled .class files.
+Classes are represented by objects containing all the symbolic information of
the given class: methods, fields, and bytecode instructions.
+
+Apache Commons BCEL 6.0 is a major release supporting the new features
+introduced in Java 6, 7 and 8.
+
+It requires Java 7 or higher to run.
+
+
+COMPATIBILITY with 5.2
+----------------------
+
+Binary compatible - not strictly compatible
+- The constant interface org.apache.bcel.Constants has been deprecated. Classes
+ which implemented this interface in 5.2 now use the constants defined in the
+ org.apache.bcel.Const class.
+- The constant interface org.apache.bcel.generic.InstructionConstants has been
+ deprecated. Classes which implemented this interface in 5.2 now use the
+ constants defined in the org.apache.bcel.generic.InstructionConsts class.
+- Return type of method 'public java.lang.Object getElementAt(int)' in
+ org.apache.bcel.verifier.VerifierFactoryListModel has been changed to
+ java.lang.String.
+- The BCEL classes do no longer implement java.io.Serializable.
+
+Source compatible - Yes, sort of;
+ - The org.apache.bcel.classfile.Visitor interface has been enhanced with
+ additional methods. If you implemented it directly instead of extending
+ the EmptyVisitor class you'll have to implement the new methods.
+ - The org.apache.bcel.generic.Visitor interface has been enhanced with an
+ additional method. If you implemented it directly instead of extending
+ the EmptyVisitor class you'll have to implement the new methods.
+
+Semantic compatible - Yes, except:
+ - BCEL 6.0 handles new attributes such as code annotations that could only
+ be processed by implementing a custom AttributeReader in the previous
+ versions. Code relying on this behavior will have to be adjusted since
+ the AttributeReader will no longer be called in these cases.
+
+For full information about API changes please see the extended Clirr report:
+
+
+https://commons.apache.org/bcel/clirr-report.html
+
+New Features
+-------------
+
+* BCEL-272: Add constants for Java 9 class file version 53.
+
+Fixed Bugs
+-----------
+
+* BCEL-237: non-empty final arrays should be private as they are mutable.
+* BCEL-243: Type.getType() needs to understand TypeVariableSignature(s).
+* BCEL-271: FCONST pattern does not include FCONST_2.
+* BCEL-264: Add missing Node.accept() implementations (ConstantMethodHandle,
+ ConstantMethodType, ParameterAnnotationEntry).
+* BCEL-221: BCELifier is not working for Java8Example (incomplete).
+* BCEL-195: Addition of hashCode() to generic/Instruction.java breaks
Targeters.
+ Never make distinct BranchInstructions compare equal.
+* BCEL-261: Select constructor allows partially constructed instance to escape.
+ Re-ordered code to delay the escape.
+* BCEL-259: Minor doc error in BranchInstruction.java.
+* BCEL-260: ClassDumper example duplicates field attribute types.
+* BCEL-258: No tests to check the output of dump methods.
+* BCEL-257: INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL need to define dump()
+ methods.
+* BCEL-254: Two more methods that would be nice to be public.
+* BCEL-245: Type class includes constants that reference subclasses.
+* BCEL-253: Pass 3b verifier is too strict.
+* BCEL-248: StackMapTable[Entry] should be removed and improvements merged into
+ StackMap[Entry].
+* BCEL-202: StackMap[Table]Entry.copy() needs to be deep; Improved support for
+ StackMaps.
+* BCEL-251: Pass3aVerifier visitANEWARRAY() does not allow 255 array
dimensions.
+* BCEL-249: Check for max Short seems wrong.
+* BCEL-208: Need to check for an empty InstructionList.
+* BCEL-217: long type instructions are not searched by InstructionFinder using
+ regular expression.
+* BCEL-239: Interfaces should not be used to define constants.
+* BCEL-234: Code must not swallow Throwable.
+* BCEL-209: Bug fixes and improvements to InvokeDynamic and BootStrapMethods
+ implementation. Thanks to Mark Roberts.
+* BCEL-187: Verification error when an invoke references a method defined in
+ superclass. Thanks to Jérôme Leroux.
+* BCEL-218: Remove ObjectType cache. Thanks to chas.
+* BCEL-184: The verifier now checks if methods with a void return type attempt
+ to return an object. Thanks to Jérôme Leroux.
+* BCEL-207: MethodGen.removeLocalVariable now properly unreference the removed
+ variable from the targetters of the instruction handlers delimiting
+ the scope of the variable. Thanks to Mark Roberts.
+* BCEL-197: Utility.signatureToString() no longer throws a ClassFormatException
+ on TypeVariables found in generic signatures. Thanks to Mark
Roberts.
+* BCEL-194: Removed the 'index' variable from the LocalVariableGen's hash
code. Thanks to Mark Roberts.
+* BCEL-193: The verifier should not check for run time compatibility of objects
+ assigned to arrays. Thanks to Jérôme Leroux.
+* BCEL-188: Correct verification of the return value of a method. Thanks to
Jérôme Leroux.
+* BCEL-186: Performance degradation with the UTF8 cache. getInstance no longer
+ uses cache.
+* BCEL-181: org.apache.bcel.util.ClassLoaderRepository.loadClass(String) leaks
+ input streams.
+* BCEL-28: Mistake in "Peephole optimizer" example
+ at https://commons.apache.org/bcel/manual.html
+* BCEL-74: BCEL cannot be used as java.system.class.loader.
+* BCEL-77: XSLT transforms broken in Turkish Locale.
+* BCEL-79: java.lang.ClassFormatError: LVTT entry for 'local' in class file
+ org/shiftone/jrat/test/dummy/CrashTestDummy does not match any LVT
+ entry
+* BCEL-81: ClassParser.parse() throws NullPointerException if class does not
+ exist and ClassParser(String) constructor is used.
+* BCEL-85: ArrayOutOfBoundsException in InstructionFinder.
+* BCEL-87: Website: Incorrect URL for source; version 5.2 is not in the bug
+ page
+* BCEL-88: bcelified method doesn't pass verification.
+* BCEL-89: return type not verified by JustIce.
+* BCEL-94: @since tag incorrect for Annotation classes in BCEL trunk.
+* BCEL-95: InstructionFactory missing % operator for Float, Double.
+* BCEL-96: Fields in Annotations and AnnotationEntry are inaccessible to
+ subclasses
+* BCEL-97: Add support for getResources to ClassPath.
+* BCEL-98: Two source files in repository are empty.
+* BCEL-99: Maven POM file calls in apache regex but code does not use it.
+* BCEL-100: ClassParser throws unintelligible Exception.
+* BCEL-101: verifier raises an AssertionViolatedException when done against
+ Java 5 files with generics/annotations.
+* BCEL-102: Verifier fails in pass 2 with "Number of LocalVariableTable
+ attributes of Code attribute" on static methods.
+* BCEL-107: ParameterAnnotationEntries are read not dumped.
+* BCEL-108: RuntimeVisible Annotations duplicated.
+* BCEL-112: ARRAYLENGTH incorrectly not StackConsumer.
+* BCEL-114: Error in method search() defined in
+ org.apache.bcel.util.InstructionFinder
+* BCEL-115: Deleting all instructions of a list shows wrong behavior.
+* BCEL-120: Make BCEL JAR OSGi compatible.
+* BCEL-122: ArrayIndexOutOfBoundsException thrown from
TABLESWITCH.initFromFile.
+* BCEL-124: tableswitch/lookupswitch invalid alignment of 4-byte operands.
+* BCEL-125: Incorrect size calculation in InstructionFinder.
+* BCEL-130: Class files containing "ParameterAnnotations" are dumped
+ incorrectly.
+* BCEL-131: Class files containing "StackMapTable" attributes (on method code)
+ are dumped incorrectly.
+* BCEL-132: org.apache.bcel.classfile.ClassParser: NullPointerException caused
+ by fileopen failed.
+* BCEL-133: org.apache.bcel.classfile.ClassParser: NullPointerException caused
+ by invalid filename.
+* BCEL-134: ExecutionVisitor doesn't support Class constant type for LDC and
+ LDC_W.
+* BCEL-135: BCELifier issue: BCELFactory fails to handle float and long
+ constants.
+* BCEL-137: "Invalid method signature: TT;" when using MethodGen for a method
+ having a generic parameter.
+* BCEL-138: FieldInstruction.getFieldSize() doesn't decode Type.getTypeSize()
+ output.
+* BCEL-140: org.apache.bcel.generic.Instruction.equals(Object) does not follow
+ Object.equals(Object) rules.
+* BCEL-141: Select instructions should implement StackConsumer instead of
+ StackProducer.
+* BCEL-143: Fix CPL License issues with EnclosingMethod.java and
+ LocalVariableTypeTable.java.
+* BCEL-145: Type.getReturnTypeSize() doesn't decode Type.getTypeSize() output.
+* BCEL-146: SyntheticRepository.loadClass() fails to close the inputStream.
+* BCEL-148: BCELifier produces incorrect code for methods containing loads of
+ class literals from constant pool.
+* BCEL-151: Code attribute size not updated.
+* BCEL-152: Incorrect link for Jasmin assembler language.
+* BCEL-153: Examples not present in source or binary downloads.
+* BCEL-154: ClassParser.parse() generates NPE if it cannot open the file.
+* BCEL-155: InstConstraintVisitor does not handle class constants.
+* BCEL-156: Pass3bVerifier crashes on empty methods.
+* BCEL-159: LocalVariableGen.getLocalVariable() computes incorrect length.
+* BCEL-164: Method does not have a method to access parameter annotations.
+* BCEL-167: ClassPath.getResource does not correctly perform URL escaping.
+* BCEL-173: ClassParser fails to parse JDK classes in Java 8:
+ ClassFormatException: Invalid byte tag in constant pool.
+* BCEL-174: Verification of interfaces with default methods fails with Java 8.
+* BCEL-177: When reading the number of parameters in a MethodParameters
+ structure only read a single byte as per the JVM specification.
+
+Changes
+--------
+
+* BCEL-262: InvokeInstruction.getClassName(ConstantPoolGen) should not throw
+ an exception when it detects an array. Thanks to Mark Roberts.
+* BCEL-230: Document the Java platform requirement clearly and early.
+* BCEL-211: Some additional clone methods should be public.
+* BCEL-127: Document that Instruction Factory returns singleton instances.
+* BCEL-198: better support for clone/copy methods.
+* BCEL-201: modify several toString methods to make output similar to "javap".
+* BCEL-205: add javadoc comments to LineNumber.java and LineNumberTable.java.
+* BCEL-212: Inconsistent toString() results.
+* BCEL-244: Update Java requirement from 5 to 7.
+* BCEL-219: Make org.apache.bcel.classfile.ConstantPool.ConstantPool(DataInput)
+ public. Thanks to Maxim Degtyarev.
+* BCEL-76: Add parent type processing for ClassPath class.
+* BCEL-83: Add support for getResource and getResourceAsStream to ClassPath.
+* BCEL-92: Properly parse StackMapTable attributes in Java 6 classfiles.
+* BCEL-104: Javadoc overhaul.
+* BCEL-119: BCEL is unnecessarily slow.
+* BCEL-157: Add support for INVOKEDYNAMIC and MethodHandles.
+* BCEL-160: Why using unstable sort at MethodGen.getLocalVariables() ?
+* BCEL-163: Incorporate patch file from Findbugs.
+* BCEL-175: Implement the MethodParameters attribute.
+
+Removed
+--------
+* BCEL-242: Remove Serializable.
+* BCEL-110: Problem with JAXB if the bcel classloader is used; remove the
broken
+ ClassLoader class.
+
+
+Have fun!
+-Apache Commons Team
+
+Feedback
+--------
+
+Open source works best when you give feedback:
+
+ https://commons.apache.org/bcel
+
+Please direct all bug reports to JIRA:
+
+ https://issues.apache.org/jira/browse/BCEL
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
Copied: release/commons/bcel/binaries/bcel-6.12.0-bin.tar.gz (from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz)
==============================================================================
Binary file (source and/or target). No diff available.
Copied: release/commons/bcel/binaries/bcel-6.12.0-bin.tar.gz.asc (from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz.asc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/bcel/binaries/bcel-6.12.0-bin.tar.gz.asc Thu Jan 22
13:44:56 2026 (r82057, copy of r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz.asc)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCaW1eoQAKCRBTCqXyXCUB
+H+qDAP0RogW3bxQdViPAd4H/HqWVvTN8Nvd6unpj3/jOVfHOKAD/Z2K9CgpAMdJW
+M74/wKcDS4WgI9Kl9QYYwYhYCW8uoQg=
+=UtcD
+-----END PGP SIGNATURE-----
Copied: release/commons/bcel/binaries/bcel-6.12.0-bin.tar.gz.sha512 (from
r82056, dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz.sha512)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/bcel/binaries/bcel-6.12.0-bin.tar.gz.sha512 Thu Jan 22
13:44:56 2026 (r82057, copy of r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.tar.gz.sha512)
@@ -0,0 +1 @@
+b723568e2641d09971275a8d0914cc5515d0c60333e9fb7d70f777449e0ab600c70defcc1fd71fa076c52c7acd3d925fed0349d6607dfc6fe06ada0bf1919bbc
Copied: release/commons/bcel/binaries/bcel-6.12.0-bin.zip (from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip)
==============================================================================
Binary file (source and/or target). No diff available.
Copied: release/commons/bcel/binaries/bcel-6.12.0-bin.zip.asc (from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip.asc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/bcel/binaries/bcel-6.12.0-bin.zip.asc Thu Jan 22
13:44:56 2026 (r82057, copy of r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip.asc)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCaW1eoQAKCRBTCqXyXCUB
+H8XzAP4rjOSa2nTsOMtcFjiNImr/UoNPUWrTUIinb+36FyldoAD/bgL9h/5PxFoi
+x8QzmN8T4/0NrjbpGNYCHL2kobwk4go=
+=pQuB
+-----END PGP SIGNATURE-----
Copied: release/commons/bcel/binaries/bcel-6.12.0-bin.zip.sha512 (from r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip.sha512)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/bcel/binaries/bcel-6.12.0-bin.zip.sha512 Thu Jan 22
13:44:56 2026 (r82057, copy of r82056,
dev/commons/bcel/6.12.0-RC1/binaries/bcel-6.12.0-bin.zip.sha512)
@@ -0,0 +1 @@
+5e7d3ba3423d0b7f37ae680025aebe3616c439ca983673d1053b134a3c27e4c398a8a78d0878695ad8f945e738d71fbe97a6e6775cc5ca8ec7c6ba1adb796ade
Copied: release/commons/bcel/source/bcel-6.12.0-src.tar.gz (from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz)
==============================================================================
Binary file (source and/or target). No diff available.
Copied: release/commons/bcel/source/bcel-6.12.0-src.tar.gz.asc (from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz.asc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/bcel/source/bcel-6.12.0-src.tar.gz.asc Thu Jan 22
13:44:56 2026 (r82057, copy of r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz.asc)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCaW1eoQAKCRBTCqXyXCUB
+H8ciAP9urfGQHw0NEgzFEBdJEJb1C2k0HeZQm461FnwRvZIfDAD/a5+F1ScTMUCO
+3Tg5MkrBG452G8axo2OoH3ixZiwy1Aw=
+=WViC
+-----END PGP SIGNATURE-----
Copied: release/commons/bcel/source/bcel-6.12.0-src.tar.gz.sha512 (from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz.sha512)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/bcel/source/bcel-6.12.0-src.tar.gz.sha512 Thu Jan 22
13:44:56 2026 (r82057, copy of r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.tar.gz.sha512)
@@ -0,0 +1 @@
+0633e4ba82e8648a556a3e2e8dc3e43c3f2b8ff8c6000ff06cebfb816e86f73d463b047fa0ca39c04bc7c89fe0a5e42d892b17608c204799cb7ecc9aa5a01a71
Copied: release/commons/bcel/source/bcel-6.12.0-src.zip (from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip)
==============================================================================
Binary file (source and/or target). No diff available.
Copied: release/commons/bcel/source/bcel-6.12.0-src.zip.asc (from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip.asc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/bcel/source/bcel-6.12.0-src.zip.asc Thu Jan 22 13:44:56
2026 (r82057, copy of r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip.asc)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQT03VnJAUi9xSvrkKRTCqXyXCUBHwUCaW1eoQAKCRBTCqXyXCUB
+H15aAP4xgkyTeV701s/tLff8DqkwkOvDzoba8Ug1w8kDezEJbQD/aBtdw91vu9t+
+I0/xPjjwffqCafInJq1n4UmDZEpxJA4=
+=kuzc
+-----END PGP SIGNATURE-----
Copied: release/commons/bcel/source/bcel-6.12.0-src.zip.sha512 (from r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip.sha512)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ release/commons/bcel/source/bcel-6.12.0-src.zip.sha512 Thu Jan 22
13:44:56 2026 (r82057, copy of r82056,
dev/commons/bcel/6.12.0-RC1/source/bcel-6.12.0-src.zip.sha512)
@@ -0,0 +1 @@
+4d4b41227dd84451bb622fb8c2a43c35213d142b9f86e2030cefeaf67f3cb2fb74d2200ca638ef682a5473f6c352f2089021bbbb04dd750db984a2ce983f5f8d