libco 0.2.3 BEWARE: this version depends on python2.2 headers & libs -- this dependency will be factored out, but this will take place after copp refactoring BEWARE (2): The API changed quite a lot from last version... - very basic python support - with specially-crafted objects it already works - but argument types are limited to int and return value is ignored - for now - vastly improved co_exception (cox_*) subsystem: now it supports arbitrary number of cleanup stacks -- and also it underwent preliminary preparations for thread-safedness - introduced the concept of object flavours - implemented until-now-forced message apparatus as "small" flavour (the destroy flag and method array) - implemented the event handling as "default" flavour, operating on top of "small" one - re-did the object layout - now we have data pointer instead of embedding header into custom struct's (objects used to be implemented this way in ancient times in then-forming libcwe IIRC) - new constructor style - the _new function is generated by copp: it will call the flavour's object instantiation and then send "init" message to the object; "bless" is reserved for user initialisation of object (and can take arguments, like the old constructors could) - semi-automatic clone support -- you can get cloning by providing "copy_data_from" and "copy_data_deep_from" methods for your object -- everything else is taken care of by libco - object destruction underwent some re-work -- now there is "delete" message that should be safe to send in any situation; the "destroy2" and "destroy" methods are layered below "delete", where "destroy2" is reserved for flavour implementation and "destroy" is for object implementators disposal (and shalt be called from inside destroy2); - co_super now accepts "exit" message (which replaces "destroy" as introduced in 0.2.2) - co_super is returned by new co_init function (do NOT use co_super_new -- it is broken badly) - most important: added more entries to the THANKS file :) libco 0.2.2 - improved plugin system, added module loading testcase - renamed various __mod_init functions, so their purpose is clearer from the name - improved and cleaned up documentation - began porting to win32-cygwin - destroying co_super cleanly shuts the program down - cleanups libco 0.2.1 - table-driven default message handler - basic adding of methods at runtime - simple reflection mechanizm (query for method existence) - CO_ATTR ridded of first (redundant) argument libco 0.2.0 - now officially standalone project - new code preprocessor: copp - new ID model - new method definition style - new message handler - improved co_m_v performance - no more COX_TRY block there - improved packaging - removed intl/ - upgraded to gettext 0.11.5 - fixed libltdl problems - ltdl.[hc] is now included in libco if needed - prepared to import into platon cvs libco 0.1.8 - each error (exception) code can associate error description string libco 0.1.7 - separate package (was part of tucniak release) - minimal gettext support ---- old versions ---- these come from time, when libco was part of tucniak release; parts unrelated to libco were deliberately stripped (you can find them in old tucniak-0.1.6 release) tucniak 0.1.5 - testsuite works again - one more overhaul of libco - improved stability - throws out-of-memory exceptions on rand () basis :-) (for testing) tucniak 0.1.4 - implemented CSEH in libco - new object in libco: co_vector (it is barely tested and still unused) - internal rearrangings in libco - many important bugfixes (in libco and elsewhere) - started big reformatting of code - disabled testsuite for this release (it is partly out of date) tucniak 0.1.3 - regression test suite - improved ISO C99 (standard ISO C from year 1999) compatibility - libco has new type/action/event id handling tucniak 0.1.2 - new library - libco - with new object engine