You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2021/04/19 14:51:13 UTC
[commons-jexl] branch master updated: Standardise location of
changes file
This is an automated email from the ASF dual-hosted git repository.
sebb 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 1e48e82 Standardise location of changes file
1e48e82 is described below
commit 1e48e82d68b3e61858ffeee75e5dee3fdd99d917
Author: Sebb <se...@apache.org>
AuthorDate: Mon Apr 19 15:51:04 2021 +0100
Standardise location of changes file
---
pom.xml | 1 -
src/changes/changes.xml | 738 ++++++++++++++++++++++++++++++++++++++++++----
src/site/xdoc/changes.xml | 689 -------------------------------------------
3 files changed, 686 insertions(+), 742 deletions(-)
diff --git a/pom.xml b/pom.xml
index 0ab5bf9..95e6a62 100644
--- a/pom.xml
+++ b/pom.xml
@@ -295,7 +295,6 @@
<artifactId>maven-changes-plugin</artifactId>
<version>2.12.1</version>
<configuration>
- <xmlPath>${basedir}/src/site/xdoc/changes.xml</xmlPath>
<issueLinkTemplatePerSystem>
<default>%URL%/%ISSUE%</default>
</issueLinkTemplatePerSystem>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 702e6a1..46b7a99 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -1,58 +1,692 @@
-<?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.
--->
+<?xml version="1.0" encoding="UTF-8"?>
<!--
-This file is used by the maven-changes-plugin to generate the release notes.
-Useful ways of finding items to add to this file are:
-
-1. Add items when you fix a bug or add a feature (this makes the
-release process easy :-).
-
-2. Do a Jira search for tickets closed since the previous release.
-
-3. Use the report generated by the maven-changelog-plugin to see all
-CVS commits. Set the project.properties' maven.changelog.range
-property to the number of days since the last release.
-
-
-To generate the release notes from this file:
-
-mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn]
-
-then tweak the source formatting if necessary and regenerate, then commit
-
-The <action> type attribute can be add,update,fix,remove.
+/*
+* 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 Release Notes</title>
- </properties>
-
- <body>
- <!-- The release date is the date RC is cut -->
- <release version="3.2" date="YYYY-MM-DD" description="TBD.">
- <!-- FIX -->
- <!-- ADD -->
- <!-- UPDATES -->
- <action dev="ggregory" type="update" due-to="Gary Gregory">
- Bump actions/setup-java from v1.4.3 to v2 #160.
- </action>
- </release>
- </body>
+ <properties>
+ <title>Apache Commons JEXL Release Notes</title>
+ <author email="dev@commons.apache.org">Commons Developers</author>
+ </properties>
+ <body>
+ <release version="3.2">
+ <action dev="ggregory" type="update" due-to="Gary Gregory">
+ Bump actions/setup-java from v1.4.3 to v2 #160.
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-344" due-to="David Costanzo">
+ Don't fill stack trace for JexlExpression#Return (to improve performance)
+ </action>
+ <action dev="Hussachai Puripunpinyo" type="fix" issue="JEXL-336">
+ Escape some control characters
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-335">
+ Update JUnit to 4.13.1
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-334">
+ Remove offensive terminology from code and API
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-333">
+ Allow declaration of namespace within script
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-331" due-to="David Costanzo">
+ Please document \uXXXX escape sequence
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-330" due-to="David Costanzo">
+ JexlException.Parsing.getMessage() throws exception when parse error is in long expression
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-328">
+ JXLT template scripts evaluation do not process pragmas
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-327" due-to="David Costanzo">
+ map[null] does not work in assignment context
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-326" due-to="David Costanzo">
+ Link to "JavaCC" on syntax reference page is broken
+ </action>
+ <action dev="Dmitri Blinov" type="fix" issue="JEXL-325" due-to="Dmitri Blinov">
+ Potential race-condition in NumberParser.toString()
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-324" due-to="David Costanzo">
+ JexlEngine.createExpression("new()").getParsedText() throws NPE
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-323" due-to="David Costanzo">
+ Ant-style variables can throw exception when evaluated for their value
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-322" due-to="Constantin Hirsch">
+ JXLT String literals cannot contain curly braces
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-321" due-to="Dmitri Blinov">
+ Empty do-while loop is broken
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-320" due-to="David Costanzo">
+ "mvn test" fails with COMPILATION ERROR in SynchronizedArithmetic.java on Java 11
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-319" due-to="David Costanzo">
+ Apache project documentation gives instructions in subversion
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-318" due-to="Dmitri Blinov">
+ Annotation processing may fail in lexical mode
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-317">
+ Support script cancellation through less invasive API
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-315" due-to="Mike Bartlett">
+ JxltEngine literal string strings ending in \ $ or # throw JxltEngine$Exception
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-314" due-to="Osy">
+ Comparison NULL values of variables NAME1.NAME2
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-312">
+ @NoJexl fails to disallow method call
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-311">
+ Jxlt template scripts fail using verbatim expressions embedded in lambdas
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-309">
+ Line numbers are not correct when template report errors
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-307" due-to="Dmitri Blinov">
+ Variable redeclaration option
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-306" due-to="Dmitri Blinov">
+ Ternary operator ? protects also its branches from resolution errors
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-305" due-to="Dmitri Blinov">
+ Script debugger produces incorrect syntax
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-304" due-to="Marcus Warm">
+ Error parsing overview.limit.var
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-303" due-to="Dmitri Blinov">
+ Block syntax is broken
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-302" due-to="Dmitri Blinov">
+ JexlScript.getVariables returns strange values for array access
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-301" due-to="Dmitri Blinov">
+ Array access operator does not fail on null object in non-strict arithmetic mode
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-299" due-to="Jarek Cecho">
+ Improve message error when method could not be found
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-298" due-to="Dmitri Blinov">
+ Unable to call 'empty' and 'size' member methods with parameters
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-296" due-to="Dmitri Blinov">
+ Real literal in scientific format is not parsed without suffix
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-295">
+ Add unary plus operator
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-292" due-to="Dmitri Blinov">
+ Allow specifying custom Permissions class for Uberspect to be used later by Introspector
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-291" due-to="David Costanzo">
+ Using sandbox prevents array-syntax lookup by number in Map
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-290">
+ Safe navigation fails on chained method calls
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-289" due-to="Dmitri Blinov">
+ Passing undeclared function parameter can overwrite a local function variable
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-288" due-to="Dmitri Blinov">
+ Annotation can not be specified for a standalone statement
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-287" due-to="Dmitri Blinov">
+ Wrong resolution of local variables
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-286" due-to="Dmitri Blinov">
+ For statement without a body should update its variable
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-285">
+ For statement variable may seem unaffected by iteration
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-282" due-to="Dmitri Blinov">
+ Pragmas with antish names are broken
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-281" due-to="Mirek Hankus">
+ MethodExecutor incorrectly tests for empty parameters list
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-280" due-to="Dmitri Blinov">
+ break/continue statements outside of the loop
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-279">
+ Null variables property access do not throw exceptions
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-278">
+ Ambiguous exceptions should point to actual statement ambiguity
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-275">
+ Allow safe navigation as option
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-274">
+ Handle soft and hard stack overflow
+ </action>
+ <action dev="Dmitri Blinov" type="add" issue="JEXL-175" due-to="Dmitri Blinov">
+ Add do...while(...) loops
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-272">
+ Dereferencing null property not reported on method call
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-271" due-to="Dmitri Blinov">
+ Hoisted variable is lost when currying lambda
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-270" due-to="Dmitri Blinov">
+ Wrong Script$Curried creation when script.curry() method is called inside script
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-264">
+ Allow space, quote and double-quote in identifiers
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-261">
+ JexlEngine.setClassLoader(...) should reload namespaces that are classes
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-260" due-to="Dmitri Blinov">
+ Automatically inject JexlContext in constructor call when possible
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-257" due-to="Dmitri Blinov">
+ Function throwing IllegalArgumentException may be called twice
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-253" due-to="Woonsan Ko">
+ Permissions by super type in JexlSandbox
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-252" due-to="Dmitri Blinov">
+ Allow for interpolated strings to be used in property access operators
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-250" due-to="Dmitri Blinov">
+ Safe navigation operator
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-249" due-to="Dmitri Blinov">
+ Java 1.8 as minimum supported version
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-248" due-to="Dmitri Blinov">
+ Allow range subexpression as an array property assignment identifier
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-246" due-to="Dmitri Blinov">
+ Intermittent ambiguous method invocation when processing assignOverload
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-245" due-to="Ate Douma">
+ Engine in strict mode fails to fail on unsolvable variables or properties
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-244" due-to="Dmitri Blinov">
+ Webapp classloader memory leaks
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-243">
+ Allow restricting available features in Script/Expressions
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-241" due-to="Yang Wang">
+ NPE when script containing string interpolation executed in multiple threads
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-240" due-to="Dmitri Blinov">
+ Unable to invoke a call operator using antish style variable resoltion
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-238" due-to="Cameron Samak">
+ Restrict getLiteralClass to a Number for NumberLiterals
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-237" due-to="Dmitri Blinov">
+ Ability to restrict usage of certain names when declaring local variables
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-236" due-to="Dmitri Blinov">
+ Support CharSequence in size(), empty() and contains() operators
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-234" due-to="Dmitri Blinov">
+ Extend application of operators startsWith and endsWith from String to CharSequence types
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-231" due-to="Dmitri Blinov">
+ Syntax for accessing List elements is not mentioned in docs
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-230" due-to="Dmitri Blinov">
+ List literal is not mentioned in docs
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-227" due-to="Dmitri Blinov">
+ JexlScriptEngineFactory.getEngineVersion() should return actual version
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-226" due-to="Min Wei">
+ add ?? operator support
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-225" due-to="Vyacheslav Shago">
+ Incorrect invoking methods with ObjectContext
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-224" due-to="Dmitri Blinov">
+ The ability to overload call() operator in customized JexlArithmetic implementation
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-212" due-to="Dmitri Blinov">
+ Restrict usage of assignment statements in JexlExpression
+ </action>
+ <action dev="Dmitri Blinov" type="add" issue="JEXL-175" due-to="Dmitri Blinov">
+ java.util.regex.Pattern creation operator (regex literals)
+ </action>
+ </release>
+ <release version="3.1" date="2017-04-14">
+ <action dev="henrib" type="add" issue="JEXL-222" due-to="Dmitri Blinov">
+ The ability to declare indexed property getter/setter in customised JexlArithmetic implementation
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-221" due-to="Dmitri Blinov">
+ Sporadic undefined property error caused by NPE at MapGetExecutor.tryInvoke()
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-219">
+ Blacklist by default in sandbox
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-217" due-to="Dmitri Blinov">
+ Interpreter.getAttribute() raises exception in non-strict mode when cached property resolver is used
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-216" due-to="Dmitri Blinov">
+ Improve parsing concurrency in multithreaded environment
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-215" due-to="Dmitri Blinov">
+ JexlEngine.createInfo() is redundantly called when debug and caching is enabled leading to sub-optimal performance
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-214" due-to="Dmitri Blinov">
+ Redundant call of fillInStackTrace() in JexlEngine.createInfo() ?
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-213" due-to="Dmitri Blinov">
+ rename JexlBuilder.loader(Charset arg) to JexlBuilder.charset(Charset arg)
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-211" due-to="Dmitri Blinov">
+ Add callable method to JexlExpression interface
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-210" due-to="Dmitri Blinov">
+ The way to cancel script execution with an error
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-209" due-to="Dmitri Blinov">
+ Unsolvable function/method '<?>.<null>(...)'
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-208" due-to="Joe Tom">
+ Documentation typos/inconsistencies
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-207" due-to="Dmitri Blinov">
+ Inconsistent error handling
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-206" due-to="Dmitri Blinov">
+ testCallableCancel() test hangs sporadically
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-205" due-to="Dmitri Blinov">
+ testCancelForever() is not terminated properly
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-204" due-to="Dmitri Blinov">
+ Script is not interrupted by a method call throwing Exception
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-203" due-to="Dmitri Blinov">
+ JexlArithmetic.options() diverts Interpreter to use default implementation of JexlArithmetic instead of custom one
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-202" due-to="Dmitri Blinov">
+ Detect invalid assignment operator usage with non-assignable l-value during script parsing
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-201" due-to="Dmitri Blinov">
+ Allow Interpreter to use live values from JexlEngine.Option interface implemented by JexlContext
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-198" due-to="Terefang Verigorn">
+ JxltEngine Template does not expose pragmas
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-197" due-to="Dmitri Blinov">
+ Add annotations
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-196" due-to="Dmitri Blinov">
+ Script execution hangs while calling method with one argument without parameter
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-195" due-to="Dmitri Blinov">
+ Support for AtomicBoolean in logical expressions
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-194" due-to="Dmitri Blinov">
+ allow synchronization on iterableValue in foreach statement
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-193" due-to="Dmitri Blinov">
+ InterruptedException is swallowed in function call in silent and non-strict mode
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-192" due-to="Constantin Mitocaru">
+ Invalid return type when expected result is null
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-191" due-to="Constantin Mitocaru">
+ Jexl3 unsolvable property exception when using enum
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-190" due-to="Dmitri Blinov">
+ local function within context is not resolved if function resolver class without namespace is specified
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-189" due-to="Dmitri Blinov">
+ Possible bug in Interpreter.isCancelled()
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-188" due-to="Dmitri Blinov">
+ Possible bug in JexlArithmetic.isFloatingPointNumber()
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-187" due-to="Dmitri Blinov">
+ Jexl Syntax doc does not mention 'continue' and 'break' operators
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-186" due-to="Philippe Mouawad">
+ Performance regression in arithmetic operations compared to JEXL 2.1
+ </action>
+ </release>
+ <release version="3.0" date="2015-12-27">
+ <action dev="henrib" type="fix" issue="JEXL-184">
+ dot-ed identifiers parsing failure
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-180" due-to="Kimball Robinson">
+ Documentation - suggests using float for financials
+ </action>
+ <action dev="henrib" type="add">
+ Added a 'curry' method to script returning script with bound arguments
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-178 " due-to="Dmitri Blinov">
+ 'Unsolvable property' message to provide details about underlying exception
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-177" due-to="Dmitri Blinov">
+ Unified expressions to be used in String literals in JEXL scripts
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-176" due-to="Dmitri Blinov">
+ Synonym operator name 'in' for operator =~ // Remove 'foreach...in' syntax
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-174" due-to="Dmitri Blinov">
+ Overloadable property access operators
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-173" due-to="Dmitri Blinov">
+ Duck-typed java closures
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-171" due-to="Dmitri Blinov">
+ Map access operator does not work if key name clashes with map property name
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-170">
+ Implement assignment operators
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-169" due-to="Robert Neßelrath">
+ A string is wrongly identified as FloatingPointNumber
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-168" due-to="Dmitri Blinov">
+ Dedicated operator for String concatenation
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-79" due-to="sebb">
+ Add support for growable arrays (ArrayLists)
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-167" due-to="Dmitri Blinov">
+ Possible loss of value when converting BigDecimal to BigInteger
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-166" due-to="Dmitri Blinov">
+ Incorrect operator symbol for bitwise complement in jexlArithmetic
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-164" due-to="Dmitri Blinov">
+ public getters for high/low properties for IntegerRange and LongRange
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-163" due-to="Dmitri Blinov">
+ empty(new ("java.lang.Long", 4294967296)) returns true
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-162" due-to="Dmitri Blinov">
+ empty() function throws an exception : unsupported type
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-160" due-to="Dmitri Blinov">
+ typo in package.html
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-158" due-to="Lars Cebulla">
+ Handle locale decimal separators correctly
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-157" due-to="Lars Cebulla">
+ Replace File.pathSeparator with File.separator
+ </action>
+ <action dev="henrib" type="add" >
+ Added a method to get parameters from a template
+ </action>
+ <action dev="henrib" type="fix" >
+ Identifiers beginning with 0s (like 00200) shoud not be considered integers
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-152" due-to="Dmitri Blinov">
+ Extend Range literal to support Long values
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-149" due-to="Dmitri Blinov">
+ Set Construction as per EL 3.0 spec
+ </action>
+ <action dev="henrib" type="add" >
+ Added #pragma instruction, allowing scripts to communicate information to the underlying execution
+ context.
+ </action>
+ <action dev="henrib" type="fix" >
+ Hoisted variables in a lambda are seen as local variables; should be seen as global
+ </action>
+ <action dev="henrib" type="fix" >
+ Local variables must preclude antish variables handling
+ </action>
+ <action dev="henrib" type="fix" >
+ Depending on unkown conditions, overriden varargs method may return false to isVarArgs;
+ fix by checking method in declaring class hierarchy.
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-146" due-to="David Maplesden">
+ Performance problem in Interpreter.unknownVariable mechanism
+ </action>
+ <action dev="henrib" type="fix">
+ Functions assigned to local variables can not perform recursive calls
+ </action>
+ <action dev="henrib" type="fix">
+ Improved error reporting on undefined or null variables
+ </action>
+ <action dev="henrib" type="fix">
+ Improved operator overloading logic in JexlArithmeric (caching)
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-145" due-to="Ian Connor">
+ Sandbox calling wrong check (classname vs class)
+ </action>
+ <action dev="henrib" type="fix" >
+ JXLT fails to parse expressions that use map constants
+ </action>
+ <action dev="henrib" type="add" >
+ Added break/continue in JEXL syntax
+ </action>
+ <action dev="henrib" type="add" >
+ Added convenience methods to pass/use JexlInfo and arguments in templates
+ </action>
+ <action dev="henrib" type="add" >
+ Added ability to overload some operators in JexlArithmetic (through introspection, based on method names)
+ </action>
+ <action dev="henrib" type="fix" >
+ Fixed issue in edge case method resolution wrt overload and varargs
+ </action>
+ <action dev="henrib" type="add" >
+ Switch logging to log4j 1.2
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-144" due-to="Woonsang Ko">
+ Empty array property setting fails
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-142" due-to="Juozas Baliuks">
+ Map expression issue with empty key
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-141" due-to="Harpreet Singh">
+ Suffix for Big Decimal and Big Integer Literal is incorrectly mentioned in Java docs
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-137">
+ Invalid script variable list for nested array/map access
+ </action>
+ <action dev="henrib" type="fix">
+ Fixed Engine.getVariables that was erroneously considering method calls as variable usage
+ </action>
+ <action dev="henrib" type="fix">
+ Fixed issue in ternary expression
+ (grammar was not precise enough to differentiate namespace:function calls vs ternary right hand side)
+ </action>
+ <action dev="henrib" type="add">
+ NaN is now a keyword equivalent to #NaN (deprecated): POTENTIAL SCRIPT BREAK!
+ </action>
+ <action dev="henrib" type="add">
+ Syntactically enforce that expressions do not contain statements: POTENTIAL EXPRESSION BREAK!
+ (ie an expression is not a script and can NOT use 'if','for'... and blocks)
+ </action>
+ <action dev="henrib" type="add">
+ Added syntactic shortcut to create parametric scripts (script source creates an anonymous function)
+ </action>
+ <action dev="henrib" type="fix">
+ Segregated JexlScript and JexlExpression further to avoid calling JexlExpression.evaluate on JexlScript
+ (instead of JexlScript.execute) which had the unexpected property of only evaluating the first statement
+ </action>
+ <action dev="henrib" type="fix">
+ Fix an edge case of ambiguous method matching (see http://apache-commons.680414.n4.nabble.com/jexl-mathod-within-namespace-not-found-if-parameter-is-int-tt4637888.html)
+ </action>
+ <action dev="henrib" type="fix">
+ Fix issue wrt isEmpty and method varargs (assignable types vs equal types)
+ (see http://apache-commons.680414.n4.nabble.com/jexl-empty-function-crashes-if-called-with-int-tt4637895.html)
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-133" due-to="Alfred Reibenschuh">
+ String matching Operator short-hand inspired by CSS3
+ </action>
+ <action dev="henrib" type="add" >
+ Added the range operator (x .. y)
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-128" due-to="Matteo Trotta">
+ ObjectContext should implement NamespaceResolver
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-127">
+ Allow the creation of functions
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-123">
+ Redesign API for stability
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-122">
+ Move JEXL from org.apache.comms.jexl2 to org.apache.commons.jexl3
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-136">
+ Script calls within scripts may fail with number arguments
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-135" due-to="Tomas Kukosa">
+ using map as script parameter or local variable
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-134" due-to="Manoj Mokashi">
+ Issue with evaluation of concat of variables : \r + \n gives 0
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-131" due-to="Clay Bruce">
+ UnifiedJexl (2.1.x) parsing may fail with NPE
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-130" due-to="William Bakker">
+ Ternary Conditional fails for Object values
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-126" due-to="Grace">
+ Decimal numbers literals fix be 'double' by default (instead of 'float')
+ </action>
+ </release>
+ <release version="2.1.1" date="2011-12-24">
+ <action dev="henrib" type="fix" issue="JEXL-124">
+ Array parameters to methods don't work anymore (regression)
+ </action>
+ </release>
+ <release version="2.1" date="2011-13-11">
+ <action dev="henrib" type="add" issue="JEXL-121">
+ Add simple template features
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-120" due-to="Lukas Krecan">
+ Make ParseException work in sandboxed environment
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-119">
+ Allow indexed properties container resolution in expressions
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-118" due-to="Max Tardiveau">
+ Provide an IN operator: =~ / match operator extended to provide IN behavior (!~ as NOT IN)
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-116" due-to="Sarel Botha">
+ Add control over classes, methods, constructors and properties allowed in scripts
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-115" due-to="Sarel Botha">
+ Add support for asynchronous script execution and cancellation
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-114">
+ Allow scripts to create local variables // Add return keyword
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-113" due-to="Max Tardiveau">
+ Add functions to extract which variables, parameters and local variables are used to evaluate a script
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-112" due-to="sebb">
+ Cannot parse Integer.MIN_VALUE.
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-24" due-to="freish">
+ Support Long for integer literal instead of Integers.
+ </action>
+ <action dev="henrib" type="add">
+ Added ObjectContext that wraps an object as JexlContext and added JexlContext as source to solve
+ top-level namespace functions.
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-111" due-to="freish">
+ expression execute error depending on numeric type
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-83" due-to="sebb">
+ Make JexlArithmetic immutable (and threadsafe); also added a mutable JexlThreadedArithmetic.
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-108" due-to="Cristian Lorenzetto">
+ Parsing error if i define a empty literal array/map
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-107">
+ Literals and parenthesized expressions can not be used as references
+ </action>
+ <action dev="henrib" type="fix" issue="JEXL-106" due-to="Michal Sabol">
+ When divide two BigDecimal values in an expression it results in java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
+ </action>
+ <action dev="henrib" type="add" issue="JEXL-105" due-to="Cary Thompson">Array literals are considered constant even when they are not.</action>
+ <action dev="henrib" type="fix" issue="JEXL-104" due-to="Andreas Haufler">NPE in JexlArithmetic when an Array-Expression containing a null is used.</action>
+ <action dev="henrib" type="add" issue="JEXL-102" due-to="sebb">Add "jexl2" as a supported name</action>
+ <action dev="henrib" type="add" issue="JEXL-101" due-to="Tobias Shulte">
+ Vararg methods where the first argument is no vararg can not be called with only the fixed parameters given
+ </action>
+ </release>
+ <release version="2.0.1" date="2010-03-28">
+ <action dev="henrib" type="add" issue="JEXL-100">Array access expressions fail when evaluated twice and cache is enabled</action>
+ <action dev="henrib" type="add" issue="JEXL-99" due-to="Marcel Schoen">Documentation of Thread Safety / Invalid code examples on homepage</action>
+ <action dev="henrib" type="add" issue="JEXL-98" due-to="Marcel Schoen">Quote escaping cannot be escaped</action>
+ </release>
+ <release version="2.0" date="2010-02-02">
+ <action dev="henrib" type="add" issue="JEXL-27" due-to="Weikuo Liaw">Bean-ish & ant-ish like assignment</action>
+ <action dev="henrib" type="add" issue="JEXL-19" due-to="Jesse Glick">Ternary operator support</action>
+ <action dev="henrib" type="add" issue="JEXL-46" due-to="Alfred Reibenschuh">adding Perl-like regular-expression operators</action>
+ <action dev="henrib" type="add" issue="JEXL-41" due-to="Alejandro Torras">Support for ${...} and #{...} expressions</action>
+ <action dev="henrib" type="add" issue="JEXL-15" due-to="Paul Libbrecht">User definable functions</action>
+ <action dev="sebb" type="add" issue="JEXL-63">JSR-223 support</action>
+ <action dev="henrib" type="update" issue="JEXL-10" due-to="Paul Libbrecht">Make possible checking for unresolved variables</action>
+ <action dev="henrib" type="update" issue="JEXL-11" due-to="Paul Libbrecht">Don"t make null convertible into anything</action>
+ <action dev="henrib" type="fix" issue="JEXL-47" due-to="sebb">Allow single-line comments with //</action>
+ <action dev="henrib" type="fix" issue="JEXL-44" due-to="sebb">Comments don"t allow double-quotes</action>
+ <action dev="henrib" type="add" issue="JEXL-71" due-to="sebb">Array literal syntax is not supported</action>
+ <action dev="dion" type="fix" issue="JEXL-17" due-to="Nestor Urquiza">allowing quote escaping</action>
+ <action dev="dion" type="fix" issue="JEXL-25" due-to="Marek Lewczuk">Call method with varargs</action>
+ <action dev="dion" type="fix" issue="JEXL-32" due-to="Kedar Dave">BigDecimal values are treated as Long values which results in loss of precision</action>
+ <action dev="dion" type="fix" issue="JEXL-33">Remove unnecessary throws Exception from various classes</action>
+ <action dev="henrib" type="fix" issue="JEXL-50" due-to="sebb">Div operator does not do integer division</action>
+ <action dev="henrib" type="fix" issue="JEXL-87" due-to="sebb">Inconsistent behavior of arithmetical operations</action>
+ <action dev="henrib" type="fix" issue="JEXL-21" due-to="AC">operator overloading / hooks on operator processing</action>
+ <action dev="henrib" type="add">"new" operator support</action>
+ <action dev="henrib" type="add">Support Unicode escapes in string literals</action>
+ <action dev="henrib" type="update">Various performance enhancements & caches</action>
+ </release>
+ <release version="1.1.1-SNAPSHOT" date="unreleased">
+ <action dev="dion" type="update" issue="JEXL-23">Fix jdk1.3 only code that has crept into JEXL tests</action>
+ <action dev="dion" type="update" issue="JEXL-22" due-to="Randy H.">Allow unicode literals to be used</action>
+ </release>
+ <release version="1.1" date="2006-09-10">
+ <action dev="rahul" type="fix" issue="JEXL-17" due-to="Kohsuke Kawaguchi">Consistently throw ParseException in case of a parsing failure, not an Error.</action>
+ <action dev="dion" type="fix" issue="JEXL-3" due-to="Guido Anzuoni">Allow for static methods to be called on classes and not just objects.</action>
+ <action dev="dion" type="add">Added Script and ScriptFactory to allow scripts to be executed from text, files or a URL.</action>
+ <action dev="dion" type="add">Added implementation for bitwise operators: and, complement, or, xor.</action>
+ <action dev="dion" type="add">Added implementation for the foreach statement.</action>
+ <action dev="dion" type="add">Added implementation for the while statement.</action>
+ <action dev="dion" type="add">Added implementation for block statements, e.g. curly braces containing multiple statements.</action>
+ <action dev="dion" type="add">Added implementation for the if statement.</action>
+ <action dev="dion" type="fix" issue="JEXL-6">Unary minus was only working for integer values.</action>
+ <action dev="dion" type="update">Add @since tags to code so we can track API additions via javadoc</action>
+ <action dev="dion" type="add" issue="JEXL-4" due-to="Barry Lagerweij">Support assignment to variables</action>
+ <action dev="dion" type="fix" issue="JEXL-5">'abc'.substring(0,1+1) is empty (method matching problem)</action>
+ </release>
+ <release version="1.0" date="2004-09-07">
+ <action dev="dion" type="fix">Support ant-style properties</action>
+ </release>
+ <release version="1.0-RC1" date="2004-08-26">
+ <action dev="dion" type="fix" due-to="Geoff Waggott">Fix string concatenation broken for variables</action>
+ <action dev="dion" type="fix" issue="JEXL-12">Implement short circuit logic for boolean and/or</action>
+ <action dev="dion" type="add">Handle any size() method that returns an int</action>
+ <action dev="dion" type="fix" issue="JEXL-9">Can't issue .size() on java.util.Set</action>
+ </release>
+ </body>
</document>
diff --git a/src/site/xdoc/changes.xml b/src/site/xdoc/changes.xml
deleted file mode 100644
index ce6e90a..0000000
--- a/src/site/xdoc/changes.xml
+++ /dev/null
@@ -1,689 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/*
-* 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 Release Notes</title>
- <author email="dev@commons.apache.org">Commons Developers</author>
- </properties>
- <body>
- <release version="3.2">
- <action dev="henrib" type="fix" issue="JEXL-344" due-to="David Costanzo">
- Don't fill stack trace for JexlExpression#Return (to improve performance)
- </action>
- <action dev="Hussachai Puripunpinyo" type="fix" issue="JEXL-336">
- Escape some control characters
- </action>
- <action dev="henrib" type="fix" issue="JEXL-335">
- Update JUnit to 4.13.1
- </action>
- <action dev="henrib" type="add" issue="JEXL-334">
- Remove offensive terminology from code and API
- </action>
- <action dev="henrib" type="add" issue="JEXL-333">
- Allow declaration of namespace within script
- </action>
- <action dev="henrib" type="fix" issue="JEXL-331" due-to="David Costanzo">
- Please document \uXXXX escape sequence
- </action>
- <action dev="henrib" type="fix" issue="JEXL-330" due-to="David Costanzo">
- JexlException.Parsing.getMessage() throws exception when parse error is in long expression
- </action>
- <action dev="henrib" type="fix" issue="JEXL-328">
- JXLT template scripts evaluation do not process pragmas
- </action>
- <action dev="henrib" type="fix" issue="JEXL-327" due-to="David Costanzo">
- map[null] does not work in assignment context
- </action>
- <action dev="henrib" type="fix" issue="JEXL-326" due-to="David Costanzo">
- Link to "JavaCC" on syntax reference page is broken
- </action>
- <action dev="Dmitri Blinov" type="fix" issue="JEXL-325" due-to="Dmitri Blinov">
- Potential race-condition in NumberParser.toString()
- </action>
- <action dev="henrib" type="fix" issue="JEXL-324" due-to="David Costanzo">
- JexlEngine.createExpression("new()").getParsedText() throws NPE
- </action>
- <action dev="henrib" type="fix" issue="JEXL-323" due-to="David Costanzo">
- Ant-style variables can throw exception when evaluated for their value
- </action>
- <action dev="henrib" type="fix" issue="JEXL-322" due-to="Constantin Hirsch">
- JXLT String literals cannot contain curly braces
- </action>
- <action dev="henrib" type="fix" issue="JEXL-321" due-to="Dmitri Blinov">
- Empty do-while loop is broken
- </action>
- <action dev="henrib" type="fix" issue="JEXL-320" due-to="David Costanzo">
- "mvn test" fails with COMPILATION ERROR in SynchronizedArithmetic.java on Java 11
- </action>
- <action dev="henrib" type="fix" issue="JEXL-319" due-to="David Costanzo">
- Apache project documentation gives instructions in subversion
- </action>
- <action dev="henrib" type="fix" issue="JEXL-318" due-to="Dmitri Blinov">
- Annotation processing may fail in lexical mode
- </action>
- <action dev="henrib" type="add" issue="JEXL-317">
- Support script cancellation through less invasive API
- </action>
- <action dev="henrib" type="fix" issue="JEXL-315" due-to="Mike Bartlett">
- JxltEngine literal string strings ending in \ $ or # throw JxltEngine$Exception
- </action>
- <action dev="henrib" type="fix" issue="JEXL-314" due-to="Osy">
- Comparison NULL values of variables NAME1.NAME2
- </action>
- <action dev="henrib" type="fix" issue="JEXL-312">
- @NoJexl fails to disallow method call
- </action>
- <action dev="henrib" type="fix" issue="JEXL-311">
- Jxlt template scripts fail using verbatim expressions embedded in lambdas
- </action>
- <action dev="henrib" type="fix" issue="JEXL-309">
- Line numbers are not correct when template report errors
- </action>
- <action dev="henrib" type="fix" issue="JEXL-307" due-to="Dmitri Blinov">
- Variable redeclaration option
- </action>
- <action dev="henrib" type="fix" issue="JEXL-306" due-to="Dmitri Blinov">
- Ternary operator ? protects also its branches from resolution errors
- </action>
- <action dev="henrib" type="fix" issue="JEXL-305" due-to="Dmitri Blinov">
- Script debugger produces incorrect syntax
- </action>
- <action dev="henrib" type="fix" issue="JEXL-304" due-to="Marcus Warm">
- Error parsing overview.limit.var
- </action>
- <action dev="henrib" type="fix" issue="JEXL-303" due-to="Dmitri Blinov">
- Block syntax is broken
- </action>
- <action dev="henrib" type="fix" issue="JEXL-302" due-to="Dmitri Blinov">
- JexlScript.getVariables returns strange values for array access
- </action>
- <action dev="henrib" type="fix" issue="JEXL-301" due-to="Dmitri Blinov">
- Array access operator does not fail on null object in non-strict arithmetic mode
- </action>
- <action dev="henrib" type="fix" issue="JEXL-299" due-to="Jarek Cecho">
- Improve message error when method could not be found
- </action>
- <action dev="henrib" type="fix" issue="JEXL-298" due-to="Dmitri Blinov">
- Unable to call 'empty' and 'size' member methods with parameters
- </action>
- <action dev="henrib" type="fix" issue="JEXL-296" due-to="Dmitri Blinov">
- Real literal in scientific format is not parsed without suffix
- </action>
- <action dev="henrib" type="add" issue="JEXL-295">
- Add unary plus operator
- </action>
- <action dev="henrib" type="add" issue="JEXL-292" due-to="Dmitri Blinov">
- Allow specifying custom Permissions class for Uberspect to be used later by Introspector
- </action>
- <action dev="henrib" type="fix" issue="JEXL-291" due-to="David Costanzo">
- Using sandbox prevents array-syntax lookup by number in Map
- </action>
- <action dev="henrib" type="fix" issue="JEXL-290">
- Safe navigation fails on chained method calls
- </action>
- <action dev="henrib" type="fix" issue="JEXL-289" due-to="Dmitri Blinov">
- Passing undeclared function parameter can overwrite a local function variable
- </action>
- <action dev="henrib" type="add" issue="JEXL-288" due-to="Dmitri Blinov">
- Annotation can not be specified for a standalone statement
- </action>
- <action dev="henrib" type="fix" issue="JEXL-287" due-to="Dmitri Blinov">
- Wrong resolution of local variables
- </action>
- <action dev="henrib" type="fix" issue="JEXL-286" due-to="Dmitri Blinov">
- For statement without a body should update its variable
- </action>
- <action dev="henrib" type="fix" issue="JEXL-285">
- For statement variable may seem unaffected by iteration
- </action>
- <action dev="henrib" type="fix" issue="JEXL-282" due-to="Dmitri Blinov">
- Pragmas with antish names are broken
- </action>
- <action dev="henrib" type="fix" issue="JEXL-281" due-to="Mirek Hankus">
- MethodExecutor incorrectly tests for empty parameters list
- </action>
- <action dev="henrib" type="fix" issue="JEXL-280" due-to="Dmitri Blinov">
- break/continue statements outside of the loop
- </action>
- <action dev="henrib" type="fix" issue="JEXL-279">
- Null variables property access do not throw exceptions
- </action>
- <action dev="henrib" type="fix" issue="JEXL-278">
- Ambiguous exceptions should point to actual statement ambiguity
- </action>
- <action dev="henrib" type="add" issue="JEXL-275">
- Allow safe navigation as option
- </action>
- <action dev="henrib" type="add" issue="JEXL-274">
- Handle soft and hard stack overflow
- </action>
- <action dev="Dmitri Blinov" type="add" issue="JEXL-175" due-to="Dmitri Blinov">
- Add do...while(...) loops
- </action>
- <action dev="henrib" type="fix" issue="JEXL-272">
- Dereferencing null property not reported on method call
- </action>
- <action dev="henrib" type="fix" issue="JEXL-271" due-to="Dmitri Blinov">
- Hoisted variable is lost when currying lambda
- </action>
- <action dev="henrib" type="fix" issue="JEXL-270" due-to="Dmitri Blinov">
- Wrong Script$Curried creation when script.curry() method is called inside script
- </action>
- <action dev="henrib" type="add" issue="JEXL-264">
- Allow space, quote and double-quote in identifiers
- </action>
- <action dev="henrib" type="add" issue="JEXL-261">
- JexlEngine.setClassLoader(...) should reload namespaces that are classes
- </action>
- <action dev="henrib" type="add" issue="JEXL-260" due-to="Dmitri Blinov">
- Automatically inject JexlContext in constructor call when possible
- </action>
- <action dev="henrib" type="fix" issue="JEXL-257" due-to="Dmitri Blinov">
- Function throwing IllegalArgumentException may be called twice
- </action>
- <action dev="henrib" type="add" issue="JEXL-253" due-to="Woonsan Ko">
- Permissions by super type in JexlSandbox
- </action>
- <action dev="henrib" type="add" issue="JEXL-252" due-to="Dmitri Blinov">
- Allow for interpolated strings to be used in property access operators
- </action>
- <action dev="henrib" type="add" issue="JEXL-250" due-to="Dmitri Blinov">
- Safe navigation operator
- </action>
- <action dev="henrib" type="add" issue="JEXL-249" due-to="Dmitri Blinov">
- Java 1.8 as minimum supported version
- </action>
- <action dev="henrib" type="add" issue="JEXL-248" due-to="Dmitri Blinov">
- Allow range subexpression as an array property assignment identifier
- </action>
- <action dev="henrib" type="fix" issue="JEXL-246" due-to="Dmitri Blinov">
- Intermittent ambiguous method invocation when processing assignOverload
- </action>
- <action dev="henrib" type="fix" issue="JEXL-245" due-to="Ate Douma">
- Engine in strict mode fails to fail on unsolvable variables or properties
- </action>
- <action dev="henrib" type="fix" issue="JEXL-244" due-to="Dmitri Blinov">
- Webapp classloader memory leaks
- </action>
- <action dev="henrib" type="add" issue="JEXL-243">
- Allow restricting available features in Script/Expressions
- </action>
- <action dev="henrib" type="fix" issue="JEXL-241" due-to="Yang Wang">
- NPE when script containing string interpolation executed in multiple threads
- </action>
- <action dev="henrib" type="add" issue="JEXL-240" due-to="Dmitri Blinov">
- Unable to invoke a call operator using antish style variable resoltion
- </action>
- <action dev="henrib" type="add" issue="JEXL-238" due-to="Cameron Samak">
- Restrict getLiteralClass to a Number for NumberLiterals
- </action>
- <action dev="henrib" type="add" issue="JEXL-237" due-to="Dmitri Blinov">
- Ability to restrict usage of certain names when declaring local variables
- </action>
- <action dev="henrib" type="add" issue="JEXL-236" due-to="Dmitri Blinov">
- Support CharSequence in size(), empty() and contains() operators
- </action>
- <action dev="henrib" type="add" issue="JEXL-234" due-to="Dmitri Blinov">
- Extend application of operators startsWith and endsWith from String to CharSequence types
- </action>
- <action dev="henrib" type="fix" issue="JEXL-231" due-to="Dmitri Blinov">
- Syntax for accessing List elements is not mentioned in docs
- </action>
- <action dev="henrib" type="fix" issue="JEXL-230" due-to="Dmitri Blinov">
- List literal is not mentioned in docs
- </action>
- <action dev="henrib" type="fix" issue="JEXL-227" due-to="Dmitri Blinov">
- JexlScriptEngineFactory.getEngineVersion() should return actual version
- </action>
- <action dev="henrib" type="add" issue="JEXL-226" due-to="Min Wei">
- add ?? operator support
- </action>
- <action dev="henrib" type="fix" issue="JEXL-225" due-to="Vyacheslav Shago">
- Incorrect invoking methods with ObjectContext
- </action>
- <action dev="henrib" type="add" issue="JEXL-224" due-to="Dmitri Blinov">
- The ability to overload call() operator in customized JexlArithmetic implementation
- </action>
- <action dev="henrib" type="add" issue="JEXL-212" due-to="Dmitri Blinov">
- Restrict usage of assignment statements in JexlExpression
- </action>
- <action dev="Dmitri Blinov" type="add" issue="JEXL-175" due-to="Dmitri Blinov">
- java.util.regex.Pattern creation operator (regex literals)
- </action>
- </release>
- <release version="3.1" date="2017-04-14">
- <action dev="henrib" type="add" issue="JEXL-222" due-to="Dmitri Blinov">
- The ability to declare indexed property getter/setter in customised JexlArithmetic implementation
- </action>
- <action dev="henrib" type="fix" issue="JEXL-221" due-to="Dmitri Blinov">
- Sporadic undefined property error caused by NPE at MapGetExecutor.tryInvoke()
- </action>
- <action dev="henrib" type="add" issue="JEXL-219">
- Blacklist by default in sandbox
- </action>
- <action dev="henrib" type="fix" issue="JEXL-217" due-to="Dmitri Blinov">
- Interpreter.getAttribute() raises exception in non-strict mode when cached property resolver is used
- </action>
- <action dev="henrib" type="add" issue="JEXL-216" due-to="Dmitri Blinov">
- Improve parsing concurrency in multithreaded environment
- </action>
- <action dev="henrib" type="add" issue="JEXL-215" due-to="Dmitri Blinov">
- JexlEngine.createInfo() is redundantly called when debug and caching is enabled leading to sub-optimal performance
- </action>
- <action dev="henrib" type="fix" issue="JEXL-214" due-to="Dmitri Blinov">
- Redundant call of fillInStackTrace() in JexlEngine.createInfo() ?
- </action>
- <action dev="henrib" type="fix" issue="JEXL-213" due-to="Dmitri Blinov">
- rename JexlBuilder.loader(Charset arg) to JexlBuilder.charset(Charset arg)
- </action>
- <action dev="henrib" type="add" issue="JEXL-211" due-to="Dmitri Blinov">
- Add callable method to JexlExpression interface
- </action>
- <action dev="henrib" type="fix" issue="JEXL-210" due-to="Dmitri Blinov">
- The way to cancel script execution with an error
- </action>
- <action dev="henrib" type="fix" issue="JEXL-209" due-to="Dmitri Blinov">
- Unsolvable function/method '<?>.<null>(...)'
- </action>
- <action dev="henrib" type="fix" issue="JEXL-208" due-to="Joe Tom">
- Documentation typos/inconsistencies
- </action>
- <action dev="henrib" type="fix" issue="JEXL-207" due-to="Dmitri Blinov">
- Inconsistent error handling
- </action>
- <action dev="henrib" type="fix" issue="JEXL-206" due-to="Dmitri Blinov">
- testCallableCancel() test hangs sporadically
- </action>
- <action dev="henrib" type="fix" issue="JEXL-205" due-to="Dmitri Blinov">
- testCancelForever() is not terminated properly
- </action>
- <action dev="henrib" type="fix" issue="JEXL-204" due-to="Dmitri Blinov">
- Script is not interrupted by a method call throwing Exception
- </action>
- <action dev="henrib" type="fix" issue="JEXL-203" due-to="Dmitri Blinov">
- JexlArithmetic.options() diverts Interpreter to use default implementation of JexlArithmetic instead of custom one
- </action>
- <action dev="henrib" type="fix" issue="JEXL-202" due-to="Dmitri Blinov">
- Detect invalid assignment operator usage with non-assignable l-value during script parsing
- </action>
- <action dev="henrib" type="add" issue="JEXL-201" due-to="Dmitri Blinov">
- Allow Interpreter to use live values from JexlEngine.Option interface implemented by JexlContext
- </action>
- <action dev="henrib" type="fix" issue="JEXL-198" due-to="Terefang Verigorn">
- JxltEngine Template does not expose pragmas
- </action>
- <action dev="henrib" type="add" issue="JEXL-197" due-to="Dmitri Blinov">
- Add annotations
- </action>
- <action dev="henrib" type="fix" issue="JEXL-196" due-to="Dmitri Blinov">
- Script execution hangs while calling method with one argument without parameter
- </action>
- <action dev="henrib" type="fix" issue="JEXL-195" due-to="Dmitri Blinov">
- Support for AtomicBoolean in logical expressions
- </action>
- <action dev="henrib" type="add" issue="JEXL-194" due-to="Dmitri Blinov">
- allow synchronization on iterableValue in foreach statement
- </action>
- <action dev="henrib" type="fix" issue="JEXL-193" due-to="Dmitri Blinov">
- InterruptedException is swallowed in function call in silent and non-strict mode
- </action>
- <action dev="henrib" type="fix" issue="JEXL-192" due-to="Constantin Mitocaru">
- Invalid return type when expected result is null
- </action>
- <action dev="henrib" type="fix" issue="JEXL-191" due-to="Constantin Mitocaru">
- Jexl3 unsolvable property exception when using enum
- </action>
- <action dev="henrib" type="fix" issue="JEXL-190" due-to="Dmitri Blinov">
- local function within context is not resolved if function resolver class without namespace is specified
- </action>
- <action dev="henrib" type="fix" issue="JEXL-189" due-to="Dmitri Blinov">
- Possible bug in Interpreter.isCancelled()
- </action>
- <action dev="henrib" type="fix" issue="JEXL-188" due-to="Dmitri Blinov">
- Possible bug in JexlArithmetic.isFloatingPointNumber()
- </action>
- <action dev="henrib" type="fix" issue="JEXL-187" due-to="Dmitri Blinov">
- Jexl Syntax doc does not mention 'continue' and 'break' operators
- </action>
- <action dev="henrib" type="fix" issue="JEXL-186" due-to="Philippe Mouawad">
- Performance regression in arithmetic operations compared to JEXL 2.1
- </action>
- </release>
- <release version="3.0" date="2015-12-27">
- <action dev="henrib" type="fix" issue="JEXL-184">
- dot-ed identifiers parsing failure
- </action>
- <action dev="henrib" type="fix" issue="JEXL-180" due-to="Kimball Robinson">
- Documentation - suggests using float for financials
- </action>
- <action dev="henrib" type="add">
- Added a 'curry' method to script returning script with bound arguments
- </action>
- <action dev="henrib" type="add" issue="JEXL-178 " due-to="Dmitri Blinov">
- 'Unsolvable property' message to provide details about underlying exception
- </action>
- <action dev="henrib" type="add" issue="JEXL-177" due-to="Dmitri Blinov">
- Unified expressions to be used in String literals in JEXL scripts
- </action>
- <action dev="henrib" type="add" issue="JEXL-176" due-to="Dmitri Blinov">
- Synonym operator name 'in' for operator =~ // Remove 'foreach...in' syntax
- </action>
- <action dev="henrib" type="add" issue="JEXL-174" due-to="Dmitri Blinov">
- Overloadable property access operators
- </action>
- <action dev="henrib" type="add" issue="JEXL-173" due-to="Dmitri Blinov">
- Duck-typed java closures
- </action>
- <action dev="henrib" type="fix" issue="JEXL-171" due-to="Dmitri Blinov">
- Map access operator does not work if key name clashes with map property name
- </action>
- <action dev="henrib" type="add" issue="JEXL-170">
- Implement assignment operators
- </action>
- <action dev="henrib" type="fix" issue="JEXL-169" due-to="Robert Neßelrath">
- A string is wrongly identified as FloatingPointNumber
- </action>
- <action dev="henrib" type="fix" issue="JEXL-168" due-to="Dmitri Blinov">
- Dedicated operator for String concatenation
- </action>
- <action dev="henrib" type="fix" issue="JEXL-79" due-to="sebb">
- Add support for growable arrays (ArrayLists)
- </action>
- <action dev="henrib" type="fix" issue="JEXL-167" due-to="Dmitri Blinov">
- Possible loss of value when converting BigDecimal to BigInteger
- </action>
- <action dev="henrib" type="fix" issue="JEXL-166" due-to="Dmitri Blinov">
- Incorrect operator symbol for bitwise complement in jexlArithmetic
- </action>
- <action dev="henrib" type="add" issue="JEXL-164" due-to="Dmitri Blinov">
- public getters for high/low properties for IntegerRange and LongRange
- </action>
- <action dev="henrib" type="fix" issue="JEXL-163" due-to="Dmitri Blinov">
- empty(new ("java.lang.Long", 4294967296)) returns true
- </action>
- <action dev="henrib" type="fix" issue="JEXL-162" due-to="Dmitri Blinov">
- empty() function throws an exception : unsupported type
- </action>
- <action dev="henrib" type="fix" issue="JEXL-160" due-to="Dmitri Blinov">
- typo in package.html
- </action>
- <action dev="henrib" type="fix" issue="JEXL-158" due-to="Lars Cebulla">
- Handle locale decimal separators correctly
- </action>
- <action dev="henrib" type="fix" issue="JEXL-157" due-to="Lars Cebulla">
- Replace File.pathSeparator with File.separator
- </action>
- <action dev="henrib" type="add" >
- Added a method to get parameters from a template
- </action>
- <action dev="henrib" type="fix" >
- Identifiers beginning with 0s (like 00200) shoud not be considered integers
- </action>
- <action dev="henrib" type="add" issue="JEXL-152" due-to="Dmitri Blinov">
- Extend Range literal to support Long values
- </action>
- <action dev="henrib" type="add" issue="JEXL-149" due-to="Dmitri Blinov">
- Set Construction as per EL 3.0 spec
- </action>
- <action dev="henrib" type="add" >
- Added #pragma instruction, allowing scripts to communicate information to the underlying execution
- context.
- </action>
- <action dev="henrib" type="fix" >
- Hoisted variables in a lambda are seen as local variables; should be seen as global
- </action>
- <action dev="henrib" type="fix" >
- Local variables must preclude antish variables handling
- </action>
- <action dev="henrib" type="fix" >
- Depending on unkown conditions, overriden varargs method may return false to isVarArgs;
- fix by checking method in declaring class hierarchy.
- </action>
- <action dev="henrib" type="fix" issue="JEXL-146" due-to="David Maplesden">
- Performance problem in Interpreter.unknownVariable mechanism
- </action>
- <action dev="henrib" type="fix">
- Functions assigned to local variables can not perform recursive calls
- </action>
- <action dev="henrib" type="fix">
- Improved error reporting on undefined or null variables
- </action>
- <action dev="henrib" type="fix">
- Improved operator overloading logic in JexlArithmeric (caching)
- </action>
- <action dev="henrib" type="fix" issue="JEXL-145" due-to="Ian Connor">
- Sandbox calling wrong check (classname vs class)
- </action>
- <action dev="henrib" type="fix" >
- JXLT fails to parse expressions that use map constants
- </action>
- <action dev="henrib" type="add" >
- Added break/continue in JEXL syntax
- </action>
- <action dev="henrib" type="add" >
- Added convenience methods to pass/use JexlInfo and arguments in templates
- </action>
- <action dev="henrib" type="add" >
- Added ability to overload some operators in JexlArithmetic (through introspection, based on method names)
- </action>
- <action dev="henrib" type="fix" >
- Fixed issue in edge case method resolution wrt overload and varargs
- </action>
- <action dev="henrib" type="add" >
- Switch logging to log4j 1.2
- </action>
- <action dev="henrib" type="fix" issue="JEXL-144" due-to="Woonsang Ko">
- Empty array property setting fails
- </action>
- <action dev="henrib" type="fix" issue="JEXL-142" due-to="Juozas Baliuks">
- Map expression issue with empty key
- </action>
- <action dev="henrib" type="fix" issue="JEXL-141" due-to="Harpreet Singh">
- Suffix for Big Decimal and Big Integer Literal is incorrectly mentioned in Java docs
- </action>
- <action dev="henrib" type="fix" issue="JEXL-137">
- Invalid script variable list for nested array/map access
- </action>
- <action dev="henrib" type="fix">
- Fixed Engine.getVariables that was erroneously considering method calls as variable usage
- </action>
- <action dev="henrib" type="fix">
- Fixed issue in ternary expression
- (grammar was not precise enough to differentiate namespace:function calls vs ternary right hand side)
- </action>
- <action dev="henrib" type="add">
- NaN is now a keyword equivalent to #NaN (deprecated): POTENTIAL SCRIPT BREAK!
- </action>
- <action dev="henrib" type="add">
- Syntactically enforce that expressions do not contain statements: POTENTIAL EXPRESSION BREAK!
- (ie an expression is not a script and can NOT use 'if','for'... and blocks)
- </action>
- <action dev="henrib" type="add">
- Added syntactic shortcut to create parametric scripts (script source creates an anonymous function)
- </action>
- <action dev="henrib" type="fix">
- Segregated JexlScript and JexlExpression further to avoid calling JexlExpression.evaluate on JexlScript
- (instead of JexlScript.execute) which had the unexpected property of only evaluating the first statement
- </action>
- <action dev="henrib" type="fix">
- Fix an edge case of ambiguous method matching (see http://apache-commons.680414.n4.nabble.com/jexl-mathod-within-namespace-not-found-if-parameter-is-int-tt4637888.html)
- </action>
- <action dev="henrib" type="fix">
- Fix issue wrt isEmpty and method varargs (assignable types vs equal types)
- (see http://apache-commons.680414.n4.nabble.com/jexl-empty-function-crashes-if-called-with-int-tt4637895.html)
- </action>
- <action dev="henrib" type="add" issue="JEXL-133" due-to="Alfred Reibenschuh">
- String matching Operator short-hand inspired by CSS3
- </action>
- <action dev="henrib" type="add" >
- Added the range operator (x .. y)
- </action>
- <action dev="henrib" type="add" issue="JEXL-128" due-to="Matteo Trotta">
- ObjectContext should implement NamespaceResolver
- </action>
- <action dev="henrib" type="add" issue="JEXL-127">
- Allow the creation of functions
- </action>
- <action dev="henrib" type="add" issue="JEXL-123">
- Redesign API for stability
- </action>
- <action dev="henrib" type="add" issue="JEXL-122">
- Move JEXL from org.apache.comms.jexl2 to org.apache.commons.jexl3
- </action>
- <action dev="henrib" type="fix" issue="JEXL-136">
- Script calls within scripts may fail with number arguments
- </action>
- <action dev="henrib" type="fix" issue="JEXL-135" due-to="Tomas Kukosa">
- using map as script parameter or local variable
- </action>
- <action dev="henrib" type="fix" issue="JEXL-134" due-to="Manoj Mokashi">
- Issue with evaluation of concat of variables : \r + \n gives 0
- </action>
- <action dev="henrib" type="fix" issue="JEXL-131" due-to="Clay Bruce">
- UnifiedJexl (2.1.x) parsing may fail with NPE
- </action>
- <action dev="henrib" type="fix" issue="JEXL-130" due-to="William Bakker">
- Ternary Conditional fails for Object values
- </action>
- <action dev="henrib" type="add" issue="JEXL-126" due-to="Grace">
- Decimal numbers literals fix be 'double' by default (instead of 'float')
- </action>
- </release>
- <release version="2.1.1" date="2011-12-24">
- <action dev="henrib" type="fix" issue="JEXL-124">
- Array parameters to methods don't work anymore (regression)
- </action>
- </release>
- <release version="2.1" date="2011-13-11">
- <action dev="henrib" type="add" issue="JEXL-121">
- Add simple template features
- </action>
- <action dev="henrib" type="fix" issue="JEXL-120" due-to="Lukas Krecan">
- Make ParseException work in sandboxed environment
- </action>
- <action dev="henrib" type="add" issue="JEXL-119">
- Allow indexed properties container resolution in expressions
- </action>
- <action dev="henrib" type="add" issue="JEXL-118" due-to="Max Tardiveau">
- Provide an IN operator: =~ / match operator extended to provide IN behavior (!~ as NOT IN)
- </action>
- <action dev="henrib" type="add" issue="JEXL-116" due-to="Sarel Botha">
- Add control over classes, methods, constructors and properties allowed in scripts
- </action>
- <action dev="henrib" type="add" issue="JEXL-115" due-to="Sarel Botha">
- Add support for asynchronous script execution and cancellation
- </action>
- <action dev="henrib" type="add" issue="JEXL-114">
- Allow scripts to create local variables // Add return keyword
- </action>
- <action dev="henrib" type="add" issue="JEXL-113" due-to="Max Tardiveau">
- Add functions to extract which variables, parameters and local variables are used to evaluate a script
- </action>
- <action dev="henrib" type="fix" issue="JEXL-112" due-to="sebb">
- Cannot parse Integer.MIN_VALUE.
- </action>
- <action dev="henrib" type="fix" issue="JEXL-24" due-to="freish">
- Support Long for integer literal instead of Integers.
- </action>
- <action dev="henrib" type="add">
- Added ObjectContext that wraps an object as JexlContext and added JexlContext as source to solve
- top-level namespace functions.
- </action>
- <action dev="henrib" type="fix" issue="JEXL-111" due-to="freish">
- expression execute error depending on numeric type
- </action>
- <action dev="henrib" type="add" issue="JEXL-83" due-to="sebb">
- Make JexlArithmetic immutable (and threadsafe); also added a mutable JexlThreadedArithmetic.
- </action>
- <action dev="henrib" type="fix" issue="JEXL-108" due-to="Cristian Lorenzetto">
- Parsing error if i define a empty literal array/map
- </action>
- <action dev="henrib" type="fix" issue="JEXL-107">
- Literals and parenthesized expressions can not be used as references
- </action>
- <action dev="henrib" type="fix" issue="JEXL-106" due-to="Michal Sabol">
- When divide two BigDecimal values in an expression it results in java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
- </action>
- <action dev="henrib" type="add" issue="JEXL-105" due-to="Cary Thompson">Array literals are considered constant even when they are not.</action>
- <action dev="henrib" type="fix" issue="JEXL-104" due-to="Andreas Haufler">NPE in JexlArithmetic when an Array-Expression containing a null is used.</action>
- <action dev="henrib" type="add" issue="JEXL-102" due-to="sebb">Add "jexl2" as a supported name</action>
- <action dev="henrib" type="add" issue="JEXL-101" due-to="Tobias Shulte">
- Vararg methods where the first argument is no vararg can not be called with only the fixed parameters given
- </action>
- </release>
- <release version="2.0.1" date="2010-03-28">
- <action dev="henrib" type="add" issue="JEXL-100">Array access expressions fail when evaluated twice and cache is enabled</action>
- <action dev="henrib" type="add" issue="JEXL-99" due-to="Marcel Schoen">Documentation of Thread Safety / Invalid code examples on homepage</action>
- <action dev="henrib" type="add" issue="JEXL-98" due-to="Marcel Schoen">Quote escaping cannot be escaped</action>
- </release>
- <release version="2.0" date="2010-02-02">
- <action dev="henrib" type="add" issue="JEXL-27" due-to="Weikuo Liaw">Bean-ish & ant-ish like assignment</action>
- <action dev="henrib" type="add" issue="JEXL-19" due-to="Jesse Glick">Ternary operator support</action>
- <action dev="henrib" type="add" issue="JEXL-46" due-to="Alfred Reibenschuh">adding Perl-like regular-expression operators</action>
- <action dev="henrib" type="add" issue="JEXL-41" due-to="Alejandro Torras">Support for ${...} and #{...} expressions</action>
- <action dev="henrib" type="add" issue="JEXL-15" due-to="Paul Libbrecht">User definable functions</action>
- <action dev="sebb" type="add" issue="JEXL-63">JSR-223 support</action>
- <action dev="henrib" type="update" issue="JEXL-10" due-to="Paul Libbrecht">Make possible checking for unresolved variables</action>
- <action dev="henrib" type="update" issue="JEXL-11" due-to="Paul Libbrecht">Don"t make null convertible into anything</action>
- <action dev="henrib" type="fix" issue="JEXL-47" due-to="sebb">Allow single-line comments with //</action>
- <action dev="henrib" type="fix" issue="JEXL-44" due-to="sebb">Comments don"t allow double-quotes</action>
- <action dev="henrib" type="add" issue="JEXL-71" due-to="sebb">Array literal syntax is not supported</action>
- <action dev="dion" type="fix" issue="JEXL-17" due-to="Nestor Urquiza">allowing quote escaping</action>
- <action dev="dion" type="fix" issue="JEXL-25" due-to="Marek Lewczuk">Call method with varargs</action>
- <action dev="dion" type="fix" issue="JEXL-32" due-to="Kedar Dave">BigDecimal values are treated as Long values which results in loss of precision</action>
- <action dev="dion" type="fix" issue="JEXL-33">Remove unnecessary throws Exception from various classes</action>
- <action dev="henrib" type="fix" issue="JEXL-50" due-to="sebb">Div operator does not do integer division</action>
- <action dev="henrib" type="fix" issue="JEXL-87" due-to="sebb">Inconsistent behavior of arithmetical operations</action>
- <action dev="henrib" type="fix" issue="JEXL-21" due-to="AC">operator overloading / hooks on operator processing</action>
- <action dev="henrib" type="add">"new" operator support</action>
- <action dev="henrib" type="add">Support Unicode escapes in string literals</action>
- <action dev="henrib" type="update">Various performance enhancements & caches</action>
- </release>
- <release version="1.1.1-SNAPSHOT" date="unreleased">
- <action dev="dion" type="update" issue="JEXL-23">Fix jdk1.3 only code that has crept into JEXL tests</action>
- <action dev="dion" type="update" issue="JEXL-22" due-to="Randy H.">Allow unicode literals to be used</action>
- </release>
- <release version="1.1" date="2006-09-10">
- <action dev="rahul" type="fix" issue="JEXL-17" due-to="Kohsuke Kawaguchi">Consistently throw ParseException in case of a parsing failure, not an Error.</action>
- <action dev="dion" type="fix" issue="JEXL-3" due-to="Guido Anzuoni">Allow for static methods to be called on classes and not just objects.</action>
- <action dev="dion" type="add">Added Script and ScriptFactory to allow scripts to be executed from text, files or a URL.</action>
- <action dev="dion" type="add">Added implementation for bitwise operators: and, complement, or, xor.</action>
- <action dev="dion" type="add">Added implementation for the foreach statement.</action>
- <action dev="dion" type="add">Added implementation for the while statement.</action>
- <action dev="dion" type="add">Added implementation for block statements, e.g. curly braces containing multiple statements.</action>
- <action dev="dion" type="add">Added implementation for the if statement.</action>
- <action dev="dion" type="fix" issue="JEXL-6">Unary minus was only working for integer values.</action>
- <action dev="dion" type="update">Add @since tags to code so we can track API additions via javadoc</action>
- <action dev="dion" type="add" issue="JEXL-4" due-to="Barry Lagerweij">Support assignment to variables</action>
- <action dev="dion" type="fix" issue="JEXL-5">'abc'.substring(0,1+1) is empty (method matching problem)</action>
- </release>
- <release version="1.0" date="2004-09-07">
- <action dev="dion" type="fix">Support ant-style properties</action>
- </release>
- <release version="1.0-RC1" date="2004-08-26">
- <action dev="dion" type="fix" due-to="Geoff Waggott">Fix string concatenation broken for variables</action>
- <action dev="dion" type="fix" issue="JEXL-12">Implement short circuit logic for boolean and/or</action>
- <action dev="dion" type="add">Handle any size() method that returns an int</action>
- <action dev="dion" type="fix" issue="JEXL-9">Can't issue .size() on java.util.Set</action>
- </release>
- </body>
-</document>