$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.