What's New?

 

See Also:  Upgrading Issues, uCalc Language Builder

 

New or enhanced in version 3.99

·         Improvements in this version are mainly related to the underlying parser shared by uCalc products.  {@End} is now properly tallied when used in a pattern.  {@If:} can now be preceded by a pattern variable.

 

New or enhanced in version 3.98

·         FIX: In the previous version, the 64-bit DLL process remained in memory even after a 64-bit application using this DLL was closed.  This was fixed.

 

New or enhanced in version 3.96

Most enhancements in this upgrade relate to uCalc Fast Math Parser only indirectly.  For instance there were fixes in the UCase() and LCase() functions in the uCalc String Library, which can also be called from uCalc Fast Math Parser.  The uCalc String Library Range() function was fixed so that it works better with calls to uCalc FMP through {@Eval} or {@Evaluate}.  The fix has to do with ensuring a common evaluation space for Range() in FMP, String Library, and Transform, such that variables defined in Transform are directly accessible in the Range() function.

 

New or enhanced in version 3.95

·         NEW: Provisional 64-bit version is no longer limited to being called by only one process at a time.

·         NEW: Provisional 64-bit version now supports native callbacks (for user functions, error handling, output format, etc).

·         FIX: The provisional 64-bit version was broken in v 3.9 and didn't work at all, and wasn't intended to be included in that zip file.

·         FIX: If a construct passed to ucDefineSyntax is invalid, the error does not carry over to the next call to ucDefineSyntax.

·         FIX: Pattern handling improvements etc., allow better coordination between uCalc FMP, uCalc String Lib, and uCalc Transform.

 

New or enhanced in version 3.90

·         NEW: "Not" operator.

·         FIX: Ambiguity between ++ and -- increment/decrement ops and successive + and - ops.

·         FIX: Include files for VC++ w/ MFC and Delphi.

 

New or enhanced in version 3.80

·         FIX: Memory corruption issues affecting .NET compilers were resolved.

·         FIX: uCalc can now return string values to programs compiled using VC++ .NET w/ VS 2012.

·         The 64-bit and 32-bit DLLs are now included in the same zip file.

·         uCalc FMP can parse numbers that end with a decimal point (Ex: 5. + 25. * 2).

·         Headers specifically targeting VC++ Native with MFC and VC++ without MFC were added.

·         Headers for various compilers overall were improved.

·         Numerous fixes and enhancements make all uCalc products of the latest generation parse and/or execute faster, use memory more efficiently, and interact better with each other.  Parsing logic is more consistent.  Invalid, intricate, or unusual patterns are less likely to cause a crash or freeze.

 

New or enhanced in version 3.15

·         Incorrectly exported string routines were fixed.

·         Some missing demo programs were added.

·         ucSetOutput() was missing.  Now it’s available.

 

New or enhanced in version 3.0

·         A function can be redefined in such a way that other functions that call it will be affected by the updated definition as well (useful for dependent spreadsheet cells for instance).

·         The output format for numbers can be configured.

·         Operators can be defined with right to left associativity.

·         The speed for Min() and Max() was drastically improved.  They are now defined as functions instead of recursive syntax macros.

·         When a definition fails (such as for syntax errors), the error handler is invoked (assuming you’ve defined one).  In the previous version, definition errors were aborted silently.

·         There is a very large number of parsing improvements that are beyond the scope of the math parser.

·         Thread handling with ucThread() has improved.

·         FIX: Implicit multiplication has the same precedence level as explicit multiplication.

·         FIX: Better parsing; better at resolving potentially ambiguous expressions.

·         FIX: Invalid expressions are less likely to cause the program to crash.

 

New or enhanced in version 2.96

 

New or enhanced in version 2.95

 

New or enhanced in version 2.91: (minor upgrade)

 

New or enhanced in version 2.9:

 

The improvements mentioned below are relevant mainly in the context of moving from uCalc Fast Math Parser 2.0 to version 2.9.  More advanced features that are also new can be found in the uCalc Language Builder, which is a superset of uCalc FMP, and available separately.