2009-10-19: Parsley 2.1.0 comes with many enhancements
After several weeks of work the new version is finally ready. It turned out to be a major task to incorporate all the valuable feedback I got since the first 2.0 release. And in fact it really is kind of a 2.5 release, but I'll stick with the initial numbering plan.
Due to some major changes to the internal architecture this release is not fully backwards-compatible to 2.0.x. But since I anticipated all the planned features for 2.2/2.3 when designing the new internal architecture, it is very likely that subsequent releases will not require any further migration and should be ready to be used as a drop-in replacement. For migrating applications built for version 2.0.x, please refer to the migration section in the manual. The list may seem to be quite long, but many of the entries only affect you if you wrote extensions. For normal application usage only a few of them are relevant.
Apart from many smaller enhancements, this is the list of the most significant changes and additions:
- There is a new view wiring mechanism, that now works well with multiple ApplicationDomains, Flex Popups and Native AIR Windows. You can read about why these changes were necessary here and find the new view wiring chapter here.
- Support for Flex Modules has been simplified. It is now fully transparent, thus the old
ContextModulebase tag has been removed. The chapter Building Modular Applications has been rewritten accordingly. You now create a Context for a module the same way as a Context in the root application. - This version introduces scopes, which allow messages to be dispatched within a single Context or a particular subset of Contexts only, instead of just globally. This is a major enhancement if you build modular applications, as each window, popup or other part of the application can now set up its own "private" communication space. For details see Using Scopes in the manual.
- There is now a clean IOC Kernel that is responsible for providing the required internal services, but knows
nothing about configuration tags or any of the existing configuration mechanisms like MXML, XML or ActionScript.
This basically would allow to build frameworks on top of that kernel which behave significantly different than Parsley
without having to start from scratch. There are seven core internal services, all sitting behind interfaces, which can
easily be replaced through the new
FactoryRegistry. For details see Replacing IOC Kernel Services in the manual.
For a complete list of smaller changes to the manual you can refer to this list. If you have direct bookmarks to the manual or API docs please update them, since the URL has changed for 2.1, to keep the old documentation available for those still using 2.0.
You can download the new version here.