---------------
1.  WHAT's NEW
---------------
A list of changes in recent versions:

0.1.14: (16-Oct-2007)
        * Automatic fixes as reported by IntelliJ-IDEA's inspections
    
        * Updated the copyright header on all java-files
    
0.1.13: (12-Oct-2007)
        * [BUG] Fixed divide operations that nad no defined scale.

0.1.12: (24-Sep-2007)
        * All releases are now built with JDK 1.4. However, we are still compatible
          with JDK 1.2.2 and all releases run and compile under that release.
        
        * [BUG] The boot-class always reconfigured the logging system to use 
          System.out logging, even if the user configured something else.

        * [BUG] The DefaultFunctionRegistry should have cached the loaded
          class-objects to avoid resource-contentions in the JDK's classloader.

0.1.11: (15-Aug-2007)
        * Added MIN, MAX, and MOD functions
        
        * [BUG] NumberSequence and Arrays from ranges should now work
        
        * Marked unimplemented methods with UnsupportedOperationException
        
        * Removed use of System.out in favor of JCommon logging
        
        * [BUG] Reworked some functionality that was not Java 1.2 compliant
        
        * Removed some old CVS artifacts

0.1.10: (30-Jul-2007)
        * [BUG] A misplaced instanceof test prevented the distinction between
          java.sql.Date and java.sql.Time objects.
          
        * [BUG] A rouge System.out statement was left in the generated formula
          parser and caused funny messages.          

0.1.9: (24-Jun-2007)
        * [BUG] Percentage Operator did not set the scale correctly

        * [BUG] Divide operator did not remove unneccessary trailing zeros.

        * [BUG] Fixed a NullPointerException in the Numeric-Operators.

        * [BUG] Some operations returned 'null' instead of a NA()-TypeValue-Pair.

        * [BUG] The parser did not handle parenthesis correctly resulting in
          invalid results in computations.

        * Added support for inline arrays to the parser.

        * NULL-Values (aka NA()) are now treated like in Excel. Any operation
          performed on an NA() value results in NA(). There is no implicit
          conversion into ZERO for numeric operations anymore.

0.1.8: (21-May-2007)
        * [BUG] The automatic type conversion was not always working.
        
        * [BUG] The 'greater equal', 'lower equal' and 'not equal' 
          operators did not work as expected.
          
        * The date-formats used in the automatic conversion can now 
          be configured using the global configuration.

        * New functions added
          Date:
          - DAY()
          - HOUR()
          - MONTH()
          - WEEKDAY()
          - YEAR()
          
          Math:
          - EVEN()
          - ODD()
          - AVERAGE()
          
          Information:
          - ISNONTEXTFUNCTION()
          - ISEVEN()
          - ISODD()
          - ISNUMBER()
          - ISREF()

0.1.7: (27-Apr-2007)
        * [BUG] Fixed a couple of type-conversion issues when converting from and
          to numeric types. Now, if a value is not convertible, a 
          TypeConversionException will be thrown.

0.1.6: (01-Apr-2007)
        * [BUG] Comparing two untyped (Any-Type) values always failed. The new
          implementation now tries to convert these values into Numbers, Dates,
          and Strings to compare them. (This is a quick-fix for Bug #1680148;
          however, it needs more testing before we can close that bug.)

        * New functions added
          Date:
          - NOW()
          - TODAY()

0.1.5: (07-Mar-2007)
        * Exposed some previously private variables to allow proper inspection
          of formulas.

0.1.4: (01-Mar-2007)
        * [BUG] The parser did not accept empty parameters so that syntactilly
          valid formulas like "IF(;;;)" failed to parse.

        * [BUG] The TRIM(..) function was invalid. TRIM has to remove all
          leading, trailing and all duplicate inner whitespaces from the give
          text.

        * New functions added
          Text:
          - REPLACE(
          - SUBSTITUTE(text, old_text, new_text, nth_appearance )

          Math:
          - ABS(number)

          Date:
          - DATEDIF(date1,date2,interval)

0.1.3: (25-Jan-2007)
        * [BUG] The power operator was not registered.

        * [BUG] The 'minus' prefix operator did not work.

        * New functions added
          Text:
          - LEFT(text[,length=1])
          - EXACT(text1,text2)
          - FIND(needle,hay[,startIndex])
          - LEN(text)
          - LOWER(text)
          - MID(text,start,length)
          - REPT(text,count)
          - TEXT(value)
          - T(value)
          - TRIM(text)
          - UPPER(text)
          - URLENCODE(text[,encoding])

          Information:
          - NA
          - ISNA(value)
          - ISTEXT(value)
          - ISLOGICAL(value)
          - ISERROR(value)
          - CHOOSE(condition,value[,..])
          - ISBLANK(value)

0.1.2: (22-Dec-2006)
        * [BUG] The parser failed when being faced with functions that have
          no parameters.

        * New function NULL allows to return a NULL-reference.

        * Added the 'ISBLANK' function from OpenFormula.

0.1.1: (11-Dec-2006)
        * The FormulaContext now is able to signal errors using Exceptions.

          The ToDo list has grown a bit after studying the holy books of
          Formula-computation. Version 0.2 will see some major internal API
          changes.

0.1.0: (03-Dec-2006)
        * Initial version. This version happily deals with plain types and
          somehow it even handles arrays without crashing. Code for database
          support exists, but is not in a usable state (yet).

          I don't even think about OLAP cubes now.

        * Functions use a parameter callback now. This way, we avoid to pre-
          evaluate all the parameters and therefore optimize the evaluation of
          the whole formula.

