Falcon (0.8.8)
  * bugfix: TRAV opcode may destroy its parameters while setting first loop
      on rare conditions. Fixed.
  * major: VM now has a map of modules and global variables instead of two
      parallel arrays. This allows arbitrary module unlinking.
  * major: Item size is now 16 bytes. This allow space for stepped ranges.
  * major: Added WKS/WKI (Well Known Symbols/Items) system to obviate the need
      to share global items with scripts and create failsafe instances of
      classes.
  * bugfix: Fixed TimeStamp distance algorithm.
  * minor: List initialization is now possible also with non-atomic symbols.
  * bugfix: Precision in printing default flotaing point number was 6; now is
      16 (maximum precision for our number format).
  * minor: Added strWildcardMatch in RTL for simle *.*-like wildcard matching.
  * minor: Added ETA function firstOf() that retruns the first non-false parameter.
  * bugfix: When having more than one context, each stack had a different
      treshold, possibly causing some of the stacks to crash on realloc.
  * bugfix: Path of the offending module was not shown when reporting compiler errors.
  * major: Load directive can now handle dot modules "a.b"
  * bugfix: ModLoader::addSearchPath didn't locally bufferize the path, and this may
            have caused problems with incoming fixed strings.

Falcon (0.8.6)
  * bugfix: incorrect format of 0.x floating point numbers.
  * major: Completed attribute model.
  * major: Improved functinal support. Added lit() and choice().
  * bugfix: Fixed initial search path for faltest.
  * bugfix: Fixed crash in moduleloader with empty paths.
  * major: Added message oriented programming model.
  * major: Flat VM model implemented.
  * minor: Added round, ceil, floor, fint and abs math functions.
  * minor: Fixed default representation of floating point numbers, and
      recogninzing long integer NAN.
  * minor: int() core function now raises a range error in case the given
      fp number cannot be represented in an int64.
  * minor: loop statement now accepts a statement on the same line for
      candy grammar.
  * minor: added arrayHead function in rtl.
  * minor: strHead, strHeadTrim, strTail, strTailFind have been renamed
      respectively to strFront, strFrontTrim, strBack, strBackFind for
      coherency with nomenclature.
  * major: Added List class with support in for/in and CORE iterator.
  * major: Added support for generic sequence object and deep GC marking.
  * minor: Added addSingleton method to Module class for easier embedding.
  * minor: Added marshallCB* series to dispatch events to handlers in objects.
  * bugfix: fixed self/sender sequence for callable arrays used as methods.
  * bugfix: array and property assignment now copies strings by value.
  * bugfix: One line for/in statement COLON rule caused crash.
  * minor: Changed "<" fast print into ">>".
  * bugfix: In case of callitem() from toplevel, errors were not managed correctly.
  * bugfix: Generic array resize (to smaller size) was wrong, and caused VM stack
            corruption when big arrays and recursions were performed.
  * minor: the "_" prefix for symbols is now used for private usage in classes.
  * bugfix: Lexer didn't recognize unclosed contexts at end of file.
  * major: Added dot-square array declaration, and better management of contexts
           /eol in array/list declarations.
  * major: Added compiler directive support. Now "def" wokrs on directive.

