Version 3.0
  Console Calc specific:
    - Fix: When there is no solution, Solve() returns "Solution not found" instead of crashing

  Parsing related improvements:
    - [[...]] can be used instead of [...] to make optional syntax parameters be considered after instead of before
    - Fix: SyntaxArg can have ~~ in it without problem
    - Fix: The parser is more stable; certain scenarios that would a crash no longer do

Version 2.99
There are no direct changes to the calculator itself.  However, enhancements to the shared DLL also benefit the
calculator.  See uCalc Transform.

Version 2.95
Uses same DLLs as other recent products.

Version 2.8
NEW: The "Not" operator

uCalc patterns:
---------------
(Accessible by all uCalc products)

NEW: {@If: ...} - Conditional pattern match
NEW: {@Skip: ...} - can be used in same pattern; No longer requires separate def
NEW: {Self} does not automatically set the PassOnce property to True
NEW: {@Execute: ... } which is similar to {@Exec: ...} but faster


uCalc String Lib
----------------
(Accessible by all uCalc products)

NEW: ucReplace() can now perform multiple search/replace operations with the same pattern
Fix: Memory corruption problem when used with uCalc Transform

Version 2.5

Many of the changes since the last version involve the underlying parser which has improvements in speed, memory efficiency, and consistency.  These changes are geared towards the ensemble of uCalc products, instead of specifically targeting just the uCalc Console Calculator.  There are also improvements in the uCalc String Library, which can be accessed by the calculator, and patterns (New: {@Evalaute}, {arg.Len}, {arg.Loc}, {arg.Index}, {arg.Tally}, {@Length}, {@Location}, {@ArgCount}, {@Tally}, {@TallyAll}, {@DocLength}, {@Document}).

Beyond that Chr() can accept multiple arguments, the calculator can parse numbers that end with a decimal point (Ex: 5.+10.), and a // for comment does not have to have text next to it (previously // with nothing else on the line would return a syntax error).

Note: Some uCalc constant values have changed (and may continue to change from version to version).  Always use constant names instead of their numeric values whenever possible.

Version 2.0

- Various uCalc parsing enhancements and fixes intended for other uCalc products are also reflected in uCalc Console Calculator
- Restrictions on the following functions were removed: uCalc(), uCalcStr(), uCalcVoid()
- Addition useful examples were added to the ReadMe.Txt file
- Symbols $ and @ return the most recent string and numeric results respectively
- Error handling was improved (you get an error message instead of OK if you incorrectly define a function or variable)
- Fix: The "=" operator for variable assignment was restored
- Fix: Output to the screen that is longer then screen width wraps around

Version 1.5

- uCalc String Library routines can be called directly from within the console calculator.  (Note: when calling routines from the calculator, do not precede them with "uc".  For instance use InStr() instead of ucInStr(), Split() instead of ucSplit(), etc).

  Retain("<html> code <p> etc </p> 1234 </html>", "<{tag}>")  // <html><p></p></html>
  UCase("Only words (in parenthesis) changed", "({text})"     // Only words (IN PARENTHESIS) changed

- The following operators: ++, --, Xor, Eqv, Imp

- Dim statement for defining variables

  Dim abc
  Dim xyz = 25, MyString As String, OtherString As String = "Hello World!"

- There are many general parsing enhancements, which are now available in the latest batch of products, including uCalc Console Calculator.