You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Henri Biestro <hb...@gmail.com> on 2011/11/29 18:00:16 UTC

Release JEXL 3.0 based on RC1

Dear all, 

JEXL 3.0 is ready for review. 

The 2.1 attempt comments have been folded in; JEXL 3 being binary and source code incompatible with JEXL 2, the code has moved to the new o.a.c.jexl3 package.
I've also moved some classes to the internal packages to make the public API clearer for the future.

Here is a quick list of new features (from the release notes): 

What's new in 3.0:
================== 
* A more thorough arithmetic (JexlArithmetic) that allows fine control over decimals (scale and precision), a 
  new syntax for numeric literals (OGNL inspired Big and Huge notations) and a better type handling keeping the most 
  appropriate representation in casual operations. 
* The introduction of script variables and parameters that reduce context dependencies and methods; this allows to 
  perform checks after script creation (light static checking hints). Plus the ability to call script from scripts. 
* A sandoxing feature to restrict and rename what JEXL can access from the environment allowing tighter control over security. 
* Extensions to UnifiedJEXL that allow the creation of templates. 

New features in 3.0: 
====================	
* JEXL-114:     Allow scripts to create local variables // Add return keyword 
* JEXL-113:     Add functions to extract which variables, parameters and local variables are used to evaluate a script 
* JEXL-118:     Provide an IN operator 
* JEXL-115:     Add support for asynchronous script execution and cancellation 
* JEXL-116:     Add control over classes, methods, constructors and properties allowed in scripts 
* JEXL-120:     Add simple template features 
* JEXL-119:     Allow indexed properties container resolution in expressions 

Tested against Java 1.{5,6} / Maven{2,3}, Windows 7/Linux/Mac OS. 

Tag: 

https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_3_0/

Site: 

https://people.apache.org/~henrib/jexl-3.0

Binaries: 

https://repository.apache.org/content/repositories/orgapachecommons-267/

This vote will close in 72 hours, 08:00PM GMT, Dec 3rd. 

  [ ] +1 Release these artifacts 
  [ ] +0 OK, but... 
  [ ] -0 OK, but really should fix... 
  [ ] -1 I oppose this release because... 

Many thanks, 
Regards. 
Henrib 

Re: Release JEXL 3.0 based on RC1

Posted by Jörg Schaible <jo...@scalaris.com>.
Hi Henri,

henrib wrote:

> I dont understand what is expected anymore...
> 
> There are some new features and fixes that break the API at the binary and
> source level; I'm merely applying the best practice recommendations - and
> previous 2.1 rejection basis.
> 
> This version has been 18 months in the making, fixes quite a few bugs and
> adds what could be considered major functionalities; making it a new major
> version does not seem stupid.
> Besides, the very scarce JEXL's community is expecting these changes and
> no other Apache component really uses JEXL 2. Besides, anyone using a
> scripting engine in a binary safe way will (should) use it through
> JSR-223...
> 
> What is the danger here, besides scaring off anyone trying to use JEXL ?
> Even if the next version is again a major one after 18 months (on
> average), would it be so bad ? I'm really puzzled and can't understand the
> motivation to reject (besides the artifactId).
> And if you feel disappointed, how would you feel if your work and time was
> only considered low quality or a waste by people who aren't actually using
> it? After all, may be OGNL is the way to go and JEXL moved to the attic...
> 
> Sorry for the rant and thanks for another lesson in humility.

As you said, this release was in the making for 18 months - so why do you 
try to rush it now in this way? Yes, the policy is, that we rename package 
and artifactId if we release a binary incompatible version (API-wise). 
However, if there is a possibility to make a API-wise binary compatible 
drop-in release, this has always to be preferred, since then no-one has to 
change package names in his own sources to use the new version.

And exactly that point is not yet cleared! Sebb tried to help by resolving 
the incompatible changes to make a preferred 2.1 release possible, but this 
research was not finished. If we break with every release the API of a 
component, it is also not a very good sign to our users also. And if it 
means to have some deprecated methods and classes - so what?

- Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: Release JEXL 3.0 based on RC1

Posted by henrib <he...@apache.org>.
I dont understand what is expected anymore...

