Spring Data Commons Changelog
=============================
Changes in version 1.6.5.RELEASE (2014-03-10)
---------------------------------------------
** Bug
* [DATACMNS-442] - Additional documentation on @NoRepositoryBean annotation for intermediate repository interface.
* [DATACMNS-460] - Support for repository queries returning array type.
* [DATACMNS-462] - Fully initialize collection and map properties.
Changes in version 1.7.0.RELEASE (2014-02-24)
---------------------------------------------
** Bug
* [DATACMNS-432] - ConcurrentModificationException in Repositories.getRepoInfoFor(Repositories.java:183)
* [DATACMNS-436] - Order.ignoreCase not taken into account in equals(), hashCode() and toString()
* [DATACMNS-441] - Analyzing @Query annotated bridge methods lead to NPEs during QueryMethod processing in Java 8
* [DATACMNS-442] - ID type not detected for intermediate repository interface
** Improvement
* [DATACMNS-433] - Add IsLike and IsNotLike
* [DATACMNS-434] - Update spring-data-parent's slf4j dependencies to version 1.7.5
* [DATACMNS-439] - AnnotationRepositoryConfigurationSource support for REGEX
* [DATACMNS-440] - Special map type causes fallback to Object in ParameterizedTypeInformation
* [DATACMNS-446] - Add toString() methods to ClassTypeInformation
** Task
* [DATACMNS-443] - Release 1.7 GA.
* [DATACMNS-444] - DefaultPersistentPropertyPath should drop null path segments in toDotPath(…)
* [DATACMNS-445] - Documentation overhaul
Changes in version 1.6.4.RELEASE (2014-02-17)
---------------------------------------------
** Bug
* [DATACMNS-407] - Incorrect prev and next links when using paging and sorting
* [DATACMNS-412] - Exception ' java.lang.IllegalArgumentException: Not an managed type' upon a tomcat context reload
* [DATACMNS-429] - PageRequest constructor documentation parameter order incorrect.
* [DATACMNS-432] - ConcurrentModificationException in Repositories.getRepoInfoFor(Repositories.java:183)
* [DATACMNS-436] - Order.ignoreCase not taken into account in equals(), hashCode() and toString()
** Improvement
* [DATACMNS-433] - Add IsLike and IsNotLike
* [DATACMNS-439] - AnnotationRepositoryConfigurationSource support for REGEX
* [DATACMNS-440] - Special map type causes fallback to Object in ParameterizedTypeInformation
** Task
* [DATACMNS-417] - Add contribution guidelines
* [DATACMNS-422] - Mitigate semantic changes in Spring 4.0's GenericTypeResolver
* [DATACMNS-438] - Release 1.6.4
Changes in version 1.7.0.RC1 (2014-01-29)
-----------------------------------------
** Bug
* [DATACMNS-366] - PageableArgumentResolver does not support list of properties to sort on
* [DATACMNS-379] - SortHanderMethodArgumentResolver fails to resolve comma-only sort parameter
* [DATACMNS-407] - Incorrect prev and next links when using paging and sorting
* [DATACMNS-408] - Guard against invalid values when resolving pagination and sorting parameters from web requests
* [DATACMNS-412] - Exception 'java.lang.IllegalArgumentException: Not an managed type' upon a tomcat context reload
* [DATACMNS-415] - Performance improvements in configuration subsystem
* [DATACMNS-419] - PagedResourcesAssemblerArgumentResolver fails for methods with templated mappings
* [DATACMNS-429] - PageRequest constructor documentation parameter order incorrect.
** Improvement
* [DATACMNS-402] - Add support for sorting by a QueryDSL OrderSpecifier.
* [DATACMNS-406] - Tighten contract for RepositoryMetadata implementations
* [DATACMNS-414] - Remove unnecessary generic type arguments in AuditingHandler
* [DATACMNS-416] - Provide means to eagerly enforce CDI repository beans
* [DATACMNS-418] - PagedResourcesAssembler should add self link to resources
* [DATACMNS-420] - Provide API to easily create repository bean definitions
* [DATACMNS-426] - ResourceMetadata should expose an isPagingRepository() method
** Task
* [DATACMNS-417] - Add contribution guidelines
* [DATACMNS-421] - Clean up pom.xml after changes in Spring Data build
* [DATACMNS-422] - Mitigate semantic changes in Spring 4.0's GenericTypeResolver
* [DATACMNS-423] - Deprecate Jackson 1.x based repository initializers
* [DATACMNS-425] - Release Spring Data Commons 1.7.0.RC1
* [DATACMNS-430] - Use Jackson version properties from build parent
* [DATACMNS-431] - Code cleanups
Changes in version 1.6.3.RELEASE (2013-12-11)
---------------------------------------------
** Bug
* [DATACMNS-366] - PageableArgumentResolver does not support list of properties to sort on
* [DATACMNS-377] - All elements are returned if pageSize = 0
* [DATACMNS-379] - SortHanderMethodArgumentResolver fails to resolve comma-only sort parameter
* [DATACMNS-387] - Potential NullPointerExceptions in PartTree area
* [DATACMNS-390] - ConcurrentModificationException in MappingContextTypeInformationMapper.resolveTypeFrom
* [DATACMNS-393] - Improve CRUD Method detection in DefaultCrudMethods
* [DATACMNS-408] - Guard against invalid values when resolving pagination and sorting parameters from web requests
** Improvement
* [DATACMNS-388] - Improve generics declaration in HateoasAwareSpringDataWebConfiguration
* [DATACMNS-406] - Tighten contract for RepositoryMetadata implementations
** Task
* [DATACMNS-395] - RepositoryFactorySupport should cache RepositoryInformation instances
* [DATACMNS-409] - Release 1.6.3
Changes in version 1.7.0.M1 (2013-11-19)
---------------------------------------------
** Bug
* [DATACMNS-363] - Unicode characters not supported in property reference expressions
* [DATACMNS-374] - NPE is thrown when populating the repository
* [DATACMNS-376] - Repositories cannot deal with CGLib proxied classes
* [DATACMNS-377] - All elements are returned if pageSize = 0
* [DATACMNS-385] - DefaultRepositoryInformation#getTargetClassMethod matches wrong save-Method if Entity implements Iterable
* [DATACMNS-387] - Potential NullPointerExceptions in PartTree area
* [DATACMNS-390] - ConcurrentModificationException in MappingContextTypeInformationMapper.resolveTypeFrom
* [DATACMNS-393] - Improve CRUD Method detection in DefaultCrudMethods
** Improvement
* [DATACMNS-90] - Allow Repository namespace handler to be configured to scan for inner class repositories
* [DATACMNS-243] - Pull up property access improvement from MongoPersistentProperty
* [DATACMNS-368] - Add test to PartTree for property that contain keyword sequences.
* [DATACMNS-381] - Improve exception messages in PropertyReferenceException
* [DATACMNS-382] - Remove copy of AnnotationTypeFilter in RepositoryComponentProvider and reuse version from Spring Core.
* [DATACMNS-386] - Upgrade to Spring 3.2.x baseline
* [DATACMNS-388] - Improve generics declaration in HateoasAwareSpringDataWebConfiguration
* [DATACMNS-392] - Allow dedicated control over over instantiation time of repositories
* [DATACMNS-400] - Expose findAnnotation(…) on persistent property
* [DATACMNS-401] - Some cleanups regarding generics and deprecation warnings
** New Feature
* DATACMNS-364] - Add ability to override repository CRUD methods using explicit query declarations.
* DATACMNS-384] - Introduce Version value object
* DATACMNS-389] - Add support to configure Auditing via JavaConfig.
** Task
* [DATACMNS-391] - Ensure compatibility with Spring Framework 4.0
* [DATACMNS-395] - RepositoryFactorySupport should cache RepositoryInformation instances
Changes in version 1.6.2.RELEASE (2013-10-25)
---------------------------------------------
** Bug
* [DATACMNS-374] - NPE is thrown when populating the repository
* [DATACMNS-376] - Repositories cannot deal with CGLib proxied classes
* [DATACMNS-385] - DefaultRepositoryInformation#getTargetClassMethod matches wrong save-Method if Entity implements Iterable
** Improvement
* [DATACMNS-368] - Add test to PartTree for property that contain keyword sequences.
* [DATACMNS-382] - Remove copy of AnnotationTypeFilter in RepositoryComponentProvider and reuse version from Spring Core.
** Task
* [DATACMNS-378] - Release 1.6.2
Changes in version 1.6.1.RELEASE (2013-09-09)
---------------------------------------------
** Bug
* [DATACMNS-363] - Revert: Unicode characters not supported in property reference expressions
Changes in version 1.6.0.RELEASE (2013-09-09)
---------------------------------------------
** Bug
* [DATACMNS-181] - page.page=3&page.size=30 and @PageableDefaults(pageNumber = 3, value = 30) don't return the same page.
* [DATACMNS-304] - Misleading documentation of page parameter resolved by PageableArgumentResolver
* [DATACMNS-341] - RepositoryFactorySupport proxy classloader
* [DATACMNS-352] - SortHandlerMethodArgumentResolver and PageableHandlerMethodArgumentResolver have inconsistent property names
* [DATACMNS-353] - Mandatory transitive dependency to Spring HATEOS errantly added in 1.6.RC1
* [DATACMNS-358] - The current page number cannot be greater or equal to the total number of pages
* [DATACMNS-359] - Incorrect deprecation message in PageableArgumentResolver
* [DATACMNS-360] - Unable to use @Profile annotation on scanned repository interfaces
* [DATACMNS-362] - Potential concurrency issues in Repositories
* [DATACMNS-363] - Unicode characters not supported in property reference expressions
** Improvement
* [DATACMNS-351] - Add setFallbackSort to SortHandlerMethodArgumentResolver
* [DATACMNS-355] - ReflectionAuditingBeanWrapper should use ConversionService to convert DateTime into target type
* [DATACMNS-356] - Let Parameters work with Spring 4's DefaultParameterNameDiscoverer if available
* [DATACMNS-357] - Add support to detect persistent state for primitive ids out of the box
* [DATACMNS-361] - Add a README.md file with project description
** Task
* [DATACMNS-315] - Release 1.6 Final
Changes in version 1.6.0.RC1 (2013-08-01)
-----------------------------------------
** Bug
* [DATACMNS-343] - PageableHandlerMethodArgumentResolver should replace pagination parameters not add them
* [DATACMNS-345] - AbstractMappingContext doesn't consider the actual type of property of a generic collection type.
** Improvement
* [DATACMNS-335] - PageableHandlerMethodArgumentResolver should allow configuring maximum page size
* [DATACMNS-336] - Make configuration classes backing @EnableSpringDataWebSupport public
* [DATACMNS-337] - PersistentProperty should expose actual type
* [DATACMNS-342] - Open up API in BasicPersistentEntity to support more advanced id property selection mechanisms.
* [DATACMNS-344] - Allow Repositories to work with non-CrudRepositories
* [DATACMNS-349] - Open up SPI in DefaultTypeMapper to provide a method to get the Type alias for a given TypeInformation
* [DATACMNS-350] - Provide access to parameter annotations in Parameter
** Task
* [DATACMNS-314] - Release 1.6 RC1
Changes in version 1.6.0.M1 (2013-05-31)
----------------------------------------
** Bug
* [DATACMNS-281] - Change Order class so that case insensitive sorts can be performed by setting an ignore case flag
* [DATACMNS-283] - Improve exception message for failed instantiations in ReflectionEntityInstatiator
* [DATACMNS-285] - Spring Data Commons Maven artifactId seems outdated on springsource.org
* [DATACMNS-300] - ReflectionEntityInstantiator should actually throw created exception
* [DATACMNS-306] - RepositoryBeanDefinitionBuilder does not populate the source of created BeanDefinitions
* [DATACMNS-309] - TypeDiscoverer does not correctly resolve nested property path expressions
* [DATACMNS-320] - Mapping ambiguation detection is too aggressive
* [DATACMNS-322] - CdiRepositoryBean should implement PassivationCapable
* [DATACMNS-323] - PageImpl.getTotalPages() possibly returns incorrect result when PageImpl is instantiated with simple constructor
* [DATACMNS-326] - RepositoryInterfaceAwareBeanFactoryPostProcessor should implement PriorityOrdered
* [DATACMNS-327] - AbstractMappingContext has to init domain classes in afterPropertiesSet()
* [DATACMNS-330] - Ease configuration for Spring MVC integration
* [DATACMNS-331] - Add ResourceAssembler implementation to convert Page instances into PagedResources
* [DATACMNS-333] - Support for Jackson 2.x for JSON repository populators
** Improvement
* [DATACMNS-117] - Add HandlerMethodArgumentResolver alternative to the PageableArgumentResolver
* [DATACMNS-282] - Improve caching in AnnotationBasedPersistentProperty
* [DATACMNS-284] - As a user I'd like to use Spring Data Commons without changes in Virgo 3.6.0.RELEASE
* [DATACMNS-286] - Extend Pageable/Page APIs to allow accessing Pageables pointing to the next or previous Page
* [DATACMNS-287] - Polish JavaDoc
* [DATACMNS-288, DATACMNS-289] - Upgrade to Spring Data Build 1.0.2.RELEASE
* [DATACMNS-295] - Ability to set modifyOnCreation flag on AuditingHandler
* [DATACMNS-299] - Scope of CDI bean should default to ApplicationScoped
* [DATACMNS-301] - Upgrade to Querydsl 3.0.0
* [DATACMNS-303] - Add support for count projections
* [DATACMNS-305] - Add toString() methods to PersistentProperty implementations
* [DATACMNS-318] - Introduce dedicated annotation to enable exception translation
* [DATACMNS-319] - Repositories should lookup repository beans less aggressively
* [DATACMNS-324] - Open up OSGi manifest for Spring 4
* [DATACMNS-325] - Open up lower boundary of Slf4j in manifest
* [DATACMNS-328] - Typo in field name of PageableArgumentResolver
* [DATACMNS-329] - Add integration test to guard against potential regressions for SPR-10517
* [DATACMNS-334] - Adapt to new features in Spring Data Build 1.1.0
** New Feature
* [DATACMNS-310] - Integrate best-effort TransactionManager from Spring Data Neo4j
* [DATACMNS-311] - TypeDiscoverer fails to resolve properties expressed through read methods in supertypes
** Task
* [DATACMNS-313] - Release 1.6 M1
* [DATACMNS-332] - Performance improvements in conversion system hotspots
Changes in version 1.5.1.RELEASE (2013-04-16)
---------------------------------------------
** Bug
* [DATACMNS-283] - Improve exception message for failed instantiations in ReflectionEntityInstatiator
* [DATACMNS-285] - Spring Data Commons Maven artifactId seems outdated on springsource.org
* [DATACMNS-300] - ReflectionEntityInstantiator should actually throw created exception
* [DATACMNS-306] - RepositoryBeanDefinitionBuilder does not populate the source of created BeanDefinitions
* [DATACMNS-309] - TypeDiscoverer does not correctly resolve nested property path expressions
** Improvement
* [DATACMNS-282] - Improve caching in AnnotationBasedPersistentProperty
* [DATACMNS-284] - As a user I'd like to use Spring Data Commons without changes in Virgo 3.6.0.RELEASE
* [DATACMNS-287] - Polish JavaDoc
* [DATACMNS-288, DATACMNS-289] - Upgrade to Spring Data Build 1.0.2.RELEASE
* [DATACMNS-305] - Add toString() methods to PersistentProperty implementations
** New Feature
* [DATACMNS-311] - TypeDiscoverer fails to resolve properties expressed through read methods in supertypes
** Task
* [DATACMNS-312] - Release 1.5.1
Changes in version 1.5.0.RELEASE (2013-02-07)
---------------------------------------------
** Bug
* [DATACMNS-227] - ResourceReaderRepositoryPopulatorBeanDefinitionParser should parse location attribute not locations
* [DATACMNS-257] - PropertyPath cannot deal with all uppercase fields
* [DATACMNS-260] - Separate SpEL expression evaluation from PersistentEntity parameter value lookup
* [DATACMNS-263] - CDI integration with openEJB fails
* [DATACMNS-264] - Javadoc of org.springframework.data.web.PageableDefaults links to invalid classes
* [DATACMNS-271] - AnnotationBasedPersistentProperty should cache annotation lookups
* [DATACMNS-276] - ParameterizedTypeInformation is missing hashCode() method
** Improvement
* [DATACMNS-168] - Allow customizing the bean name for repository beans
* [DATACMNS-246] - misleading JavaDoc suggests that result pages are 0-based (but they are 1 based)
* [DATACMNS-248] - Move to Slf4j API for logging
* [DATACMNS-253] - IndexOutOfBoundsException in Repository proxy when missing parameters
* [DATACMNS-254] - Auditable's identifier type constrained to the the same type as Persistable's
* [DATACMNS-255] - Make TypeFilterParser public
* [DATACMNS-269] - Add support for mapping annotations on accessor methods
* [DATACMNS-274] - Fix package cycle in mapping subsystem
* [DATACMNS-275] - UserCredentials should provide method to get obfuscated password
* [DATACMNS-278] - Add Converter implementations for JodaTime types
** New Feature
* [DATACMNS-251] - Introduce API to determine is-new state of entities.
* [DATACMNS-256] - Expose PersistentEntity on Repositories wrapper object
** Task
* [DATACMNS-258] - Copy edit reference documentation
* [DATACMNS-265] - Polish JavaDoc
* [DATACMNS-266] - Use new Maven build setup
* [DATACMNS-270] - Fix merge testing test case in Cross Store module
* [DATACMNS-273] - Upgrade to Spring HATEOAS 0.4
* [DATACMNS-277] - Document new auditing features
* [DATACMNS-279] - Release 1.5.0
Changes in version 1.4.1.RELEASE (2013-02-07)
---------------------------------------------
** Bug
* [DATACMNS-257] - PropertyPath cannot deal with all uppercase fields
* [DATACMNS-276] - ParameterizedTypeInformation is missing hashCode() method
** Improvement
* [DATACMNS-168] - Allow customizing the bean name for repository beans
* [DATACMNS-253] - IndexOutOfBoundsException in Repository proxy when missing parameters
* [DATACMNS-254] - Auditable's identifier type constrained to the the same type as Persistable's
** Task
* [DATACMNS-280] - Release 1.4.1
Changes in version 1.4.0.RELEASE (2012-10-09)
---------------------------------------------
** Bug
* [DATACMNS-176] - StackOverflowError when inserted object is a CGLIB proxy
* [DATACMNS-221] - Parsing of method names with non-ascii characters fails in some cases
* [DATACMNS-226] - ConfigurableTypeInformationMapper caches too aggressively
* [DATACMNS-228] - Mapping sub-system should exclude Groovy introduced properties from persistent properties
* [DATACMNS-233] - DomainClassConverter should gracefully return null for null sources or empty strings
* [DATACMNS-235] - Enforce ordering of bean creation when using custom repository implementations
** Improvement
* [DATACMNS-146] - Ability to specify default sort on @PageableDefaults
* [DATACMNS-220] - In query method names not containing "By" get/find/read prefixes are not stripped
* [DATACMNS-222] - AbstractRepositoryPopulatorFactoryBean javdoc is incorrect
* [DATACMNS-223] - RepositoryPopulator should log each resource that it processes
* [DATACMNS-224] - As a developer, I want an application event to be emitted when RepositoryPopulator finishes
* [DATACMNS-229] - RepositoryInterfaceAwareBeanPostProcessor should use ConfigurableListableBeanFactory#getBeanClassLoader in #getClassForPropertyValue
* [DATACMNS-230] - Clarify usage of Sort in special parameter handling section of the reference documentation
* [DATACMNS-231] - Polish Sort implementation and JavaDoc
* [DATACMNS-242] - Improve exception message in error cases of QueryMethod
** Task
* [DATACMNS-192] - Release 1.4 GA
* [DATACMNS-207] - Remove deprecated method from PersistentProperty
* [DATACMNS-225] - Update Querydsl Maven plugin to 1.0.4
* [DATACMNS-240] - Upgrade to Querydsl 2.8.0
* [DATACMNS-241] - Upgrade to Spring HATEOAS 0.3.0.RELEASE
Changes in version 1.4.0.RC1 (2012-08-23)
-----------------------------------------
** Bug
* [DATACMNS-205] - Reference docs build broken
** Improvement
* [DATACMNS-209] - MappingContextEvent should provide info about which MappingContext it originated from.
* [DATACMNS-210] - Documentation references repository element which is no longer valid
* [DATACMNS-211] - Extend TypeInformation abstraction
* [DATACMNS-212] - Sonargraph checks
* [DATACMNS-214] - AbstractMappingContext.getPersistentEntity(…) should return null for simple types
* [DATACMNS-215] - Remove EntityValidators from MappingContext API
* [DATACMNS-218] - Make metadata access possible in org.springframework.data.history.Revision
* [DATACMNS-219] - Make Spring 3.1.2.RELEASE default Spring dependency version
** Task
* [DATACMNS-213] - List all compile time dependencies explicitly
* [DATACMNS-216] - Remove deprecations from AbstractMappingContext
* [DATACMNS-217] - Release 1.4 RC1
Changes in version 1.4.0.M1 (2012-07-23)
----------------------------------------
** Bug
* [DATACMNS-178] - Invalid compile time dependency on JUnit
* [DATACMNS-180] - Java transient fields should not be considered transient for persistence
** Defect
* [DATACMNS-189] - Typo in section 1.2
** Improvement
* [DATACMNS-72] - Approach Sonar results to improve code quality
* [DATACMNS-164] - Allow pagination value objects to be used by marshaling infrastructure like JAXB or JSON
* [DATACMNS-172] - PropertyPath should throw more meaningful exception if properties cannot be found
* [DATACMNS-174] - Part.Type should expose keywords supported
* [DATACMNS-177] - Fix OSGi bundle identifier
* [DATACMNS-179] - MappingContext initialEntitySet should get added after the ApplicationContext is completely set up
* [DATACMNS-185] - Expose initialization of AbstractMappingContext through method
* [DATACMNS-186] - BasicPersistentEntity should reject multiple id properties
* [DATACMNS-187] - Let the Revision class in the history package also expose the revision date
* [DATACMNS-193] - Would rather not use Iterable on query methods metadata
** New Feature
* [DATACMNS-47] - Support Java-based Configuration of Repositories
* [DATACMNS-58] - As a developer I want to be able to initialize a repository with data ()
** Task
* [DATACMNS-173] - Upgrade Maven compiler and surefire plugins
* [DATACMNS-175] - JavaDoc should be built before assembly
* [DATACMNS-188] - AbstractMappingContext.getComponentTypeRecursively(…) is obsolete and should be removed
* [DATACMNS-191] - Release 1.4.0 M1
* [DATACMNS-201] - Fix critical warnings in Sonar
* [DATACMNS-202] - Move common helpers for BeanDefinitionParsers from Mongo module into Commons
* [DATACMNS-203] - Re-enable accidentally disabled unit tests
Changes in version 1.3.2.RELEASE (2012-07-23)
---------------------------------------------
** Improvement
* [DATACMNS-185] - Expose initialization of AbstractMappingContext through method
* [DATACMNS-186] - BasicPersistentEntity should reject multiple id properties
* [DATACMNS-187] - Let the Revision class in the history package also expose the revision date
** Task
* [DATACMNS-188] - AbstractMappingContext.getComponentTypeRecursively(…) is obsolete and should be removed
* [DATACMNS-204] - Release 1.3.2
Changes in version 1.3.1.RELEASE (2012-06-18)
---------------------------------------------
** Bug
* [DATACMNS-178] - Invalid compile time dependency on JUnit
* [DATACMNS-180] - Java transient fields should not be considered transient for persistence
** Improvement
* [DATACMNS-172] - PropertyPath should throw more meaningful exception if properties cannot be found
* [DATACMNS-174] - Part.Type should expose keywords supported
* [DATACMNS-177] - Fix OSGi bundle identifier
* [DATACMNS-179] - MappingContext initialEntitySet should get added after the ApplicationContext is completely set up
** Task
* [DATACMNS-173] - Upgrade Maven compiler and surefire plugins
* [DATACMNS-175] - JavaDoc should be built before assembly
* [DATACMNS-184] - Release 1.3.1
Changes in version 1.3.0.RELEASE (2012-05-16)
---------------------------------------------
** Bug
* [DATACMNS-170] - Potential NullPointerException in ReflectionEntityInformation
** Improvement
* [DATACMNS-171] - QueryMethod should expose whether the method will be returning an entity
** Task
* [DATACMNS-149] - Release 1.3.0 Final
* [DATACMNS-162] - Briefly document CDI integration for repositories
Changes in version 1.3.0.RC2 (2012-05-02)
-----------------------------------------
** Bug
* [DATACMNS-153] - OSGi issue when using a Repository that extends QueryDslPredicateExecutor (Spring Data + QueryDsl
* [DATACMNS-154] - Overwriting of delete(T entity) saveAndFlush(T entity); does not work anymore
* [DATACMNS-157] - @Query in extending interface is not picked up correctly
* [DATACMNS-160] - Regression of Repository instances with only delete* methods
** Improvement
* [DATACMNS-159] - Example 1.16. Custom repository factory bean is outdated
* [DATACMNS-167] - TypeDiscoverer should not consider types implementing Iterable<…> collection like
** Refactoring
* [DATACMNS-143] - Remove deprecations in MappingContextEvent
* [DATACMNS-166] - Improve API of Repositories / RepositoryFactoryInformation
** Task
* [DATACMNS-156] - Remove deprecated persistence package
* [DATACMNS-161] - Upgrade to Querydsl 2.5.0
* [DATACMNS-165] - Release 1.3.0.RC2
Changes in version 1.3.0.RC1 (2012-04-16)
-----------------------------------------
** Bug
* [DATACMNS-120] - PreferredConstructor.Parameter does not have equals(...) and hashCode() methods
* [DATACMNS-132] - NullPointerException AbstractPersistentProperty inside isEntity
* [DATACMNS-133] - Documented Configuration of Conversion Service with DomainClassConverter Does Not Work
* [DATACMNS-139] - StackOverflowError from infinite recursion in PropertyPath.create:326
* [DATACMNS-150] - Repository lookup in DomainClassConverter and DomainClassPropertyEditorRegistrar throws ClassCastException if not all repositories implement CrudRepository
** Improvement
* [DATACMNS-111] - Add dynamic finder keywords StartingWith, EndingWith & Containing
* [DATACMNS-134] - EntityInstantiator should be capable of instantiating member classes
* [DATACMNS-141] - Add Before and After as keywords for query derivation
* [DATACMNS-142] - Improve API of UserCredentials
* [DATACMNS-151] - Improve generics in CrudRepository.save(…)
* [DATACMNS-152] - Improve API in mapping subsystem
** New Feature
* [DATACMNS-135] - Add basic infrastructure for versioning stores
** Task
* [DATACMNS-144] - Polish reference documentation for repositories
* [DATACMNS-145] - Add general list of supported keywords to reference documentation
* [DATACMNS-148] - Release 1.3.0.RC1
Changes in version 1.3.0.M1 (2012-02-03)
----------------------------------------
** Bug
* [DATACMNS-125] - QueryExecutorMethodInterceptor does not reject interfaces with query methods if no QueryLookupStrategy defined
** Improvement
* [DATACMNS-119] - Make org.springframework.data.domain.Sort$Order implement Serializable
* [DATACMNS-122] - Improve entity instantiation API
* [DATACMNS-123] - Deprecate types in persistence package
* [DATACMNS-128] - ParameterAccessor should allow to determine if parameter values contain null value
* [DATACMNS-129] - Add CrudRepository.findAll(Iterable ids)
** New Feature
* [DATACMNS-127] - Add helper to ease implementation of delegating EntityInformations
** Refactoring
* [DATACMNS-74] - Consolidate entity instantiation strategies
Changes in version 1.2.1 (2012-02-03)
-------------------------------------
* [DATACMNS-125] - QueryExecutorMethodInterceptor does not reject interfaces with query methods if no QueryLookupStrategy defined
* [DATACMNS-119] - Make org.springframework.data.domain.Sort$Order implement Serializable
Changes in version 1.2.0.RELEASE (2011-12-22)
---------------------------------------------
** Bug
* [DATACMNS-109] - Upgrade to latest Querydsl
* [DATACMNS-114] - Wrong custom implementation automatically detected
** Improvement
* [DATACMNS-112] - Upgrade to latest Querydsl
* [DATACMNS-116] - Synchronisation during performance tests - GenericTypeResolver
** New Feature
* [DATACMNS-110] - Provide infrastructure for CDI integration for repositories
* [DATACMNS-113] - Add @ReadingConverter and @WritingConverter to resolve conversion disambiguities
** Task
* [DATACMNS-104] - Upgrade to Spring 3.0.7.
* [DATACMNS-118] - Releases 1.2 GA
Changes in version 1.2.0.RC1 (2011-12-6)
----------------------------------------
** Bug
* [DATACMNS-71] - Reference documentation contains invalid cross reference
* [DATACMNS-88] - TypeDiscoverer.getMapValueType causes ArrayIndexOutOfBoundsException in some cases
* [DATACMNS-92] - Invalid Entities are placed in the MappingContext - Cache
* [DATACMNS-98] - ClassCastException on getReturnedDomainClass for variable types
* [DATACMNS-99] - SimpleTypeHolder does not consider complex enum values as simple
* [DATACMNS-108] - RepositoryFactorySupport throws ClassCastException for annotation based repositories
** Improvement
* [DATACMNS-39] - TypeInformation should support WildcardType
* [DATACMNS-77] - Limit memory consumption with cache - ClassTypeInformation
* [DATACMNS-91] - CrudRepository exceptions
* [DATACMNS-93] - OSGi manifest should have dynamic import package directive added
* [DATACMNS-94] - Add more comparison operators to Type
* [DATACMNS-95] - Document usage of DomainClassConverter, DomainClassPropertyEditor as well as PageableArgumentResolver
* [DATACMNS-97] - PartTree should allow iterating over all parts of a given type
* [DATACMNS-101] - Allow Subclasses of AbstractMappingContext to control the execution of getNestedTypesToAdd()
* [DATACMNS-105] - BeanWrapper should handle exceptions itself
* [DATACMNS-106] - Introduce getReturnedObjectType() on QueryMethod
* [DATACMNS-107] - Allow usage of True/False for Query
** Refactoring
* [DATACMNS-100] - SimpleTypHolder should not consider Number as simple type in general
** Task
* [DATACMNS-103] - Setup hybrid Spring 3.0.6 / 3.1 build
Changes in version 1.2.0.M2 (2011-10-21)
----------------------------------------
** Bug
* [DATACMNS-81] - RepositoryInterfaceAwareBeanPostProcessor potentially suffers from NullPointerException
** Improvement
* [DATACMNS-79] - Treat empty strings as null for username and password for UserCredentials
* [DATACMNS-82] - Increase performance by defaulting PlatformTransactionManager bean name
* [DATACMNS-83] - RepositoryInterfaceAwareBeanPostProcessor should log not being able to load the repo interface
* [DATACMNS-84] - Improve access to property paths
* [DATACMNS-85] - Extend PersistentPropertyPath
* [DATACMNS-87] - AbstractMappingContext.getPropertyPath(...) must not access the leaf property's PersistentEntity
** New Feature
* [DATACMNS-76] - Extract core converter infrastructure from MongoDB module
* [DATACMNS-78] - Add LessThanEquals and GreaterThanEquals as supported query keywords
** Refactoring
* [DATACMNS-73] - Create dedicated crossstore package
* [DATACMNS-75] - Consolidate entity instantiation strategies
* [DATACMNS-86] - Remove o.s.d.transaction package, move ChangeSetBackedTransactionSynchronization to o.s.d.persistence
** Task
* [DATACMNS-80] - Upgrade to Spring 3.0.6
Changes in version 1.2.0.M1 (2011-09-01)
----------------------------------------
** Bug
* [DATACMNS-55] - java.util.Properties cannot be stored to mongodb
* [DATACMNS-57] - Use of parameterized type in constructor arguments is not supported
* [DATACMNS-65] - BasicPersistentEntity potentially suffers from ConcurrentModificationException
* [DATACMNS-68] - NullPointerException in AbstractPersistentProperty::getComponentType()
** Improvement
* [DATACMNS-56] - PreferredConstructorDiscoverer shouldn't throw an exception in case not finding a constructor
* [DATACMNS-59] - AbstractQueryCreator should honor both static and dynamic sorting
* [DATACMNS-60] - Polish reference documentation for repositories
* [DATACMNS-63] - Add possibility to detect TypeInformation for a class' method's return type
* [DATACMNS-64] - QueryMethod should reject paging methods without a Pageable argument
* [DATACMNS-67] - QueryMethod should consider plain Iterable return types as collection query
** New Feature
* [DATACMNS-66] - Provide infrastructure to parse IgnoreCase from query methods
** Refactoring
* [DATACMNS-61] - Add ability to add new special parameter types to query methods
* [DATACMNS-62] - Make accessor methods for QueryMethod type public and drop type enum
Changes in version 1.1.0.RELEASE (2011-07-21)
---------------------------------------------
General
* [DATACMNS-54] - change dependency on "querydsl-mongodb" to "querydsl-core"
Changes in version 1.1.0.RC1 (2011-07-19)
-----------------------------------------
General
* [DATACMNS-50] - Extend mapping metadata to allow defining order of PersistentProperties
* [DATACMNS-53] - Upgrade to Querydsl 2.2.0
Repositories
* [DATACMNS-49] - Create infrastructure to externalize queries
* [DATACMNS-52] - Declaring an intermediate base repository does not work correctly
Changes in version 1.1.0.M2 (2011-06-21)
----------------------------------------
General
* [DATACMNS-27] - Missing plugin repository
* [DATACMNS-31] - Check for null in arguement passed to MappingBeanHelper.isSimpleType
* [DATACMNS-42] - MappingContext does not map BigDecimal correctly
* [DATACMNS-43] - PreferredConstructorDiscoverer - wrong exception message
* [DATACMNS-46] - Make org.joda.time an optional import
Repositories
* [DATACMNS-44] - ParametersParameterAccessor iterator will never iterate...
* [DATACMNS-45] - Property check for repository methods fails for properties starting with _
* [DATACMNS-48] - Spelling errors in class names - "Executer" -> "Executor" Repositories
Changes in version 1.1.0.M1 (2011-06-02)
----------------------------------------
General
* [DATACMNS-32] - Extracted Querydsl support code from JPA and Mongo modules
* [DATACMNS-30] - Implementations of Page, Pageable and Sort are now serializable
* [DATACMNS-34] - Improved algorithm to detect persistence constructors
* [DATADOC-98] - Mapping subsystem can now work with multi-dimensional arrays and collections
* [DATADOC-109] - Refactored mapping subsystem
* [DATADOC-115] - Upgraded to Querydsl 2.2.0-beta4
Repositories
* [DATACMNS-33] - Repository.count() now returns a primitive long
* [DATACMNS-35] - Repository has now a delete(ID id) method
* [DATACMNS-36] - Improve transaction handling for repositories
* [DATACMNS-40] - Rename @RepositoryProxy to @RepositoryDefinition
* [DATADOC-43] - Added Near and Within as keywords for query method parser
Changes in version 1.0.0 (2011-04-18)
----------------------------------------
General
* Deal with multi-dimensional arrays as property types.
Changes in version 1.0.0.RC1 (2011-04-8)
----------------------------------------
General
* Added MappingContextAware interface
* Made failure message customizable.
* Changing to use source 1.5; removed some @override on interface methods
Repository
* ClassUtils.getReturnedDomainClass works for parameterized component types of Collections and Page.
Changes in version 1.0.0.M7 (2011-04-5)
----------------------------------------
General
* Added isCollectionLike() and isMap() to TypeInformation interface.
* Refactored Property to use TypeInformation infrastructure.
* Persistent constructor now detects non-public constructor.
* Removed slf4j dependency
Repository
* Expose type of a query parser Property.
* Refactored RepositoryFactorySupport.getQueryLookupStrategy
* Made PageImpl safe to take an empty collection.
* Domain class lookup in QueryMethod falls back to the repository domain class for methods not returning a domain class.
Changes in version 1.0.0.M6 (2011-03-25)
----------------------------------------
General
* extracted StateBackedCreator interface
* added caching to AbstractConstructorEntityInstantiator
* Use BeanUtils to instantiate objects to not enforce them to be public.
Changes in version 1.0.0.M5 (2011-03-23)
----------------------------------------
General
* Polished basic mapping infrastructure
* Changed package names for cross-store persistence support and removed unused prototype classes
Repository
* Minor API change in AbstractRepositoryConfigDefinitionParser
* Extension module for Spring MVC integration (DATAJPA-19)
Changes in version 1.0.0.M4 (2011-03-15)
----------------------------------------
General
* Fixed dependency scopes of logging libraries (DATACMNS-14)
Repository
* Improved ParameterAccessor infrastructure
* Added support for 'Distinct' keyword in finder method names (DATACMNS-15)
* Added support for 'In' and 'NotIn' keywords (DATACMNS-16)
* Introduced metamodel for entities and repositories (DATACMNS-17)
* Fixed returning wrong class PersistableEntityMetadata (DATACMNS-19)
* Introduced infrastructure to post-process RepositoryQuery instances (DATACMNS-18)
* Renamed Repository.findById(...) to findOne(...) (DATACMNS-20)
* Changed method signature of Repository.findAll(...) and according methods to Iterable (DATACMNS-21)
Changes in version 1.0.0.M3 (2011-02-09)
----------------------------------------
* Improved documentation for repositories
Changes in version 1.0.0.M2 (2011-01-31)
----------------------------------------
General
* Indexed annotation now has an "indexName" attribute
Repository
* Improvements in the pagination support
* Introduced Property abstraction for more sophisticated query method name parsing.
* Made transaction support in repository factory base classes optional
Changes in version 1.0.0.M1 (2010-12-23)
----------------------------------------
General
* Indexed annotation to indicate that a field should be indexed
* Classes for change set support including ChangeSetBackedTransactionSynchronization
Aspects
* Abstract superaspect for aspects that advice field access with a mixin for all types annotated with a given annotation.
* Abstract superaspect to advise field read and write and introduce a mixin interface.
Repository
* Base classes for the repository support
* Pagination support