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 39551685 JEXL: getting ready for 3.4; - release notes; - remove 
useless code;
39551685 is described below

commit 395516851e1ffdd241220bb45a19248a0464dfa1
Author: Henri Biestro <hbies...@cloudera.com>
AuthorDate: Sat May 25 10:46:45 2024 +0200

    JEXL: getting ready for 3.4;
    - release notes;
    - remove useless code;
---
 .../internal/introspection/ArrayIterator.java      |   8 --
 .../introspection/EnumerationIterator.java         |   5 -
 src/site/site.xml                                  |   2 +-
 src/site/xdoc/relnotes34.xml                       | 157 +++++++++++++++++++++
 4 files changed, 158 insertions(+), 14 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/jexl3/internal/introspection/ArrayIterator.java
 
b/src/main/java/org/apache/commons/jexl3/internal/introspection/ArrayIterator.java
index 3cb09e4f..0df2e032 100644
--- 
a/src/main/java/org/apache/commons/jexl3/internal/introspection/ArrayIterator.java
+++ 
b/src/main/java/org/apache/commons/jexl3/internal/introspection/ArrayIterator.java
@@ -87,12 +87,4 @@ public class ArrayIterator implements Iterator<Object> {
     public boolean hasNext() {
         return pos < size;
     }
-
-    /**
-     * No op--merely added to satify the <code>Iterator</code> interface.
-     */
-    @Override
-    public void remove() {
-        throw new UnsupportedOperationException();
-    }
 }
\ No newline at end of file
diff --git 
a/src/main/java/org/apache/commons/jexl3/internal/introspection/EnumerationIterator.java
 
b/src/main/java/org/apache/commons/jexl3/internal/introspection/EnumerationIterator.java
index 7d5523f5..b9c1af56 100644
--- 
a/src/main/java/org/apache/commons/jexl3/internal/introspection/EnumerationIterator.java
+++ 
b/src/main/java/org/apache/commons/jexl3/internal/introspection/EnumerationIterator.java
@@ -50,9 +50,4 @@ public class EnumerationIterator<T> implements Iterator<T> {
     public boolean hasNext() {
         return enumeration.hasMoreElements();
     }
-
-    @Override
-    public void remove() {
-        // not implemented
-    }
 }
\ No newline at end of file
diff --git a/src/site/site.xml b/src/site/site.xml
index fe28e10c..ff53d369 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -25,7 +25,7 @@
     <body>
         <menu name="JEXL">
             <item name="Overview"                href="index.html" />
-            <item name="Release Notes"           href="relnotes33.html"/>
+            <item name="Release Notes"           href="relnotes34.html"/>
             <item name="Javadoc 3.4"             href="apidocs/index.html"/>
             <item name="Javadoc 2.1.1"           
href="javadocs/apidocs-2.1.1/index.html"/>
             <item name="Javadoc 1.1"             
