SPRING DATA GEMFIRE CHANGELOG
-----------------------------
http://www.springsource.org/spring-gemfire
=============================

Changes in version 1.4.4.RELEASE (2014-08-27)
---------------------------------------------
* SGF-308 - Release 1.4.4.
* SGF-304 - OnMembers function execution with Gemfire Group calls onMember (wrong method).


Changes in version 1.5.0.RC1 (2014-08-13)
-----------------------------------------
* SGF-306 - Release 1.5 RC1.
* SGF-304 - OnMembers function execution with Gemfire Group calls onMember (wrong method).
* SGF-291 - Upgrade Spring Data GemFire 1.5 to GemFire 8.0.
* SGF-227 - Ability to handle forced disconnects due to node failures with "Reconnect" functionality being added in GemFire.
* SGF-226 - Ability to request and get the member's configuration from a GemFire Locator/Manager using the cluster-wide configuration in the new Persistent Config feature.


Changes in version 1.4.2.RELEASE (2014-07-28)
---------------------------------------------
* SGF-303 - Release 1.4.2.
* SGF-297 - Executing SDG Functions annotated POJO methods from Gfsh does not work when "injecting" arguments during Function argument resolution.
* SGF-295 - Enable Local Region Eviction action to be set to 'LOCAL_DESTROY', which is allowed in GemFire using the public API or in cache.xml.
* SGF-294 - Enable GemFire GatewayReceivers to be started manually, the same as for GatewaySenders using SDG.
* SGF-284 - Modify SDG build (build.gradle script) to include SDG validation and compatibility checks for Spring IO.


Changes in version 1.5.0.M1 (2014-07-10)
----------------------------------------
* SGF-299 - Upgrade Spring Data GemFire 1.5 to Spring Framework 4.0.6.
* SGF-298 - Release 1.5 M1.
* SGF-297 - Executing SDG Functions annotated POJO methods from Gfsh does not work when "injecting" arguments during Function argument resolution.
* SGF-296 - Create spring-gemfire-1.5.xsd and spring-data-gemfire-1.5.xsd for SDG 1.5.
* SGF-295 - Enable Local Region Eviction action to be set to 'LOCAL_DESTROY', which is allowed in GemFire using the public API or in cache.xml.
* SGF-294 - Enable GemFire GatewayReceivers to be started manually, the same as for GatewaySenders using SDG.
* SGF-292 - Upgrade Spring Data GemFire 1.5 to Spring Framework 4.0.5.RELEASE.
* SGF-290 - SDG's Repository extension does not properly handle custom @Query annotated Repository methods returning non-Collection, non-Entity-based return values.
* SGF-215 - Ensure compatibility with Spring Framework 4.0.0.X.


Changes in version 1.4.1.RELEASE (2014-06-30)
---------------------------------------------
* SGF-293 - Release 1.4.1.
* SGF-290 - SDG's Repository extension does not properly handle custom @Query annotated Repository methods returning non-Collection, non-Entity-based return values.
* SGF-288 - CacheServer's "maximum-time-between-pings" is set to ZERO.


Changes in version 1.4.0.RELEASE (2014-05-20)
---------------------------------------------
* SGF-287 - Upgrade to Spring 3.2.9.
* SGF-286 - Release 1.4 GA.
* SGF-274 - Avoid the creation of temporary objects in the GemfireTemplate when used with Spring Data GemFire's Repository abstraction and extension.
* SGF-272 - Cleanup all Javadoc warnings.


Changes in version 1.4.0.RC1 (2014-05-02)
-----------------------------------------
* SGF-283 - Release 1.4 RC1.
* SGF-282 - The Eviction 'action', other than the default, for a PARTITION Region is not properly passed to the GemFire EvictionAttributes.createLRUEntryAttributes(..) factory method when the 'threshold' is not set.
* SGF-281 - Avoid setting the RegionAttributes Disk Store "Name" when the Region is neither "persistent" nor has an Eviction policy set to "OVERFLOW_TO_DISK".
* SGF-280 - The ContinuousQueryListenerContainer class is not Thread-safe!.
* SGF-279 - The <cq-listener-container> element is missing the 'error-handler' attribute.
* SGF-278 - The ContinuousQueryListenerContainer class's 'taskExecutor' property is not set properly by the GemfireListenerContainerParser.
* SGF-277 - OQL Join in Repository interface.
* SGF-276 - LIKE operator does not work.
* SGF-275 - The <cq-listener-container> element's 'phase' attribute is ignored.
* SGF-274 - Avoid the creation of temporary objects in the GemfireTemplate when used with Spring Data GemFire's Repository abstraction and extension.
* SGF-273 - OrderBy (static) and Sort parameter (dynamic) Repository Queries do not work!.
* SGF-271 - The <cq-listener-container> element is missing the 'auto-startup' attribute.
* SGF-268 - Make it possible to run the build on Java 7 and/or Java 8.
* SGF-265 - Upgrade to the latest version GemFire (7.0.2).


