
                         RELEASE NOTES for Falcon

                              Chimera Release

                                  0.9.6.2
  
  "Chimera" version is an intermediate version that bridges Eagle series
with the next series, in which we should put in the final compiler/module
assets.

  This is mainly a critical bugfix release over 0.9.6. Binary compatibility
with Chimera is granted as well as backward compatibility with previous
versions. The only major changes is the removal of the 'state' keyword; the
functionality is maintained by declaring a state in brackets [...] in the
body of a class. This helps porting old 0.9.4 code to the new release, and
has a minor impact on existing code due to the novelty of the 'state'
keyword.

  The most notable addition to this release is the falpack program which
is a first (fairly experimental, but working) try to generate stand-alone
falcon applications. Although the final distributable package generated
by this initial version of falpack consists of a directory tree with
relevant modules and resources, the final result is ready to go at a simple
click of the mouse. It's just a first step, but it already simplifies the
task of preparing and delivering falcon-based applications, and already
sufficient to fill the most common needs.

New Features
============

  - mcomp and mfcomp Sequence methods implement a complete list
    comprehension paradigm.
  - Support for OEM - IBM473 code page.
  - Path class has now new properties to access the unit + location
    combination in one step, making easier to write cross-platform
    applications.
  - Added falpack to the command line tool suite.


Critical bug fixes
==================

  - Random crash on runtime errors during object init.
  - Error in class symbol de-serialization caused failure of fam loading.
  - Local symbol names could be randomly broken in fam files; this caused
    @ "$local" expressions to randomly break.
  - Asynchronous message processing was basically broken, but the breakage
    could be spotted only randomly. This affects only 3d party modules using
    asynchronous message generation, it doesn't affects scripts.

Backward incompatibilities
==========================

  - 'state' keyword has been removed. A state can now be declared in a class
    by the expression [state_name], closed by the 'end' statement. So,
    'state' can be used again as a user symbol name (actually, this removes
    a backward incompatibility that was introduced in 0.9.6.0).

Usage tips
==========

   Although the new Garbage Collector is relatively efficient in determining
the actual needs of applications and in reclaiming unused memory, the standard
detection algorithms are still a bit naive.

  If your application is memory-intensive, be sure to read the Core Module
Documentation about the new GC object, which provides four default collection
strategies and also allows you to implement your own. A finely tuned GC 
strategy can boost the performance of your application and reduce its memory 
footprint.

  Meanwhile we'll continue to work towards finding collection strategies 
applicable to the most common usage patterns and you're invited to provide 
your own, should this aspect of Falcon be critical to your application.

