SPRING BLAZEDS INTEGRATION CHANGELOG
=========================
http://www.springsource.org/spring-flex

Changes in version Spring BlazeDS Integration 1.5.0.RELEASE (6.24.2011)
_________________________________________
Bug Fixes
* FLEX-163 - Spring - Flex does not work with the latest BlazeDS trunk libraries
* FLEX-204 - HibernateConfigProcessor problem with interfaces

Changes in version Spring BlazeDS Integration 1.5.0.RC1 (6.1.2011)
_________________________________________
New Features
* FLEX-168 - Allow the type conversion API to be used generally (beyond just Hibernate entities)

Enhancements
* FLEX-148 - Improve the JavaDoc for MessageTemplate
* FLEX-149 - Make it easier for subclasses of HibernateConfigProcessor and JpaHibernateConfigProcessor to customize the converters used by the ConversionService.
* FLEX-155 - Avoid need for public default constructor for mapped java objects
* FLEX-171 - Register Spring type converters for @Embeddable types contained in a JPA 2 @ElementCollection
* FLEX-172 - Convert Numeric null values to NaN when when serializing from Java to AS3
* FLEX-180 - Add an 'invalidate-http-session' attribute to the 'secured' tag
* FLEX-181 - Create a new section in the reference manual covering AMF REST support.
* FLEX-185 - Set details on the new Authentication token before using it for authentication in SpringSecurityLoginCommand
* FLEX-187 - Annotation on Objects Properties to Prevent Serialization
* FLEX-189 - Expose the disallow-wildcard-subtopics Setting on Message Destinations
* FLEX-196 - Ensure that Spring Flex jars are built with proper OSGi manifests
* FLEX-198 - Default disallow-wildcard-subtopics to "true" in order to be secure by default
* FLEX-199 - Register Spring type converters for every @Embeddable types

Bug Fixes
* FLEX-164 - AbstractDestinationFactory must expose ThreadLocals to allow correct JMX Bean naming
* FLEX-165 - Concurrent Session Management is not working
* FLEX-167 - JpaHibernateConfigProcessor complains when multiple EntityManagers present
* FLEX-169 - PriorityOrderedRequestContextFilter introduced a locale problem
* FLEX-182 - NoSuchMethodError org.springframework.flex.security3.SecurityConfigurationPostProcessor$FilterChainAccessor.obtainAllDefinedFilters()Ljava/util/Collection
* FLEX-183 - Wrong Repo in Samples pom.xml
* FLEX-186 - FlexSession not getting re-created properly when using session-fixation-protection="newSession"
* FLEX-190 - SpringSecurity3ConfigHelper incompatible with Spring Security 3.1
* FLEX-191 - Per client authentication logout throws error
* FLEX-192 - Incorrect logging level in MessageBrokerHandlerAdapter
* FLEX-193 - Concurrency control doesn't work as expected
* FLEX-195 - IntegrationAdapter class has backwards logic to determine Timestamp
* FLEX-200 - Fix Tomcat-reported memory leak on BlazeDS ThreadLocal variables
* FLEX-201 - ClassCastException in HibernateConfigProcessor when using hibernate 3.6.X versions
* FLEX-202 - SpringPropertyProxy factory method fails on abstract classes
* FLEX-203 - SpringPropertyProxy.isWriteIgnored() throws an InvalidPropertyException if property doesn't exist in the Java class

Changes in version Spring BlazeDS Integration 1.5.0.M2 (2.9.2011)
_________________________________________
New Features
* FLEX-108 - Create a Flex-specific AuthenticationEntryPoint to reduce confusion with Spring Security
* FLEX-130 - Support for configuring the cluster ref on a destination.
* FLEX-143 - Enable Message Interceptors and Exception Translators for LCDS NIO Endpoints
* FLEX-161 - Provide HttpMessageConverter and View implementations to allow RESTful AMF endpoints.
* FLEX-173 - Make PerClientAuthenticationInterceptor override-able
* FLEX-174 - Create a pluggable strategy interface to handle logging of exceptions
* FLEX-178 - Add an example to the Test Drive of using AMF to communicate with RESTful Spring MVC @Controllers.