href="javadocs/apidocs-1.1/index.html"/>
diff --git a/src/site/xdoc/relnotes34.xml b/src/site/xdoc/relnotes34.xml
new file mode 100644
index 00000000..477a8dce
--- /dev/null
+++ b/src/site/xdoc/relnotes34.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0"?>
+<!--
+   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.
+-->
+
+<document>
+  <properties>
+    <title>Apache Commons JEXL 3.4 Release Notes</title>
+  </properties>
+
+  <body>
+    <section name="Compatibility with previous release">
+      <p>
+        Version 3.4 is source and binary compatible with 3.3.
+      </p>
+    </section>
+    <section name="Compatibility with older releases (&lt; 3.3, 2.x)">
+      <p>
+        Since 3.3 release, the default setting for permissions that determine 
which packages, classes and methods are
+        accessible to scripts has been reduced to a very narrow set. When 
migrating from previous version of JEXL,
+        this may result in breaking your application behavior ; this breaking 
change requires remediation in your code.
+      </p>
+      <p>
+        Despite the obvious inconvenience - our sincere apologies on the 
matter -, how much functional and semantic
+        power is accessible through scripts has a real impact on your 
application security and stability ;
+        that potential risk requires an informed review and conscious choice 
on your end.
+      </p>
+      <p>
+        To mitigate the change, you can revert to the previous behavior with 
one line of code
+        (see <a 
href="apidocs/org/apache/commons/jexl3/introspection/JexlPermissions.html">JexlPermissions</a>,
+        <a 
href="apidocs/org/apache/commons/jexl3/JexlBuilder.html">JexlBuilder</a>
+        and
+        <a 
href="apidocs/org/apache/commons/jexl3/scripting/JexlScriptEngine.html">JexlScriptEngine</a>
+        ) or use this
+        opportunity to reduce exposure. Whether Files, URLs, networking, 
processes, class-loaders or reflection classes
+        or whether loops or side effects are accessible are part of your 
choice to make.
+      </p>
+    </section>
+    <section name="What's new in 3.4:">
+      <p>
+        Features and permissions are easier to define through new methods.
+      </p>
+      <p>
+        Some new syntaxes are introduced ; try/catch/finally (including with 
resources),
+        an array-access safe navigation ((x?[y]), strict equality/inequality 
operators (===, !==),
+        instanceof/!instanceof operators and more permissive structured 
literals.
+      </p>
+    </section>
+
+    <section name="New Features in 3.4:">
+      <p>
+        <table>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-423>">JEXL-423:</a></td>
+            <td>Add support for instanceof / !instanceof</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-422>">JEXL-422:</a></td>
+            <td>Add strict equality (===) and inequality (!==) operators</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-421>">JEXL-421:</a></td>
+            <td>ArrayBuilder: array type should reflect common class of its 
entries</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-419>">JEXL-419:</a></td>
+            <td>Add permission syntax to allow class/method/field</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-418>">JEXL-418:</a></td>
+            <td>Add try-catch-finally support</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-408>">JEXL-408:</a></td>
+            <td>Using JexlFeatures is tedious</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-404>">JEXL-404:</a></td>
+            <td>Support array-access safe navigation (x?[y])</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-401>">JEXL-401:</a></td>
+            <td>Captured variables should be read-only</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-398>">JEXL-398:</a></td>
+            <td>Allow 'trailing commas' or ellipsis while defining array, map 
and set literals</td>
+          </tr>
+        </table>
+      </p>
+    </section>
+
+    <section name="Bugs Fixed in 3.4:">
+      <p>
+        <table>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-420>">JEXL-420:</a></td>
+            <td>Error while comparing float and string value</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-417>">JEXL-417:</a></td>
+            <td>JexlArithmetic looses precision during arithmetic operator 
execution</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-416>">JEXL-416:</a></td>
+            <td>Null-valued pragma throws NPE in 3.3</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-415>">JEXL-415:</a></td>
+            <td>Incorrect template eval result</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-414>">JEXL-414:</a></td>
+            <td>SoftCache may suffer from race conditions</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-412>">JEXL-412:</a></td>
+            <td>Ambiguous syntax between namespace function call and map 
object definition.</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-410>">JEXL-410:</a></td>
+            <td>JexlFeatures: ctor does not enable all features</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-409>">JEXL-409:</a></td>
+            <td>Disable LEXICAL should disable LEXICAL_SHADE</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-405>">JEXL-405:</a></td>
+            <td>Recursive functions corrupt evaluation frame if reassigned</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-403>">JEXL-403:</a></td>
+            <td>Exception while evaluating template literal used in array 
assignment in loop.</td>
+          </tr>
+          <tr>
+            <td><a 
href="https://issues.apache.org/jira/browse/JEXL-423>">JEXL-402:</a></td>
+            <td>parse failed with empty return value.</td>
+          </tr>
+        </table>
+      </p>
+    </section>
+  </body>
+</document>

Reply via email to