PLEASE
NOTE: THIS IS AN
EXPERIMENTAL
ALPHA RELEASE It
should not be used for productive work, or only with
care and enough
backups.
It is worthwhile to save often (not only "save", but
also "save as").
I would very much appreciate if
you could try this release on your machine and
tell
me about the
results.
What's new in this release
The features of this release
1.2.1a3 and a4 should exactly correspond to release 1.2. In
ideal case you shouldn't experience any differences.
The difference between a3 and a4 is, that a3 uses
multi-threading and a4 only single-threading (which
is less likely to crash in theory).
As announced in our roadmap,
I have changed the whole memory management concept
of CARA. This is a critical process which started
around christmas and is expected to continue for
some other weeks. Refactoring the memory management
strategy of such a large source tree like CARA and
NAF is a complex matter. Why should I do this? We
want to give user scripts access to all NAF
components in future to ease the implementation of
new custom scopes. The integration of Lua with the
visual hierarchy and notification chains implemented
in C++ demands for a very flexible component
concept. This is hard to realize using traditional
C++ memory management strategies (like reference
counting), because they restrict the referencing of
objects too much (i.e. only hierarchical structures
can be properly supported by reference counting).
With the new strategy, CARA delegates memory
management of the NAF framework to a garbage
collector. This increases the average memory
consumtion a bit, but allows for arbitrary graph
structures having either Lua or C++ objects as
nodes. Working with a garbage collector has an
essential influence on the resulting software
architecture. Because of this I had to rework parts
of the architecture to efficiently coexist with the
collector (avoiding memory leaks and premature
deletes of objects). The current release seems to
run quite stable now, but I'm aware that users are
much more imaginative in finding bugs (i.e. hard
crashes). You can thus support this migration by
trying to use this releases and reporting the
problems to our issue tracker. I would also like to
hear of you, if you don't find any problems (even if
this is quite unlikely).
Thanks for your support.
Rochus
|