Enhancements
* FLEX-79 - Allow a custom LoginCommand to be plugged in via the <flex:secured> config tag
* FLEX-81 - Add configuration to run the Test Drive in Tomcat from the command line
* FLEX-83 - Provide a way to add custom UserDetails information to the message returned by a successful Spring Security authentication
* FLEX-89 - Consider invoking the Spring Security LogoutHandlers when logout is done through the SpringSecurityLoginCommand
* FLEX-93 - Consider automatically logging all MessageExceptions
* FLEX-134 - Change log level from DEBUG to WARN for flex.messaging.security.SecurityException
* FLEX-140 - Add an explanation to the Security section of the docs regarding @Secured usage on interfaces vs. classes
* FLEX-142 - Support for Spring Security "Remember Me" Functionality
* FLEX-144 - Expose the order of the framework's provided MessageInterceptors so that the processing chain can be more flexibly modified and customized
* FLEX-145 - Make changes for Spring Integration related classes to be compatible with Spring Integration 2.0.0.M7.
* FLEX-156 - Allow configuration of field mapping instead of property mapping
* FLEX-159 - Support dynamic configuration of @RemotingDestination's channels attribute.
* FLEX-160 - Update documentation for 1.5.0.M2
* FLEX-162 - Apply special AMF conversion rules to NaN values
* FLEX-170 - Register Spring type converters for @Embedded JPA properties.
* FLEX-175 - Ensure startup does not fail when older versions of LCDS (which do not provide explicit Spring) are in use.
* FLEX-176 - Update the Test Drive to use Flex 4
* FLEX-179 - Ensure compatibility of the IntegrationAdapter with Spring Integration 2.0.3

Bug Fixes
* FLEX-128 - Serialization failures when using Flash Builder 'Test Operation'
* FLEX-141 - The webapp fails to start if Message Broker is configured with LCDS NIO Endpoints
* FLEX-147 - HibernateSerializationConfigPostProcessor.isHibernateConfigProcessorConfigured() does not detect customized config processor
* FLEX-151 - Default HibernateConfigProcessor overrides user-configured instance
* FLEX-153 - Warning message generated by MessageServiceConfigProcessor when no default channel can be detected is incorrect
* FLEX-154 - Documentation example in the "Configuring the Message Service" section shows "remoting-service" id instead of "message-service"
* FLEX-157 - JpaNumericAutogeneratedIdConverter does not handle primitive fields correctly
* FLEX-163 - Spring - Flex does not work with the latest BlazeDS trunk libraries
* FLEX-166 - Concurrent session management not working as expected with Spring Security 3

Changes in version Spring BlazeDS Integration 1.5.0.M1
_________________________________________
General
* Minimum dependencies have been upgraded to Spring 3, BlazeDS 4, and Spring Security 3.  Most of the requirements, 
including Hibernate serialization support addressed so far in Spring BlazeDS Integration 1.5.0.M1 have been driven 
by the needs of the Flex Addon for Spring Roo.

New Features
* FLEX-80 - Explicitly support serialization of Hibernate entities to AMF
* FLEX-137 - Document the Hibernate serialization support.
* FLEX-138 - Document basic installation and use of the Flex Addon for Spring Roo

Enhancements
* FLEX-123 - Update minimum dependency to Spring 3.0
* FLEX-124 - Add official support for BlazeDS 4
* FLEX-65 - Ensure compatability with Spring Security 3.0
* FLEX-135 - Remove usage of deprecated BlazeDS 3 APIs
* FLEX-103 - Document the configuration differences for using Spring Security 3.
* FLEX-131 - Migrate the entire project build system to Maven
* FLEX-136 - Update the Test Drive to use Spring 3 + Spring Security 3.
* FLEX-139 - Update the documentation to reflect the new minimum major dependencies.

Bug Fixes
* FLEX-88 - Default adapters don't get overridden correctly when using Spring 3
* FLEX-109 - Automatically configure a unique AccessDecisionManager instance for use by the security integration internals
* FLEX-113 - OSGi manifest needs to be updated to work with Spring Security 3

Changes in version 1.0.3.RELEASE (03.10.2010)
-----------------------------------------
Enhancements
* FLEX-124 - Add official support for BlazeDS 4
* FLEX-127 - Make the Jackson JSON parser an optional dependency.

Bug Fixes
* FLEX-109 - Automatically configure a unique AccessDecisionManager instance for use by the security integration internals
* FLEX-110 - ResourceHandlingMessageInterceptor.afterCompletion not called when other interceptor throws an exception
* FLEX-111 - Invalid FlexSession with Spring Security
* FLEX-113 - OSGi manifest needs to be updated to work with Spring Security 3

