$Id$ = 1.1 = == Backwards Compatibility == This release is backwards-compatible for normal use of Orchestra, but does make some changes in core classes that will affect people who have modified the internal implementation of Orchestra. Classes removed: FlashScopePhaseListener OrchestraApplication OrchestraApplicationFactory OrchestraInitializationPhaseListener ExternalContextWrapper FacesContextWrapper Classes containing binary-incompatible changes: FlashScopeManager ConversationWiperThread ConversationFlashLifetimeAspect ConversationManagerSessionListener AbstractSpringOrchestraScope OrchestraServletFilter UrlParameterNavigationHandler JsfFrameworkAdapter SerializableConverter == Important Changes == === Flash/Access scope === The "flash" scope has now been renamed to "access" scope, to avoid confusion with other software that also uses the name "flash scope" for something different. The old names are still accepted, but are deprecated. For JSF, an access-scoped conversation is now discarded if it is not accessed during the *render* phase. In version 1.0, it was discarded only if tt was not accessed during the whole request cycle. This means that when a user switches back and forth between master and detail pages using normal navigation (not redirect), the bean for the detail page is now correctly discarded. In the rare case that a page uses an access-scoped conversation only during the postback phase, and does not reference it during the render phase then the conversation is now discarded where it was previously kept alive. === scoped-proxy tags === In Core 1.0, it was recommended that all Spring definitions for conversation-scoped beans include an explicit aop:scoped-proxy marker. This is now done automatically by Orchestra, so these tags are no longer needed. In fact, orchestra is now more efficient for beans that do not have the aop:scoped-proxy tag; its internal implementation is customised for orchestra and so works faster than the original. However beans marked with aop:scoped-proxy will still work. === The OrchestraServletFilter === In Core 1.0, it was necessary to define a filter in the web.xml using class OrchestraServletFilter. This is no longer necessary for pure JSF applications. === Global Config Options === Class CoreConfig has been added. This class defines all of the properties that can be set in a web.xml file in order to configure Orchestra. Previous configuration settings still work, but are deprecated in favour of the ones on this class. See the javadoc for details. == Less Important Changes == === Converters === Orchestra 1.0 had an undocumented JSF-specific feature which caused a converter tag to look for a managed bean of the specified id if a converter with that id is not registered using the normal JSF mechanism. This feature has been removed; code that previously relied on this will now throw an exception as the converter cannot be found. A new tag is now available to fetch converters from managed-bean definitions if needed. === ViewControllerManager == Previously it was possible to define a ViewControllerManager overriding instance as a JSF managed-bean. Now it must be defined in Spring. === Facelets Support === A facelets taglib.xml file is now provided, so orchestra tags can be used with JSF+Facelets.