This is an automated email from the ASF dual-hosted git repository.
garydgregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-jexl.git
The following commit(s) were added to refs/heads/master by this push:
new 7b922b15 Prepare for the release candidate
7b922b15 is described below
commit 7b922b155f83dd6995001932c00cffee95c45305
Author: Gary Gregory <[email protected]>
AuthorDate: Thu Oct 15 20:20:54 2026 +0000
Prepare for the release candidate
---
CONTRIBUTING.md | 26 ++++++++++----------
README.md | 12 +++++-----
RELEASE-NOTES.txt | 52 ++++++++++++++++++++++++++++++++++++++++
src/changes/changes.xml | 2 +-
src/site/xdoc/download_jexl.xml | 28 +++++++++++-----------
src/site/xdoc/issue-tracking.xml | 10 ++++----
6 files changed, 91 insertions(+), 39 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index bcef6a34..a38e2c30 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -41,35 +41,35 @@
Contributing to Apache Commons JEXL
======================
-Have you found a bug or have an idea for a cool new feature? Contributing code
is a great way to give something back to the open-source community.
-Before you dig right into the code, we need contributors to follow a few
guidelines to have a chance of keeping on top of things.
+Have you found a bug, or do you have an idea for a cool new feature?
Contributing code is a great way to give something back to the open-source
community.
+Before you dig right into the code, please review these guidelines to help us
manage contributions.
Getting Started
---------------
+ Make sure you have a [JIRA account](https://issues.apache.org/jira/).
-+ Make sure you have a [GitHub account](https://github.com/signup/free). This
is not essential, but makes providing patches much easier.
-+ If you're planning to implement a new feature it makes sense to discuss your
changes on the [dev list](https://commons.apache.org/mail-lists.html) first.
This way you can make sure you're not wasting your time on something that isn't
considered to be in Apache Commons JEXL's scope.
++ Make sure you have a [GitHub account](https://github.com/signup). This is
not essential, but it makes providing patches much easier.
++ If you're planning to implement a new feature, it makes sense to discuss
your changes on the [dev list](https://commons.apache.org/mail-lists.html)
first. This way you can make sure you're not wasting your time on something
that isn't considered to be in Apache Commons JEXL's scope.
+ Submit a [Jira Ticket][jira] for your issue, assuming one does not already
exist.
- + Clearly describe the issue including steps to reproduce when it is a bug.
+ + Clearly describe the issue, including steps to reproduce it if it is a bug.
+ Make sure you fill in the earliest version that you know has the issue.
+ Find the corresponding [repository on
GitHub](https://github.com/apache/?query=commons-),
-[fork](https://help.github.com/articles/fork-a-repo/) and check out your
forked repository. If you don't have a GitHub account, you can still clone the
Commons repository.
+[fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo)
and check out your forked repository. If you don't have a GitHub account, you
can still clone the Commons repository.
Making Changes
--------------
+ Create a _topic branch_ for your isolated work.
- * Usually you should base your branch from the `master` branch.
- * A good topic branch name can be the JIRA bug ID plus a keyword, e.g.
`JEXL-123-InputStream`.
+ * Usually, you should base your branch on the `master` branch.
+ * A good topic branch name can be the JIRA bug ID plus a keyword, e.g.,
`JEXL-123-InputStream`.
* If you have submitted multiple JIRA issues, try to maintain separate
branches and pull requests.
+ Make commits of logical units.
* Make sure your commit messages are meaningful and in the proper format.
Your commit message should contain the key of the JIRA issue.
* For example, `[JEXL-123] Close input stream sooner`
+ Respect the original code style:
+ Only use spaces for indentation; you can check for unnecessary whitespace
with `git diff` before committing.
- + 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 first.
-+ Write unit tests that match behavioral changes, where the tests fail if the
changes to the runtime are not applied. This may not always be possible but is
a best practice.
+ + 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 first.
++ Write unit tests that match behavioral changes, where the tests fail if the
changes to the runtime are not applied. This may not always be possible, but it
is a best practice.
Unit tests are typically in the `src/test/java` directory.
+ Run a successful build using the default [Maven](https://maven.apache.org/)
goal with `mvn`; that's `mvn` on the command line by itself.
+ Write a pull request description that is detailed enough to understand what
the pull request does, how, and why.
@@ -95,7 +95,7 @@ Submitting Changes
+ Push your changes to a topic branch in your fork of the repository.
+ Submit a _Pull Request_ to the corresponding repository in the `apache`
organization.
* Verify _Files Changed_ shows only your intended changes and does not
- include additional files like `target/*.class`
+ include additional files like `target/*.class`.
+ Update your JIRA ticket and include a link to the pull request in the ticket.
If you prefer to not use GitHub, then you can instead use
@@ -108,8 +108,8 @@ Additional Resources
+ [Contributing patches](https://commons.apache.org/patches.html)
+ [Apache Commons JEXL JIRA project page][jira]
+ [Contributor License Agreement][cla]
-+ [General GitHub documentation](https://help.github.com/)
-+ [GitHub pull request
documentation](https://help.github.com/articles/creating-a-pull-request/)
++ [General GitHub documentation](https://docs.github.com/)
++ [GitHub pull request
documentation](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)
[cla]:https://www.apache.org/licenses/#clas
[jira]:https://issues.apache.org/jira/browse/JEXL
diff --git a/README.md b/README.md
index 954c1c34..4cf486a5 100644
--- a/README.md
+++ b/README.md
@@ -45,11 +45,11 @@ Apache Commons JEXL
[](https://github.com/apache/commons-jexl/actions/workflows/maven.yml)
[](https://search.maven.org/artifact/org.apache.commons/commons-jexl3)
-[](https://javadoc.io/doc/org.apache.commons/commons-jexl3/3.7.0)
+[](https://javadoc.io/doc/org.apache.commons/commons-jexl3/3.7.1)
[](https://github.com/apache/commons-jexl/actions/workflows/codeql-analysis.yml)
-[](https://api.securityscorecards.dev/projects/github.com/apache/commons-jexl)
+[](https://scorecard.dev/viewer/?uri=github.com/apache/commons-jexl)
-Apache Commons JEXL is a library that enables scripting features in Java
applications and frameworks..
+Apache Commons JEXL is a library that enables scripting features in Java
applications and frameworks.
Documentation
-------------
@@ -68,7 +68,7 @@ Alternatively, you can pull it from the central Maven
repositories:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl3</artifactId>
- <version>3.7.0</version>
+ <version>3.7.1</version>
</dependency>
```
@@ -83,11 +83,11 @@ From a command shell, run `mvn` without arguments to invoke
the default Maven go
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.
+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 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.
++ Create minimal diffs: disable on-save actions like reformatting source code
or organizing 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`.
+ Before you push a PR, run `mvn` (without arguments). This runs the default
goal which contains all build checks.
+ To see the code coverage report, regardless of coverage failures, run `mvn
clean site -Dcommons.jacoco.haltOnFailure=false -Pjacoco`
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 334bc810..b3c51e3b 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,3 +1,55 @@
+Apache Commons JEXL 3.7.1 Release Notes
+---------------------------------------
+
+The Apache Commons JEXL team is pleased to announce the release of Apache
Commons JEXL 3.7.1.
+
+Introduction
+------------
+
+Apache Commons JEXL is a library that enables scripting features in Java
applications and frameworks.
+
+This is a feature and maintenance release. Java 8 or later is required.
+
+New features
+------------
+
+o JEXL-473: Add feature to restrict allowed pragmas. Thanks to henrib.
+o JEXL-472: Add property access support for Java record component accessors.
Thanks to Aurelien Mino.
+o JEXL-469: Add JexlFeatures.namespaceInstantiation(boolean) to control
whether a namespace bound to a Class or class-name string is reflectively
auto-instantiated into a functor; string namespaces now resolve through the
permission-aware uberspect. Thanks to Claude.
+o JEXL-467: IntelliJ and VSCode editors (TextMate bundle) support for JEXL.
+
+Fixed Bugs
+----------
+
+o JEXL-471: Runtime hardening: make regex matching (=~ operator)
interruptible, enforce MathContext precision on BigInteger arithmetic results,
and prevent O(n�) DoS from huge BigInteger literals at parse time. Thanks to
Claude.
+o JEXL-470: Fix several parser and interpreter correctness issues: Unicode
escape hex-digit validation, safe-navigation array-access child indexing, regex
escape preservation, empty()/size() error and cancellation propagation, and
switch+continue semantics. Thanks to Claude.
+o JEXL-468: Improve robustness of introspection permissions and sandbox
delegation: close nested-class and interface-method denial gaps, fix
class-initialization ordering, gate sandbox iteration, fix permission-parser
polarity, deny second-stage compiler surface under RESTRICTED, and enforce
parser feature restrictions in sub-parsers. Thanks to Claude.
+o JEXL-466: IllegalStateException parsing a template with string
interpolation.
+o JEXL-411: Leading zeroes in floating point numbers should be optional.
Thanks to Felix Rudolphi.
+o Pick up commons.jacoco.version from the parent POM. Thanks to Gary
Gregory.
+o Add messages when throwing NullPointerException. Thanks to Gary
Gregory.
+
+Changes
+-------
+
+o Bump org.apache.commons:commons-parent from 102 to 105. Thanks to
Gary Gregory.
+o [test] Bump org.apache.commons:commons-lang3 from 3.20.0 to 3.21.0.
Thanks to Gary Gregory.
+
+
+Historical list of changes:
https://commons.apache.org/proper/commons-jexl/changes.html
+
+For complete information on Apache Commons JEXL, including instructions on how
to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons JEXL website:
+
+https://commons.apache.org/proper/commons-jexl/
+
+Download page: https://commons.apache.org/proper/commons-jexl/download_jexl.cgi
+
+Have fun!
+-Apache Commons Team
+
+------------------------------------------------------------------------------
+
Apache Commons JEXL 3.7.0 Release Notes
---------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index fb7c3bf7..ea7ea3ff 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -27,7 +27,7 @@
<author email="[email protected]">Commons Developers</author>
</properties>
<body>
- <release version="3.7.1" date="YYYY-MM-DD" description="This is a
feature and maintenance release. Java 8 or later is required.">
+ <release version="3.7.1" date="2026-10-15" description="This is a
feature and maintenance release. Java 8 or later is required.">
<!-- ADD -->
<action dev="henrib" due-to="henrib" type="add"
issue="JEXL-473">Add feature to restrict allowed pragmas.</action>
<action dev="henrib" due-to="Aurelien Mino" type="add"
issue="JEXL-472">Add property access support for Java record component
accessors.</action>
diff --git a/src/site/xdoc/download_jexl.xml b/src/site/xdoc/download_jexl.xml
index 29ee2a09..5a0f0b2c 100644
--- a/src/site/xdoc/download_jexl.xml
+++ b/src/site/xdoc/download_jexl.xml
@@ -106,7 +106,7 @@ limitations under the License.
It is essential that you
<a href="https://www.apache.org/info/verification.html">verify the
integrity</a>
of downloaded files, preferably using the <code>PGP</code> signature
(<code>*.asc</code> files);
- failing that using the <code>SHA512</code> hash (<code>*.sha512</code>
checksum files).
+ failing that, using the <code>SHA512</code> hash
(<code>*.sha512</code> checksum files).
</p>
<p>
The <a href="https://downloads.apache.org/commons/KEYS">KEYS</a>
@@ -115,32 +115,32 @@ limitations under the License.
</p>
</subsection>
</section>
- <section name="Apache Commons JEXL 3.7.0 ">
+ <section name="Apache Commons JEXL 3.7.1 ">
<subsection name="Binaries">
<table>
<tr>
- <td><a
href="[preferred]/commons/jexl/binaries/commons-jexl-3.7.0-bin.tar.gz">commons-jexl-3.7.0-bin.tar.gz</a></td>
- <td><a
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.7.0-bin.tar.gz.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.7.0-bin.tar.gz.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/jexl/binaries/commons-jexl-3.7.1-bin.tar.gz">commons-jexl-3.7.1-bin.tar.gz</a></td>
+ <td><a
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.7.1-bin.tar.gz.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.7.1-bin.tar.gz.asc">pgp</a></td>
</tr>
<tr>
- <td><a
href="[preferred]/commons/jexl/binaries/commons-jexl-3.7.0-bin.zip">commons-jexl-3.7.0-bin.zip</a></td>
- <td><a
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.7.0-bin.zip.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.7.0-bin.zip.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/jexl/binaries/commons-jexl-3.7.1-bin.zip">commons-jexl-3.7.1-bin.zip</a></td>
+ <td><a
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.7.1-bin.zip.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.7.1-bin.zip.asc">pgp</a></td>
</tr>
</table>
</subsection>
<subsection name="Source">
<table>
<tr>
- <td><a
href="[preferred]/commons/jexl/source/commons-jexl-3.7.0-src.tar.gz">commons-jexl-3.7.0-src.tar.gz</a></td>
- <td><a
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.7.0-src.tar.gz.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.7.0-src.tar.gz.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/jexl/source/commons-jexl-3.7.1-src.tar.gz">commons-jexl-3.7.1-src.tar.gz</a></td>
+ <td><a
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.7.1-src.tar.gz.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.7.1-src.tar.gz.asc">pgp</a></td>
</tr>
<tr>
- <td><a
href="[preferred]/commons/jexl/source/commons-jexl-3.7.0-src.zip">commons-jexl-3.7.0-src.zip</a></td>
- <td><a
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.7.0-src.zip.sha512">sha512</a></td>
- <td><a
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.7.0-src.zip.asc">pgp</a></td>
+ <td><a
href="[preferred]/commons/jexl/source/commons-jexl-3.7.1-src.zip">commons-jexl-3.7.1-src.zip</a></td>
+ <td><a
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.7.1-src.zip.sha512">sha512</a></td>
+ <td><a
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.7.1-src.zip.asc">pgp</a></td>
</tr>
</table>
</subsection>
diff --git a/src/site/xdoc/issue-tracking.xml b/src/site/xdoc/issue-tracking.xml
index 8ea64857..1b9aaaaa 100644
--- a/src/site/xdoc/issue-tracking.xml
+++ b/src/site/xdoc/issue-tracking.xml
@@ -57,19 +57,19 @@ limitations under the License.
</p>
<p>
- To use JIRA you may need to <a
href="https://issues.apache.org/jira/secure/Signup!default.jspa">create an
account</a>
- (if you have previously created/updated Commons issues using Bugzilla an
account will have been automatically
+ To use JIRA, you may need to <a
href="https://issues.apache.org/jira/secure/Signup!default.jspa">create an
account</a>
+ (if you have previously created/updated Commons issues using Bugzilla,
an account will have been automatically
created and you can use the <a
href="https://issues.apache.org/jira/secure/ForgotPassword!default.jspa">Forgot
Password</a>
page to get a new password).
</p>
<p>
If you would like to report a bug, or raise an enhancement request with
- Apache Commons JEXL please do the following:
+ Apache Commons JEXL, please do the following:
</p>
<ol>
<li><a
href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&pid=12310479&sorter/field=issuekey&sorter/order=DESC&status=1&status=3&status=4">Search
existing open bugs</a>.
- If you find your issue listed then please add a comment with your
details.</li>
+ If you find your issue listed, then please add a comment with your
details.</li>
<li><a href="mail-lists.html">Search the mailing list archive(s)</a>.
You may find your issue or idea has already been discussed.</li>
<li>Decide if your issue is a bug or an enhancement.</li>
@@ -87,7 +87,7 @@ limitations under the License.
</ul>
<p>
- For more information on creating patches see the
+ For more information on creating patches, see the
<a href="https://www.apache.org/dev/contributors.html">Apache
Contributors Guide</a>.
</p>