
                   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.
