SPRING DATA GEMFIRE CHANGELOG ----------------------------- http://www.springsource.org/spring-gemfire ============================= Changes in version 1.5.1.RELEASE (2014-10-30) --------------------------------------------- * SGF-347 - Release 1.5.1. * SGF-346 - Enable LazyWiringDeclarableSupport-based GemFire components to be used inside both cache.xml and Spring config, especially in the context of GemFire 8's Cluster Configuration. * SGF-343 - Optimize the SDG implementation of CrudRepository.save(Iterable enttiies) to use GemFire's Region.putAll(Map values) operation. * SGF-340 - Change a SpringSource-based links in the SDG Reference Guide to Spring.io-based links. * SGF-339 - Change all VMWare-based links in the SDG Reference Guide to Pivotal-based links. * SGF-337 - SDG's XML Schema (XSD) does not allow the developer to specify 'timeout' and 'action' values for CustomExpiry () on Region attributes. * SGF-333 - The SpringContextBootstrappingInitializer needs to handle the case when it's init(:Properties) method maybe called more than once on initialization. * SGF-330 - Add missing 'disk-synchronous' attribute to the element in the SDG XML namespace (XSD). * SGF-328 - Add missing 'hostname-for-senders' attribute on the element in the SDG XML namespace (XSD). * SGF-327 - Avoid setting null values with GemFire's Cache Region put(key, value) operation when GemFire is used as the caching provider in Spring's Cache Abstraction (@Cacheable). Changes in version 1.5.0.RELEASE (2014-09-05) --------------------------------------------- * IMPORTANT: Upgrade to Gemfire 8.0 has been postponed to a 2.0 release. * SGF-319 - Release 1.5 GA. * SGF-318 - Upgrade to Spring Framework 4.0.7. * SGF-317 - Improve GemfireCache implementation to be able to build on Spring 4.1. * SGF-316 - Update Spring Data GemFire Reference Guide with 1.5 changes (e.g. Auto Region Lookups, Region Templates). * SGF-315 - Re-enable Bundlor plugin to create OSGi metadata. * SGF-314 - Upgrade to Spring Framework 4.0.7. * SGF-312 - The element in the SDG XSD does not properly support multiple PartitionListener bean definitions or references. * SGF-311 - ClientRegionFactoryBean does not properly set the 'concurrency-checks-enabled' attribute and property of GemFire's ClientRegionFactory class. * SGF-310 - The element is missing the 'concurrency-level' attribute, which is supported by GemFire's ClientRegionFactory API. * SGF-307 - Remove all default values on strongly-typed Region elements in the SDG Schema in support of Region Templates. * SGF-305 - Move to Asciidoctor for reference documentation. * SGF-254 - Template Regions which can be used to reuse the same Region configuration for all Regions that reference it. * SGF-223 - Ability to create directories on-the-fly at runtime based on explicitly defined Disk Stores disk directory locations. * SGF-207 - No support for hierarchical, inherited Region attributes like there is in GemFire's cache.xml. * SGF-191 - Provide automated way to add all Regions defined in GemFire's cache.xml as beans in the Spring context. 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 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