There are some new features and fixes that break the API at the binary and
source level; I'm merely applying the best practice recommendations - and
previous 2.1 rejection basis.

This version has been 18 months in the making, fixes quite a few bugs and
adds what could be considered major functionalities; making it a new major
version does not seem stupid.
Besides, the very scarce JEXL's community is expecting these changes and no
other Apache component really uses JEXL 2. Besides, anyone using a scripting
engine in a binary safe way will (should) use it through JSR-223...

What is the danger here, besides scaring off anyone trying to use JEXL ?
Even if the next version is again a major one after 18 months (on average),
would it be so bad ? I'm really puzzled and can't understand the motivation
to reject (besides the artifactId).
And if you feel disappointed, how would you feel if your work and time was
only considered low quality or a waste by people who aren't actually using
it? After all, may be OGNL is the way to go and JEXL moved to the attic...

Sorry for the rant and thanks for another lesson in humility.
Henrib




--
View this message in context: http://apache-commons.680414.n4.nabble.com/Release-JEXL-3-0-based-on-RC1-tp4119894p4120071.html
Sent from the Commons - Dev mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: Release JEXL 3.0 based on RC1

Posted by sebb <se...@gmail.com>.
On 29 November 2011 17:00, Henri Biestro <hb...@gmail.com> wrote:
> Dear all,
>
> JEXL 3.0 is ready for review.
>
> The 2.1 attempt comments have been folded in; JEXL 3 being binary and source code incompatible with JEXL 2, the code has moved to the new o.a.c.jexl3 package.
> I've also moved some classes to the internal packages to make the public API clearer for the future.
>
> Here is a quick list of new features (from the release notes):
>
> What's new in 3.0:
> ==================
> * A more thorough arithmetic (JexlArithmetic) that allows fine control over decimals (scale and precision), a
>  new syntax for numeric literals (OGNL inspired Big and Huge notations) and a better type handling keeping the most
>  appropriate representation in casual operations.
> * The introduction of script variables and parameters that reduce context dependencies and methods; this allows to
>  perform checks after script creation (light static checking hints). Plus the ability to call script from scripts.
> * A sandoxing feature to restrict and rename what JEXL can access from the environment allowing tighter control over security.
> * Extensions to UnifiedJEXL that allow the creation of templates.
>
> New features in 3.0:
> ====================
> * JEXL-114:     Allow scripts to create local variables // Add return keyword
> * JEXL-113:     Add functions to extract which variables, parameters and local variables are used to evaluate a script
> * JEXL-118:     Provide an IN operator
> * JEXL-115:     Add support for asynchronous script execution and cancellation
> * JEXL-116:     Add control over classes, methods, constructors and properties allowed in scripts
> * JEXL-120:     Add simple template features
> * JEXL-119:     Allow indexed properties container resolution in expressions
>
> Tested against Java 1.{5,6} / Maven{2,3}, Windows 7/Linux/Mac OS.
>
> Tag:
>
> https://svn.apache.org/repos/asf/commons/proper/jexl/tags/COMMONS_JEXL_3_0/
>
> Site:
>
> https://people.apache.org/~henrib/jexl-3.0
>
> Binaries:
>
> https://repository.apache.org/content/repositories/orgapachecommons-267/
>
> This vote will close in 72 hours, 08:00PM GMT, Dec 3rd.
>
>  [ ] +1 Release these artifacts
>  [ ] +0 OK, but...
>  [ ] -0 OK, but really should fix...
>  [X] -1 I oppose this release because...

The <artifactId> has not been changed; this will caused lots of
problems if released to Maven Central.

However, that is not the only reservation I have.

Are we sure that all API-breaking changes have been fixed in this release?

Until I have had time for further investigation, I must vote -1 even
if the artifactId issue is fixed.

This is not to say I think it's wrong to change the package name (and
artifactId) and release version.
But such a major change needs careful scrutiny to make sure all the
required changes are done at the same time.
Otherwise, there will likely need to be a further major release/rename.

I am also a bit disappointed that we don't seem to have fully explored
fixing the API breakages.
It may turn out to be necessary to go through the rename, but it would
be easier for all users if the release were a drop-in replacement.

> Many thanks,
> Regards.
> Henrib

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org