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 intended to give users 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 byte code instructions.
Maintenance and bug fix release.
NEW FEATURES:
o Add and use InvalidMethodSignatureException extending ClassFormatException. Thanks to Gary Gregory.
o Increase code coverage in Class2HTMLTestCase with new test input Java4Example #186. Thanks to nbauma109.
o Add verifier tests on some opcodes #180. Thanks to nbauma109.
o Added signature test cases for class/method, and bad signatures #182. Thanks to nbauma109.
o Add Const.MAJOR_20. Thanks to Gary Gregory.
o Add Const.MINOR_20. Thanks to Gary Gregory.
o Add Const.MAJOR_21. Thanks to Gary Gregory.
o Add Const.MINOR_21. Thanks to Gary Gregory.
o [Bcelifier] stackmap support to pass JDK verifier #177. Thanks to nbauma109, Gary Gregory, Mark Roberts.
o 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.
o 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:
o When parsing an class with an invalid constant reference, ensure ClassParser.parse() throws ClassFormatException, not NullPointerException. Thanks to OSS-Fuzz.
o Ensure that references to a constant pool entry with index zero trigger a ClassFormatException, not a NullPointerException. Thanks to OSS-Fuzz.
o Ensure that references to the unused constant pool entry after a long/double entry triggers a ClassFormatException, not a NullPointerException. Thanks to OSS-Fuzz.
o Test and coverage of InstructionFactory #190. Thanks to nbauma109.
o Verifier: test and coverage for SWAP instruction #188. Thanks to nbauma109.
o Exception parsing Kotlin class with 'fun method name with () in it()' #205. Thanks to Jason Copenhaver, Gary Gregory.
o Fix null pointers in AnnotationEntry #213. Thanks to nbauma109, Gary Gregory.
o 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.
o BCEL-366: Use alternative name for broken classes under test #220. Thanks to Slawomir Jaranowski.
o BCEL-367: Fixes java.lang.IndexOutOfBoundsException for ATHROW on empty stack #223. Thanks to Katherine Hough, Gary Gregory.
o BCEL-368: Fixes java.lang.StackOverflowError in Select#toString(boolean) #229. Thanks to Katherine Hough, Gary Gregory.
o Fix for type.getType(...) use on non-signature type names #221. Thanks to nbauma109, Judit Knoll, Gary Gregory.
o Fix EmptyVisitorTestCase on Java 21. Thanks to Gary Gregory.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps org.apache.bcel:bcel from 6.7.0 to 6.8.0.
Changelog
Sourced from org.apache.bcel:bcel's changelog.
... (truncated)
Commits
cf6f7e7
Prepare for release candidate62d5d77
Prepare for the next release candidated192244
Bump commons-parent from 64 to 65867977a
Fix SpotBugs: No fall through hack2df0926
Fix Spotbugs [ERROR] Class org.apache.bcel.util.ClassVector defines86de369
Internal clean up7cc0763
Bump actions/setup-java from 3.13.0 to 4.0.0e7473b5
Bump actions/setup-java from 3.13.0 to 4.0.078418a6
Bump actions/setup-java from 3.13.0 to 4.0.017c2107
Drop reference to IRCDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show