NEW FEATURES in version 2.1.2.
1. A better overshadowing of Library functions by the dynamic variables.
Now it is possible to define the functions in the static or the dynamic
library classes with the same name as a dynamic variable. Then, calls with
formal parameters will be resolved to the library function, while for the
calls with no formal parameters the dynamic variable will take the
precedence as documented. (this also allows to remove an unnecessary
error message) Thanks to Mark Taylor for suggesting this feature !
2. Stopped distributing JDK5 version of jel.jar because JDK 5 is very old and
its source format is not supported by modern javac anymore. If you need
JDK5 version of JEL please compile it yourself with older javac.
3. Cleaned up warnings produced by JAVA 14 compiler.
4. Changed code generation to use the family of static valueOf methods for
wrapping primitive types into Java objects instead of (now deprecated)
constructing these objects via the "new" operator.
BUGS FIXED in version 2.1.2.
1. JEL-generated classfiles now properly store null Strings (which may appear
during compile-time evaluation of static methods).
2. JEL now properly boxes (into java.lang.Boolean objects) the booleans
resulting from logical expressions. Previously (since the boxing/primitive
type wrapping was introduced in version 2.1.1) logical expression boxing
resulted in class file verification errors: "Expecting to find unitialized
object on stack". This bug was reported by Mark Taylor.
November 17 2020
Konstantin L. Metlov.