Changes in version 1.4 M1 (2014-03-31)
--------------------------------------
** Bug
    * [SGF-225] - Inconsistent data policy defaults for subregions that are replicated regions
    * [SGF-230] - Cannot specify a Disk Store to be used for overflow on a Gateway Sender without enabling persistence.
    * [SGF-231] - Unable to specify Ordering Policy for Serial GW Sender
    * [SGF-232] - Unable to specify Order Policy for Serial Async Event Queue
    * [SGF-233] - Cannot specify a Disk Store to be used for overflow on an Async Event Queue without enabling persistence.
    * [SGF-234] - The docs indicate that the PDX attribute pdx-persistent defaults to true, however this does not seem to be the case.
    * [SGF-235] - NPE in DefaultFunctionArgumentResolver.resolveFunctionArguments(30) when a Function has no arguments and none are provided.
    * [SGF-238] - "jndi-prop" is not parced correctly
    * [SGF-239] - The value "XaPooledDataSource" of jndi-binding "type" attribute should be changed to "XAPooledDataSource"
    * [SGF-240] - XML schema type restrictions should be avoided in order to support placeholders (al types should be xs:string)
    * [SGF-242] - When defining "membership-attributes" for a Region, the bean definition "required-roles" attribute is required and, when specified, causes a BeanCreationException in the Spring container during initialization.
    * [SGF-244] - The nested <gfe:gateway-sender/>, <gfe:event-filter/> element is missing the ref attribute in the XSD.
    * [SGF-245] - <gfe:cache> always creates cache with default values ignoring all the specified attributes
    * [SGF-246] - execute function always assumes arguments are passed
    * [SGF-247] - boolean based repository queries generate UnsupportedOperationException in non PDX serialized entities
    * [SGF-249] - The SDG XSD is restricting the use of property placeholder values on <gfe:disk-store/>, compaction-threshold attributes given the attribute type is a short and not string.
    * [SGF-251] - Creating and using GemFire Repositories based on the Spring Data Commons Repository abstraction does not work properly for domain objects stored in Subregions. 
    * [SGF-252] - Spring GemFire's Repository extension does not properly handle multiple, identically named Subregions for persisting corresponding application domain objects associated by way of the @Region annotation.
    * [SGF-255] - The <gfe:eviction> element's 'threshold' attribute is required even when the Eviction type is 'HEAP_PERCENTAGE'.
    * [SGF-258] - The SDG XML namespace <partitioned-region> element is missing the 'data-policy' attribute.
    * [SGF-263] - The 'disk-synchronous' Region attribute does not get successfully applied when explicitly set to false.

** Improvement
    * [SGF-88] - Create Regions in Spring Context with Region Shortcuts
    * [SGF-187] - Consider appending to the list of listener a new listener defined by another peer member
    * [SGF-201] - Create a Spring Boot Starter POM for Spring Data GemFire
    * [SGF-204] - The existing RegionFactoryBean does a lookup of a Region before trying to create one. 
    * [SGF-209] - GemfireTemplate creates a temporary object for every operation.
    * [SGF-210] - GemfireRepository requires that there be an attribute in the entity class for the key.
    * [SGF-236] - Sub-Region Bean names require prepended "/" (vs. previous use of gfe:lookup-region for sub-regions)
    * [SGF-241] - Add support for defining client sub-Regions using nested <gfe:client-region/> SDG XML namespace elements.
    * [SGF-256] - Upgrade to the latest version of the Spring Framework (3.2.8) and Spring Data Commons (1.8.0)
    * [SGF-257] - Specify strict type rules in the Spring Data GemFire XSD for peer Region 'data-policy' and 'shortcut' attributes as currently enforced by the <gfe:client-region> element's 'shortcut' attribute.
    * [SGF-259] - Handle cyclic bean dependencies in SDG XML config between Async Event Queues and Async Event Listeners.
    * [SGF-260] - Add the ability to set @Id to a method name.
    * [SGF-261] - Add ability to persist application domain objects (entities) to multiple Regions in a GemFire Cache.
    * [SGF-265] - Upgrade to the latest version GemFire (7.0.2)

