Author: ebourg
Date: Fri Apr 7 09:06:58 2017
New Revision: 1790528
URL: http://svn.apache.org/viewvc?rev=1790528&view=rev
Log:
Improved the release notes
Modified:
commons/proper/jexl/trunk/RELEASE-NOTES.txt
Modified: commons/proper/jexl/trunk/RELEASE-NOTES.txt
URL:
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/RELEASE-NOTES.txt?rev=1790528&r1=1790527&r2=1790528&view=diff
==============================================================================
--- commons/proper/jexl/trunk/RELEASE-NOTES.txt (original)
+++ commons/proper/jexl/trunk/RELEASE-NOTES.txt Fri Apr 7 09:06:58 2017
@@ -25,22 +25,32 @@ Release 3.1
Version 3.1 is a minor release.
-Warning:
-========
-This release does break source compatibility by adding methods to existing
interfaces; these interfaces are however not
-expected to be implemented by code external to the Jexl project. This
compatibility break should remain hypothetical.
-It is nevertheless possible and we are sorry if it causes problems to any of
you.
+Compatibility with previous releases
+====================================
+Version 3.1 is binary compatible with 3.0.
+
+However it is not source compatible, this release does break source
compatibility by adding methods to existing
+interfaces; these interfaces are however not expected to be implemented by
code external to the JEXL project.
+This compatibility break should remain hypothetical. It is nevertheless
possible and we are sorry if it causes problems
+to any of you.
If you encounter this issue, besides continuing using JEXL 3.0, your code
likely delegates method calls to JEXL3 objects
-and you shall be able to continue doing so with these new methods. The 3
interfaces & methods are:
+and you shall be able to continue doing so with these new methods.
-1 - 'public java.lang.Boolean isCancellable()' in interface
org.apache.commons.jexl3.JexlEngine$Options
-2 - 'public java.util.concurrent.Callable
callable(org.apache.commons.jexl3.JexlContext)'in interface
org.apache.commons.jexl3.JexlExpression
-3 - 'public java.util.Map getPragmas()'in interface
org.apache.commons.jexl3.JxltEngine$Template
+The three interfaces and methods are:
+
+1 - 'isCancellable()' in interface org.apache.commons.jexl3.JexlEngine$Options
+2 - 'callable(JexlContext)' in interface
org.apache.commons.jexl3.JexlExpression
+3 - 'getPragmas()' in interface org.apache.commons.jexl3.JxltEngine$Template
What's new in 3.1:
==================
* Annotations syntax (@annotation) and processing capabilities.
-* Better support for script execution options, error handling and canceling.
+ Annotations in JEXL are 'meta-statements'; they allow to wrap the execution
of the JEXL statement in a user provided
+ caller; a typical example would be: ""@synchronized(x) x.someMethod();".
Annotations may be declared with zero or more
+ parameters. Annotation processing is implemented by providing a
JexlContext.AnnotationProcessor; its processAnnotation
+ method will call the annotated statement encapsulated in a Callable.
Annotation arguments are evaluated and passed
+ as arguments to processAnnotation.
+* Better support for script execution options, error handling and cancelling.
* All operators can be overloaded.
New Features in 3.1:
@@ -55,7 +65,7 @@ New Features in 3.1:
* JEXL-194: Allow synchronization on iterableValue in foreach statement
Bugs Fixed in 3.1:
-====================
+==================
* JEXL-221: Sporadic undefined property error caused by NPE at
MapGetExecutor.tryInvoke()
* JEXL-217: Interpreter.getAttribute() raises exception in non-strict mode
when cached property resolver is used
* JEXL-215: JexlEngine.createInfo() is redundantly called when debug and
caching is enabled leading to sub-optimal performance
@@ -81,8 +91,6 @@ Bugs Fixed in 3.1:
* JEXL-187: Jexl Syntax doc does not mention 'continue' and 'break'
operators
* JEXL-186: Performance regression in arithmetic operations compared to
JEXL 2.1
-There are no other changes.
-
========================================================================================================================
Release 3.0