# Author: Christophe Herreman # Version: $Revision: 576 $, $Date: 2008-04-20 09:51:19 +0200 (Sun, 20 Apr 2008) $, $Author: cherreman $ # Since: 0.1 PRANA FRAMEWORK CHANGELOG ========================= Note: dates are in DD.MM.YYYY format Changes in version 0.5 (21.04.2008) ----------------------------------- General * improved documentation * added support for loading property files in application context * removed modified Cairngorm Store by Renaun Erickson * added updated Cairngorm Store that uses AMF3 and Mock data * prana-sample-puremvcArch101Demo updated to match PureMVC 2.0.3 related change (thanks to Ryan Gardner for supplying a patch) * project layout refactored for all Prana's projects * build system added and refactored for all Prana's projects * prana-install project introduced to ease configuration of Prana's projects for Eclipse/Flex Builder and Ant environments * prana-tools project added with initial version of template based project creation tool * "sample" template added in prana-tools * prana-tools-internal project added to host internal utilities (i.e. release build script) * XSD is now available for xml object definition files - http://www.pranaframework.org/schema/objects/prana-objects-0.5.xsd * added namespace support for xml object definition files * introduced Application Context concept as an XMLObjectFactory extension Package org.pranaframework.cairngorm * fixed changewatcher for property chain in EventSequence (thx Tony Hillerson) * "responder" property now has a public setter * added IResponderAware that defines a "responder" setter * made the responder argument optional in AbstractRemoteObjectDelegate * changed order of constructor arguments AbstractRemoteObjectDelegate Package org.pranaframework.collections * added Properties Package org.pranaframework.context * added IApplicationContext * added IApplicationContextAware * added IConfigurableApplicationContext Package org.pranaframework.context.support * added ApplicationContextAwareProcessor * added XMLApplicationContext Package org.pranaframework.ioc.loader * XmlObjectDefinitionsLoader handles loading of property files Package org.pranaframework.ioc.factory.config * added IConfigurableListableObjectFactory * added IConfigurableObjectFactory * added IObjectFactoryPostProcessor Package org.pranaframework.ioc.factory.support * replaced ObjectFactory with AbstractObjectFactory Package org.pranaframework.ioc.factory.xml.parser * "parse" method in XmlObjectDefinitionsParser now gets an optional Properties collection * fixed parsing of inline Dictionary entries Package org.pranaframework.ioc.factory.xml.parser.preprocessors * added PropertiesPreprocessor to apply properties to object definitions Package org.pranaframework.utils * added DictionaryUtils for working with Dictionary objects * added PropertiesUtils for working with Properties objects * added XMLUtils for working with XML objects * added "ObjectUtils.getClassInfo" which is the same as ObjectUtil.getClassInfo() in the Flex framework but adds support for primitive types * fixed "ObjectUtils.forInstance" to support primitive types * added support for Application Domains in "ClassUtils.forName" and "ClassUtils.forInstance" Package org.pranaframework.puremvc * updated dependencies to PureMVC 2.0.3 (thanks to Ryan Gardner for supplying a patch) * support for multiple configuration files added in PureMvc integration Changes in version 0.4 (26.01.2008) ----------------------------------- General * introduction of PureMVC support * added PureMVC sample application * nightly builds available at http://prana.herrodius.com * fixed config.xsl to ignore _svn folders Package org.pranaframework.cairngorm * fixed early dispatching of events in EventSequence Package org.pranaframework.collections * added "remove" method to IMap and Map * changed "size" and "values" methods to getters * Map now extends Dictionary instead of Proxy Package org.pranaframework.config * AppSettings now extends Proxy instead of Map Package org.pranaframework.ioc * added check for valid IList before creating cursor * added "isLazyInit" and "initMethod" properties to IObjectDefinition and ObjectDefinition * added support for init method in ObjectContainer * added "removeObjectFromInternalCache" method * enhancements to "getObject" * added post processing capabilities to ObjectContainer Package org.pranaframework.ioc.factory * added IObjectContainerAware Package org.pranaframework.ioc.factory.config * added ObjectContainerAwarePostProcessor * added LoggingTargetFactoryObject Package org.pranaframework.ioc.parser * added support for lazy init and init method in XmlObjectDefinitionsParser * fixed "parseProperties" because of Map refactoring, keys were not strings in XmlObjectDefinitionsParser Package org.pranaframework.puremvc * initial release Package org.pranaframework.utils * added Parse port from the Fit framework * added HtmlUtils utility methods for working with html * added "isExplicitInstanceOf" method to ObjectUtils Changes in version 0.3.1 (26.12.2007) ------------------------------------- General * improved documentation * build file now handles releases Package org.pranaframework.collections * IMap and Map now have "get" and "put" methods to support data binding * IMap now implements ICollectionView * added MapViewCursor Package org.pranaframework.config * AppSettings no longer implements IEventDispatcher because Map now does Package org.pranaframework.ioc * added support for factory objects in ObjectContainer through IFactoryObject interface * added ObjectDefinitionScope enum * IObjectDefinition now has "scope" getter and setter * added "scope" getter and setter to ObjectDefinition * "isSingleton" in ObjectDefinition now alters scope property instead of having a private member * ObjectContainer.getObject() is now able to return singleton or prototype objects Package org.pranaframework.ioc.factory * added "isSingleton" getter to IFactoryObject * added AbstractFactoryObject base class for factory objects Package org.pranaframework.ioc.factory.config * added RandomNumberFactoryObject to return random numbers * added FieldRetrievingFactoryObject to retrieve static or non-static fields from an object Package org.pranaframework.ioc.parser * added scopeAttributePreprocessor to XmlObjectDefintionsParser to set up scope attributes on object definitions Package org.pranaframework.ioc.util * added singleton and scope attributes to Constants Package org.pranaframework.reflection * added Field as a base class for all fields * Accessor now extends Field instead of AbstractMember * Constant now extends Field instead of AbstractMember * Type now extends Field instead of AbstractMember * Variable now extends Field instead of AbstractMember Package org.pranaframework.utils * TypeConverter.execute() can now return a class Changes in version 0.3 (24.11.2007) ----------------------------------- General * added Movie sample application based on article by Martin Fowler * improved documentation * moved Cairngorm related classes to org.pranaframework.cairngorm * Cairngorm Store sample now has different configuration of service locator Package org.pranaframework.cairngorm * added support for event sequencing * CairngormFrontController now checks for commands implementing the ICommands interface * implementation of CairngormServiceLocator Package org.pranaframework.errors * added ClassNotFoundError for retrieving a class by name when class was not found Package org.pranaframework.ioc * added serializer to create an application context from an object * added support for initializing object with IInitializingObject * added support for templates in application context * added support for definitions, parsed to Dictionary * added support for definitions, parsed to ArrayList * made container spring context compliant * improved error handling when creating object from object definitions * rewrote preprocessing of xml application context, now using chain of preprocessors * fixed creation of object without id, id is now auto generated * fixed order for object definitions so that they no longer need to be chronological Package org.pranaframework.reflection * added metadata introspection * added "getFullName" method to Method class * changed arguments in "invoke" method from ... to array Package org.pranaframework.utils * added "forName" method in ClassUtils for retrieving Class objects via class names * added "getParentClass" method in ClassUtils that returns the parent class of a given class * added "isSubclassOf" method in ClassUtils that returns if a class extends another class * added StringUtils * added DisplayObjectContainerUtils * added MethodInvoker to support initializing objects from application context * added "state" method to Assert class * changed TypeConverter so that it can return Class objects Changes in version 0.2 (26.04.2007) ----------------------------------- General * changed general classpath from be.indiegroup.prana to org.pranaframework * added first implementation of a Reflection API * improved documentation Package org.pranaframework.events * added XMLSocketEvent with eventname enum Package org.pranaframework.logging * added SOSTarget for SOS console logging Package org.pranaframework.reflection * first implementation Package org.pranaframework.utils * added ClassUtils which provides general utilities for working with Class objects Changes in version 0.1.1 (10.4.2007) ------------------------------------ General * improved documentation Package be.indiegroup.prana.ioc.factory * added IFactoryObject interface * added AbstractFactoryObject class Package be.indiegroup.prana.ioc.util * added CairngormFrontController Changes in version 0.1 (8.4.2007) --------------------------------- General * initial release: basic implementation of an Inversion of Control (IoC) container