You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by he...@apache.org on 2025/04/12 08:57:47 UTC
(commons-jexl) branch master updated: JEXL: prepare 3.5.0 RC2;
This is an automated email from the ASF dual-hosted git repository.
henrib 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 590ffbbb JEXL: prepare 3.5.0 RC2;
590ffbbb is described below
commit 590ffbbb6de5a7698c3d5aa1d202e569ae72454f
Author: Henrib <hb...@gmail.com>
AuthorDate: Sat Apr 12 10:57:15 2025 +0200
JEXL: prepare 3.5.0 RC2;
---
RELEASE-NOTES.txt | 81 ++++------------------
.../java/org/apache/commons/jexl3/JexlBuilder.java | 8 +--
.../org/apache/commons/jexl3/JexlFeatures.java | 4 +-
.../org/apache/commons/jexl3/JexlOperator.java | 6 +-
.../java/org/apache/commons/jexl3/JexlOptions.java | 2 +-
.../apache/commons/jexl3/internal/Operator.java | 2 +-
.../commons/jexl3/introspection/JexlUberspect.java | 2 +-
.../commons/jexl3/parser/JexlScriptParser.java | 2 +-
.../jexl3/scripting/JexlScriptEngineFactory.java | 4 +-
.../jexl3/scripting/JexlScriptEngineTest.java | 4 +-
10 files changed, 30 insertions(+), 85 deletions(-)
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 54ca12cb..eff4c7c2 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,64 +1,6 @@
-Apache Commons JEXL 3.5.0 Release Notes
-
-Introduction
-------------
-
-Apache Commons JEXL is a library that facilitates the implementation of scripting features in
- applications and frameworks written in Java.
-
-This is a feature and maintenance release. Java 8 or later is required.
-
-New features
-------------
-
-o JEXL-438: Allow parser factory specification. Thanks to Yair Lenga.
-o JEXL-428: Make Comparable object high priority while comparing. Thanks to Xu Pengcheng.
-o JEXL-427: Avoid coercing logical expressions to boolean. Thanks to Xu Pengcheng.
-o JEXL-426: Enable pass-by-reference for Captured Variables. Thanks to Xu Pengcheng.
-o Add and use CoercionException.CoercionException(String, Throwable). Thanks to Gary Gregory.
-
-Fixed Bugs
-----------
-
-o JEXL-436: The increment (decrement) operator does not check for null operand Thanks to Vincent Bussol.
-o JEXL-435: Changed behavior of empty operator overloading Action. Thanks to Vincent Bussol.
-o JEXL-434: The safe-access array operator is not safe. Thanks to Vincent Bussol.
-o JEXL-433: Debugger does not accept empty return statement. Thanks to Vincent Bussol.
-o JEXL-432: Namespace functors are not cleared when the classloader is updated. Thanks to Vincent Bussol.
-o JEXL-431: Parse error with variables declared in a catch clause. Thanks to Vincent Bussol.
-o JEXL-429: Ternary expression regression. Thanks to Shuo Geng.
-o JEXL-425: Multiline format literals does not always return string. Thanks to Xu Pengcheng.
-o Replace NumberParser use of Locale.ENGLISH with Locale.ROOT. Thanks to Gary Gregory.
-o Pick up maven-antrun-plugin version from parent POM org.apache:apache. Thanks to Gary Gregory.
-
-Changes
--------
-
-o Bump org.apache.commons:commons-parent from 71 to 79 #279, #282, #287, #291, #295, #301. Thanks to Gary Gregory.
-o Bump commons-logging:commons-logging from 1.3.2 to 1.3.5 #267, #280, #325.
-o Bump org.codehaus.mojo:animal-sniffer-maven-plugin from 1.23 to 1.24 #266.
-o Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 #270, #274, #283.
-o Bump org.ow2.asm:asm from 9.7 to 9.7.1 #294. Thanks to Dependabot, Gary Gregory.
-o Bump com.google.code.gson:gson from 2.11.0 to 2.13.0 #321. Thanks to Dependabot, 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
- Version 3.4.1
+ Version 3.5.0
Release Notes
@@ -73,7 +15,7 @@ constructs seen in shell-script or ECMAScript.
Its goal is to expose scripting features usable by technical operatives or consultants working with enterprise platforms.
-Java 8 is required.
+This is a feature and maintenance release. Java 8 or later is required.
Historical list of changes: https://commons.apache.org/proper/commons-jexl/changes-report.html
@@ -110,6 +52,7 @@ New Features in 3.5.0:
* JEXL-428: Make Comparable object high priority while comparing
* JEXL-427: Avoid coercing logical expressions to boolean
* JEXL-426: Enable pass-by-reference for Captured Variables
+o Add and use CoercionException.CoercionException(String, Throwable). Thanks to Gary Gregory.
Bugs Fixed in 3.5.0:
====================
@@ -121,16 +64,18 @@ Bugs Fixed in 3.5.0:
* JEXL-431: Parse error with variables declared in a catch clause
* JEXL-429: Ternary expression regression
* JEXL-425: Multiline format literals does not always return string
+o Replace NumberParser use of Locale.ENGLISH with Locale.ROOT. Thanks to Gary Gregory.
+o Pick up maven-antrun-plugin version from parent POM org.apache:apache. Thanks to Gary Gregory.
-Changes in 3.4.1:
+Changes in 3.5.0:
=================
-o Replace NumberParser use of Locale.ENGLISH with Locale.ROOT
-o Bump org.apache.commons:commons-parent from 71 to 78
-o Bump commons-logging:commons-logging from 1.3.2 to 1.3.4
-o Bump org.codehaus.mojo:animal-sniffer-maven-plugin from 1.23 to 1.24
-o Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0
-o Bump org.hamcrest:hamcrest from 2.2 to 3.0
-o Bump org.ow2.asm:asm from 9.7 to 9.7.1
+o Bump org.apache.commons:commons-parent from 71 to 79 #279, #282, #287, #291, #295, #301. Thanks to Gary Gregory.
+o Bump commons-logging:commons-logging from 1.3.2 to 1.3.5 #267, #280, #325.
+o Bump org.codehaus.mojo:animal-sniffer-maven-plugin from 1.23 to 1.24 #266.
+o Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 #270, #274, #283.
+o Bump org.ow2.asm:asm from 9.7 to 9.7.1 #294. Thanks to Dependabot, Gary Gregory.
+o Bump com.google.code.gson:gson from 2.11.0 to 2.13.0 #321. Thanks to Dependabot, Gary Gregory.
+
========================================================================================================================
Release 3.4
diff --git a/src/main/java/org/apache/commons/jexl3/JexlBuilder.java b/src/main/java/org/apache/commons/jexl3/JexlBuilder.java
index 5567108b..0bb2440e 100644
--- a/src/main/java/org/apache/commons/jexl3/JexlBuilder.java
+++ b/src/main/java/org/apache/commons/jexl3/JexlBuilder.java
@@ -280,7 +280,7 @@ public class JexlBuilder {
/**
* Gets the Jexl script parser factory the engine will use.
* @return the cache factory
- * @since 3.4.1
+ * @since 3.5.0
*/
public Supplier<JexlScriptParser> parserFactory() {
return this.parserFactory;
@@ -291,7 +291,7 @@ public class JexlBuilder {
*
* @param factory the function to produce a cache.
* @return this builder
- * @since 3.4.1
+ * @since 3.5.0
*/
public JexlBuilder parserFactory(final Supplier<JexlScriptParser> factory) {
this.parserFactory = factory;
@@ -493,7 +493,7 @@ public class JexlBuilder {
* Is lexical scope enabled?
* @see JexlOptions#isLexical()
* @return whether lexical scope is enabled
- * @deprecated 3.4.1
+ * @deprecated 3.5.0
*/
@Deprecated
public boolean lexical() {
@@ -516,7 +516,7 @@ public class JexlBuilder {
* Checks whether lexical shading is enabled.
* @see JexlOptions#isLexicalShade()
* @return whether lexical shading is enabled
- * @deprecated 3.4.1
+ * @deprecated 3.5.0
*/
@Deprecated
public boolean lexicalShade() {
diff --git a/src/main/java/org/apache/commons/jexl3/JexlFeatures.java b/src/main/java/org/apache/commons/jexl3/JexlFeatures.java
index c6afc783..e5df760d 100644
--- a/src/main/java/org/apache/commons/jexl3/JexlFeatures.java
+++ b/src/main/java/org/apache/commons/jexl3/JexlFeatures.java
@@ -593,7 +593,7 @@ public final class JexlFeatures {
* </p>
* @param flag true to enable, false to disable
* @return this features instance
- * @since 3.4.1
+ * @since 3.5.0
*/
public JexlFeatures namespaceIdentifier(final boolean flag) {
setFeature(NS_IDENTIFIER, flag);
@@ -872,7 +872,7 @@ public final class JexlFeatures {
/**
* Is namespace identifier syntax enabled?
* @return true if namespace identifier syntax is enabled, false otherwise
- * @since 3.4.1
+ * @since 3.5.0
*/
public boolean supportsNamespaceIdentifier() {
return getFeature(NS_IDENTIFIER);
diff --git a/src/main/java/org/apache/commons/jexl3/JexlOperator.java b/src/main/java/org/apache/commons/jexl3/JexlOperator.java
index 9d55c802..81774f2f 100644
--- a/src/main/java/org/apache/commons/jexl3/JexlOperator.java
+++ b/src/main/java/org/apache/commons/jexl3/JexlOperator.java
@@ -380,7 +380,7 @@ public enum JexlOperator {
* Marker for side effect.
* <br>Returns this from 'self*' overload method to let the engine know the side effect has been performed and
* there is no need to assign the result.
- * @deprecated 3.4.1
+ * @deprecated 3.5.0
*/
ASSIGN("=", null, null),
@@ -431,7 +431,7 @@ public enum JexlOperator {
/**
* Compare overload as in compare(x, y).
* <br><strong>Method:</strong> {@code boolean compare(L x, R y);}.
- * @since 3.4.1
+ * @since 3.5.0
*/
COMPARE("<>", "compare", 2),
@@ -553,7 +553,7 @@ public enum JexlOperator {
* <p>This also allows reusing the core logic when extending the applicative type-system; for
* instance, implementing a Comparator class that calls compare
* (<code>operator.tryOverload(this, JexlOperator.COMPARE, left, right)</code>, etc.</p>
- * @since 3.4.1
+ * @since 3.5.0
*/
public interface Uberspect extends JexlArithmetic.Uberspect {
/**
diff --git a/src/main/java/org/apache/commons/jexl3/JexlOptions.java b/src/main/java/org/apache/commons/jexl3/JexlOptions.java
index bcc8c93b..9c9a81a7 100644
--- a/src/main/java/org/apache/commons/jexl3/JexlOptions.java
+++ b/src/main/java/org/apache/commons/jexl3/JexlOptions.java
@@ -227,7 +227,7 @@ public final class JexlOptions {
* an expression like (3 "" 4 "" 5) will evaluate to true. If not, it will evaluate to 5.
* To preserve strict compatibility with 3.4, set the flag to true.
* @return true if short-circuit logicals coerce their result to boolean, false otherwise
- * @since 3.4.1
+ * @since 3.5.0
*/
public boolean isBooleanLogical() {
return isSet(BOOLEAN_LOGICAL, flags);
diff --git a/src/main/java/org/apache/commons/jexl3/internal/Operator.java b/src/main/java/org/apache/commons/jexl3/internal/Operator.java
index e4abbd33..81a3a6a8 100644
--- a/src/main/java/org/apache/commons/jexl3/internal/Operator.java
+++ b/src/main/java/org/apache/commons/jexl3/internal/Operator.java
@@ -552,7 +552,7 @@ public final class Operator implements JexlOperator.Uberspect {
/**
* Special handling of overloads where another attempt at finding a method may be attempted.
- * <p>As of 3.4.1, only the comparison operators attempting to use compare() are handled.</p>
+ * <p>As of 3.5.0, only the comparison operators attempting to use compare() are handled.</p>
* @param operator the operator
* @param args the arguments
* @return an instance or null
diff --git a/src/main/java/org/apache/commons/jexl3/introspection/JexlUberspect.java b/src/main/java/org/apache/commons/jexl3/introspection/JexlUberspect.java
index 8b0db316..8d88bdc8 100644
--- a/src/main/java/org/apache/commons/jexl3/introspection/JexlUberspect.java
+++ b/src/main/java/org/apache/commons/jexl3/introspection/JexlUberspect.java
@@ -211,7 +211,7 @@ public interface JexlUberspect {
*
* @param arithmetic the arithmetic instance
* @return an operator uberspect instance
- * @since 3.4.1
+ * @since 3.5.0
*/
default JexlOperator.Uberspect getOperator(final JexlArithmetic arithmetic) {
return null;
diff --git a/src/main/java/org/apache/commons/jexl3/parser/JexlScriptParser.java b/src/main/java/org/apache/commons/jexl3/parser/JexlScriptParser.java
index 9b443a16..ce71484a 100644
--- a/src/main/java/org/apache/commons/jexl3/parser/JexlScriptParser.java
+++ b/src/main/java/org/apache/commons/jexl3/parser/JexlScriptParser.java
@@ -23,7 +23,7 @@ import org.apache.commons.jexl3.internal.Scope;
/**
* The interface that produces a JEXL script AST from a source.
- * @since 3.4.1
+ * @since 3.5.0
*/
public interface JexlScriptParser {
/**
diff --git a/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngineFactory.java b/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngineFactory.java
index 6e108a58..243d88fc 100644
--- a/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngineFactory.java
+++ b/src/main/java/org/apache/commons/jexl3/scripting/JexlScriptEngineFactory.java
@@ -53,7 +53,7 @@ public class JexlScriptEngineFactory implements ScriptEngineFactory {
@Override
public String getEngineVersion() {
- return "3.4"; // ensure this is updated if function changes are made to this class
+ return "3.5"; // ensure this is updated if function changes are made to this class
}
@Override
@@ -68,7 +68,7 @@ public class JexlScriptEngineFactory implements ScriptEngineFactory {
@Override
public String getLanguageVersion() {
- return "3.4"; // this should be derived from the actual version
+ return "3.5"; // this should be derived from the actual version
}
@Override
diff --git a/src/test/java/org/apache/commons/jexl3/scripting/JexlScriptEngineTest.java b/src/test/java/org/apache/commons/jexl3/scripting/JexlScriptEngineTest.java
index ff54d116..1bea8d8b 100644
--- a/src/test/java/org/apache/commons/jexl3/scripting/JexlScriptEngineTest.java
+++ b/src/test/java/org/apache/commons/jexl3/scripting/JexlScriptEngineTest.java
@@ -191,9 +191,9 @@ public class JexlScriptEngineTest {
void testScriptEngineFactory() {
final JexlScriptEngineFactory factory = new JexlScriptEngineFactory();
assertEquals("JEXL Engine", factory.getParameter(ScriptEngine.ENGINE));
- assertEquals("3.4", factory.getParameter(ScriptEngine.ENGINE_VERSION));
+ assertEquals("3.5", factory.getParameter(ScriptEngine.ENGINE_VERSION));
assertEquals("JEXL", factory.getParameter(ScriptEngine.LANGUAGE));
- assertEquals("3.4", factory.getParameter(ScriptEngine.LANGUAGE_VERSION));
+ assertEquals("3.5", factory.getParameter(ScriptEngine.LANGUAGE_VERSION));
assertNull(factory.getParameter("THREADING"));
assertEquals(NAMES, factory.getParameter(ScriptEngine.NAME));
assertEquals(EXTENSIONS, factory.getExtensions());