Falcon (0.8.4)
  * major: Old "lambda expressionss" are now "nameless functions". They are declared
    through variable = function(...) ... end  (which was the most common
    pattern for the old usage of lambda expressions
  * major: Lambda expression grammar is much simplified, and they allow only one
    expression as body.
  * major: Added .ftd (falcon template document) file type. It's a outer-escaped
    document (php/asp like) where unescaped literal code and escaped code
    can be seamlessly merged.
  * bugfix: Linear dictionary didn't break search loop in case of VM error.
  * bugfix: VM cleared register A when comparing items. This caused weird
    errors in dictionaries when the objects overloaded compare().
  * bugfix: Fixed try/catch sequences across internal frames
  * improvement: ^^^this also allowed to remove the ugly trypos structure.
  * bugfix: PSIN opcode extracted an unexisting second parameter; in case
    of dirty data that caused an assert.
  * design: Fixed compilation and build settings with MINGW.
  * bugfix: Fixed default load path of faltest.
  * improvement: Added a user data pointer to VM (useful for binary compatibility)
  * minor: Unclosed scoping errors now report where the scope was open.
  * improvement: added min, max, all, any, allp, anyp, map, xmap, filter, reduce,
    iff, cascade functions for minimal functional support.
  * major: callable arrays for deferred calls and functional support.
  * bugfix: AutoCString and AutoWString may convert incrrectly due to sign mismsatch
    in the return value of String::toCString()/String::toWString(). Fixed (and returing
    uint32).
  * minor: Semaphore wait() can now be timed.

Falcon (0.8.3)
  * VM optimizations of about 20-25%
  * VM Stack can now automatically shrink on need
  * Item size reduced to 12 bytes
  * GENR opcode didn't work correctly when operands were float.
  * Added lenght recording to autocstring and autowstring
  * Updated REGEX to PCRE 7.2
  * Added compare() and version() methods for Regex class.
  * in Error, added a method to stringize only the error header.
  * Fixed ROStream destruction sequence.
  * Fixed GetSystemEncoding (caused falcon cmdline to fail recognize default encodings)
  * Added ideographic space to whitespaces and ideographic quotes to string quotes.
  * Fixed some docs.

Falcon (0.8.2)
  * String::toCString now returns immediately if space is too short.
  * String::toWString now returns size of converted string or -1 on error.
  * AutoCString and AutoWString classes were not correctly exported in Windows.
  * Fassert.h didn't compile under MINGW.
  * Now switch on objects working in every case (including compare() overload)
  * Now operators - and -= remove element(s) from arrays and dictionaries
  * More rational and elegant class interface for garbage collection objects.
  * More rational and elegant string classes constructors.
  * Cleaner class interface for module loader search path specification.
  * Added load module and file interface directly from Runtime
  * END opcode now nils the A register of the VM if quitting.
  * randomSeed() in RTL now randomizes on timer if called without parameters.
  * Added VMachine::gcLock()/gcUnlock() to allow simpler registration of callbacks.

Falcon (0.8.1)
  * Fixed bug in VM allocation of temporary vardef that caused
    crash when using special memory allocator.
  * Added option -M to faltest to check for memory leaks
  * Added option -C to falcon to check for memory leaks
  * Removed memory leaks in some VM oprations, in maps, in compiler
    tree destruction, module and symbol destruction and many more.
  * Fixed timestamp method compare() that didn't allow for comparation
    against other types.
  * TimeStamp.toString() created a string too wide by one.
  * Empty loops always generate code. Optimization is to be performed
    by the (still unwritten) optimizer.
  * stdOut() &c now return a system-transcoded stream. To obtain a
    raw stream, use stdOutRaw() etc.
  * Regex.replaceAll() was broken in case of multiple submatches.
  * ProcessHandler last error was not zeroed in creation, causing random
    false negatives (process created ok, but reported error).
  * samples/procLoad.fal updated with correct Error class structure
  * Updated docs.
  * Added BOM serialization and item level cloning.
  * Added cloning support for streams.
  * Added cloning support for timestamps.
  * Items containing objects and classe were not evaluated as true; fixed
  * Added AutoCString and AutoWString class helpers for eaiser conversion
    of falcon items and strings to POD C data.
  * The Falcon::core::sleep function was correctly resolved when the application
    linked against Falcon .so in linux, but when it was loaded indirectly, in
    example, as a cascade load some app's plugin using falcon, it was resolved to the
    system sleep() instead!!!! --- so it has been renamed to Falcon::core::_f_sleep().
  * Fixed VM stack push (GenericVector couldn't push to themselves).
  * Fixed VM context rotation for coroutines managed outside plugins.

Falcon (0.8)

  * Prepared complete Debian packaging and fixed build issues.
  * Starting massive development.

 -- Chr. Giancarlo Niccolai <gc_ /at/ _falconpl.org>  2007-04-08
