This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-jexl.git

commit 325dd0e17e5b5c10ebe226b8f41b5c85b5a54441
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat Jun 1 03:10:05 2024 +0000

    Prepare for the next release candidate
---
 CONTRIBUTING.md                  | 229 +++++++++++++++++++--------------------
 README.md                        |  43 +++++---
 RELEASE-NOTES.txt                |  69 ++++++++++++
 pom.xml                          |   4 +-
 src/changes/changes.xml          |   2 +-
 src/changes/release-notes.vm     | 158 +++++++++++++++++++++++++++
 src/site/xdoc/download_jexl.xml  |  60 +++++-----
 src/site/xdoc/issue-tracking.xml |   2 +-
 src/site/xdoc/mail-lists.xml     |  50 +++++----
 9 files changed, 433 insertions(+), 184 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b4877f6c..93d9e87d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,115 +1,114 @@
-<!---
- 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
-
-      http://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 GENERATED BY THE COMMONS BUILD PLUGIN      ****|
- |****                    DO NOT EDIT DIRECTLY                      ****|
- |****                                                              ****|
- +======================================================================+
- | TEMPLATE FILE: contributing-md-template.md                           |
- | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
- +======================================================================+
- |                                                                      |
- | 1) Re-generate using: mvn commons-build:contributing-md              |
- |                                                                      |
- | 2) Set the following properties in the component's pom:              |
- |    - commons.jira.id  (required, alphabetic, upper case)             |
- |                                                                      |
- | 3) Example Properties                                                |
- |                                                                      |
- |  <properties>                                                        |
- |    <commons.jira.id>MATH</commons.jira.id>                           |
- |  </properties>                                                       |
- |                                                                      |
- +======================================================================+
---->
-Contributing to Apache Commons JEXL
-======================
-
-You have found a bug or 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 there are a few 
guidelines that we need contributors to
-follow so that we can have a chance of keeping on top of things.
-
-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).
-+ 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.
-  + 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.
-
-Making Changes
---------------
-
-+ Create a _topic branch_ for your isolated work.
-  * 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.
-  * e.g. `JEXL-123: Close input stream earlier`
-+ Respect the original code style:
-  + Only use spaces for indentation.
-  + 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.
-  + Check for unnecessary whitespace with `git diff` -- check before 
committing.
-+ Make sure you have added the necessary tests for your changes, typically in 
`src/test/java`.
-+ Run all the tests with `mvn clean verify` to assure nothing else was 
accidentally broken.
-
-Making Trivial Changes
-----------------------
-
-The JIRA tickets are used to generate the changelog for the next release.
-
-For changes of a trivial nature to comments and documentation, it is not 
always necessary to create a new ticket in JIRA.
-In this case, it is appropriate to start the first line of a commit with 
'(doc)' instead of a ticket number.
-
-
-Submitting Changes
-------------------
-
-+ Sign and submit the Apache [Contributor License Agreement][cla] if you 
haven't already.
-  * Note that small patches & typical bug fixes do not require a CLA as
-    clause 5 of the [Apache 
License](https://www.apache.org/licenses/LICENSE-2.0.html#contributions)
-    covers them.
-+ 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`
-+ 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
-`git format-patch` (or `svn diff`) and attach the patch file to the JIRA issue.
-
-
-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/)
-+ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
-+ `#apache-commons` IRC channel on `irc.freenode.net`
-
-[cla]:https://www.apache.org/licenses/#clas
-[jira]:https://issues.apache.org/jira/browse/JEXL
+<!---
+ 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
+
+      http://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 GENERATED BY THE COMMONS BUILD PLUGIN      ****|
+ |****                    DO NOT EDIT DIRECTLY                      ****|
+ |****                                                              ****|
+ +======================================================================+
+ | TEMPLATE FILE: contributing-md-template.md                           |
+ | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
+ +======================================================================+
+ |                                                                      |
+ | 1) Re-generate using: mvn commons-build:contributing-md              |
+ |                                                                      |
+ | 2) Set the following properties in the component's pom:              |
+ |    - commons.jira.id  (required, alphabetic, upper case)             |
+ |                                                                      |
+ | 3) Example Properties                                                |
+ |                                                                      |
+ |  <properties>                                                        |
+ |    <commons.jira.id>MATH</commons.jira.id>                           |
+ |  </properties>                                                       |
+ |                                                                      |
+ +======================================================================+
+--->
+Contributing to Apache Commons JEXL
+======================
+
+You have found a bug or 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 there are a few 
guidelines that we need contributors to
+follow so that we can have a chance of keeping on top of things.
+
+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.
++ 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.
+  + 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.
+
+Making Changes
+--------------
+
++ Create a _topic branch_ for your isolated work.
+  * 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.
+  * e.g. `JEXL-123: Close input stream earlier`
++ Respect the original code style:
+  + Only use spaces for indentation.
+  + 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.
+  + Check for unnecessary whitespace with `git diff` -- check before 
committing.
++ Make sure you have added the necessary tests for your changes, typically in 
`src/test/java`.
++ Run all the tests with `mvn clean verify` to assure nothing else was 
accidentally broken.
+
+Making Trivial Changes
+----------------------
+
+The JIRA tickets are used to generate the changelog for the next release.
+
+For changes of a trivial nature to comments and documentation, it is not 
always necessary to create a new ticket in JIRA.
+In this case, it is appropriate to start the first line of a commit with 
'(doc)' instead of a ticket number.
+
+
+Submitting Changes
+------------------
+
++ Sign and submit the Apache [Contributor License Agreement][cla] if you 
haven't already.
+  * Note that small patches & typical bug fixes do not require a CLA as
+    clause 5 of the [Apache 
License](https://www.apache.org/licenses/LICENSE-2.0.html#contributions)
+    covers them.
++ 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`
++ 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
+`git format-patch` (or `svn diff`) and attach the patch file to the JIRA issue.
+
+
+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/)
++ [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
+
+[cla]:https://www.apache.org/licenses/#clas
+[jira]:https://issues.apache.org/jira/browse/JEXL
diff --git a/README.md b/README.md
index 3e99149a..0da35872 100644
--- a/README.md
+++ b/README.md
@@ -46,10 +46,12 @@ Apache Commons JEXL
 [![Java 
CI](https://github.com/apache/commons-jexl/actions/workflows/maven.yml/badge.svg)](https://github.com/apache/commons-jexl/actions/workflows/maven.yml)
 [![Coverage 
Status](https://codecov.io/gh/apache/commons-jexl/branch/master/graph/badge.svg)](https://app.codecov.io/gh/apache/commons-jexl)
 [![Maven 
Central](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-jexl3/badge.svg?gav=true)](https://maven-badges.herokuapp.com/maven-central/org.apache.commons/commons-jexl3/?gav=true)
-[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-jexl3/3.3.svg)](https://javadoc.io/doc/org.apache.commons/commons-jexl3/3.3)
+[![Javadocs](https://javadoc.io/badge/org.apache.commons/commons-jexl3/3.4.0.svg)](https://javadoc.io/doc/org.apache.commons/commons-jexl3/3.4.0)
 
[![CodeQL](https://github.com/apache/commons-jexl/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/apache/commons-jexl/actions/workflows/codeql-analysis.yml)
+[![OpenSSF 
Scorecard](https://api.securityscorecards.dev/projects/github.com/apache/commons-jexl/badge)](https://api.securityscorecards.dev/projects/github.com/apache/commons-jexl)
 
-The Apache Commons JEXL library is an implementation of a Java-symbiotic 
Expression Language.
+Apache Commons JEXL is a library facilitates the implementation of scripting 
features in
+        applications and frameworks written in Java.
 
 Documentation
 -------------
@@ -58,49 +60,60 @@ More information can be found on the [Apache Commons JEXL 
homepage](https://comm
 The [Javadoc](https://commons.apache.org/proper/commons-jexl/apidocs) can be 
browsed.
 Questions related to the usage of Apache Commons JEXL should be posted to the 
[user mailing list](https://commons.apache.org/mail-lists.html).
 
-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-jexl/download_jexl.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.commons</groupId>
   <artifactId>commons-jexl3</artifactId>
-  <version>3.3</version>
+  <version>3.4.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][ml] 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 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 clean test```.
++ Provide JUnit tests for your changes and make sure your changes don't break 
any existing tests by running ```mvn```.
 
 If you plan to contribute on a regular basis, please consider filing a 
[contributor license agreement](https://www.apache.org/licenses/#clas).
 You can learn more about contributing via GitHub in our [contribution 
guidelines](CONTRIBUTING.md).
 
 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 JEXL? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support the 
development.
+Donating
+--------
+You like Apache Commons JEXL? Then [donate back to the 
ASF](https://www.apache.org/foundation/contributing.html) to support 
development.
 
 Additional Resources
 --------------------
 
 + [Apache Commons Homepage](https://commons.apache.org/)
 + [Apache Issue Tracker (JIRA)](https://issues.apache.org/jira/browse/JEXL)
++ [Apache Commons Slack Channel](https://the-asf.slack.com/archives/C60NVB8AD)
 + [Apache Commons Twitter Account](https://twitter.com/ApacheCommons)
-+ `#apache-commons` IRC channel on `irc.freenode.org`
 
-[ml]:https://commons.apache.org/mail-lists.html
+Apache Commons Components
+-------------------------
+
+Please see the [list of components](https://commons.apache.org/components.html)
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index e075f82c..2dc9481d 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,4 +1,73 @@
 
+Apache Commons JEXL 3.4.0 Release Notes
+
+Introduction
+------------
+
+Apache Commons JEXL is a library facilitates the implementation of scripting 
features in
+applications and frameworks written in Java.
+
+Java 8 is required.
+
+New features
+------------
+
+o JEXL-423:  Add support for instanceof / !instanceof 
+o JEXL-422:  Add strict equality (===) and inequality (!==) operators 
+o JEXL-421:  ArrayBuilder: array type should reflect common class of its 
entries 
+o JEXL-419:  Add permission syntax to allow class/method/field 
+o JEXL-418:  Add try-catch support Thanks to Xu Pengcheng. 
+o JEXL-408:  Using JexlFeatures is tedious Thanks to sebb. 
+o JEXL-404:  Support array-access safe navigation (x?[y]) Thanks to Xu 
Pengcheng. 
+o JEXL-401:  Captured variables should be read-only 
+o JEXL-398:  Allow 'trailing commas' or ellipsis while defining array, map and 
set literals Thanks to Xu Pengcheng. 
+o            Add Maven property project.build.outputTimestamp for build 
reproducibility. Thanks to Gary Gregory. 
+
+Fixed Bugs
+----------
+
+o JEXL-420:  Error while comparing float and string value Thanks to Xu 
Pengcheng. 
+o JEXL-417:  JexlArithmetic looses precision during arithmetic operator 
execution Thanks to Robert Lucas. 
+o JEXL-416:  Null-valued pragma throws NPE in 3.3 Thanks to William Price. 
+o JEXL-415:  Incorrect template eval result. Thanks to Xu Pengcheng. 
+o JEXL-414:  SoftCache may suffer from race conditions. Thanks to Holger 
Sunke. 
+o JEXL-412:  Ambiguous syntax between namespace function call and map object 
definition. Thanks to Xu Pengcheng. 
+o JEXL-410:  JexlFeatures: ctor does not enable all features. Thanks to sebb. 
+o JEXL-409:  Disable LEXICAL should disable LEXICAL_SHADE. Thanks to sebb. 
+o JEXL-405:  Recursive functions corrupt evaluation frame if reassigned. 
+o JEXL-403:  Exception while evaluating template literal used in array 
assignment in loop. Thanks to Xu Pengcheng. 
+o JEXL-402:  Parse failed with empty return value. Thanks to Xu Pengcheng. 
+o            [StepSecurity] ci: Harden GitHub Actions #180. Thanks to 
step-security-bot, Gary Gregory. 
+o            Guard logging calls. Thanks to PMD, Gary Gregory. 
+o            Deprecate SimpleNode.SimpleNode(Parser, int) in favor of 
SimpleNode.SimpleNode(int). Thanks to PMD, Gary Gregory. 
+o            Deprecate JexlNode.JexlNode(Parser, int) in favor of 
JexlNode.JexlNode(int). Thanks to PMD, Gary Gregory. 
+
+Changes
+-------
+
+o          Bump commons-parent from 67 to 69. Thanks to dependabot. 
+o          Bump github actions. Thanks to dependabot. 
+o          Bump commons-parent from 57 to 70. Thanks to Gary Gregory, 
Dependabot. 
+o          Bump org.ow2.asm:asm from 9.5 to 9.7 #200, #242. Thanks to 
dependabot. 
+o          Bump commons-logging from 1.2 to 1.3.2 #241, #255. Thanks to Gary 
Gregory, Dependabot. 
+o          Bump com.google.code.gson:gson from 2.10.1 to 2.11.0 #258. Thanks 
to Gary Gregory, Dependabot. 
+
+
+Historical list of changes: 
https://commons.apache.org/proper/commons-jexl/changes-report.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_io.cgi
+
+Have fun!
+-Apache Commons Team
+
+------------------------------------------------------------------------------
+
+
                             Apache Commons JEXL
                                 Version 3.4
                                Release Notes
diff --git a/pom.xml b/pom.xml
index 49f081a0..cdc14451 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@
     <artifactId>commons-jexl3</artifactId>
     <version>3.4.0-SNAPSHOT</version>
     <name>Apache Commons JEXL</name>
-    <description>JEXL is a library intended to facilitate the implementation 
of scripting features in
+    <description>Apache Commons JEXL is a library facilitates the 
implementation of scripting features in
         applications and frameworks written in Java.</description>
     <url>https://commons.apache.org/proper/commons-jexl/</url>
     <inceptionYear>2001</inceptionYear>
@@ -79,6 +79,8 @@
         <!-- Commons release plugin -->
         <commons.bc.version>3.3</commons.bc.version>
         <commons.release.version>3.4.0</commons.release.version>
+        <commons.release.next>3.4.1</commons.release.next>
+        <commons.rc.version>RC1</commons.rc.version>
         <commons.release.isDistModule>true</commons.release.isDistModule>
         
<commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}</commons.distSvnStagingUrl>
     </properties>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 234f41e9..a59d8bb8 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -27,7 +27,7 @@
         <author email="d...@commons.apache.org">Commons Developers</author>
     </properties>
     <body>
-        <release version="3.4" date="YYYY-MM-DD">
+        <release version="3.4.0" date="2024-06-01" description="Java 8 is 
required.">
             <!-- ADD -->
             <action dev="henrib" type="add" issue="JEXL-423">
                 Add support for instanceof / !instanceof
diff --git a/src/changes/release-notes.vm b/src/changes/release-notes.vm
new file mode 100644
index 00000000..c4a605ee
--- /dev/null
+++ b/src/changes/release-notes.vm
@@ -0,0 +1,158 @@
+## 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
+##
+##  http://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.
+
+Apache Commons JEXL ${version} Release Notes
+
+Introduction
+------------
+
+$introduction.replaceAll("(?<!\015)\012", "
+")
+
+##
+## N.B. the available variables are described here:
+## 
http://maven.apache.org/plugins/maven-changes-plugin/examples/using-a-custom-announcement-template.html
+##
+## Hack to improve layout: replace all pairs of spaces with a single new-line
+$release.description.replaceAll("  ", "
+")
+
+##
+#if ($release.getActions().size() == 0)
+No changes defined in this version.
+#else
+## indent to be used if there is no issue attribute.
+## should be the same as the indent in the changes.xml file
+## less 2 spaces for the '*' and trailing space
+#set($indent='         ')
+#if ($release.getActions('add').size() !=0)
+New features
+------------
+
+#foreach($actionItem in $release.getActions('add'))
+## Use replaceAll to fix up LF-only line ends on Windows.
+#set($action=$actionItem.getAction().replaceAll("\n","
+"))
+#if ($actionItem.getIssue())
+#set($issue=$actionItem.getIssue())
+#else
+#set($issue="")
+#end
+#if ($actionItem.getDueTo())
+#set($dueto=$actionItem.getDueTo())
+#else
+#set($dueto="")
+#end
+o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != 
"")Thanks to $dueto. #end
+
+#set($issue="")
+#set($dueto="")
+#end 
+#end
+
+#if ($release.getActions('fix').size() !=0)
+Fixed Bugs
+----------
+
+#foreach($actionItem in $release.getActions('fix'))
+## Use replaceAll to fix up LF-only line ends on Windows.
+#set($action=$actionItem.getAction().replaceAll("\n","
+"))
+#if ($actionItem.getIssue())
+#set($issue=$actionItem.getIssue())
+#else
+#set($issue="")
+#end
+#if ($actionItem.getDueTo())
+#set($dueto=$actionItem.getDueTo())
+#else
+#set($dueto="")
+#end
+o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != 
"")Thanks to $dueto. #end
+
+#set($issue="")
+#set($dueto="")
+#end
+#end
+
+#if ($release.getActions('update').size() !=0)
+Changes
+-------
+
+#foreach($actionItem in $release.getActions('update'))
+## Use replaceAll to fix up LF-only line ends on Windows.
+#set($action=$actionItem.getAction().replaceAll("\n","
+"))
+#if ($actionItem.getIssue())
+#set($issue=$actionItem.getIssue())
+#else
+#set($issue="")
+#end
+#if ($actionItem.getDueTo())
+#set($dueto=$actionItem.getDueTo())
+#else
+#set($dueto="")
+#end
+o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != 
"")Thanks to $dueto. #end
+
+#set($issue="")
+#set($dueto="")
+#end
+#end
+
+#if ($release.getActions('remove').size() !=0)
+Removed
+-------
+
+#foreach($actionItem in $release.getActions('remove'))
+## Use replaceAll to fix up LF-only line ends on Windows.
+#set($action=$actionItem.getAction().replaceAll("\n","
+"))
+#if ($actionItem.getIssue())
+#set($issue=$actionItem.getIssue())
+#else
+#set($issue="")
+#end
+#if ($actionItem.getDueTo())
+#set($dueto=$actionItem.getDueTo())
+#else
+#set($dueto="")
+#end
+o#if($!issue != "") $issue: #else$indent#end ${action} #if($!dueto != 
"")Thanks to $dueto. #end
+##
+#set($issue="")
+#set($dueto="")
+#end
+#end
+## End of main loop
+#end
+##
+
+Historical list of changes: ${project.url}changes-report.html
+
+For complete information on ${project.name}, including instructions on how to 
submit bug reports,
+patches, or suggestions for improvement, see the ${project.name} website:
+
+${project.url}
+
+Download page: ${project.url}download_io.cgi
+
+Have fun!
+-Apache Commons Team
+
+------------------------------------------------------------------------------
+
diff --git a/src/site/xdoc/download_jexl.xml b/src/site/xdoc/download_jexl.xml
index b6cace52..e9bb2a8f 100644
--- a/src/site/xdoc/download_jexl.xml
+++ b/src/site/xdoc/download_jexl.xml
@@ -107,38 +107,38 @@ limitations under the License.
         failing that using the <code>SHA512</code> hash (<code>*.sha512</code> 
checksum files).
       </p>
       <p>
-        The <a href="https://www.apache.org/dist/commons/KEYS";>KEYS</a>
+        The <a href="https://downloads.apache.org/commons/KEYS";>KEYS</a>
         file contains the public PGP keys used by Apache Commons developers
         to sign releases.
       </p>
     </subsection>
     </section>
-    <section name="Apache Commons JEXL 3.2.1 ">
+    <section name="Apache Commons JEXL 3.4.0 ">
       <subsection name="Binaries">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/jexl/binaries/commons-jexl-3.2.1-bin.tar.gz">commons-jexl-3.2.1-bin.tar.gz</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-3.2.1-bin.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-3.2.1-bin.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/jexl/binaries/commons-jexl-3.4.0-bin.tar.gz">commons-jexl-3.4.0-bin.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.4.0-bin.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.4.0-bin.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/jexl/binaries/commons-jexl-3.2.1-bin.zip">commons-jexl-3.2.1-bin.zip</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-3.2.1-bin.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-3.2.1-bin.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/jexl/binaries/commons-jexl-3.4.0-bin.zip">commons-jexl-3.4.0-bin.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.4.0-bin.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-3.4.0-bin.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
       <subsection name="Source">
         <table>
           <tr>
-              <td><a 
href="[preferred]/commons/jexl/source/commons-jexl-3.2.1-src.tar.gz">commons-jexl-3.2.1-src.tar.gz</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-3.2.1-src.tar.gz.sha512";>sha512</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-3.2.1-src.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/jexl/source/commons-jexl-3.4.0-src.tar.gz">commons-jexl-3.4.0-src.tar.gz</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.4.0-src.tar.gz.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.4.0-src.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
-              <td><a 
href="[preferred]/commons/jexl/source/commons-jexl-3.2.1-src.zip">commons-jexl-3.2.1-src.zip</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-3.2.1-src.zip.sha512";>sha512</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-3.2.1-src.zip.asc";>pgp</a></td>
+              <td><a 
href="[preferred]/commons/jexl/source/commons-jexl-3.4.0-src.zip">commons-jexl-3.4.0-src.zip</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.4.0-src.zip.sha512";>sha512</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-3.4.0-src.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
@@ -148,13 +148,13 @@ limitations under the License.
         <table>
           <tr>
               <td><a 
href="[preferred]/commons/jexl/binaries/commons-jexl-2.1.1-bin.tar.gz">commons-jexl-2.1.1-bin.tar.gz</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-2.1.1-bin.tar.gz.md5";>md5</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-2.1.1-bin.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-2.1.1-bin.tar.gz.sha1";>sha1</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-2.1.1-bin.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
               <td><a 
href="[preferred]/commons/jexl/binaries/commons-jexl-2.1.1-bin.zip">commons-jexl-2.1.1-bin.zip</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-2.1.1-bin.zip.md5";>md5</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-2.1.1-bin.zip.asc";>pgp</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-2.1.1-bin.zip.sha1";>sha1</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-2.1.1-bin.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
@@ -162,13 +162,13 @@ limitations under the License.
         <table>
           <tr>
               <td><a 
href="[preferred]/commons/jexl/source/commons-jexl-2.1.1-src.tar.gz">commons-jexl-2.1.1-src.tar.gz</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-2.1.1-src.tar.gz.md5";>md5</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-2.1.1-src.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-2.1.1-src.tar.gz.sha1";>sha1</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-2.1.1-src.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
               <td><a 
href="[preferred]/commons/jexl/source/commons-jexl-2.1.1-src.zip">commons-jexl-2.1.1-src.zip</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-2.1.1-src.zip.md5";>md5</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-2.1.1-src.zip.asc";>pgp</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-2.1.1-src.zip.sha1";>sha1</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-2.1.1-src.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
@@ -178,13 +178,13 @@ limitations under the License.
         <table>
           <tr>
               <td><a 
href="[preferred]/commons/jexl/binaries/commons-jexl-1.1.tar.gz">commons-jexl-1.1.tar.gz</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-1.1.tar.gz.md5";>md5</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-1.1.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-1.1.tar.gz.sha1";>sha1</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-1.1.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
               <td><a 
href="[preferred]/commons/jexl/binaries/commons-jexl-1.1.zip">commons-jexl-1.1.zip</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-1.1.zip.md5";>md5</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/binaries/commons-jexl-1.1.zip.asc";>pgp</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-1.1.zip.sha1";>sha1</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/binaries/commons-jexl-1.1.zip.asc";>pgp</a></td>
           </tr>
         </table>
       </subsection>
@@ -192,13 +192,13 @@ limitations under the License.
         <table>
           <tr>
               <td><a 
href="[preferred]/commons/jexl/source/commons-jexl-1.1-src.tar.gz">commons-jexl-1.1-src.tar.gz</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-1.1-src.tar.gz.md5";>md5</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-1.1-src.tar.gz.asc";>pgp</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-1.1-src.tar.gz.sha1";>sha1</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-1.1-src.tar.gz.asc";>pgp</a></td>
           </tr>
           <tr>
               <td><a 
href="[preferred]/commons/jexl/source/commons-jexl-1.1-src.zip">commons-jexl-1.1-src.zip</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-1.1-src.zip.md5";>md5</a></td>
-              <td><a 
href="https://www.apache.org/dist/commons/jexl/source/commons-jexl-1.1-src.zip.asc";>pgp</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-1.1-src.zip.sha1";>sha1</a></td>
+              <td><a 
href="https://downloads.apache.org/commons/jexl/source/commons-jexl-1.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 abe8d79a..588df781 100644
--- a/src/site/xdoc/issue-tracking.xml
+++ b/src/site/xdoc/issue-tracking.xml
@@ -85,7 +85,7 @@ limitations under the License.
       </p>
 
       <p>
-      For more information on subversion and 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>
 
diff --git a/src/site/xdoc/mail-lists.xml b/src/site/xdoc/mail-lists.xml
index e5bddd28..767ea633 100644
--- a/src/site/xdoc/mail-lists.xml
+++ b/src/site/xdoc/mail-lists.xml
@@ -59,9 +59,9 @@ limitations under the License.
       </p>
       <p>
         Questions related to the usage of Apache Commons JEXL should be posted 
to the
-        <a href="https://mail-archives.apache.org/mod_mbox/commons-user/";>User 
List</a>.
+        <a 
href="https://lists.apache.org/list.html?u...@commons.apache.org";>User List</a>.
         <br />
-        The <a 
href="https://mail-archives.apache.org/mod_mbox/commons-dev/";>Developer List</a>
+        The <a 
href="https://lists.apache.org/list.html?d...@commons.apache.org";>Developer 
List</a>
         is for questions and discussion related to the development of Apache 
Commons JEXL.
         <br />
         Please do not cross-post; developers are also subscribed to the user 
list.
@@ -70,8 +70,10 @@ limitations under the License.
         to subscribe.
       </p>
       <p>
-        <strong>Note:</strong> please don't send patches or attachments to any 
of the mailing lists.
+        <strong>Note:</strong> 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 <a href="issue-tracking.html">Issue 
Tracking</a> 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.
       </p>
     </section>
@@ -105,10 +107,11 @@ limitations under the License.
           <td><a 
href="mailto:user-subscr...@commons.apache.org";>Subscribe</a></td>
           <td><a 
href="mailto:user-unsubscr...@commons.apache.org";>Unsubscribe</a></td>
           <td><a 
href="mailto:u...@commons.apache.org?subject=[jexl]";>Post</a></td>
-          <td><a 
href="https://mail-archives.apache.org/mod_mbox/commons-user/";>mail-archives.apache.org</a></td>
-          <td><a 
href="https://markmail.org/list/org.apache.commons.users/";>markmail.org</a><br 
/>
-              <a 
href="https://www.mail-archive.com/user@commons.apache.org/";>www.mail-archive.com</a><br
 />
-              <a 
href="https://news.gmane.org/gmane.comp.jakarta.commons.devel";>news.gmane.org</a>
+          <td>
+              <a 
href="https://lists.apache.org/list.html?u...@commons.apache.org";>lists.apache.org</a>
+          </td>
+          <td>
+              <a 
href="https://www.mail-archive.com/user@commons.apache.org/";>www.mail-archive.com</a>
           </td>
         </tr>
 
@@ -123,10 +126,11 @@ limitations under the License.
           <td><a 
href="mailto:dev-subscr...@commons.apache.org";>Subscribe</a></td>
           <td><a 
href="mailto:dev-unsubscr...@commons.apache.org";>Unsubscribe</a></td>
           <td><a 
href="mailto:d...@commons.apache.org?subject=[jexl]";>Post</a></td>
-          <td><a 
href="https://mail-archives.apache.org/mod_mbox/commons-dev/";>mail-archives.apache.org</a></td>
-          <td><a 
href="https://markmail.org/list/org.apache.commons.dev/";>markmail.org</a><br />
-              <a 
href="https://www.mail-archive.com/dev@commons.apache.org/";>www.mail-archive.com</a><br
 />
-              <a 
href="https://news.gmane.org/gmane.comp.jakarta.commons.devel";>news.gmane.org</a>
+          <td>
+              <a 
href="https://lists.apache.org/list.html?d...@commons.apache.org";>lists.apache.org</a>
+          </td>
+          <td>
+              <a 
href="https://www.mail-archive.com/dev@commons.apache.org/";>www.mail-archive.com</a>
           </td>
         </tr>
 
@@ -141,8 +145,10 @@ limitations under the License.
           <td><a 
href="mailto:issues-subscr...@commons.apache.org";>Subscribe</a></td>
           <td><a 
href="mailto:issues-unsubscr...@commons.apache.org";>Unsubscribe</a></td>
           <td><i>read only</i></td>
-          <td><a 
href="https://mail-archives.apache.org/mod_mbox/commons-issues/";>mail-archives.apache.org</a></td>
-          <td><a 
href="https://markmail.org/list/org.apache.commons.issues/";>markmail.org</a><br 
/>
+          <td>
+              <a 
href="https://lists.apache.org/list.html?iss...@commons.apache.org";>lists.apache.org</a>
+          </td>
+          <td>
               <a 
href="https://www.mail-archive.com/issues@commons.apache.org/";>www.mail-archive.com</a>
           </td>
         </tr>
@@ -152,14 +158,16 @@ limitations under the License.
           <td>
             <strong>Commons Commits List</strong>
             <br /><br />
-            Only for e-mails automatically generated by the <a 
href="scm.html">source control</a> sytem.
+            Only for e-mails automatically generated by the <a 
href="scm.html">source control</a> system.
             <br /><br />
           </td>
           <td><a 
href="mailto:commits-subscr...@commons.apache.org";>Subscribe</a></td>
           <td><a 
href="mailto:commits-unsubscr...@commons.apache.org";>Unsubscribe</a></td>
           <td><i>read only</i></td>
-          <td><a 
href="https://mail-archives.apache.org/mod_mbox/commons-commits/";>mail-archives.apache.org</a></td>
-          <td><a 
href="https://markmail.org/list/org.apache.commons.commits/";>markmail.org</a><br
 />
+          <td>
+              <a 
href="https://lists.apache.org/list.html?commits@commons.apache.org";>lists.apache.org</a>
+          </td>
+          <td>
               <a 
href="https://www.mail-archive.com/commits@commons.apache.org/";>www.mail-archive.com</a>
           </td>
         </tr>
@@ -191,11 +199,11 @@ limitations under the License.
           <td><a class="externalLink" 
href="mailto:announce-subscr...@apache.org";>Subscribe</a></td>
           <td><a class="externalLink" 
href="mailto:announce-unsubscr...@apache.org";>Unsubscribe</a></td>
           <td><i>read only</i></td>
-          <td><a class="externalLink" 
href="https://mail-archives.apache.org/mod_mbox/www-announce/";>mail-archives.apache.org</a></td>
-          <td><a class="externalLink" 
href="https://markmail.org/list/org.apache.announce/";>markmail.org</a><br />
-              <a class="externalLink" 
href="https://old.nabble.com/Apache-News-and-Announce-f109.html";>old.nabble.com</a><br
 />
-              <a class="externalLink" 
href="https://www.mail-archive.com/announce@apache.org/";>www.mail-archive.com</a><br
 />
-              <a class="externalLink" 
href="https://news.gmane.org/gmane.comp.apache.announce";>news.gmane.org</a>
+          <td>
+              <a class="externalLink" 
href="https://lists.apache.org/list.html?annou...@apache.org";>lists.apache.org</a>
+          </td>
+          <td>
+              <a class="externalLink" 
href="https://www.mail-archive.com/announce@apache.org/";>www.mail-archive.com</a>
           </td>
         </tr>
       </table>


Reply via email to