| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| https://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!-- |
| This file is also used by the maven-changes-plugin to generate the release notes. |
| Useful ways of finding items to add to this file are: |
| |
| 1. Add items when you fix a bug or add a feature (this makes the |
| release process easy :-). |
| |
| 2. Do a JIRA search for tickets closed since the previous release. |
| |
| 3. Use the report generated by the maven-changelog-plugin to see all |
| SVN commits. TBA how to use this with SVN. |
| |
| To generate the release notes from this file: |
| |
| mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] |
| |
| then tweak the formatting if necessary |
| and commit |
| |
| The <action> type attribute can be add,update,fix,remove. |
| --> |
| <document xmlns="http://maven.apache.org/changes/2.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/changes/2.0.0 https://maven.apache.org/xsd/changes-2.0.0.xsd"> |
| <properties> |
| <title>Apache Commons BCEL Release Notes</title> |
| <author email="dev@commons.apache.org">Apache Commons developers</author> |
| </properties> |
| <!-- NOTE: |
| The description below is specially formatted so as to improve the layout of the generated release notes: |
| The parsing process removes all line feeds, replacing them with a single space. |
| The Velocity template in resources/templates has been enhanced to replace pairs of adjacent spaces |
| with a new-line in the release notes. (These spaces are ignored when displaying HTML). |
| If the output is not quite correct, check for invisible trailing spaces! |
| |
| The release notes template groups actions by type, and only extracts data for the current release. |
| The changes report outputs actions in the order they appear in this file. |
| |
| To regenerate the release notes: |
| mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] |
| |
| Defining changes.version allows one to create the RN without first removing the SNAPSHOT suffix. |
| --> |
| <body> |
| <release version="6.11.0" date="YYYY-MM-DD" description="This is a feature and maintenance release. Java 8 or later is required."> |
| <!-- FIX --> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Replace internal use of Locale.ENGLISH with Locale.ROOT.</action> |
| <action issue="BCEL-375" type="fix" dev="ggregory" due-to="J. Lewis Muir, Gary Gregory">Wrong permissions on bcel .jar file in binary .tar.gz distribution file.</action> |
| <action issue="BCEL-376" type="fix" dev="ggregory" due-to="Dominik Stadler, Gary Gregory">ClassPath.close() throws UnsupportedOperationException when created with system-classpath.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">ClassPath.getResources(String) can use an ArrayList instead of a Vector.</action> |
| <action type="fix" dev="ggregory" due-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.</action> |
| <action type="fix" dev="ggregory" due-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.</action> |
| <action type="fix" dev="ggregory" due-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.</action> |
| <action type="fix" dev="ggregory" due-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.</action> |
| <!-- ADD --> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_25.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_25.</action> |
| <action type="add" dev="ggregory" due-to="Piotr P. Karwasz, Gary Gregory">Add experimental CycloneDX VEX file #446.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Refactor to use new Maven POM variable ecj.version.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump org.apache.commons:commons-parent from 72 to 88 #346, #349, #559, #364, #368, #378, #464.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.18.0 #334, #341, #351, #444.</action> |
| <action type="update" dev="ggregory" due-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.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump commons-io:commons-io from 2.16.1 to 2.20.0 #357, #387.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump jna.version from 5.14.0 to 5.17.0 #358, #399.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump org.codehaus.mojo:taglist-maven-plugin from 3.1.0 to 3.2.1 #376.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump org.apache.commons:commons-collections4 from 4.5.0-M2 to 4.5.0 #395.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump org.apache.commons:commons-exec from 1.4.0 to 1.5.0.</action> |
| </release> |
| <release version="6.10.0" date="2024-07-13" description="Maintenance and bug fix release. Requires a minimum of Java 8."> |
| <!-- FIX --> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix PMD UnnecessaryFullyQualifiedName.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix PMD EmptyCatchBlock by allowing commented blocks.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix PMD EmptyControlStatement by allowing commented blocks.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix SpotBugs RV_RETURN_VALUE_IGNORED_BAD_PRACTICE in JasminVisitor.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">SpotBugs checks should ignore code generated by JavaCC.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix SpotBugs URF_UNREAD_FIELD in ClassDumper.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix SpotBugs DM_DEFAULT_ENCODING in JasminVisitor.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix SpotBugs RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE in ASTFunAppl.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix SpotBugs RV_ABSOLUTE_VALUE_OF_HASHCODE in Mini.Environment.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix SpotBugs DM_DEFAULT_ENCODING in Mini.MiniC.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix SpotBugs WMI_WRONG_MAP_ITERATOR in Package.go(String[]).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Deprecate TransitiveHull.INGORED in favor of TransitiveHull.getIgnored().</action> |
| <!-- ADD --> |
| <action type="update" dev="ggregory" due-to="nbauma109, Gary Gregory, Mark Roberts">Add accessors to model and unit tests, Javadoc #183.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_22.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_22.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_23.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_23.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_24.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_24.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump tests from org.assertj:assertj-core 3.25.3 to 3.26.3 #322, #332.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump tests from org.jetbrains.kotlin:kotlin-stdlib 1.9.23 to 2.0.0 #309, #318.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump tests from org.apache.commons:commons-collections4 4.4 to 4.5.0-M2.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump org.apache.commons:commons-parent from 69 to 72 #336.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump org.codehaus.mojo:taglist-maven-plugin from 3.0.0 to 3.1.0 #331.</action> |
| </release> |
| <release version="6.9.0" date="2024-04-21" description="Maintenance and bug fix release."> |
| <!-- ADD --> |
| <action type="update" dev="ggregory" due-to="Pablo Nicolas Diaz, Gary Gregory, Paul King, Mark Roberts">Add Support for Java 16 records #290.</action> |
| <!-- FIX --> |
| <action type="update" dev="ggregory" due-to="Heewon Lee">Add null guard for InstructionFactory.createInvoke() #289.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid possible NullPointerException in org.apache.bcel.classfile.DescendingVisitor.accept(E[]).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid possible NullPointerException in AnnotationEntryGen.getAnnotationAttributes(ConstantPoolGen, AnnotationEntryGen[]).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid possible NullPointerException in AnnotationEntryGen.copyValues(ElementValuePair[], ConstantPoolGen, boolean).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid possible NullPointerException in ArrayElementValueGen.ArrayElementValueGen(int, ElementValue[], ConstantPoolGen).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid possible NullPointerException in org.apache.bcel.generic.ClassGen.setMethods(Method[]).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid possible NullPointerException in org.apache.bcel.generic.ClassGen.unpackAnnotations(Attribute[]).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid possible NullPointerException in org.apache.bcel.classfile.ParameterAnnotationEntry.createParameterAnnotationEntries(Attribute[]).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid possible NullPointerException in org.apache.bcel.generic.ClassGen.ClassGen(JavaClass).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid possible NullPointerException in org.apache.bcel.generic.FieldGenOrMethodGen.addAll(Attribute[]).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid possible NullPointerException in org.apache.bcel.classfile.ParameterAnnotationEntry.createParameterAnnotationEntries(Attribute[]).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.MethodParameters.setParameters(MethodParameter[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.ParameterAnnotations.setParameterAnnotationTable(ParameterAnnotationEntry[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.LocalVariableTypeTable.setLocalVariableTable(LocalVariable[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.LocalVariableTable.setLocalVariableTable(LocalVariable[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.LineNumberTable.setLineNumberTable(LineNumber[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.JavaClass.setMethods(Method[] with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.JavaClass.setInterfaces(int[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.JavaClass.setInterfaceNames(String[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.JavaClass.setFields(Field[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.JavaClass.setAttributes(Attribute[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.ConstantPool.setConstantPool(Constant[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.FieldOrMethod.setAttributes(Attribute[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.Annotations.setAnnotationTable(AnnotationEntry[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.ArrayElementValue.ArrayElementValue(int, ElementValue[], ConstantPool) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.BootstrapMethod.BootstrapMethod(int, int[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.BootstrapMethod.setBootstrapArguments(int[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.BootstrapMethods.BootstrapMethods(int, int, BootstrapMethod[], ConstantPool) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException after calling org.apache.bcel.classfile.BootstrapMethods.setBootstrapMethods(BootstrapMethod[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException calling org.apache.bcel.generic.InstructionList.redirectLocalVariables(LocalVariableGen[], InstructionHandle, InstructionHandle) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException calling org.apache.bcel.generic.InstructionList.redirectExceptionHandlers(CodeExceptionGen[], InstructionHandle, InstructionHandle) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException calling org.apache.bcel.generic.InstructionList.findHandle(InstructionHandle[], int[], int, int) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException calling org.apache.bcel.generic.MethodGen.setArgumentTypes(Type[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException calling org.apache.bcel.generic.MethodGen.setArgumentNames(String[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException calling org.apache.bcel.generic.MethodGen.removeRuntimeAttributes(Attribute[]) with null.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException calling org.apache.bcel.generic.MethodGen.makeMutableVersion(AnnotationEntry[]) with null.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump org.apache.commons:commons-parent from 66 to 69 #283, #297.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.22 to 1.9.23 #284.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump commons-io:commons-io from 2.15.1 to 2.16.1 #295, #300.</action> |
| </release> |
| <release version="6.8.2" date="2024-02-21" description="Maintenance and bug fix release."> |
| <!-- FIX --> |
| <action type="add" dev="ggregory" due-to="Guillaume Nodet">Fix ConcurrentModificationException in org.apache.bcel.util.SyntheticRepository.getInstance() #275.</action> |
| <!-- ADD --> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Maven property project.build.outputTimestamp for build reproducibility.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump GitHub various actions for CI builds.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump org.assertj:assertj-core from 3.25.1 to 3.25.2.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump org.apache.commons:commons-parent from 65 to 66.</action> |
| </release> |
| <release version="6.8.1" date="2024-01-07" description="Maintenance and bug fix release."> |
| <!-- FIX --> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Replace internal use of StringBuffer with StringBuilder.</action> |
| <action issue="BCEL-370" type="fix" dev="ggregory" due-to="Gary Gregory">CONSTANT_Dynamic is not handled in LDC #254.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">BCELComparator now uses generics.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in ClassGen.BCELComparator#equals() and ClassGen.BCELComparator#hashCode().</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in Constant.BCELComparator#equals() and Constant.BCELComparator#hashCode().</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in Field.BCELComparator#equals() and Field.BCELComparator#hashCode().</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in FieldGen.BCELComparator#equals() and FieldGen.BCELComparator#hashCode().</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in JavaClass.BCELComparator#equals() and JavaClass.BCELComparator#hashCode().</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in Method.BCELComparator#equals() and Method.BCELComparator#hashCode().</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid NullPointerException in MethodGen.BCELComparator#equals() and MethodGen.BCELComparator#hashCode().</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump GitHub various actions for CI builds.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump jna.version from 5.13.0 to 5.14.0 #250.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.21 to 1.9.22 #252.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump org.apache.commons:commons-exec from 1.3 to 1.4.0 #255.</action> |
| </release> |
| <release version="6.8.0" date="2023-12-03" description="Maintenance and bug fix release."> |
| <!-- ADD --> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add and use InvalidMethodSignatureException extending ClassFormatException.</action> |
| <action type="add" dev="ggregory" due-to="nbauma109">Increase code coverage in Class2HTMLTestCase with new test input Java4Example #186.</action> |
| <action type="add" dev="ggregory" due-to="nbauma109">Add verifier tests on some opcodes #180.</action> |
| <action type="add" dev="ggregory" due-to="nbauma109">Added signature test cases for class/method, and bad signatures #182.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_20.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_20.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_21.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_21.</action> |
| <action type="add" dev="ggregory" due-to="nbauma109, Gary Gregory, Mark Roberts">[Bcelifier] stackmap support to pass JDK verifier #177.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">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.</action> |
| <action type="add" dev="ggregory" due-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.</action> |
| <!-- FIX --> |
| <action type="fix" dev="markt" due-to="OSS-Fuzz">When parsing an class with an invalid constant reference, ensure ClassParser.parse() throws ClassFormatException, not NullPointerException.</action> |
| <action type="fix" dev="markt" due-to="OSS-Fuzz">Ensure that references to a constant pool entry with index zero trigger a ClassFormatException, not a NullPointerException.</action> |
| <action type="fix" dev="markt" due-to="OSS-Fuzz">Ensure that references to the unused constant pool entry after a long/double entry triggers a ClassFormatException, not a NullPointerException.</action> |
| <action type="fix" dev="markt" due-to="nbauma109">Test and coverage of InstructionFactory #190.</action> |
| <action type="fix" dev="ggregory" due-to="nbauma109">Verifier: test and coverage for SWAP instruction #188.</action> |
| <action type="fix" dev="ggregory" due-to="Jason Copenhaver, Gary Gregory">Exception parsing Kotlin class with 'fun `method name with () in it`()' #205.</action> |
| <action type="fix" dev="ggregory" due-to="nbauma109, Gary Gregory">Fix null pointers in AnnotationEntry #213.</action> |
| <action type="fix" dev="ggregory" due-to="nbauma109">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.</action> |
| <action issue="BCEL-366" type="fix" dev="ggregory" due-to="Slawomir Jaranowski">Use alternative name for broken classes under test #220.</action> |
| <action issue="BCEL-367" type="fix" dev="ggregory" due-to="Katherine Hough, Gary Gregory">Fixes java.lang.IndexOutOfBoundsException for ATHROW on empty stack #223.</action> |
| <action issue="BCEL-368" type="fix" dev="ggregory" due-to="Katherine Hough, Gary Gregory">Fixes java.lang.StackOverflowError in Select#toString(boolean) #229.</action> |
| <action type="fix" dev="ggregory" due-to="nbauma109, Judit Knoll, Gary Gregory">Fix for type.getType(...) use on non-signature type names #221.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix EmptyVisitorTestCase on Java 21.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump commons-parent from 54 to 65 #189, #198, #222.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump jna.version from 5.12.1 to 5.13.0 #203.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump kotlin-stdlib from 1.8.10 to 1.9.21 #217, #219, #227, #231, #235, #245, #247.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump commons-io from 2.11.0 to 2.15.1.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-lang3 from 3.12.0 to 3.14.0.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 3.1.1 #246.</action> |
| </release> |
| <release version="6.7.0" date="2022-11-28" description="Maintenance and bug fix release."> |
| <!-- ADD --> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.bcel.classfile.ClassFormatException.ClassFormatException(Throwable).</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.bcel.classfile.JavaClass.EXTENSION.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.bcel.classfile.Module.EXTENSION.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.bcel.util.Args.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.bcel.generic.ArrayType.getClassName().</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.bcel.generic.Type.getClassName().</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.bcel.classfile.Utility.packageToPath(String).</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory, Mark Roberts">org.apache.bcel.classfile.MethodParameter now implements org.apache.bcel.classfile.Node.</action> |
| <action type="add" dev="ggregory" due-to="nbauma109, Gary Gregory">Add org.apache.bcel.classfile.JavaClass.getSourceFilePath().</action> |
| <action type="add" dev="ggregory" due-to="nbauma109, Gary Gregory">Add org.apache.bcel.generic.PUSH.PUSH(ConstantPoolGen, ArrayType).</action> |
| <!-- FIX --> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Avoid internal NPE in org.apache.bcel.util.ClassPath.getInputStream(String, String).</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">InstructionConstants.ALOAD_0 value is wrong (regression from 6.6.0).</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">InstructionConstants.DCONST_0 value is wrong (regression from 6.6.0).</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.Attribute constructors now throw ClassFormatException on invalid name index input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.CodeException constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.ConstantInvokeDynamic.ConstantInvokeDynamic(DataInput).</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.ConstantValue constructors now throw ClassFormatException on invalid length input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.Deprecated constructors now throw ClassFormatException on invalid length input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.EnclosingMethod constructors now throw ClassFormatException on invalid length, class index, or method index input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.ExceptionTable constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.InnerClasses constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.LineNumber constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.LocalVariable constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.LocalVariableTable constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.LocalVariableTypeTable constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.ModuleMainClass constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.ModulePackages constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.NestHost constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.NestMembers constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.Signature constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.SourceFile constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.StackMap constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.StackMapEntry.StackMapEntry(DataInput, ConstantPool) reads signed instead of unsigned shorts from its DataInput.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.StackMapType.StackMapType(DataInput, ConstantPool) reads signed instead of unsigned shorts from its DataInput.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.Synthetic constructors now throw ClassFormatException on invalid length input.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.util.ClassPath hashCode() and equals() don't match.</action> |
| <action type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Fix code duplication in org.apache.bcel.verifier.structurals.ExceptionHandlers.ExceptionHandlers(MethodGen).</action> |
| <action type="fix" dev="ggregory" due-to="Sam Ng, Gary Gregory">Improve test coverage to bcel/generic and UtilityTest #162.</action> |
| <action type="fix" dev="ggregory" due-to="nbauma109, Gary Gregory">Code coverage and bug fixes for bcelifier #171.</action> |
| <action type="fix" dev="ggregory" due-to="nbauma109, Gary Gregory">Code coverage and unit tests on the verifier #166.</action> |
| <action type="fix" dev="ggregory" due-to="nbauma109, Gary Gregory">Typo in SimpleElementValue error message #161.</action> |
| <action type="fix" dev="markt" due-to="Mark Thomas, Gary Gregory">org.apache.bcel.classfile.Attribute constructors now throw ClassFormatException on invalid length input.</action> |
| <action type="fix" dev="markt" due-to="OSS-Fuzz">References to constant pool entries that are not of the expected type should throw ClassFormatException, not ClassCastException.</action> |
| <action type="fix" dev="markt" due-to="OSS-Fuzz">When parsing an invalid class, ensure ClassParser.parse() throws ClassFormatException, not IllegalArgumentException.</action> |
| <action type="fix" dev="markt" due-to="OSS-Fuzz">org.apache.bcel.classfile.Code constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="markt" due-to="OSS-Fuzz">org.apache.bcel.classfile.StackMapType constructors now throw ClassFormatException on invalid input.</action> |
| <action type="fix" dev="markt" due-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.</action> |
| <action type="fix" dev="ggregory" due-to="nbauma109">Tests and coverage for Utility class #175.</action> |
| <action type="fix" dev="ggregory" due-to="nbauma109">Unit tests and coverage for binary operations #174.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix possible NullPointerException in org.apache.bcel.classfile.StackMap.setStackMap(StackMapEntry[]).</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump spotbugs-maven-plugin from 4.7.2.2 to 4.7.3.0 #167.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump jmh.version from 1.35 to 1.36 #170.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump pmd from 6.51.0 to 6.52.0.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump japicmp from 0.16.0 to 0.17.1.</action> |
| </release> |
| <release version="6.6.1" date="2022-10-29" description="Maintenance and bug fix release."> |
| <!-- FIX --> |
| <action type="fix" dev="ggregory" due-to="Kengo TODA, Gary Gregory">Keep ConstantPool.getConstant(int) backward compatible with 6.5.0 #157.</action> |
| <!-- UPDATE --> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump actions/setup-java from 3.5.1 to 3.7.0 #159, #179.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump spotbugs from 4.7.2 to 4.7.3.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump spotbugs-maven-plugub from 4.7.2.1 to 4.7.2.2.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump pmd from 6.50.0 to 6.51.0.</action> |
| </release> |
| <release version="6.6.0" date="2022-10-08" description="Minor feature and bug fix release."> |
| <!-- FIX --> |
| <action type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Improve test case coverage; fix Utility.encode bug #46.</action> |
| <action issue="BCEL-342" type="fix" dev="ggregory" due-to="Allon Murienik, Gary Gregory">Migrate test suite to JUnit Jupiter #68.</action> |
| <action issue="BCEL-343" type="fix" dev="ggregory" due-to="Allon Murienik, Gary Gregory">JUnit Assertion improvement #69.</action> |
| <action type="fix" dev="ggregory" due-to="Mark Roberts">Minor improvements to comments and toString() methods #71.</action> |
| <action type="fix" dev="ggregory" due-to="Arturo Bernal">Minor Improvements #83.</action> |
| <action type="fix" dev="ggregory" due-to="Arturo Bernal">Inline variable and avoid unnecessary variable. #94.</action> |
| <action type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Formalize PerformanceTest #168.</action> |
| <action type="fix" dev="ggregory" due-to="Arturo Bernal">Java 8 improvements #95.</action> |
| <action issue="BCEL-345" type="fix" dev="ggregory" due-to="Christine Poerschke">Make documentation wording more inclusive #98.</action> |
| <action type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Force unsigned short for LineNumber.toString() #118.</action> |
| <action type="fix" dev="ggregory" due-to="Tim Boudreau, Gary Gregory">Fix IllegalStateException when calling toString(ConstantPool) on a Module or ModuleRequires #125.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">Generate HTML in UTF-8 instead of whatever happens to be the default platform encoding.</action> |
| <action issue="BCEL-303" type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Several fixes to the verifier #117.</action> |
| <action issue="BCEL-307" type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Several fixes to the verifier #117.</action> |
| <action issue="BCEL-308" type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Several fixes to the verifier #117.</action> |
| <action issue="BCEL-309" type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Several fixes to the verifier #117.</action> |
| <action issue="BCEL-311" type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Several fixes to the verifier #117.</action> |
| <action issue="BCEL-312" type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Several fixes to the verifier #117.</action> |
| <action issue="BCEL-313" type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Several fixes to the verifier #117.</action> |
| <action issue="BCEL-337" type="fix" dev="ggregory" due-to="Mark Roberts, Gary Gregory">Several fixes to the verifier #117.</action> |
| <action type="fix" dev="ggregory" due-to="Michael Ernst, Gary Gregory">Close resources #138.</action> |
| <action type="fix" dev="ggregory" due-to="Alexander Kriegisch, Gary Gregory">Improve condy (constant dynamic) support #139.</action> |
| <action type="fix" dev="ggregory" due-to="Michael Ernst">Fix typos #140.</action> |
| <action issue="BCEL-363" type="fix" dev="ggregory" due-to="Richard Atkins, Gary Gregory">Enforce MAX_CP_ENTRIES in ConstantPoolGen and ConstantPool.dump #147.</action> |
| <action type="fix" dev="ggregory" due-to="Arturo Bernal, Gary Gregory">Minor Changes #99.</action> |
| <action type="fix" dev="ggregory" due-to="Arturo Bernal">Simplify boolean expressions #152.</action> |
| <action type="fix" dev="ggregory" due-to="Arturo Bernal">Use Math.max #151.</action> |
| <action type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.Signature.translate(String) does not detect EOF correctly.</action> |
| <action type="fix" dev="ggregory" due-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.</action> |
| <action type="fix" dev="ggregory" due-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.</action> |
| <action type="fix" dev="ggregory" due-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.</action> |
| <!-- ADD --> |
| <action type="add" dev="ggregory">Add github/codeql-action.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Make Annotations implement Iterable<AnnotationEntry>.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Make BootstrapMethods implement Iterable<BootstrapMethod>.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Make ConstantPool implement Iterable<Constant>.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Make InnerClasses implement Iterable<InnerClass>.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Make LineNumberTable implement Iterable<LineNumber>.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Make LocalVariableTable implement Iterable<LocalVariable>.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Make LocalVariableTypeTable implement Iterable<LocalVariable>.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Make MethodParameters implement Iterable<MethodParameter>.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Make ParameterAnnotations implement Iterable<ParameterAnnotationEntry>.</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_15</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_16</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_17</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_18</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MAJOR_19</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_15</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_16</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_17</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_18</action> |
| <action type="add" dev="ggregory" due-to="Gary Gregory">Add Const.MINOR_19</action> |
| <!-- UPDATES --> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump actions/cache from 2 to 3.0.11 #88, #93, #110, #119, #149, #154, #156.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump actions/checkout from 2.3.1 to 3.1.0 #59, #66, #73, #108, #115, #153.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump actions/setup-java from 1.4.0 to 3.5.1 #62, #67.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump tests from Apache Commons Lang 3.10 to 3.12.0</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-parent from 50 to 54.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump biz.aQute.bndlib from 5.1.0 to 6.3.1, #54, #72, #81, #111.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump maven-surefire-plugin from 3.0.0-M4 to 3.0.0-M7 #53, #124, #129.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump maven-checkstyle-plugin from 3.1.0 to 3.2.0, #77, #141.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump Jacoco from 0.8.5 to 0.8.8.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump commons-io from 2.7 to 2.11.0 #65, #96.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump exec-maven-plugin from 1.6.0 to 3.1.0 #51, #134.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons.japicmp.version from 0.14.3 to 0.16.0.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump maven-pmd-plugin from 3.13.0 to 3.19. #74, #103, #116, #130, #142, #144.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump pmd from 6.44.0 to 6.50.0.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">Bump junit-jupiter from 5.7.0 to 5.9.1 #78, #90, #101, #112, #135.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump jna.version from 5.6.0 to 5.12.1 #84, #102, #109, #120, #131.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump jmh.version from 1.19 to 1.35 #92, #100, #122.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump maven-javadoc-plugin from 3.2.0 to 3.4.1.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump maven-bundle-plugin from 5.1.1 to 5.1.8.</action> |
| <action type="update" dev="ggregory" due-to="Dependabot">Bump taglist-maven-plugin from 2.4 to 3.0.0 #114.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump spotbugs-maven-plugin from 4.5.3.0 to 4.7.2.1 #128, #132, #136, #144, #155.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Bump spotbugs from 4.5.3 to 4.7.1.</action> |
| </release> |
| <release version="6.5.0" date="2020-06-05" description="Minor feature and bug fix release."> |
| <action issue="BCEL-330" type="update" dev="ggregory" due-to="Mark Roberts">Remove unnecessary references to Constants.</action> |
| <action issue="BCEL-329" type="fix" dev="ggregory" due-to="Gary Gregory, Mark Roberts">MethodGen duplicates some attributes.</action> |
| <action issue="BCEL-336" type="update" dev="ggregory" due-to="Tomo Suzuki, Gary Gregory">MethodGen throws NullPointerException upon Invalid Class File Missing Constructor Body.</action> |
| <action type="update" dev="ggregory" due-to="Michael Ernst">Improve documentation of Pass3bVerifier (#37).</action> |
| <action type="update" dev="ggregory" due-to="Arthur Kupriyanov">Replaced deprecated constants in examples (#38).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update tests from JNA 5.4.0 to 5.5.0.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update tests JUnit from 4.12 to 4.13.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update tests from Apache Commons Lang 3.9 to 3.10.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update build maven-pmd-plugin 3.12.0 -> 3.13.0.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update tests maven-surefire-plugin 3.0.0-M3 -> 3.0.0-M4.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update build japicmp-maven-plugin 0.14.1 -> 0.14.3.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update build jacoco-maven-plugin 0.8.4 -> 0.8.5.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update tests from commons-io:commons-io 2.6 to 2.7.</action> |
| <action type="update" dev="ggregory" due-to="Mark Roberts">Add support for invokestatic of an InterfaceMethodref #39.</action> |
| <action type="update" dev="ggregory" due-to="Mark Roberts">Add attribute name(s) to Code.toString() #40.</action> |
| <action issue="BCEL-338" type="update" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.generic.InstructionFactory.createInvoke() populates its internal ConstantPoolGen on bad input, then throws exception.</action> |
| <action issue="BCEL-339" type="update" dev="ggregory" due-to="Gary Gregory">Throw IllegalArgumentException, IllegalStateException, UnsupportedOperationException instead of RuntimeException.</action> |
| <action type="update" dev="ggregory" due-to="Mark Roberts">Make some annotation methods public (#45).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Fix ConcurrentModificationException in the maven-bundle-plugin:4.2.1:manifest on Java 15-ea.</action> |
| </release> |
| <release version="6.4.1" date="2019-09-26" description="Bug fix release."> |
| <action issue="BCEL-328" type="fix" dev="ggregory" due-to="Gary Gregory, Mark Roberts">java.util.EmptyStackException at org.apache.bcel.classfile.DescendingVisitor.visitModule (DescendingVisitor.java:592).</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update build from Checkstyle Maven Plugin 3.0.0 to 3.1.0.</action> |
| </release> |
| <release version="6.4.0" date="2019-09-20" description="Feature and bug fix release."> |
| <action issue="BCEL-316" type="fix" dev="ggregory" due-to="Gary Gregory">org.apache.bcel.classfile.Attribute class and subclasses should NOT log to the console by default.</action> |
| <action issue="BCEL-278" type="fix" dev="ggregory" due-to="Valery Barysoky">InvokeInstruction.toString(final ConstantPool cp) throws NoSuchElementException #11.</action> |
| <action issue="BCEL-318" type="add" dev="ggregory" due-to="Gary Gregory">Add method org.apache.bcel.classfile.ConstantUtf8.clearCache().</action> |
| <action issue="BCEL-317" type="update" dev="ggregory" due-to="Tomo Suzuki, Gary Gregory">Pluggable cache for ConstantUtf8.</action> |
| <action issue="BCEL-320" type="add" dev="ggregory" due-to="Tomo Suzuki, Gary Gregory">Add LruCacheClassPathRepository that can scan many JAR files without OutOfMemoryError.</action> |
| <action issue="BCEL-299" type="update" dev="ggregory" due-to="Gary Gregory, zhangminglei">Fix example src/examples/ClassDumper.java ClassDumper.processID().</action> |
| <action issue="BCEL-322" type="add" dev="ggregory" due-to="Gary Gregory">Add constants to org.apache.bcel.Const for Java 14.</action> |
| <action issue="BCEL-270" type="fix" dev="ggregory" due-to="Alexandru-Constantin Bledea">Calling toString(ConstantPool) on InvokeInstruction throws NullPointerException.</action> |
| <action issue="BCEL-321" type="add" dev="ggregory" due-to="Tomo Suzuki">Refactor subclasses of ClassPathRepository for differences in underlying cache.</action> |
| <action issue="BCEL-323" type="fix" dev="ggregory" due-to="Tomo Suzuki">org.apache.bcel.util.BCELifier to set major and minor versions.</action> |
| <action issue="BCEL-326" type="fix" dev="ggregory" due-to="Mark Roberts">Add missing Java 9 and Java 11 class file attributes. #33</action> |
| <action issue="BCEL-325" type="fix" dev="ggregory" due-to="Mark Roberts">ClassDumper crashes on a module-info.class. #33</action> |
| <action issue="BCEL-327" type="fix" dev="ggregory" due-to="Mark Roberts">Update signature scanning in Utility to support TypeParameters. #32</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update tests from JNA 4.5.0 to 5.3.1.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update tests from JNA 5.3.1. to 5.4.0.</action> |
| </release> |
| |
| <release version="6.3.1" date="2019-03-20" description="Bug fix release"> |
| <action issue="BCEL-267" type="fix" dev="ggregory" due-to="Stephan Herrmann, Sebb, Gary Gregory, Torsten Curdt">Race conditions on static fields in BranchHandle and InstructionHandle.</action> |
| <action issue="BCEL-297" type="fix" dev="ggregory" due-to="Mark Roberts, mingleizhang">Possible NPE in override implementation of Object.equals (#20)</action> |
| <action issue="BCEL-298" type="update" dev="ggregory" due-to="mingleizhang">Add some files to .gitignore (#19)</action> |
| <action issue="BCEL-315" type="fix" dev="ggregory" due-to="Gary Gregory">NullPointerException at org.apache.bcel.classfile.FieldOrMethod.dump().</action> |
| </release> |
| |
| <release version="6.3" date="2019-01-23" description="Experimental Java 9, 10, 11, 12-EA, and 13-EA Support"> |
| <action issue="BCEL-304" type="fix" dev="ggregory" due-to="Gary Gregory, Ed Pavlak">ClassPath.getClassFile() and friends do not work with JDK 9 and higher (PR #22.)</action> |
| <action issue="BCEL-305" type="fix" dev="ggregory" due-to="Gary Gregory">ClassPath.getClassFile() and friends do not work with JRE 9 and higher</action> |
| <action type="update" dev="ggregory" due-to="Mark Thomas, Gary Gregory">Initial support for Java 11</action> |
| <action type="add" dev="ggregory" due-to="Mark Thomas">Added org.apache.bcel.classfile.Visitor.visitConstantDynamic(ConstantDynamic)</action> |
| <action type="add" dev="ggregory" due-to="Mark Thomas">Added org.apache.bcel.classfile.ConstantDynamic</action> |
| <action type="add" dev="ggregory" due-to="Mark Thomas">Added fields in org.apache.bcel.Const for Java 9, 10, and 11.</action> |
| <action type="add" dev="ggregory" due-to="Mark Thomas">Added fields in org.apache.bcel.Const for Java 12 and 13 based on Java Early Access releases.</action> |
| <action type="update" dev="ggregory" due-to="Gary Gregory">Update Java requirement from Java 7 to Java 8.</action> |
| </release> |
| |
| <release version="6.2" date="2017-12-08" description="Experimental Java 9 Support"> |
| <action issue="BCEL-294" type="fix" dev="britter" due-to="Mark Roberts">Incorrect comment in StackMap.java</action> |
| <action issue="BCEL-296" type="fix" dev="ggregory" due-to="Mark Roberts">Incorrect comment in several classes.</action> |
| <action issue="BCEL-295" type="fix" dev="ggregory" due-to="Mark Roberts">Fix local variable live range length; add test case.</action> |
| <action issue="BCEL-300" type="fix" dev="ggregory">org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19.</action> |
| <action issue="BCEL-301" type="fix" dev="ggregory">org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 20.</action> |
| </release> |
| |
| <release version="6.1" date="2017-09-14" description="Experimental Java 9 Support"> |
| <action issue="BCEL-293" type="add" dev="britter">Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility</action> |
| <action issue="BCEL-292" type="add" dev="markt">Add minimal Java 9 support</action> |
| <action issue="BCEL-286" type="fix" dev="britter" due-to="Mark Roberts">Utility.signatureToString fails if a method has multiple type arguments</action> |
| <action issue="BCEL-287" type="fix" dev="britter" due-to="Mark Roberts">IINC does not handle -128 properly</action> |
| <action issue="BCEL-283" type="fix" dev="britter" due-to="Mark Roberts">Support for StackMap should be different from StackMapTable</action> |
| <action issue="BCEL-289" type="fix" dev="kinow">Crash when parsing constructor of inner classes with parameters annotated</action> |
| <action issue="BCEL-276" type="fix" dev="britter" due-to="Sam Yoon, Mark Roberts">LocalVariableTypeTable is not updated.</action> |
| <action issue="BCEL-277" type="fix" dev="britter" due-to="Sam Yoon">Resolving the String representation of a constant throws NoSuchElementException in case of CONSTANT_NameAndType constant.</action> |
| </release> |
| |
| <release version="6.0" date="2016-07-10" description="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"> |
| <action issue="BCEL-262" type="update" dev="britter" due-to="Mark Roberts">InvokeInstruction.getClassName(ConstantPoolGen) |
| should not throw an exception when it detects an array.</action> |
| <action issue="BCEL-237" type="fix" dev="sebb">non-empty final arrays should be private as they are mutable.</action> |
| <action issue="BCEL-230" type="update" dev="britter">Document the Java platform requirement clearly and early.</action> |
| <action issue="BCEL-243" type="fix">Type.getType() needs to understand TypeVariableSignature(s).</action> |
| <action issue="BCEL-272" type="add">Add constants for Java 9 class file version 53.</action> |
| <action issue="BCEL-271" type="fix">FCONST pattern does not include FCONST_2.</action> |
| <action issue="BCEL-264" type="fix">Add missing Node.accept() implementations (ConstantMethodHandle, |
| ConstantMethodType, ParameterAnnotationEntry).</action> |
| <action issue="BCEL-221" type="fix">BCELifier is not working for Java8Example (incomplete).</action> |
| <action issue="BCEL-195" type="fix">Addition of hashCode() to generic/Instruction.java breaks Targeters. |
| Never make distinct BranchInstructions compare equal.</action> |
| <action issue="BCEL-261" type="fix">Select constructor allows partially constructed instance to escape. |
| Re-ordered code to delay the escape.</action> |
| <action issue="BCEL-259" type="fix">Minor doc error in BranchInstruction.java.</action> |
| <action issue="BCEL-260" type="fix">ClassDumper example duplicates field attribute types.</action> |
| <action issue="BCEL-258" type="fix">No tests to check the output of dump methods.</action> |
| <action issue="BCEL-257" type="fix">INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL need to define dump() |
| methods.</action> |
| <action issue="BCEL-254" type="fix">Two more methods that would be nice to be public.</action> |
| <action issue="BCEL-245" type="fix">Type class includes constants that reference subclasses.</action> |
| <action issue="BCEL-253" type="fix">Pass 3b verifier is too strict.</action> |
| <action issue="BCEL-248" type="fix">StackMapTable[Entry] should be removed and improvements merged into |
| StackMap[Entry].</action> |
| <action issue="BCEL-202" type="fix">StackMap[Table]Entry.copy() needs to be deep; Improved support for |
| StackMaps.</action> |
| <action issue="BCEL-251" type="fix">Pass3aVerifier visitANEWARRAY() does not allow 255 array dimensions.</action> |
| <action issue="BCEL-211" type="update">Some additional clone methods should be public.</action> |
| <action issue="BCEL-249" type="fix">Check for max Short seems wrong.</action> |
| <action issue="BCEL-127" type="update">Document that Instruction Factory returns singleton instances.</action> |
| <action issue="BCEL-198" type="update">better support for clone/copy methods.</action> |
| <action issue="BCEL-242" type="remove">Remove Serializable.</action> |
| <action issue="BCEL-110" type="remove">Problem with JAXB if the bcel classloader is used; remove the broken |
| ClassLoader class.</action> |
| <action issue="BCEL-201" type="update">modify several toString methods to make output similar to "javap".</action> |
| <action issue="BCEL-205" type="update">add javadoc comments to LineNumber.java and LineNumberTable.java.</action> |
| <action issue="BCEL-208" type="fix">Need to check for an empty InstructionList.</action> |
| <action issue="BCEL-212" type="update">Inconsistent toString() results.</action> |
| <action issue="BCEL-217" type="fix">long type instructions are not searched by InstructionFinder using |
| regular expression.</action> |
| <action issue="BCEL-244" type="update" dev="ggregory">Update Java requirement from 5 to 7.</action> |
| <action issue="BCEL-239" type="fix">Interfaces should not be used to define constants.</action> |
| <action issue="BCEL-234" type="fix">Code must not swallow Throwable.</action> |
| <action issue="BCEL-219" type="update" due-to="Maxim Degtyarev"> |
| Make org.apache.bcel.classfile.ConstantPool.ConstantPool(DataInput) |
| public. |
| </action> |
| <action issue="BCEL-209" type="fix" due-to="Mark Roberts"> |
| Bug fixes and improvements to InvokeDynamic and BootStrapMethods |
| implementation. |
| </action> |
| <action issue="BCEL-187" type="fix" due-to="Jérôme Leroux"> |
| Verification error when an invoke references a method defined in |
| superclass. |
| </action> |
| <action issue="BCEL-218" type="fix" due-to="chas"> |
| Remove ObjectType cache. |
| </action> |
| <action issue="BCEL-184" type="fix" due-to="Jérôme Leroux"> |
| The verifier now checks if methods with a void return type attempt |
| to return an object. |
| </action> |
| <action issue="BCEL-207" type="fix" due-to="Mark Roberts"> |
| MethodGen.removeLocalVariable now properly unreference the removed |
| variable from the targetters of the instruction handlers delimiting |
| the scope of the variable. |
| </action> |
| <action issue="BCEL-197" type="fix" due-to="Mark Roberts"> |
| Utility.signatureToString() no longer throws a ClassFormatException |
| on TypeVariables found in generic signatures. |
| </action> |
| <action issue="BCEL-194" type="fix" due-to="Mark Roberts"> |
| Removed the 'index' variable from the LocalVariableGen's hash code. |
| </action> |
| <action issue="BCEL-193" type="fix" dev="markt" due-to="Jérôme Leroux"> |
| The verifier should not check for run time compatibility of objects |
| assigned to arrays. |
| </action> |
| <action issue="BCEL-188" type="fix" dev="markt" due-to="Jérôme Leroux"> |
| Correct verification of the return value of a method. |
| </action> |
| <action issue="BCEL-186" type="fix" dev="sebb"> |
| Performance degradation with the UTF8 cache. getInstance no longer |
| uses cache. |
| </action> |
| <action issue="BCEL-181" type="fix" dev="ggregory"> |
| org.apache.bcel.util.ClassLoaderRepository.loadClass(String) leaks |
| input streams. |
| </action> |
| <action issue="BCEL-76" type="update"> |
| Add parent type processing for ClassPath class. |
| </action> |
| <action issue="BCEL-83" type="update"> |
| Add support for getResource and getResourceAsStream to ClassPath. |
| </action> |
| <action issue="BCEL-92" type="update"> |
| Properly parse StackMapTable attributes in Java 6 classfiles. |
| </action> |
| <action issue="BCEL-104" type="update"> |
| Javadoc overhaul. |
| </action> |
| <action issue="BCEL-119" type="update"> |
| BCEL is unnecessarily slow. |
| </action> |
| <action issue="BCEL-157" type="update"> |
| Add support for INVOKEDYNAMIC and MethodHandles. |
| </action> |
| <action issue="BCEL-160" type="update" dev="sebb"> |
| Why using unstable sort at MethodGen.getLocalVariables() ? |
| </action> |
| <action issue="BCEL-163" type="update"> |
| Incorporate patch file from Findbugs. |
| </action> |
| <action issue="BCEL-175" type="update"> |
| Implement the MethodParameters attribute. |
| </action> |
| <action issue="BCEL-28" type="fix"> |
| Mistake in "Peephole optimizer" example |
| at https://commons.apache.org/bcel/manual.html |
| </action> |
| <action issue="BCEL-74" type="fix"> |
| BCEL cannot be used as java.system.class.loader. |
| </action> |
| <action issue="BCEL-77" type="fix"> |
| XSLT transforms broken in Turkish Locale. |
| </action> |
| <action issue="BCEL-79" type="fix"> |
| java.lang.ClassFormatError: LVTT entry for 'local' in class file |
| org/shiftone/jrat/test/dummy/CrashTestDummy does not match any LVT |
| entry |
| </action> |
| <action issue="BCEL-81" type="fix"> |
| ClassParser.parse() throws NullPointerException if class does not |
| exist and ClassParser(String) constructor is used. |
| </action> |
| <action issue="BCEL-85" type="fix"> |
| ArrayOutOfBoundsException in InstructionFinder. |
| </action> |
| <action issue="BCEL-87" type="fix"> |
| Website: Incorrect URL for source; version 5.2 is not in the bug |
| page |
| </action> |
| <action issue="BCEL-88" type="fix"> |
| bcelified method doesn't pass verification. |
| </action> |
| <action issue="BCEL-89" type="fix"> |
| return type not verified by JustIce. |
| </action> |
| <action issue="BCEL-94" type="fix"> |
| @since tag incorrect for Annotation classes in BCEL trunk. |
| </action> |
| <action issue="BCEL-95" type="fix"> |
| InstructionFactory missing % operator for Float, Double. |
| </action> |
| <action issue="BCEL-96" type="fix"> |
| Fields in Annotations and AnnotationEntry are inaccessible to |
| subclasses |
| </action> |
| <action issue="BCEL-97" type="fix"> |
| Add support for getResources to ClassPath. |
| </action> |
| <action issue="BCEL-98" type="fix"> |
| Two source files in repository are empty. |
| </action> |
| <action issue="BCEL-99" type="fix"> |
| Maven POM file calls in apache regex but code does not use it. |
| </action> |
| <action issue="BCEL-100" type="fix"> |
| ClassParser throws unintelligible Exception. |
| </action> |
| <action issue="BCEL-101" type="fix"> |
| verifier raises an AssertionViolatedException when done against |
| Java 5 files with generics/annotations. |
| </action> |
| <action issue="BCEL-102" type="fix"> |
| Verifier fails in pass 2 with "Number of LocalVariableTable |
| attributes of Code attribute" on static methods. |
| </action> |
| <action issue="BCEL-107" type="fix"> |
| ParameterAnnotationEntries are read not dumped. |
| </action> |
| <action issue="BCEL-108" type="fix"> |
| RuntimeVisible Annotations duplicated. |
| </action> |
| <action issue="BCEL-112" type="fix"> |
| ARRAYLENGTH incorrectly not StackConsumer. |
| </action> |
| <action issue="BCEL-114" type="fix"> |
| Error in method search() defined in |
| org.apache.bcel.util.InstructionFinder |
| </action> |
| <action issue="BCEL-115" type="fix"> |
| Deleting all instructions of a list shows wrong behavior. |
| </action> |
| <action issue="BCEL-120" type="fix"> |
| Make BCEL JAR OSGi compatible. |
| </action> |
| <action issue="BCEL-122" type="fix"> |
| ArrayIndexOutOfBoundsException thrown from TABLESWITCH.initFromFile. |
| </action> |
| <action issue="BCEL-124" type="fix"> |
| tableswitch/lookupswitch invalid alignment of 4-byte operands. |
| </action> |
| <action issue="BCEL-125" type="fix"> |
| Incorrect size calculation in InstructionFinder. |
| </action> |
| <action issue="BCEL-130" type="fix"> |
| Class files containing "ParameterAnnotations" are dumped |
| incorrectly. |
| </action> |
| <action issue="BCEL-131" type="fix"> |
| Class files containing "StackMapTable" attributes (on method code) |
| are dumped incorrectly. |
| </action> |
| <action issue="BCEL-132" type="fix"> |
| org.apache.bcel.classfile.ClassParser: NullPointerException caused |
| by fileopen failed. |
| </action> |
| <action issue="BCEL-133" type="fix"> |
| org.apache.bcel.classfile.ClassParser: NullPointerException caused |
| by invalid filename. |
| </action> |
| <action issue="BCEL-134" type="fix"> |
| ExecutionVisitor doesn't support Class constant type for LDC and |
| LDC_W. |
| </action> |
| <action issue="BCEL-135" type="fix"> |
| BCELifier issue: BCELFactory fails to handle float and long |
| constants. |
| </action> |
| <action issue="BCEL-137" type="fix"> |
| "Invalid method signature: TT;" when using MethodGen for a method |
| having a generic parameter. |
| </action> |
| <action issue="BCEL-138" type="fix"> |
| FieldInstruction.getFieldSize() doesn't decode Type.getTypeSize() |
| output. |
| </action> |
| <action issue="BCEL-140" type="fix"> |
| org.apache.bcel.generic.Instruction.equals(Object) does not follow |
| Object.equals(Object) rules. |
| </action> |
| <action issue="BCEL-141" type="fix"> |
| Select instructions should implement StackConsumer instead of |
| StackProducer. |
| </action> |
| <action issue="BCEL-143" type="fix"> |
| Fix CPL License issues with EnclosingMethod.java and |
| LocalVariableTypeTable.java. |
| </action> |
| <action issue="BCEL-145" type="fix"> |
| Type.getReturnTypeSize() doesn't decode Type.getTypeSize() output. |
| </action> |
| <action issue="BCEL-146" type="fix"> |
| SyntheticRepository.loadClass() fails to close the inputStream. |
| </action> |
| <action issue="BCEL-148" type="fix"> |
| BCELifier produces incorrect code for methods containing loads of |
| class literals from constant pool. |
| </action> |
| <action issue="BCEL-151" type="fix"> |
| Code attribute size not updated. |
| </action> |
| <action issue="BCEL-152" type="fix"> |
| Incorrect link for Jasmin assembler language. |
| </action> |
| <action issue="BCEL-153" type="fix" dev="sebb"> |
| Examples not present in source or binary downloads. |
| </action> |
| <action issue="BCEL-154" type="fix"> |
| ClassParser.parse() generates NPE if it cannot open the file. |
| </action> |
| <action issue="BCEL-155" type="fix"> |
| InstConstraintVisitor does not handle class constants. |
| </action> |
| <action issue="BCEL-156" type="fix"> |
| Pass3bVerifier crashes on empty methods. |
| </action> |
| <action issue="BCEL-159" type="fix"> |
| LocalVariableGen.getLocalVariable() computes incorrect length. |
| </action> |
| <action issue="BCEL-164" type="fix"> |
| Method does not have a method to access parameter annotations. |
| </action> |
| <action issue="BCEL-167" type="fix"> |
| ClassPath.getResource does not correctly perform URL escaping. |
| </action> |
| <action issue="BCEL-173" type="fix"> |
| ClassParser fails to parse JDK classes in Java 8: |
| ClassFormatException: Invalid byte tag in constant pool. |
| </action> |
| <action issue="BCEL-174" type="fix"> |
| Verification of interfaces with default methods fails with Java 8. |
| </action> |
| <action issue="BCEL-177" type="fix" dev="markt"> |
| When reading the number of parameters in a MethodParameters |
| structure only read a single byte as per the JVM specification. |
| </action> |
| </release> |
| </body> |
| </document> |