Skip to content

Commit

Permalink
Prepare for the next release candidate
Browse files Browse the repository at this point in the history
  • Loading branch information
garydgregory committed Dec 3, 2023
1 parent d192244 commit 62d5d77
Show file tree
Hide file tree
Showing 4 changed files with 139 additions and 94 deletions.
80 changes: 19 additions & 61 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -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
<dependency>
<groupId>org.apache.bcel</groupId>
<artifactId>bcel</artifactId>
<version>6.7.0</version>
<version>6.8.0</version>
</dependency>
```

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```.

Expand All @@ -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
--------------------
Expand All @@ -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)
89 changes: 89 additions & 0 deletions RELEASE-NOTES.txt
Original file line number Diff line number Diff line change
@@ -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
Expand Down
26 changes: 13 additions & 13 deletions src/site/xdoc/download_bcel.xml
Original file line number Diff line number Diff line change
Expand Up @@ -113,32 +113,32 @@ limitations under the License.
</p>
</subsection>
</section>
<section name="Apache Commons BCEL 6.7.0 (Java 8 or above)">
<section name="Apache Commons BCEL 6.8.0 (Java 8 or above)">
<subsection name="Binaries">
<table>
<tr>
<td><a href="[preferred]/commons/bcel/binaries/bcel-6.7.0-bin.tar.gz">bcel-6.7.0-bin.tar.gz</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/binaries/bcel-6.7.0-bin.tar.gz.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/binaries/bcel-6.7.0-bin.tar.gz.asc">pgp</a></td>
<td><a href="[preferred]/commons/bcel/binaries/bcel-6.8.0-bin.tar.gz">bcel-6.8.0-bin.tar.gz</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/binaries/bcel-6.8.0-bin.tar.gz.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/binaries/bcel-6.8.0-bin.tar.gz.asc">pgp</a></td>
</tr>
<tr>
<td><a href="[preferred]/commons/bcel/binaries/bcel-6.7.0-bin.zip">bcel-6.7.0-bin.zip</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/binaries/bcel-6.7.0-bin.zip.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/binaries/bcel-6.7.0-bin.zip.asc">pgp</a></td>
<td><a href="[preferred]/commons/bcel/binaries/bcel-6.8.0-bin.zip">bcel-6.8.0-bin.zip</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/binaries/bcel-6.8.0-bin.zip.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/binaries/bcel-6.8.0-bin.zip.asc">pgp</a></td>
</tr>
</table>
</subsection>
<subsection name="Source">
<table>
<tr>
<td><a href="[preferred]/commons/bcel/source/bcel-6.7.0-src.tar.gz">bcel-6.7.0-src.tar.gz</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/source/bcel-6.7.0-src.tar.gz.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/source/bcel-6.7.0-src.tar.gz.asc">pgp</a></td>
<td><a href="[preferred]/commons/bcel/source/bcel-6.8.0-src.tar.gz">bcel-6.8.0-src.tar.gz</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/source/bcel-6.8.0-src.tar.gz.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/source/bcel-6.8.0-src.tar.gz.asc">pgp</a></td>
</tr>
<tr>
<td><a href="[preferred]/commons/bcel/source/bcel-6.7.0-src.zip">bcel-6.7.0-src.zip</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/source/bcel-6.7.0-src.zip.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/source/bcel-6.7.0-src.zip.asc">pgp</a></td>
<td><a href="[preferred]/commons/bcel/source/bcel-6.8.0-src.zip">bcel-6.8.0-src.zip</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/source/bcel-6.8.0-src.zip.sha512">sha512</a></td>
<td><a href="https://downloads.apache.org/commons/bcel/source/bcel-6.8.0-src.zip.asc">pgp</a></td>
</tr>
</table>
</subsection>
Expand Down
Loading

0 comments on commit 62d5d77

Please sign in to comment.