** New Feature
    * [SGF-132] - Being able to get cacheservers overall status on the client
    * [SGF-248] - Ability to bootstrap a Spring context inside a GemFire Server JVM process by starting the GemFire Server with Gfsh.

** Task
    * [SGF-266] - Release 1.4 M1


Changes in Version 1.3.4 (2014-04-04)
-------------------------------------
General
	* This is a maintenance/patch release to address bugs and other minor improvements.
Bugs
	* [SGF-235] - NPE in DefaultFunctionArgumentResolver.resolveFunctionArguments(30) when a Function has no arguments and none are provided.
	* [SGF-238] - "jndi-prop" is not parced correctly.
	* [SGF-239] - The value "XaPooledDataSource" of jndi-binding "type" attribute should be changed to "XAPooledDataSource".
	* [SGF-240] - XML schema type restrictions should be avoided in order to support placeholders (al types should be xs:string).
	* [SGF-246] - execute function always assumes arguments are passed.
	* [SGF-249] - The SDG XSD is restricting the use of property placeholder values on <gfe:disk-store/>, compaction-threshold attributes given the attribute type is a short and not string.
	* [SGF-255] - The <gfe:eviction> element's 'threshold' attribute is required even when the Eviction type is 'HEAP_PERCENTAGE'.
Improvements
	* Upgrades SDG to Spring Framework 3.2.8 and Spring Data Commons 1.7.1.


