SPRING DATA GEMFIRE CHANGELOG ----------------------------- http://www.springsource.org/spring-gemfire ============================= 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 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 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 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 , element is missing the ref attribute in the XSD. * [SGF-245] - 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 , 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 element's 'threshold' attribute is required even when the Eviction type is 'HEAP_PERCENTAGE'. * [SGF-258] - The SDG XML namespace 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 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 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 , compaction-threshold attributes given the attribute type is a short and not string. * [SGF-255] - The 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