Lion Framework Changelog http://www.lionframework.org/ Lion Framework Changelog from Development Branch en-us http://www.lionframework.org/documentation/index.html Lion Framework aparraga@lionframework.org aparraga@lionframework.org Changes on version 1.1.125 <br /> - Added: HTML-Purifier as the default filter library bound to valueholder components<br /> - Added: Shortcut to I18n resources from the __ApplicationContext (as explained within the documentation)<br /> <br /> 2008-11-02 11:09:003600 Changes on version 1.1.124 <br /> *** First stable version of Lion ***<br /> <br /> - Added: Facade to log4php as the default logger implementation<br /> - Added: Support to define composite and template based components<br /> - Added: RemoteService component (a component designed to call server-side specific methods from the client)<br /> - Fixed: constructor-arg did not work in certain conditions defining context instances<br /> - Fixed: Improved the synchronization algorithm/protocol between client and server-side components <br /> - Fixed: General improvements affecting the stability and performance<br /> - Added: The encryptor (__IEncryptor iface) as part of the security framework, with the HashEncryptor as a OOTB implementation (used in the authentication process)<br /> - Fixed: Removed parameter preprocessor mechanism, merged with the intercepting filter (improving performance and easying the preprocessing of general purpose parameters)<br /> <br /> <br /> <br /> *** First stable version of Lion ***<br /> <br /> - Added: Facade to log4php as the default logger implementation<br /> - Added: Support to define composite and template based components<br /> - Added: RemoteService component (a component designed to call server-side specific methods from the client)<br /> - Fixed: constructor-arg did not work in certain conditions defining context instances<br /> - Fixed: Improved the synchronization algorithm/protocol between client and server-side components <br /> - Fixed: General improvements affecting the stability and performance<br /> - Added: The encryptor (__IEncryptor iface) as part of the security framework, with the HashEncryptor as a OOTB implementation (used in the authentication process)<br /> - Fixed: Removed parameter preprocessor mechanism, merged with the intercepting filter (improving performance and easying the preprocessing of general purpose parameters)<br /> <br /> 2008-10-11 02:40:007200 Changes on version 1.1.120 <br /> - Fixed: DataCollector component as a non-poolable component.<br /> - Fixed: Model service to be able to also reference context instances (see the model documentation)<br /> - Documentation: Added more documentation regarding the model, the lion architecture and type of components<br /> <br /> 2008-07-21 11:23:007200 Changes on version 1.1.119 <br /> - Fixed: A bug resulting in a bad synchronization between client-server when setting client properties by ussing javascript (i.e. hidding a component by javascript was not synchronized with the component propertly at server).<br /> - Added: New documentation regarding dependency injection capabilities on lion framework<br /> - Fixed: Several minor bugs detected while building a real application<br /> - Documentation: Added missing part on dependency injection section. Also added some documentation on component model<br /> <br /> 2008-07-12 03:30:007200 Changes on version 1.1.116 <br /> - Important improvements on client side code generation, accelerating client execution while improving cross-browser compatibility:<br /> 1. Added new .js loader (JIT) to perform javascript lazy loading.<br /> 2. Group all generated javascript code at bottom, while all .js inclusions at top.<br /> 3. Refactorized client code to just require a single .js inclusion (lion.js)<br /> <br /> 2008-06-18 01:42:007200 Changes on version 1.1.115 <br /> - Added: Method setApplicationDomain to the __Uri class, in order to build absolute urls for different domains, even if they are different to the current server one. Also usefull to execute controllers from the command line.<br /> - Added: fromArray and toArray method to __RolesCollection class, in order to build from and to an array of roles in one single shot.<br /> - Added: hasAccess and hasPermission methods to __User (also added to the __IUser interface), in order to check if an user has access to a given system resource as well as check if an user has a given permission.<br /> - Added: event handling capability at component level, meaning that components can also contain predefined logic to handle certain events.<br /> - Fixed: Some minus bugs found during development of real web applications with the lion framework, as part of the stability phase.<br /> <br /> 2008-05-31 01:17:007200 Changes on version 1.1.113 <br /> <br /> - Fixed: Added missing class file for __ConstructorArguments Collection class (<a href="http://www.lionframework.org:8000/lionframework/ticket/12" target="_blank">ticket #12</a>)<br /> - Fixed: Component validation rule to have 2 methods: pattern and format (instead of just one single method validFormat)<br /> - Upgraded: livevalidation javascript library from 1.2 to 1.3<br /> - Improvement: I18n string loading performance<br /> - Added: event handler's create method, which is called first time an event handler is created<br /> - Added: the DateBox component, a textbox with a pickable calendar. This component uses the Dynarch calendar, by Mihai Bazon under GNU LGPL.<br /> - Added: the Area component (more like a div), and the pane component (like an inputgroup).<br /> - Added: the resetValueHolders method on both __EventHandler and __ComponentHandler classes. Really usefull to reset values to null for all value holders contained in a view. This method also reset any validation against any value holder.<br /> - Added: 2 new components: The pane and the area<br /> - Fixed: Do not generate the startup async message for empties messages<br /> - Fixed: A bug in the ActionBox component producing multiple executions of the same action.<br /> - Fixed: A bug in the ActionIdentity, resulting in a wrong URL generation according to route definitions<br /> - Added: the setAuthenticatedUser to the __AuthenticationManager, in order to allow to set the authenticate user without having to execute authenticators (i.e. to authenticate a user just after registration process)<br /> - Fixed: A bug in ProtectedSection component, which makes the section to be hidden even if the required permission was covered by active roles<br /> - Fixed the history manager in order to register the last request just once the request has finished<br /> - Added the DataCollector component<br /> - Fixed the component handler and component pool to store non-poolable components during the request.<br /> - Fixed the action box to avoid double renders during the same request<br /> - Fixed a bug on __UIEvent to prevent add a non-array instance as extra_info<br /> - Improvement: Accelerate URL building by pre-caching some static calculations<br /> - Improvement: Removes call to StreamWrapperManager (also the class, because is more like unnecessary due to the small piece of job it does)<br /> - Fixed: a typo on Route class (by adding the 2 underscore prefix to a class reference)<br /> - Fixed: the validation event on forms after submit, to take into account the validation result on the submit intercepting filter<br /> - Added: 2 new methods to the __Authentication Manager: isAuthenticated and isAnonymous<br /> - Added: the persist property to components. Even if the component implements __IPoolable, persist=&quot;false&quot; will force the component to being not pulled<br /> - Added: Experimental deliverable type PHAR, embedding the whole framework within a single .phar file.<br /> - Fixed: the ResourceProviderSectionHandler to raise a __ConfigurationException instead of delegating to the __ExceptionFactory, which results in an infinite loop in certain conditions<br /> <br /> 2008-04-03 08:55:007200 Changes on version 1.0.95 <br /> - Added a new client end-point: __JavascriptOnDemand, which allows to send javascript to client to be executed.<br /> - Added the magic __call method to base class __UIComponent in order to intercept calls to component methods. The __call will notify to associated end-point the call request. After that it will try to execute a method with prefix &#039;do&#039; + same name.<br /> - Change default set of component writers in order to render component initial values without ussing javascript when a page is loaded, in order to be compatible with non-javascript browsers.<br /> - Fixed <a href="http://www.lionframework.org:8000/lionframework/ticket/7" target="_blank">ticket #7</a>: Event handler callback naming convention: Instead of ussing the naming convention &lt;componentname&gt;_on&lt;eventname&gt;, remove the &quot;on&quot; and let it just as &lt;componentname&gt;_&lt;eventname&gt;.<br /> - Fixed client end-points (valueholder type) to do not send the status if it has not changed since last time it was updated<br /> - Changed instances and instance xml tags to context-intances and context-instance to define context instances. Also deprecated the $context-&gt;getInstance($instance_id) method. Use getContextInstance instead of in order to retrieve a context instance.<br /> - Fixed <a href="http://www.lionframework.org:8000/lionframework/ticket/3" target="_blank">ticket #3</a>: Implemented the validate event, improved the validation rule and link components to validation rules (new component method: validate, as a proxy method to the related validation rule method)<br /> - Fixed: Removed types package (not used)<br /> - Fixed: Lion administrative area footer to show the proper links (license, about, contact and lion home)<br /> - Fixed: Added to the bootstrap success page a link to the test page (the one to check if lion is working)<br /> - Fixed: Added setRoles method to the __User class in order to be able to set all the roles at the same time when loading users<br /> - Documentation<br /> <br /> 2008-02-19 09:01:003600 Changes on version 1.0.91 <br /> - Fixed: Raise an exception when a non-existing model service is tried to be executed<br /> - Fixed: Raise an exception when an unexistent route id is set to an __Uri instance<br /> - Fixed: Admin area to handle command line execution if no controller/actions are specified.<br /> - Renamed admin area controllers files by removing the double underscore prefix.<br /> - Fixed: The cache manager to allow specific ttl. If not specified, the cache handler will use the default one.<br /> - Fixed: Small changes in the cache API to be as similar as possible to the session API.<br /> - Fixed: Check if cache directory exists on __MicroCache class (the one used by the __ClassLoader)<br /> - Fixed: Adapted the protected section component according to last component model refactorization.<br /> - Fixed: Protected section must inherit from __UIContainer since it&#039;s a component container.<br /> <br /> 2008-02-01 02:01:003600 Changes on version 1.0.89 <br /> - Addapted the old __FormComponent to the current component model (<a href="http://www.lionframework.org:8000/lionframework/ticket/4" target="_blank">ticket #4</a> and <a href="http://www.lionframework.org:8000/lionframework/ticket/5" target="_blank">ticket #5</a>)<br /> - Added the onSubmit event, raised on server side after submitting a form<br /> - Created the __IUriContainer interface, implemented by component classes containing an uri (i.e. links, forms, etc...)<br /> - Created the __UriContainerWriterHelper class, to delegate to for url generation on component rendering process<br /> - Changed __FormComponent and __UriComponent to implement the __IUriContainer<br /> - Changed writers for both classes to delegate on __UriContainerWriterHelper<br /> - Fixed: removed a wrong html tag generated by the HtmlComponentRender<br /> - Fixed: The __ValidationRuleHtmlWriter to render the component according to the live-validation library (<a href="http://www.lionframework.org:8000/lionframework/ticket/2" target="_blank">ticket #2</a>)<br /> <br /> 2008-01-30 07:29:203600 Changes on version 1.0.88 <br /> - Added checkbox and optionbox components<br /> - Adapted the client component model to handle the checkbox and optionbox components (the __ValueHolderFactory to create a __CheckableElementProperty in case the element type is a checkbox or radio)<br /> - Added the renderContent method to __ComponentWriter class in order to have the capability to render contents enclosed by component tags (see doc for more info).<br /> - Fixed: The spinner component was rendered even if the component had the spinner=false property. Now it&#039;s just rendered if the spinner property is != false/no.<br /> <br /> 2008-01-26 03:28:403600 Changes on version 1.0.86 <br /> Improvements:<br /> <br /> - Refactorized cache related classes:<br /> - Cache is taken from the context<br /> i.e. __ApplicationContext::getInstance()-&gt;getCache()<br /> - Added the cachehandler facade for different cache storage implementations.<br /> - Added 2 initial cachehandlers: cachelite and memcache<br /> - Added __CacheSectionHandler implementing the __ISectionHandler. This class caches the value returned by the doProcess method (the abstract one to implement in child classes).<br /> - Changed all section handlers ootb to inherit from __CacheSectionHandler<br /> - Added a new class: __UrlHelper to provide an static method to help resolving relative urls<br /> <br /> Fixes:<br /> <br /> - Moved hardcoded values from __RuntimeDirectives class to a .ini file (lion.ini)<br /> - Fixed: __Uri class to return relative Urls by default (getUrl() method)<br /> - Fixed: A typo in componentmodel javascript tags<br /> <br /> 2008-01-23 05:48:203600 Changes on version 1.0.84 <br /> Performance improvements:<br /> <br /> - Refactorized cache related classes:<br /> - Cache is taken from the context<br /> i.e. __ApplicationContext::getInstance()-&gt;getCache()<br /> - Added the cachehandler facade for different cache storage implementations.<br /> - Added 2 initial cachehandlers: cachelite and memcache<br /> - Added __CacheSectionHandler implementing the __ISectionHandler. This class caches the value returned by the doProcess method (the abstract one to implement in child classes).<br /> - Changed all section handlers ootb to inherit from __CacheSectionHandler<br /> <br /> Fixes:<br /> <br /> - Moved hardcoded values from __RuntimeDirectives class to a .ini file (lion.ini)<br /> - Fixed: __Uri class to return relative Urls by default (getUrl() method)<br /> <br /> 2008-01-20 07:56:003600 Changes on version 1.0.82 <br /> - Fixed (bug affecting PHP 5.1.x): Added stripslashes when call to JSON_Services::decode method<br /> - Fixed: creation of .tgz deliverable file to keep file permissions (files: 644, directories: 755). Thanks Mariano :)<br /> - New feature: Added the onInit event. This event is executed just before painting the component.<br /> - Deprecated: The event handler init method (it&#039;s not called anymore). Use the onInit event instead of.<br /> - Fixed: The onLoad event was not being raised.<br /> <br /> 2008-01-22 11:05:403600 Changes on version 1.0.81 <br /> First *PUBLIC* lion|framework beta deliverable<br /> <br /> Please send your feed to aparraga@lionframework.org<br /> <br /> 2008-01-18 07:07:003600