Changes in version 1.0.2.RELEASE (02.08.2010)
-----------------------------------------
General
* Spring Security 3 support has been added and the bundled Test Drive sample now has an additional Maven build 
profile for building the sample to use Spring 3 and Spring Security 3.  See the docs at 
http://static.springsource.org/spring-flex/docs/1.0.x/reference/html/ch06.html for instructions on how to enable
this optional profile.

Enhancements
* FLEX-86 - Add an afterCompletion style callback to the MessageInterceptor API
* FLEX-98 - Post-processing in MessageInterceptor even when an exception was thrown
* FLEX-65 - Ensure compatibility with Spring Security 3.0
* FLEX-100 - Automate publishing of Maven central compatible snapshots to maven.springframework.org repository
* FLEX-103 - Document the configuration differences for using Spring Security 3.
* FLEX-104 - Document the ResourceHandlingMessageInterceptor
* FLEX-105 - Provide an optional Spring 3 + Spring Security 3 profile in the Maven build for the Test Drive
* FLEX-106 - Document the new Maven build options for the Test Drive

Bug Fixes
* FLEX-78 - Intermittent Security Exception
* FLEX-84 - NPE in RemotingDestinationExporter
* FLEX-85 - <flex:remoting-destination> exclude-methods not working with dynamic proxies
* FLEX-87 - JmsAdapter doesn't properly clean up resources at shutdown
* FLEX-88 - Default adapters don't get overridden correctly when using Spring 3
* FLEX-94 - JmsAdapter should shut down MessageListenerContainer when all clients have unsubscribed
* FLEX-95 - RemotingAnnotationPostProcessor ignores lazy-init="true"
* FLEX-96 - @RemotingDestination does not work correctly in conjunction with @Scope
* FLEX-97 - Overriding serviceMessage in custom Endpoint breaks Spring's interceptors
* FLEX-99 - RemotingAnnotationPostProcessor should ignore abstract bean definitions
* FLEX-101 - documentation: section 5.6 fix

Changes in version 1.0.1.RELEASE (09.23.2009)
-----------------------------------------
General
* The bundled Test Drive sample has undergone a good bit of general cleanup.  Most notably, it has been configured
to no longer run as the root web application, the naming conventions of the Spring configuration files have changed to
align with the conventions used in SpringSource Tool Suite project templates, and the Spring Security example has been
expanded to show how to take advantage of the extended functionality that the Spring Security integration provides over
the traditional BlazeDS security mechanisms.  See the specific Jira issues referenced below for further details.

Enhancements
* FLEX-59 - Set the 'source' property on RemotingDestinations to better support Adobe tooling
* FLEX-62 - Configure the testdrive sample to not be deployed as the root web application.
* FLEX-67 - Provide bundles that can wire to Spring 3
* FLEX-72 - Enhance the Spring Security demo to show more typical use cases
* FLEX-73 - Update the naming conventions used in the Test Drive sample to be consistent with STS project templates
* FLEX-74 - Refactor the Authentication translation logic from LoginMessageInterceptor into a re-usable utils class
* FLEX-75 - Add HttpFlexSession configuration to the sample app's web.xml to reduce confusion
* FLEX-76 - Add some further detail to the Security integration docs on configuration recommendations

Bug Fixes
* FLEX-60 - Direct dependence on xalan API causes unnecessary configuration problems
* FLEX-61 - Handle resource cleanup after MessageBroker startup failure.
* FLEX-64 - Flex bundle has a mandatory import for a spring integration package but declares the dependency as optional in its ivy.xml and pom.xml
* FLEX-69 - Exceptions thrown by java back to flex are not handled correctly by Spring BlazeDS integration
* FLEX-70 - Problems with message-broker services-config-path
* FLEX-77 - Spring Security session fixation protection integration not working when security is defined in a parent context

Changes in version 1.0.0.RELEASE (06.09.2009)
-----------------------------------------
General
* Maven central compatible POMs will be mirrored to http://repo1.maven.org
* Marked Jackson and CGLib dependencies as required in ivy and pom configurations since they are almost always needed in practice
* Added documentation about using Spring MVC controllers alongside Spring BlazeDS Integration in the same application.

Enhancements
* FLEX-51 - Extract FlexMessage body for Spring Integration Message payload by default
* FLEX-55 - Map Flex Message id, timestamp, and timeToLive directly into Spring Integration Message
* FLEX-57 - Add tooling metadata to the XML config schema.
* FLEX-58 - Refactor the XML parsing subsystem to always use the ErrorReporter API to report configuration problems

