From 62d5d7722f5da8989da00ad6bf18147ef99a429f Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Sun, 3 Dec 2023 10:48:07 -0500 Subject: [PATCH] Prepare for the next release candidate --- README.md | 80 +++++++---------------------- RELEASE-NOTES.txt | 89 +++++++++++++++++++++++++++++++++ src/site/xdoc/download_bcel.xml | 26 +++++----- src/site/xdoc/mail-lists.xml | 38 +++++++------- 4 files changed, 139 insertions(+), 94 deletions(-) diff --git a/README.md b/README.md index c296473a62..c4950df67a 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Apache Commons BCEL [![Java CI](https://github.com/apache/commons-bcel/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-bcel/actions/workflows/maven.yml) [![Coverage Status](https://codecov.io/gh/apache/commons-bcel/branch/master/graph/badge.svg)](https://app.codecov.io/gh/apache/commons-bcel) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.bcel/bcel/badge.svg?gav=true)](https://maven-badges.herokuapp.com/maven-central/org.apache.bcel/bcel/?gav=true) -[![Javadocs](https://javadoc.io/badge/org.apache.bcel/bcel/6.7.0.svg)](https://javadoc.io/doc/org.apache.bcel/bcel/6.7.0) +[![Javadocs](https://javadoc.io/badge/org.apache.bcel/bcel/6.8.0.svg)](https://javadoc.io/doc/org.apache.bcel/bcel/6.8.0) [![CodeQL](https://github.com/apache/commons-bcel/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-bcel/actions/workflows/codeql-analysis.yml) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-bcel/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-bcel) @@ -59,27 +59,35 @@ More information can be found on the [Apache Commons BCEL homepage](https://comm The [Javadoc](https://commons.apache.org/proper/commons-bcel/apidocs) can be browsed. Questions related to the usage of Apache Commons BCEL should be posted to the [user mailing list][ml]. -Where can I get the latest release? ------------------------------------ +Getting the latest release +-------------------------- You can download source and binaries from our [download page](https://commons.apache.org/proper/commons-bcel/download_bcel.cgi). -Alternatively, you can pull it from the central Maven repositories: +Alternatively, you can pull it from the central Maven repositories: ```xml org.apache.bcel bcel - 6.7.0 + 6.8.0 ``` +Building +-------- + +Building requires a Java JDK and [Apache Maven](https://maven.apache.org/). +The required Java version is found in the `pom.xml` as the `maven.compiler.source` property. + +From a command shell, run `mvn` without arguments to invoke the default Maven goal to run all tests and checks. + Contributing ------------ We accept Pull Requests via GitHub. The [developer mailing list](https://commons.apache.org/mail-lists.html) is the main channel of communication for contributors. There are some guidelines which will make applying PRs easier for us: + No tabs! Please use spaces for indentation. -+ Respect the code style. ++ Respect the existing code style for each file. + Create minimal diffs - disable on save actions like reformat source code or organize imports. If you feel the source code should be reformatted create a separate PR for this change. + Provide JUnit tests for your changes and make sure your changes don't break any existing tests by running ```mvn```. @@ -88,13 +96,13 @@ You can learn more about contributing via GitHub in our [contribution guidelines License ------- -This code is under the [Apache License v2](https://www.apache.org/licenses/LICENSE-2.0). +This code is licensed under the [Apache License v2](https://www.apache.org/licenses/LICENSE-2.0). See the `NOTICE.txt` file for required notices and attributions. -Donations ---------- -You like Apache Commons BCEL? Then [donate back to the ASF](https://www.apache.org/foundation/contributing.html) to support the development. +Donating +-------- +You like Apache Commons BCEL? Then [donate back to the ASF](https://www.apache.org/foundation/contributing.html) to support development. Additional Resources -------------------- @@ -108,54 +116,4 @@ Additional Resources Apache Commons Components ------------------------- -| Component | GitHub Repository | Apache Homepage | -| --------- | ----------------- | ----------------| -| Apache Commons BCEL | [commons-bcel](https://github.com/apache/commons-bcel) | [commons-bcel](https://commons.apache.org/proper/commons-bcel) | -| Apache Commons Beanutils | [commons-beanutils](https://github.com/apache/commons-beanutils) | [commons-beanutils](https://commons.apache.org/proper/commons-beanutils) | -| Apache Commons BSF | [commons-bsf](https://github.com/apache/commons-bsf) | [commons-bsf](https://commons.apache.org/proper/commons-bsf) | -| Apache Commons Build-plugin | [commons-build-plugin](https://github.com/apache/commons-build-plugin) | [commons-build-plugin](https://commons.apache.org/proper/commons-build-plugin) | -| Apache Commons Chain | [commons-chain](https://github.com/apache/commons-chain) | [commons-chain](https://commons.apache.org/proper/commons-chain) | -| Apache Commons CLI | [commons-cli](https://github.com/apache/commons-cli) | [commons-cli](https://commons.apache.org/proper/commons-cli) | -| Apache Commons Codec | [commons-codec](https://github.com/apache/commons-codec) | [commons-codec](https://commons.apache.org/proper/commons-codec) | -| Apache Commons Collections | [commons-collections](https://github.com/apache/commons-collections) | [commons-collections](https://commons.apache.org/proper/commons-collections) | -| Apache Commons Compress | [commons-compress](https://github.com/apache/commons-compress) | [commons-compress](https://commons.apache.org/proper/commons-compress) | -| Apache Commons Configuration | [commons-configuration](https://github.com/apache/commons-configuration) | [commons-configuration](https://commons.apache.org/proper/commons-configuration) | -| Apache Commons Crypto | [commons-crypto](https://github.com/apache/commons-crypto) | [commons-crypto](https://commons.apache.org/proper/commons-crypto) | -| Apache Commons CSV | [commons-csv](https://github.com/apache/commons-csv) | [commons-csv](https://commons.apache.org/proper/commons-csv) | -| Apache Commons Daemon | [commons-daemon](https://github.com/apache/commons-daemon) | [commons-daemon](https://commons.apache.org/proper/commons-daemon) | -| Apache Commons DBCP | [commons-dbcp](https://github.com/apache/commons-dbcp) | [commons-dbcp](https://commons.apache.org/proper/commons-dbcp) | -| Apache Commons Dbutils | [commons-dbutils](https://github.com/apache/commons-dbutils) | [commons-dbutils](https://commons.apache.org/proper/commons-dbutils) | -| Apache Commons Digester | [commons-digester](https://github.com/apache/commons-digester) | [commons-digester](https://commons.apache.org/proper/commons-digester) | -| Apache Commons Email | [commons-email](https://github.com/apache/commons-email) | [commons-email](https://commons.apache.org/proper/commons-email) | -| Apache Commons Exec | [commons-exec](https://github.com/apache/commons-exec) | [commons-exec](https://commons.apache.org/proper/commons-exec) | -| Apache Commons Fileupload | [commons-fileupload](https://github.com/apache/commons-fileupload) | [commons-fileupload](https://commons.apache.org/proper/commons-fileupload) | -| Apache Commons Functor | [commons-functor](https://github.com/apache/commons-functor) | [commons-functor](https://commons.apache.org/proper/commons-functor) | -| Apache Commons Geometry | [commons-geometry](https://github.com/apache/commons-geometry) | [commons-geometry](https://commons.apache.org/proper/commons-geometry) | -| Apache Commons Graph | [commons-graph](https://github.com/apache/commons-graph) | [commons-graph](https://commons.apache.org/proper/commons-graph) | -| Apache Commons Imaging | [commons-imaging](https://github.com/apache/commons-imaging) | [commons-imaging](https://commons.apache.org/proper/commons-imaging) | -| Apache Commons IO | [commons-io](https://github.com/apache/commons-io) | [commons-io](https://commons.apache.org/proper/commons-io) | -| Apache Commons JCI | [commons-jci](https://github.com/apache/commons-jci) | [commons-jci](https://commons.apache.org/proper/commons-jci) | -| Apache Commons JCS | [commons-jcs](https://github.com/apache/commons-jcs) | [commons-jcs](https://commons.apache.org/proper/commons-jcs) | -| Apache Commons Jelly | [commons-jelly](https://github.com/apache/commons-jelly) | [commons-jelly](https://commons.apache.org/proper/commons-jelly) | -| Apache Commons Jexl | [commons-jexl](https://github.com/apache/commons-jexl) | [commons-jexl](https://commons.apache.org/proper/commons-jexl) | -| Apache Commons Jxpath | [commons-jxpath](https://github.com/apache/commons-jxpath) | [commons-jxpath](https://commons.apache.org/proper/commons-jxpath) | -| Apache Commons Lang | [commons-lang](https://github.com/apache/commons-lang) | [commons-lang](https://commons.apache.org/proper/commons-lang) | -| Apache Commons Logging | [commons-logging](https://github.com/apache/commons-logging) | [commons-logging](https://commons.apache.org/proper/commons-logging) | -| Apache Commons Math | [commons-math](https://github.com/apache/commons-math) | [commons-math](https://commons.apache.org/proper/commons-math) | -| Apache Commons Net | [commons-net](https://github.com/apache/commons-net) | [commons-net](https://commons.apache.org/proper/commons-net) | -| Apache Commons Numbers | [commons-numbers](https://github.com/apache/commons-numbers) | [commons-numbers](https://commons.apache.org/proper/commons-numbers) | -| Apache Commons Parent | [commons-parent](https://github.com/apache/commons-parent) | [commons-parent](https://commons.apache.org/proper/commons-parent) | -| Apache Commons Pool | [commons-pool](https://github.com/apache/commons-pool) | [commons-pool](https://commons.apache.org/proper/commons-pool) | -| Apache Commons Proxy | [commons-proxy](https://github.com/apache/commons-proxy) | [commons-proxy](https://commons.apache.org/proper/commons-proxy) | -| Apache Commons RDF | [commons-rdf](https://github.com/apache/commons-rdf) | [commons-rdf](https://commons.apache.org/proper/commons-rdf) | -| Apache Commons Release-plugin | [commons-release-plugin](https://github.com/apache/commons-release-plugin) | [commons-release-plugin](https://commons.apache.org/proper/commons-release-plugin) | -| Apache Commons Rng | [commons-rng](https://github.com/apache/commons-rng) | [commons-rng](https://commons.apache.org/proper/commons-rng) | -| Apache Commons Scxml | [commons-scxml](https://github.com/apache/commons-scxml) | [commons-scxml](https://commons.apache.org/proper/commons-scxml) | -| Apache Commons Signing | [commons-signing](https://github.com/apache/commons-signing) | [commons-signing](https://commons.apache.org/proper/commons-signing) | -| Apache Commons Skin | [commons-skin](https://github.com/apache/commons-skin) | [commons-skin](https://commons.apache.org/proper/commons-skin) | -| Apache Commons Statistics | [commons-statistics](https://github.com/apache/commons-statistics) | [commons-statistics](https://commons.apache.org/proper/commons-statistics) | -| Apache Commons Testing | [commons-testing](https://github.com/apache/commons-testing) | [commons-testing](https://commons.apache.org/proper/commons-testing) | -| Apache Commons Text | [commons-text](https://github.com/apache/commons-text) | [commons-text](https://commons.apache.org/proper/commons-text) | -| Apache Commons Validator | [commons-validator](https://github.com/apache/commons-validator) | [commons-validator](https://commons.apache.org/proper/commons-validator) | -| Apache Commons VFS | [commons-vfs](https://github.com/apache/commons-vfs) | [commons-vfs](https://commons.apache.org/proper/commons-vfs) | -| Apache Commons Weaver | [commons-weaver](https://github.com/apache/commons-weaver) | [commons-weaver](https://commons.apache.org/proper/commons-weaver) | +Please see the [list of components](https://commons.apache.org/components.html) diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt index 82fb40c32e..b1d0c2e91f 100644 --- a/RELEASE-NOTES.txt +++ b/RELEASE-NOTES.txt @@ -1,3 +1,92 @@ + 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 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. + +CHANGES: +======== + +o Bump commons-parent from 54 to 65 #189, #198, #222. Thanks to Gary Gregory, Dependabot. +o Bump jna.version from 5.12.1 to 5.13.0 #203. Thanks to Dependabot. +o Bump kotlin-stdlib from 1.8.10 to 1.9.21 #217, #219, #227, #231, #235, #245, #247. Thanks to Dependabot. +o Bump commons-io from 2.11.0 to 2.15.1. Thanks to Dependabot. +o Bump commons-lang3 from 3.12.0 to 3.14.0. Thanks to Gary Gregory. +o 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 diff --git a/src/site/xdoc/download_bcel.xml b/src/site/xdoc/download_bcel.xml index dc947e7c12..b07a8d3e77 100644 --- a/src/site/xdoc/download_bcel.xml +++ b/src/site/xdoc/download_bcel.xml @@ -113,32 +113,32 @@ limitations under the License.

-
+
- - - + + + - - - + + +
bcel-6.7.0-bin.tar.gzsha512pgpbcel-6.8.0-bin.tar.gzsha512pgp
bcel-6.7.0-bin.zipsha512pgpbcel-6.8.0-bin.zipsha512pgp
- - - + + + - - - + + +
bcel-6.7.0-src.tar.gzsha512pgpbcel-6.8.0-src.tar.gzsha512pgp
bcel-6.7.0-src.zipsha512pgpbcel-6.8.0-src.zipsha512pgp
diff --git a/src/site/xdoc/mail-lists.xml b/src/site/xdoc/mail-lists.xml index 4d6a444258..ef05eac585 100644 --- a/src/site/xdoc/mail-lists.xml +++ b/src/site/xdoc/mail-lists.xml @@ -59,9 +59,9 @@ limitations under the License.

Questions related to the usage of Apache Commons BCEL should be posted to the - User List. + User List.
- The Developer List + The Developer List is for questions and discussion related to the development of Apache Commons BCEL.
Please do not cross-post; developers are also subscribed to the user list. @@ -70,8 +70,10 @@ limitations under the License. to subscribe.

- Note: please don't send patches or attachments to any of the mailing lists. + Note: please don't send patches or attachments to any of the mailing lists; + most of the lists are set up to drop attachments. Patches are best handled via the Issue Tracking system. + If you have a GitHub account, most components also accept PRs (pull requests). Otherwise, please upload the file to a public server and include the URL in the mail.

@@ -105,12 +107,11 @@ limitations under the License. Subscribe Unsubscribe Post - mail-archives.apache.org
+ lists.apache.org - markmail.org
- www.mail-archive.com
- news.gmane.org + + www.mail-archive.com @@ -125,12 +126,11 @@ limitations under the License. Subscribe Unsubscribe Post - mail-archives.apache.org
+ lists.apache.org - markmail.org
- www.mail-archive.com
- news.gmane.org + + www.mail-archive.com @@ -145,10 +145,10 @@ limitations under the License. Subscribe Unsubscribe read only - mail-archives.apache.org
+ lists.apache.org - markmail.org
+ www.mail-archive.com @@ -164,10 +164,10 @@ limitations under the License. Subscribe Unsubscribe read only - mail-archives.apache.org
+ lists.apache.org - markmail.org
+ www.mail-archive.com @@ -199,13 +199,11 @@ limitations under the License. Subscribe Unsubscribe read only - mail-archives.apache.org
+ lists.apache.org - markmail.org
- old.nabble.com
- www.mail-archive.com
- news.gmane.org + + www.mail-archive.com