2009-12-22: Parsley 2.1.1 Maintenance Release
As kind of a small Christmas gift a new Parsley version is available that fixes a number of issues that surfaced after the 2.1.0 release. It is a fully backwards-compatible release, so it is strongly recommended to update all existing applications.
For a complete list of improvements see the release notes below. I'll just briefly describe some of the most critical issues that have been resolved here. First there was a problem when the same module was loaded twice without unloading inbetween. In this case Parsley used the wrong ApplicationDomain when reflecting. Had been fixed a few weeks ago and the fix has now been included in this release.
In recent days I also managed to tackle a few things centering around timing problems and event order in Flex components. There is some strange behaviour in the Flex SDK where components may fire multiple addedToStage events (with some removedFromStage events inbetween) when initializing. This had ugly side-effects causing components to be wired and unwired, then wired again, performing injections and invoking its init methods multiple times. This strange behaviour is now automatically detected and redundant events are simply ignored, so you should now see a more stable and reliable behaviour. Also the target attribute of the Configure tag is now expected to work reliably.
You can download the new version here.
Once again I'd like to thank everyone who helped with feedback, bug reports and suggestions.
And I wish everyone a very happy Christmas!
Release Notes - Parsley - Version 2.1.1
Bug
- [PSL-276] - MessageHandler has a misplaced double dot in an error message
- [PSL-278] - XML Schema for ObjectDefinitionDecorators: most of them should be allowed to appear multiple times on the same object
- [PSL-279] - XML Schema: order attribute must move from async-init to object tag
- [PSL-280] - EnumerationConverter contains faulty type check
- [PSL-284] - XML <null/> tag gets ignored
- [PSL-285] - Property Injection with required=false should not inject null values for missing dependencies
- [PSL-286] - Cannot reopen window containing a module
- [PSL-287] - Reloading modules problem
- [PSL-290] - Loading a module twice causes the wrong ApplicationDomain to be used
- [PSL-292] - Insufficient state check in InitializerSequence.createInstances()
- [PSL-296] - MessageError metadata not compiled into Parsley SWCs
- [PSL-297] - Init and Destroy Metadata not compiled into Parsley Flash SWC
Improvement
- [PSL-274] - Reflection API does not work for classes with internal superclasses
- [PSL-275] - Change message-bundle and message tag names to resource-bundle and resource in Flash Localization Module
- [PSL-281] - EnumerationConverter: Allow use of camel case names for constants of enum classes
- [PSL-282] - Change deprecated tag names used internally to the new preferred name
- [PSL-283] - Adjust Flex 4 support for newer Flex SDK builds
- [PSL-289] - Mechanism to detect duplicate addedToStage Events and only wire the view once
- [PSL-291] - Reflection API: ClassInfo should throw Error if ApplicationDomain.getDefinition returns null
- [PSL-293] - All Events should override the clone method
- [PSL-304] - selector property should be typed * in all decorators for message receivers
- [PSL-325] - Configure tag should wait until the initialize Event before dispatching its bubbling Event
- [PSL-326] - State check in DefaultContext should check destroyed flag before checking configured flag
Task
- [PSL-288] - Manual: Change HTML titles for individual pages to make them better suited for PDF creation
- [PSL-299] - Manual: Remove unnecessary interface in MessageInterceptor example in chapter 5.7
- [PSL-315] - ASDoc: Description missing for properties of XmlObjectMapper
- [PSL-324] - Manual: Error in custom tag example in section 11.2.4
- [PSL-328] - Manual: List of metadata names for -keep-as3-metadata compiler options is incomplete and has typos