Changes in version 1.0.0.RC2 (05.19.2009)
-----------------------------------------
General
* The Test Drive samples are now included in the distribution and configured for use with Eclipse WTP
* Maven central compatible POMs have been published to the repository at http://maven.springframework.org/milestone/
* Minor revisions to the documentation including a new chapter on working with the test drive sample 

Enhancements
* FLEX-49 - @RemotingDestination should be able to be used on beans in the parent application context

Bug Fixes
* FLEX-37 - Flex schema missing from SpringFramework.org
* FLEX-46 - Spring Security's filter chain not being detected correctly
* FLEX-47 - Jackson is getting set as optional in the auto-generated pom.xml
* FLEX-48 - Multiple consumers created per JmsAdapter instance

Changes in version 1.0.0.RC1 (04.24.2009)
-----------------------------------------
General
* Refactored destination management code to provide a common foundation for Remoting and Message destinations
* Complete messaging support for AMF, JMS, and Spring Integration messaging protocols.
* Annotation-based configuration support for remoting destinations
* Changed remote-service tag name to remoting-destination to be more consistent with BlazeDS nomenclature
* Integration tests now use Fluint instead of FlexUnit (with an eye towards running these tests in CI in the near future)
* Docs updated to cover all new features and reflect changes to existing features

New Features
* FLEX-12 - Allow MessageService destinations to be configured in a Spring WebApplicationContext
* FLEX-13 - Provide a JMSTemplate-based MessagingAdapter
* FLEX-17 - Exporting Beans as Flex Remoting Destination using annotations
* FLEX-18 - BlazeDS commons-logging integration
* FLEX-20 - Add messaging support based on Spring Integration
* FLEX-27 - Add support for messaging features to the flex configuration namespace
* FLEX-30 - Generic hook for catching exceptions and translating them into BlazeDS MessageExceptions
* FLEX-35 - Add GrantedAuthority* ] from UserDetails on successful login result message
* FLEX-42 - Configure MessageService on demand if none exists

Enhancements
* FLEX-28 - Support for LiveCycle Data Services ES
* FLEX-33 - Add log to the FlexRemotingServiceExporter in order to see the destinations created in the messageBroker
* FLEX-37 - Allow order to be specified on the default handler mapping installed when using the namespace config
* FLEX-40 - Programmatic Configuration of MessageDestinationFactory
* FLEX-41 - Ensure proper integration with Spring Security when using Flex per-client authentication setting

Bug Fixes
* FLEX-22 - Session invalidation on login broken with BlazeDS in use
* FLEX-26 - JavaAdapters initialize method is not called
* FLEX-32 - SpringSecurityExceptions not always getting properly translated
* FLEX-38 - Ensure that @RemotingDestination annotation works with a bean with an @Autowired constructor.

Changes in version 1.0.0.M2 (03.04.2009)
----------------------------------------
General
* Updated reference manual to cover the new xml config namespace and security integration
* Added an xml config schema with complete documentation of all elements and attributes 
* Added an integration test module (only distributed in source form with the release) that uses FlexUnit

New Features
* FLEX-8 - Configure RemotingService on demand if none exists (i.e., there is no remoting-config.xml) 
* FLEX-10 - Add a <flex:> spring configuration namespace to further simplify configuration
* FLEX-11 - Integration with Spring Security
* FLEX-23 - Create a Spring Security based BlazeDS LoginCommand
* FLEX-24 - Provide an automatic SpringSecurityException to BlazeDS SecurityException translation mechanism 
* FLEX-25 - Add a mechanism for securing BlazeDS Endpoints similar to Spring Security's URL-based security

Enhancements
* FLEX-15 - Add a channel property to FlexRemotingServiceExporter

Bug Fixes
* FLEX-19 - FlexConfigurationManager should be configurable as a Spring bean
* FLEX-21 - FlexConfigurationManager.configurationPath shouldn't require slash (/)

Changes in version 1.0.0.M1 (12.15.2008)
----------------------------------------
General
* Performed an initial code drop at http://src.springframework.org/svn/spring-flex
* Organized project structure to use spring-build and create OSGi-ready build artifacts
* Added an initial draft of the reference manual

New Features
* Configure and bootstrap the BlazeDS MessageBroker as a Spring-managed object
* Allow Flex remoting messages to be routed to a Spring-managed MessageBroker through the DispatcherServlet
* Use Spring's ResourceLoader abstraction to load BlazeDS xml configuration files
* Support for exporting Spring beans for Flex remoting
* Specify included and excluded methods when exporting Spring beans for Flex remoting