Changes in Version 1.3.3 (2013-11-13)
-------------------------------------
General
	* This is a maintenance/patch release to address bugs and other minor improvements.
	* See [1.3.3 release notes](https://jira.springsource.org/secure/ReleaseNote.jspa?projectId=10462&version=14257).
Bugs
	* [SGF-174] - DynamicRegion usage causes ApplicationContext to fail to load when using non-dynamic parent
	* [SGF-178] - parent attribute causes endless loop in hashCode
	* [SGF-194] - Nested region do not work
	* [SGF-195] - colocated-with fails on partition region
	* [SGF-197] - A Cache (Region) created using Spring configuration with persistent PDX keys fails to start.
	* [SGF-198] - BeanCurrentlyInCreationException when injecting async-event-queue to a Gemfire replicated region
	* [SGF-200] - Extra unnecessary directory for disk store created when an embedded sender starts up
	* [SGF-203] - The treatment of 'persistence' is wrong.
	* [SGF-211] - Property placeholders don't work for copies attribute on partitioned-region
	* [SGF-216] - FunctionContextInjectingArgumentResolver only injects arguments for RegionFunctionContext
	* [SGF-217] - When configuring CacheServer with a Disk Store (used for client subscription queue overflow), the Cache Server fails to start up with an error.
	* [SGF-218] - The Eviction Policy on Client Subscription when configuring a GemFire Cache Server is not being properly set; always defaults to "NONE".
	* [SGF-219] - Unable to register GemFire CacheListeners on SubRegions.
	* [SGF-220] - Unable to register GemFire Gateway Senders on SubRegions.
	* [SGF-221] - Unable to register GemFire Async Event Listeners on SubRegions.
Improvements
	* [SGF-214] - OnMembersFunctionExecutionTemplate constructors should be public
New Features
	* [SGF-193] - concurrency-checks-enabled is not supported in SGF.
	* [SGF-206] - CacheLoader and CacheWriter are not supported on client local regions.


Changes in Version 1.3.2 (2013-08-06)
--------------------------------------
General
* This is a patch release to address bugs and minor enhancements
see [1.3.2 release notes](https://jira.springsource.org/secure/ReleaseNote.jspa?version=14219&projectId=10462)

** Bug
    * [SGF-168] - Race condition when using Spring data gemfire with tc Server parallel deployment
    * [SGF-176] - Missing Functionality: time to live and entry idle time on a local client region
    * [SGF-185] - @OnServers fails when pool attribute is set - cannot specify both pool and cache
    * [SGF-186] - BeanFactoryLocator reports cache already exists when ClientCache, Pool, and Functions are configured
    * [SGF-188] - Documentation mistake
    * [SGF-189] - Spring Gemfire does not allow persistence for a local region even though this is supported in Gemfire
    * [SGF-192] - client region ignores destroy and close settings

** Improvement
    * [SGF-180] - If nothing references the cache bean it doesn't get initialized
    * [SGF-183] - Little or no logging in Spring Gemfire

Changes in version 1.3.1.RELEASE(2013-04-18)
** Bug
    * [SGF-159] - isRollbackOnCommitFailure flag is ignored by GemfireTransactionManager when transaction fails.
    * [SGF-169] - Unidirectional Gateway hubs cannot be created and fail with an exception
    * [SGF-173] - Function Execution throws exception on void return. 


Changes in version 1.3.0.RELEASE (2013-03-14)
---------------------------------------------
General
* Added annotation support for GemFire functions
* Added 'datasource' element to gfe-data namespace to simplify client connection
* Added support for JSON
See [1.3.0.M1 release notes](https://jira.springsource.org/secure/ReleaseNote.jspa?projectId=10462&version=13300)
See [1.3.0 release notes](https://jira.springsource.org/secure/ReleaseNote.jspa?projectId=10462&version=14023)


Changes in version 1.2.1.RELEASE (2012-10-26)
---------------------------------------------
General
* Upgraded to GemFire 7.0
* Added support for GemFire 7.0 WAN Configuration


Changes in version 1.2.0.RELEASE (2012-08-15)
---------------------------------------------
General
* Added support for Spring Data repositories
* The Spring Data GemFire project, formerly Spring GemFire, is now a component of the Spring Data project
* Upgraded to Spring 3.1.2.RELEASE
* Upgraded to Spring Data Commons 1.4.0.RELEASE
* The XML namespace provides support for everything that can be configured natively with Cache XML
* A separate XML namespace has been created for Spring Data Repository support

Enhancements
* [SGF-53]  - Add "enable-gateway" to replicated and partitioned region namespace config
* [SGF-75]  - Ability to define gateways in the Spring GemFire namespace
* [SGF-76]  - Disk store should be its own bean
* [SGF-79]  - Missing gateway attributes for regions
* [SGF-86]  - Make instance variables protected in CacheFactoryBean
* [SGF-95]  - Add namespace support for subregions
* [SGF-98]  - Provide namespace support for all cache and region properties
* [SGF-102] - Add support for JavaConfig for repositories
* [SGF-103] - Replace xsd:id type with xsd:string to support Spring environment profiles
* [SGF-104] - The repository deleteAll() method only works for replicated regions
* [SGF-109] - Separate repository support into its own namespace
* [SGF-111] - Change default bean names from hyphenated to camel case to support @Autowired
* [SGF-112] - Repositories should reject PagingAndSorting and Pageable parameters
* [SGF-113] - Repositories should support single entities returned from a query method
* [SGF-115] - Add support for 'Like', 'StartsWith','EndsWith', and 'Containing' repository queries

Bug Fixes
* [SGF-85] - Pdx disk store does not work when trying to references a disk store created in cache.xml
* [SGF-89] - Continuous query container fails when implementing the ContinuousQueryListener interface
* [SGF-101] - The repository deleteAll() method only works for replicated regions


Changes in version 1.1.2.RELEASE (2012-07-04)
---------------------------------------------
General
* Upgraded to GemFire 6.6.3

Package org.springframework.data.gemfire.config
* Fixed incorrect parsing of pdx-disk-store attribute


Changes in version 1.1.1.RELEASE (2012-03-20)
---------------------------------------------
General
* Upgraded to GemFire 6.6.2
* Upgraded to Spring Framework 3.1.1 GA

Package org.springframework.data.gemfire
* Fixed incorrect parsing of pdx-serializer (from value to reference)
* Fixed incorrect parsing of use-bean-factory-locator
* Fixed GemfireTransactionCommitException class hierarchy 
* Improved handling of GemFire 6.5+ transaction exceptions

Package org.springframework.data.gemfire.client
* Fixed bug that caused client namespace to create only local regions


Changes in version 1.1.0.RELEASE (2011-12-14)
---------------------------------------------
General
* Upgraded to Spring Framework 3.1 GA


Changes in version 1.1.0.RC1 (2011-11-13)
-----------------------------------------
General
* Upgraded to GemFire 6.6.1
* Aligned Maven naming to Spring Data conventions (changed ids to 'org.springframework.data'/'spring-data-gemfire')
* Introduced PDX options for 'cache' and 'client-cache' elements


Changes in version 1.1.0.M3 (2011-09-25)
----------------------------------------
General
* Upgraded to GemFire 6.6 GA
* Introduced support for GemFire Indecies
* Reintroduced samples in zip distribution

Package org.springframework.data.gemfire
* Improved region creation by removing the use of GemFire 6.0 API (replaced with 6.5+)

Package org.springframework.data.gemfire.client
* Added missing properties to PoolFactoryBean and pool namespace
* Fixed registration of custom listeners specified through region attributes
* Added missing 'receive-values' property to region interests


Changes in version 1.1.0.M2 (2011-08-29)
----------------------------------------
General
* Introduced support for GemFire Continuous Query (CQ)
* Introduced support for client cache
* Introduced namespace support for region expiration attributes

Package org.springframework.data.gemfire
* Added find methods (based on the query service) inside GemFireTemplate
* Improved detection of local client regions without pools configured

Package org.springframework.data.gemfire.server
* Fixed bug occuring when applying defaults for disk stores
* Delayed CacheServer start up to allow declared regions to properly initialize


Changes in version 1.1.0.M1 (2011-07-20)
----------------------------------------
General
* Changed build system to Gradle
* Added support for GemFire 6.6
* Dropped support for GemFire 6.0 (GemFire 6.5 or higher required)
* Introduced support for CacheServer
* Introduced GemFire implementation for Spring 3.1 cache abstraction
* Upgraded to Spring Framework 3.1 M2

Package org.springframework.data.gemfire
* Introduced cache option for disabling bean factory locator; useful for multi cache definitions, in the same VM
* Added more region methods to GemfireTemplate
* Introduced support for queries with variable parameters in GemfireTemplate
* Improved handling of optimistic exception in a transaction scenario


Changes in version 1.0.1 (2011-04-26)
-------------------------------------
General
* Upgraded to GemFire 6.5.1.4
* Fix networking issue with the sample on some Linux distributions (Ubuntu)
* Loosen type constraints in the schema to allow placeholders
* Added 'statistics' attribute to all write regions

Package org.springframework.data.gemfire
* Introduced auto-close (configurable) on RegionFactoryBean

Package org.springframework.data.gemfire.config
* Fixed bug causing region names to be used as aliases for region beans

Package org.springframework.data.gemfire.client
* Improved dependency initialization between cache and pools

Package org.springframework.data.gemfire.serialization
* Improved cache-wide registration of custom instantiators

Package org.springframework.data.gemfire.support
* Introduced GemfireDaoSupport


Changes in version 1.0.0 (2011-02-02)
-------------------------------------


Changes in version 1.0.0.RC1 (2010-12-20)
-----------------------------------------
General
* Upgraded to GemFire 6.5.1
* Upgraded to Spring 3.0.5


Changes in version 1.0.0.M2 (2010-12-08)
----------------------------------------
General
* Introduced namespace for all the major SGF components
* Improved documentation to accomodate the SGF namespace

Package org.springframework.data.gemfire
* Introduced RegionLookupFactoryBean for retrieving (but not creating) regions

Package org.springframework.data.gemfire.client
* Refactored client-specific classes into a dedicated package
* Introduced support for configuring GemFire Pools


Changes in version 1.0.0.M1 (2010-08-03)
----------------------------------------
General
* Configuration support for GemFire Cache, Region
* Exception translation
* GemFire Template for exception translation
* Declarative transaction management
* Auto-generation of non-reflection based GemFire instantiators
