Spring Data Commons Changelog ============================= Changes in version 2.1.21.RELEASE (2020-10-28) ---------------------------------------------- * DATACMNS-1816 - Wording changes. * DATACMNS-1815 - Release 2.1.21 (Lovelace SR21). * DATACMNS-1804 - Correct grammar in Exception messages thrown by Repository classes. * DATACMNS-1792 - Fix Typos in commons/repositories documentation. Changes in version 2.4.0-RC2 (2020-10-14) ----------------------------------------- * DATACMNS-1807 - Code examples for Kotlin declared as Java. * DATACMNS-1806 - Concurrency issue in Lazy.getNullable(). * DATACMNS-1802 - Add support for suspend repository query methods returning List. * DATACMNS-1798 - Release 2.4 RC2 (2020.0.0). * DATACMNS-1762 - Allow Optional fields in projection. * DATACMNS-1688 - Allow to register custom RepositoryProxyPostProcessors. * DATACMNS-1637 - Add default stream() method to CloseableIterator. Changes in version 2.4.0-RC1 (2020-09-16) ----------------------------------------- * DATACMNS-1795 - Align checks in ReactiveWrappers with checks in ReactiveAdapterRegistry. * DATACMNS-1794 - Upgrade to XMLBeam 1.4.17. * DATACMNS-1786 - Release 2.4 RC1 (2020.0.0). * DATACMNS-1736 - Use BeanFactory lookup to avoid CGlib proxies of configuration classes. Changes in version 2.3.4.RELEASE (2020-09-16) --------------------------------------------- * DATACMNS-1795 - Align checks in ReactiveWrappers with checks in ReactiveAdapterRegistry. * DATACMNS-1794 - Upgrade to XMLBeam 1.4.17. * DATACMNS-1787 - Release 2.3.4 (Neumann SR4). Changes in version 2.2.10.RELEASE (2020-09-16) ---------------------------------------------- * DATACMNS-1794 - Upgrade to XMLBeam 1.4.17. * DATACMNS-1779 - Introduce utility method to identify whether a type is a void one. * DATACMNS-1774 - Release 2.2.10 (Moore SR10). Changes in version 2.1.20.RELEASE (2020-09-16) ---------------------------------------------- * DATACMNS-1794 - Upgrade to XMLBeam 1.4.17. * DATACMNS-1773 - Release 2.1.20 (Lovelace SR20). Changes in version 2.3.3.RELEASE (2020-08-12) --------------------------------------------- * DATACMNS-1783 - Simplify PersistentEntityIsNewStrategy.isNew. * DATACMNS-1779 - Introduce utility method to identify whether a type is a void one. * DATACMNS-1777 - Fixed typo in reference example for TypedSort. * DATACMNS-1775 - Release 2.3.3 (Neumann SR3). * DATACMNS-1296 - PersistentPropertyPathAccessor does not skip nested null intermediates when setting values. Changes in version 2.4.0-M2 (2020-08-12) ---------------------------------------- * DATACMNS-1783 - Simplify PersistentEntityIsNewStrategy.isNew. * DATACMNS-1781 - Move off deprecated Spring Framework API. * DATACMNS-1780 - PersistentEntities should allow in flight metadata creation if the associated mapping context can be identified. * DATACMNS-1779 - Introduce utility method to identify whether a type is a void one. * DATACMNS-1777 - Fixed typo in reference example for TypedSort. * DATACMNS-1772 - SpringDataAnnotationBeanNameGenerator calls BeanNameGenerator without using BeanDefinitionRegistry. * DATACMNS-1771 - Upgrade to Vavr 0.10.3. * DATACMNS-1768 - InstantiationAwarePropertyAccessor loses state when updating multiple properties. * DATACMNS-1767 - Disable ClassGeneratingEntityInstantiator and ClassGeneratingPropertyAccessorFactory when running native-image. * DATACMNS-1764 - Allow registration of QueryMethod invocation listeners. * DATACMNS-1758 - ConcurrencyModificationException in DefaultEntityCallbacks. * DATACMNS-1756 - Release 2.4 M2 (2020.0.0). * DATACMNS-1754 - Support nested classes/interfaces for repository fragments. * DATACMNS-1663 - Support domain events for deletions. * DATACMNS-1296 - PersistentPropertyPathAccessor does not skip nested null intermediates when setting values. * DATACMNS-1231 - Add infrastructure for reactive auditing. * DATACMNS-1108 - Reactive support for SpEL expressions using Reactor's Context abstraction. Changes in version 2.3.2.RELEASE (2020-07-22) --------------------------------------------- * DATACMNS-1772 - SpringDataAnnotationBeanNameGenerator calls BeanNameGenerator without using BeanDefinitionRegistry. * DATACMNS-1771 - Upgrade to Vavr 0.10.3. * DATACMNS-1768 - InstantiationAwarePropertyAccessor loses state when updating multiple properties. * DATACMNS-1767 - Disable ClassGeneratingEntityInstantiator and ClassGeneratingPropertyAccessorFactory when running native-image. * DATACMNS-1758 - ConcurrencyModificationException in DefaultEntityCallbacks. * DATACMNS-1753 - CompletableFuture is considered a reactive type. * DATACMNS-1750 - PageImpl.toString generates NPE when the first element in the content is null. * DATACMNS-1745 - Refactor CustomAnnotationTransactionAttributeSource to use computeTransactionAttribute template method. * DATACMNS-1744 - Replace whitelist with a term that does not have racist connotations. * DATACMNS-1743 - Translation of URI segments and request parameters into aggregates broken. * DATACMNS-1742 - Release 2.3.2 (Neumann SR2). Changes in version 2.2.9.RELEASE (2020-07-22) --------------------------------------------- * DATACMNS-1772 - SpringDataAnnotationBeanNameGenerator calls BeanNameGenerator without using BeanDefinitionRegistry. * DATACMNS-1771 - Upgrade to Vavr 0.10.3. * DATACMNS-1750 - PageImpl.toString generates NPE when the first element in the content is null. * DATACMNS-1744 - Replace whitelist with a term that does not have racist connotations. * DATACMNS-1743 - Translation of URI segments and request parameters into aggregates broken. * DATACMNS-1741 - Release 2.2.9 (Moore SR9). Changes in version 2.1.19.RELEASE (2020-07-22) ---------------------------------------------- * DATACMNS-1750 - PageImpl.toString generates NPE when the first element in the content is null. * DATACMNS-1744 - Replace whitelist with a term that does not have racist connotations. * DATACMNS-1740 - Release 2.1.19 (Lovelace SR19). Changes in version 2.4.0-M1 (2020-06-25) ---------------------------------------- * DATACMNS-1755 - Apply round of polishing. * DATACMNS-1753 - CompletableFuture is considered a reactive type. * DATACMNS-1750 - PageImpl.toString generates NPE when the first element in the content is null. * DATACMNS-1745 - Refactor CustomAnnotationTransactionAttributeSource to use computeTransactionAttribute template method. * DATACMNS-1744 - Replace whitelist with a term that does not have racist connotations. * DATACMNS-1743 - Translation of URI segments and request parameters into aggregates broken. * DATACMNS-1739 - Use standard Spring code of conduct. * DATACMNS-1738 - Expose method to obtain the repository query method return type. * DATACMNS-1735 - ConcurrencyModificationException in EntityCallbackDiscoverer caused by concurrent cachedEntityCallbacks modification. * DATACMNS-1734 - Delay Repositories initialization in DomainClassConverter. * DATACMNS-1733 - JavaDoc for Range factory methods is incorrect. * DATACMNS-1730 - Update releasetrain reference documentation with spring-data-bom artifact. * DATACMNS-1726 - Delombok source files. * DATACMNS-1725 - Release 2.4 M1 (2020.0.0). * DATACMNS-1706 - PreferredConstructor needs to improve bottleneck occurrence. * DATACMNS-1653 - Add support for RxJava 3. Changes in version 2.3.1.RELEASE (2020-06-10) --------------------------------------------- * DATACMNS-1738 - Expose method to obtain the repository query method return type. * DATACMNS-1735 - ConcurrencyModificationException in EntityCallbackDiscoverer caused by concurrent cachedEntityCallbacks modification. * DATACMNS-1734 - Delay Repositories initialization in DomainClassConverter. * DATACMNS-1733 - JavaDoc for Range factory methods is incorrect. * DATACMNS-1724 - Release 2.3.1 (Neumann SR1). * DATACMNS-1706 - PreferredConstructor needs to improve bottleneck occurrence. Changes in version 2.2.8.RELEASE (2020-06-10) --------------------------------------------- * DATACMNS-1734 - Delay Repositories initialization in DomainClassConverter. * DATACMNS-1733 - JavaDoc for Range factory methods is incorrect. * DATACMNS-1722 - More defensive lookup of XmlBeamHttpMessageConverter in SpringDataWebConfiguration. * DATACMNS-1721 - Lazily evaluate potential property matches in PropertyReferenceException. * DATACMNS-1720 - Fix Javadoc for CustomAnnotationTransactionAttributeSource to correctly describe JTA support. * DATACMNS-1717 - Mention performance behavior of Lambda EntityCallbacks in reference documentation. * DATACMNS-1712 - Release 2.2.8 (Moore SR8). * DATACMNS-1706 - PreferredConstructor needs to improve bottleneck occurrence. Changes in version 2.1.18.RELEASE (2020-06-10) ---------------------------------------------- * DATACMNS-1734 - Delay Repositories initialization in DomainClassConverter. * DATACMNS-1722 - More defensive lookup of XmlBeamHttpMessageConverter in SpringDataWebConfiguration. * DATACMNS-1720 - Fix Javadoc for CustomAnnotationTransactionAttributeSource to correctly describe JTA support. * DATACMNS-1715 - Remove Travis CI. * DATACMNS-1711 - Release 2.1.18 (Lovelace SR18). Changes in version 2.3.0.RC2 (2020-04-28) ----------------------------------------- * DATACMNS-1710 - Avoid potentially expensive constructor parameter creation where possible. * DATACMNS-1707 - CoroutineCrudRepository misses suspend for deleteAll(entityStream: Flow). * DATACMNS-1701 - Use JDK 14 for Java.NEXT CI testing. * DATACMNS-1698 - Reduce allocations in EntityCallbackDiscoverer. * DATACMNS-1694 - Release 2.3 RC2 (Neumann). Changes in version 2.2.7.RELEASE (2020-04-28) --------------------------------------------- * DATACMNS-1710 - Avoid potentially expensive constructor parameter creation where possible. * DATACMNS-1691 - Update .gitignore to include STS specific config files. * DATACMNS-1690 - Release 2.2.7 (Moore SR7). Changes in version 2.1.17.RELEASE (2020-04-28) ---------------------------------------------- * DATACMNS-1710 - Avoid potentially expensive constructor parameter creation where possible. * DATACMNS-1691 - Update .gitignore to include STS specific config files. * DATACMNS-1684 - Fix grammar in reference documentation. * DATACMNS-1683 - SpelExtractor does not consider quotation offsets from rewritten query. * DATACMNS-1679 - ReactiveWrappers uses package-private types in its API. * DATACMNS-1674 - Release 2.1.17 (Lovelace SR17). Changes in version 2.3.0.RC1 (2020-03-31) ----------------------------------------- * DATACMNS-1691 - Update .gitignore to include STS specific config files. * DATACMNS-1689 - RepositoryMetadata.getReturnedDomainClass(...) returns Object for suspended methods. * DATACMNS-1685 - Provide documentation for custom conversions. * DATACMNS-1684 - Fix grammar in reference documentation. * DATACMNS-1683 - SpelExtractor does not consider quotation offsets from rewritten query. * DATACMNS-1680 - Release 2.3 RC1 (Neumann). * DATACMNS-658 - Extend SortHandlerMethodArgument resolver to be able to detect the request for ignore-case. Changes in version 2.2.6.RELEASE (2020-03-25) --------------------------------------------- * DATACMNS-1684 - Fix grammar in reference documentation. * DATACMNS-1683 - SpelExtractor does not consider quotation offsets from rewritten query. * DATACMNS-1679 - ReactiveWrappers uses package-private types in its API. * DATACMNS-1675 - Release 2.2.6 (Moore SR6). Changes in version 2.3.0.M4 (2020-03-11) ---------------------------------------- * DATACMNS-1679 - ReactiveWrappers uses package-private types in its API. * DATACMNS-1673 - Use Method.getParameterCount() where possible. * DATACMNS-1672 - Fix documentation typos. * DATACMNS-1667 - Release 2.3 M4 (Neumann). * DATACMNS-1610 - Improve auditing metadata detection. Changes in version 2.2.5.RELEASE (2020-02-26) --------------------------------------------- * DATACMNS-1673 - Use Method.getParameterCount() where possible. * DATACMNS-1672 - Fix documentation typos. * DATACMNS-1671 - Auditor attempts to set created date on null object. * DATACMNS-1661 - Add missing parameter to object-mapping property population in reference documentation. * DATACMNS-1660 - Add anchor to section on mapping recommendations in reference documentation. * DATACMNS-1651 - Fix typo in Javadoc. * DATACMNS-1650 - Release 2.2.5 (Moore SR5). Changes in version 2.1.16.RELEASE (2020-02-26) ---------------------------------------------- * DATACMNS-1673 - Use Method.getParameterCount() where possible. * DATACMNS-1672 - Fix documentation typos. * DATACMNS-1671 - Auditor attempts to set created date on null object. * DATACMNS-1661 - Add missing parameter to object-mapping property population in reference documentation. * DATACMNS-1660 - Add anchor to section on mapping recommendations in reference documentation. * DATACMNS-1651 - Fix typo in Javadoc. * DATACMNS-1648 - Release 2.1.16 (Lovelace SR16). Changes in version 2.3.0.M3 (2020-02-12) ---------------------------------------- * DATACMNS-1666 - Deprecate Joda-Time and ThreeTenBackport support. * DATACMNS-1665 - Changed converter registration broke converter usage in Spring Data Elasticsearch. * DATACMNS-1661 - Add missing parameter to object-mapping property population in reference documentation. * DATACMNS-1660 - Add anchor to section on mapping recommendations in reference documentation. * DATACMNS-1655 - Release 2.3 M3 (Neumann). * DATACMNS-1615 - Allow fine grained store specific converter registration. * DATACMNS-1212 - Remove unnecessary conversion between Instant and ZonedDateTime. Changes in version 2.3.0.M2 (2020-01-17) ---------------------------------------- * DATACMNS-1652 - Release 2.3 M2 (Neumann). Changes in version 2.3.0.M1 (2020-01-16) ---------------------------------------- * DATACMNS-1651 - Fix typo in Javadoc. * DATACMNS-1647 - Switch to use factory methods of RepresentationModel classes. * DATACMNS-1645 - Add search prefix for part tree queries. * DATACMNS-1643 - Update copyright years to 2020. * DATACMNS-1635 - Allow dedicated expression of null handling for Querydsl Predicates in WebMVC integration. * DATACMNS-1631 - Fix spelling in reference documentation. * DATACMNS-1630 - Remove custom copy of ShadowingClassLoader. * DATACMNS-1629 - Log module name in RepositoryConfigurationDelegate during repository scanning. * DATACMNS-1626 - Add attribute to projection documentation for reuse with R2DBC. * DATACMNS-1620 - Improve resource description of repository bean definitions. * DATACMNS-1613 - PageImpl created from only a Collection returns invalid size. * DATACMNS-1609 - Auditing metadata should not detect paths containing map or collection like segments. * DATACMNS-1603 - Reword "wanna" exception messages. * DATACMNS-1602 - Reuse generated PropertyAccessor's and Entityinstantiator classes across EntityInstantiators and PersistentPropertyAccessorFactorys. * DATACMNS-1601 - Improve CrudRepository JavaDoc with the guarantees and exceptions of findAllById and deleteAllById. * DATACMNS-1598 - "Cannot create EnumSet for unknown element type". * DATACMNS-1596 - Module not exposing any entity identifying annotations claims all repositories. * DATACMNS-1593 - QuerydslPredicateArgumentResolver produces null result for empty form submission. * DATACMNS-1592 - Update documentation to use @With instead of @Wither. * DATACMNS-1591 - @Primary annotation not honored. * DATACMNS-1587 - Release 2.3 M1 (Neumann). * DATACMNS-1508 - Add support for Coroutines repositories. * DATACMNS-990 - Enable building with JDK11+. * DATACMNS-949 - Drop own Converters and use ReactiveAdapterRegistry directly where possible. Changes in version 2.2.4.RELEASE (2020-01-15) --------------------------------------------- * DATACMNS-1643 - Update copyright years to 2020. * DATACMNS-1635 - Allow dedicated expression of null handling for Querydsl Predicates in WebMVC integration. * DATACMNS-1633 - Release 2.2.4 (Moore SR4). * DATACMNS-1593 - QuerydslPredicateArgumentResolver produces null result for empty form submission. Changes in version 2.1.15.RELEASE (2020-01-15) ---------------------------------------------- * DATACMNS-1643 - Update copyright years to 2020. * DATACMNS-1632 - Release 2.1.15 (Lovelace SR15). Changes in version 2.2.3.RELEASE (2019-12-04) --------------------------------------------- * DATACMNS-1631 - Fix spelling in reference documentation. * DATACMNS-1629 - Log module name in RepositoryConfigurationDelegate during repository scanning. * DATACMNS-1626 - Add attribute to projection documentation for reuse with R2DBC. * DATACMNS-1622 - Release 2.2.3 (Moore SR3). * DATACMNS-1603 - Reword "wanna" exception messages. Changes in version 2.1.14.RELEASE (2019-12-04) ---------------------------------------------- * DATACMNS-1631 - Fix spelling in reference documentation. * DATACMNS-1629 - Log module name in RepositoryConfigurationDelegate during repository scanning. * DATACMNS-1621 - Release 2.1.14 (Lovelace SR14). * DATACMNS-1603 - Reword "wanna" exception messages. Changes in version 2.2.2.RELEASE (2019-11-18) --------------------------------------------- * DATACMNS-1618 - Set loglevel for java.time converters to debug (temporary fix). * DATACMNS-1613 - PageImpl created from only a Collection returns invalid size. * DATACMNS-1609 - Auditing metadata should not detect paths containing map or collection like segments. * DATACMNS-1606 - Release 2.2.2 (Moore SR2). Changes in version 2.1.13.RELEASE (2019-11-18) ---------------------------------------------- * DATACMNS-1613 - PageImpl created from only a Collection returns invalid size. * DATACMNS-1605 - Release 2.1.13 (Lovelace SR13). Changes in version 2.2.1.RELEASE (2019-11-04) --------------------------------------------- * DATACMNS-1602 - Reuse generated PropertyAccessor's and Entityinstantiator classes across EntityInstantiators and PersistentPropertyAccessorFactorys. * DATACMNS-1601 - Improve CrudRepository JavaDoc with the guarantees and exceptions of findAllById and deleteAllById. * DATACMNS-1598 - "Cannot create EnumSet for unknown element type". * DATACMNS-1596 - Module not exposing any entity identifying annotations claims all repositories. * DATACMNS-1591 - @Primary annotation not honored. * DATACMNS-1586 - Release 2.2.1 (Moore SR1). Changes in version 2.1.12.RELEASE (2019-11-04) ---------------------------------------------- * DATACMNS-1602 - Reuse generated PropertyAccessor's and Entityinstantiator classes across EntityInstantiators and PersistentPropertyAccessorFactorys. * DATACMNS-1601 - Improve CrudRepository JavaDoc with the guarantees and exceptions of findAllById and deleteAllById. * DATACMNS-1598 - "Cannot create EnumSet for unknown element type". * DATACMNS-1596 - Module not exposing any entity identifying annotations claims all repositories. * DATACMNS-1585 - Release 2.1.12 (Lovelace SR12). Changes in version 2.2.0.RELEASE (2019-09-30) --------------------------------------------- * DATACMNS-1584 - Add documentation for Kotlin support. * DATACMNS-1583 - Introduce QPageRequest factory methods for consistency with PageRequest. * DATACMNS-1581 - Reject invalid null values for Sort in factory methods of PageRequest. * DATACMNS-1580 - Update documentation. * DATACMNS-1562 - Release 2.2 GA (Moore). * DATACMNS-1486 - HateoasSortHandlerMethodArgumentResolver is missing a @Nullable annotation. * DATACMNS-1211 - Provide WebFlux Pageable and Sort argument resolver. Changes in version 2.1.11.RELEASE (2019-09-30) ---------------------------------------------- * DATACMNS-1581 - Reject invalid null values for Sort in factory methods of PageRequest. * DATACMNS-1580 - Update documentation. * DATACMNS-1576 - Fix JavaDoc on CustomConversions. * DATACMNS-1574 - Partially populated PersistentEntity instances not properly removed from cache. * DATACMNS-1571 - TypeInformation.specialize(…) does not consider generics information in given type. * DATACMNS-1570 - Parsing of query method names is inconsistent for attributes beginning with a single lower case character followed by an upper case character. * DATACMNS-1569 - Revise nullability documentation in Querydsl APIs. * DATACMNS-1568 - Explicitly mention null-handling changes made for Sort and Pageable in 2.0 in reference docs. * DATACMNS-1567 - Fix license years in header of Repository. * DATACMNS-1565 - Add HTTPS entries into spring.schemas. * DATACMNS-1561 - Release 2.1.11 (Lovelace SR11). Changes in version 2.2.0.RC3 (2019-09-06) ----------------------------------------- * DATACMNS-1578 - Properly bind null values to ….isNull() expressions in Querydsl. * DATACMNS-1576 - Fix JavaDoc on CustomConversions. * DATACMNS-1574 - Partially populated PersistentEntity instances not properly removed from cache. * DATACMNS-1571 - TypeInformation.specialize(…) does not consider generics information in given type. * DATACMNS-1570 - Parsing of query method names is inconsistent for attributes beginning with a single lower case character followed by an upper case character. * DATACMNS-1569 - Revise nullability documentation in Querydsl APIs. * DATACMNS-1568 - Explicitly mention null-handling changes made for Sort and Pageable in 2.0 in reference docs. * DATACMNS-1567 - Fix license years in header of Repository. * DATACMNS-1565 - Add HTTPS entries into spring.schemas. * DATACMNS-1563 - Release 2.2 RC3 (Moore). Changes in version 2.2.0.RC2 (2019-08-05) ----------------------------------------- * DATACMNS-1560 - Upgrade to Vavr 0.10.2. * DATACMNS-1558 - Upgrade to Vavr 0.10.1. * DATACMNS-1557 - Sort Javadoc mentions wrong sorting order. * DATACMNS-1556 - Performance improvements in repository invocation handling. * DATACMNS-1555 - Add support in PersistentPropertyAccessor for multivalued properties. * DATACMNS-1554 - Migrate tests to AssertJ. * DATACMNS-1553 - Revise readme for a consistent structure. * DATACMNS-1552 - Invalid conversions for Option instances returned from custom repository methods. * DATACMNS-1551 - NullPointException throw rather than PropertyReferenceException if Sort property string is ".". * DATACMNS-1550 - Add RevisionType to RevisionMetadata. * DATACMNS-1548 - Fix JavaDoc on AuditingHandler.setModifyOnCreation(…). * DATACMNS-1545 - Fix anchors and callouts in entity callbacks documentation. * DATACMNS-1544 - Release 2.2 RC2 (Moore). * DATACMNS-1536 - Introduce Jenkins CI. * DATACMNS-1524 - Major invocation penalty of repository extension methods. Changes in version 2.1.10.RELEASE (2019-08-05) ---------------------------------------------- * DATACMNS-1557 - Sort Javadoc mentions wrong sorting order. * DATACMNS-1552 - Invalid conversions for Option instances returned from custom repository methods. * DATACMNS-1551 - NullPointException throw rather than PropertyReferenceException if Sort property string is ".". * DATACMNS-1549 - Fix NoHTTP errors. * DATACMNS-1548 - Fix JavaDoc on AuditingHandler.setModifyOnCreation(…). * DATACMNS-1543 - Release 2.1.10 (Lovelace SR10). * DATACMNS-1536 - Introduce Jenkins CI. * DATACMNS-1524 - Major invocation penalty of repository extension methods. Changes in version 1.13.23.RELEASE (2019-08-05) ----------------------------------------------- * DATACMNS-1551 - NullPointException throw rather than PropertyReferenceException if Sort property string is ".". * DATACMNS-1548 - Fix JavaDoc on AuditingHandler.setModifyOnCreation(…). * DATACMNS-1540 - ConcurrentModificationException in QuerydslPredicateBuilder path cache. * DATACMNS-1536 - Introduce Jenkins CI. * DATACMNS-1533 - Release 1.13.23 (Ingalls SR23). Changes in version 2.2.0.RC1 (2019-06-14) ----------------------------------------- * DATACMNS-1541 - Create security policy readme. * DATACMNS-1540 - ConcurrentModificationException in QuerydslPredicateBuilder path cache. * DATACMNS-1538 - Add support for custom repository proxy post processors in CDI. * DATACMNS-1534 - Cache BeanFactory lookup for EvaluationContextExtension. * DATACMNS-1514 - Release 2.2 RC1 (Moore). * DATACMNS-1467 - Add API for entity callbacks/change before save/after load. Changes in version 2.1.9.RELEASE (2019-06-14) --------------------------------------------- * DATACMNS-1540 - ConcurrentModificationException in QuerydslPredicateBuilder path cache. * DATACMNS-1534 - Cache BeanFactory lookup for EvaluationContextExtension. * DATACMNS-1532 - Release 2.1.9 (Lovelace SR9). Changes in version 1.13.22.RELEASE (2019-05-13) ----------------------------------------------- * DATACMNS-1531 - Release 1.13.22 (Ingalls SR22). Changes in version 2.1.8.RELEASE (2019-05-13) --------------------------------------------- * DATACMNS-1530 - Release 2.1.8 (Lovelace SR8). Changes in version 2.2.0.M4 (2019-05-13) ---------------------------------------- * DATACMNS-1529 - Reactivate Travis builds for Spring Framework 5.2 snapshots. * DATACMNS-1526 - Adapt to API changes in Spring HATEOAS 1.0 M2. * DATACMNS-1520 - Fix typo in Javadoc of PagedResourcesAssembler. * DATACMNS-1518 - Unable to resolve methods with variable number of arguments in SpEL. * DATACMNS-1515 - Release 2.2 M4 (Moore). * DATACMNS-1510 - Javadoc phrasing in Param. Changes in version 1.13.21.RELEASE (2019-05-10) ----------------------------------------------- * DATACMNS-1527 - Enable builds against Spring 5.1 and 5.2 for Travis. * DATACMNS-1520 - Fix typo in Javadoc of PagedResourcesAssembler. * DATACMNS-1510 - Javadoc phrasing in Param. * DATACMNS-1505 - Release 1.13.21 (Ingalls SR21). Changes in version 2.1.7.RELEASE (2019-05-10) --------------------------------------------- * DATACMNS-1528 - Reactivate Travis build profile execution for Spring 5.2. * DATACMNS-1520 - Fix typo in Javadoc of PagedResourcesAssembler. * DATACMNS-1518 - Unable to resolve methods with variable number of arguments in SpEL. * DATACMNS-1511 - Upgrade to XMLBeam 1.4.16. * DATACMNS-1510 - Javadoc phrasing in Param. * DATACMNS-1507 - Release 2.1.7 (Lovelace SR7). Changes in version 2.2.0.M3 (2019-04-11) ---------------------------------------- * DATACMNS-1511 - Upgrade to XMLBeam 1.4.16. * DATACMNS-1499 - Add convenience factory methods to Range. * DATACMNS-1498 - Improve attribute lookups from RepositoryConfigurationSources. * DATACMNS-1497 - Custom BeanNameGenerators are not considered for repository bean name generation. * DATACMNS-1496 - Remove deprecations introduced in Lovelace. * DATACMNS-1493 - Release 2.2 M3 (Moore). Changes in version 2.1.6.RELEASE (2019-04-01) --------------------------------------------- * DATACMNS-1491 - Slice JavaDoc states Pageable constructor arg can be null, but it can't. * DATACMNS-1490 - Exclude Lombok generated code from code coverage calculation. * DATACMNS-1483 - Migrate Kotlin tests to Mockk. * DATACMNS-1482 - Conversion don't seem to properly handle conversion of Lists. * DATACMNS-1480 - Release 2.1.6 (Lovelace SR6). * DATACMNS-1451 - ClassGeneratingPropertyAccessorFactory considers only first 16 immutable Kotlin properties. Changes in version 2.0.14.RELEASE (2019-04-01) ---------------------------------------------- * DATACMNS-1491 - Slice JavaDoc states Pageable constructor arg can be null, but it can't. * DATACMNS-1490 - Exclude Lombok generated code from code coverage calculation. * DATACMNS-1482 - Conversion don't seem to properly handle conversion of Lists. * DATACMNS-1479 - Fix usage of PageRequest in reference documentation. * DATACMNS-1475 - Javadoc of Slice.nextPageable() and ….previousPageable() incorrect about nullability. * DATACMNS-1464 - Release 2.0.14 (Kay SR14). Changes in version 1.13.20.RELEASE (2019-04-01) ----------------------------------------------- * DATACMNS-1504 - Release 1.13.20 (Ingalls SR20). Changes in version 1.13.19.RELEASE (2019-04-01) ----------------------------------------------- * DATACMNS-1490 - Exclude Lombok generated code from code coverage calculation. * DATACMNS-1463 - Release 1.13.19 (Ingalls SR19). Changes in version 2.2.0.M2 (2019-03-07) ---------------------------------------- * DATACMNS-1492 - Upgrade to Spring HATEOAS 1.0 M1. * DATACMNS-1491 - Slice JavaDoc states Pageable constructor arg can be null, but it can't. * DATACMNS-1490 - Exclude Lombok generated code from code coverage calculation. * DATACMNS-1485 - Remove version for managed Kotlin dependencies. * DATACMNS-1484 - IterableToStreamableConverter converts to Streamable too aggressively. * DATACMNS-1483 - Migrate Kotlin tests to Mockk. * DATACMNS-1482 - Conversion don't seem to properly handle conversion of Lists. * DATACMNS-1479 - Fix usage of PageRequest in reference documentation. * DATACMNS-1476 - Add Slice.nextOrLastPageable() and ....previousOrFirstPageable(). * DATACMNS-1475 - Javadoc of Slice.nextPageable() and ….previousPageable() incorrect about nullability. * DATACMNS-1471 - Upgrade to Vavr 0.10. * DATACMNS-1470 - Upgrade to Spring HATEOAS 1.0.0 API. * DATACMNS-1462 - Introduce Concourse CI. * DATACMNS-1461 - Auditor attempts to set created date on null object. * DATACMNS-1460 - Upgrade to Vavr 0.9.3. * DATACMNS-1459 - Update copyright years to 2019. * DATACMNS-1456 - ConcurrentModificationException in ExtensionAwareEvaluationContextProvider. * DATACMNS-1455 - HateoasPageableHandlerMethodArgumentResolver doesn't handle Pageable.unpaged() correctly. * DATACMNS-1453 - Wrong assertion in AuditingBeanDefinitionRegistrarSupport. * DATACMNS-1451 - ClassGeneratingPropertyAccessorFactory considers only first 16 immutable Kotlin properties. * DATACMNS-1447 - Add Collector methods to Streamable. * DATACMNS-1445 - Release 2.2 M2 (Moore). * DATACMNS-1439 - DefaultImplementationLookupConfiguration class should use Introspector.decapitalize(…) to generate the bean name. * DATACMNS-1438 - Annotation based auditing fails for annotation properties underneath collection valued subpath. * DATACMNS-1081 - Add Querydsl support for reactive repositories. Changes in version 2.1.5.RELEASE (2019-02-13) --------------------------------------------- * DATACMNS-1479 - Fix usage of PageRequest in reference documentation. * DATACMNS-1475 - Javadoc of Slice.nextPageable() and ….previousPageable() incorrect about nullability. * DATACMNS-1465 - Release 2.1.5 (Lovelace SR5). Changes in version 2.1.4.RELEASE (2019-01-10) --------------------------------------------- * DATACMNS-1461 - Auditor attempts to set created date on null object. * DATACMNS-1460 - Upgrade to Vavr 0.9.3. * DATACMNS-1459 - Update copyright years to 2019. * DATACMNS-1456 - ConcurrentModificationException in ExtensionAwareEvaluationContextProvider. * DATACMNS-1455 - HateoasPageableHandlerMethodArgumentResolver doesn't handle Pageable.unpaged() correctly. * DATACMNS-1453 - Wrong assertion in AuditingBeanDefinitionRegistrarSupport. * DATACMNS-1443 - QuerydslPredicateBuilder#isSingleElementCollectionWithoutText is too restrictive. * DATACMNS-1438 - Annotation based auditing fails for annotation properties underneath collection valued subpath. * DATACMNS-1436 - Remove explicit installation of Oracle JDK from Travis build. * DATACMNS-1435 - Map component and value type detection fails for Vavr Map. * DATACMNS-1426 - Release 2.1.4 (Lovelace SR4). * DATACMNS-1346 - Add a findByIdOrNull(…) Kotlin extension to CrudRepository. Changes in version 2.0.13.RELEASE (2019-01-10) ---------------------------------------------- * DATACMNS-1460 - Upgrade to Vavr 0.9.3. * DATACMNS-1459 - Update copyright years to 2019. * DATACMNS-1455 - HateoasPageableHandlerMethodArgumentResolver doesn't handle Pageable.unpaged() correctly. * DATACMNS-1453 - Wrong assertion in AuditingBeanDefinitionRegistrarSupport. * DATACMNS-1443 - QuerydslPredicateBuilder#isSingleElementCollectionWithoutText is too restrictive. * DATACMNS-1436 - Remove explicit installation of Oracle JDK from Travis build. * DATACMNS-1435 - Map component and value type detection fails for Vavr Map. * DATACMNS-1425 - Release 2.0.13 (Kay SR13). Changes in version 1.13.18.RELEASE (2019-01-10) ----------------------------------------------- * DATACMNS-1460 - Upgrade to Vavr 0.9.3. * DATACMNS-1459 - Update copyright years to 2019. * DATACMNS-1443 - QuerydslPredicateBuilder#isSingleElementCollectionWithoutText is too restrictive. * DATACMNS-1436 - Remove explicit installation of Oracle JDK from Travis build. * DATACMNS-1435 - Map component and value type detection fails for Vavr Map. * DATACMNS-1424 - Release 1.13.18 (Ingalls SR18). Changes in version 2.2.0.M1 (2018-12-11) ---------------------------------------- * DATACMNS-1444 - Add documentation section on Streamable and collection return types. * DATACMNS-1443 - QuerydslPredicateBuilder#isSingleElementCollectionWithoutText is too restrictive. * DATACMNS-1442 - Simplify reference documentation setup. * DATACMNS-1441 - Release 2.2 M1 (Moore). * DATACMNS-1440 - Add converters to create LocalDate(Time) and Instant instances from UTC formatted strings. * DATACMNS-1436 - Remove explicit installation of Oracle JDK from Travis build. * DATACMNS-1434 - Remove Javaslang support. * DATACMNS-1433 - Add Streamable.and(Iterable) and ….and(T...). * DATACMNS-1432 - Add Streamable.toList() and ….toSet() for convenience. * DATACMNS-1422 - ClassGeneratingPropertyAccessorFactory needs custom ClassLoader for defineClass(). * DATACMNS-1421 - Property sometimes unable to find wither. * DATACMNS-1419 - Introduce TypeInformation.isSubtypeOf(Class). * DATACMNS-1415 - ConcurrentModificationException in SpelAwareProxyProjectionFactory. * DATACMNS-1411 - Simplify TravisCI build definition. * DATACMNS-1403 - Fixed example source in reference documentation. * DATACMNS-1402 - Cannot instantiate Kotlin entity with 32 parameter constructor. * DATACMNS-1401 - Warning about illegal reflective access in Spring Data Commons / MongoDB. * DATACMNS-1400 - KotlinCopyMethod.findSyntheticCopyMethod(…) does not find default copy method with Kotlin 1.3. * DATACMNS-1399 - Incorrect Error message from RepositoryFragement at line 178. * DATACMNS-1396 - Locking overhead on Java 8 caused by ConcurrentHashMap.computeIfAbsent(…). * DATACMNS-1346 - Add a findByIdOrNull(…) Kotlin extension to CrudRepository. Changes in version 2.1.3.RELEASE (2018-11-27) --------------------------------------------- * DATACMNS-1422 - ClassGeneratingPropertyAccessorFactory needs custom ClassLoader for defineClass(). * DATACMNS-1421 - Property sometimes unable to find wither. * DATACMNS-1415 - ConcurrentModificationException in SpelAwareProxyProjectionFactory. * DATACMNS-1414 - Release 2.1.3 (Lovelace SR3). Changes in version 2.0.12.RELEASE (2018-11-27) ---------------------------------------------- * DATACMNS-1415 - ConcurrentModificationException in SpelAwareProxyProjectionFactory. * DATACMNS-1411 - Simplify TravisCI build definition. * DATACMNS-1407 - Release 2.0.12 (Kay SR12). * DATACMNS-1403 - Fixed example source in reference documentation. Changes in version 1.13.17.RELEASE (2018-11-27) ----------------------------------------------- * DATACMNS-1415 - ConcurrentModificationException in SpelAwareProxyProjectionFactory. * DATACMNS-1411 - Simplify TravisCI build definition. * DATACMNS-1408 - Release 1.13.17 (Ingalls SR17). Changes in version 2.1.2.RELEASE (2018-10-29) --------------------------------------------- * DATACMNS-1411 - Simplify TravisCI build definition. * DATACMNS-1406 - Release 2.1.2 (Lovelace SR2). * DATACMNS-1403 - Fixed example source in reference documentation. Changes in version 1.13.16.RELEASE (2018-10-15) ----------------------------------------------- * DATACMNS-1392 - Fix typo in Parameters.getParameter(…) exception message. * DATACMNS-1388 - Release 1.13.16 (Ingalls SR16). Changes in version 2.0.11.RELEASE (2018-10-15) ---------------------------------------------- * DATACMNS-1402 - Cannot instantiate Kotlin entity with 32 parameter constructor. * DATACMNS-1399 - Incorrect Error message from RepositoryFragement at line 178. * DATACMNS-1396 - Locking overhead on Java 8 caused by ConcurrentHashMap.computeIfAbsent(…). * DATACMNS-1392 - Fix typo in Parameters.getParameter(…) exception message. * DATACMNS-1390 - Release 2.0.11 (Kay SR11). Changes in version 2.1.1.RELEASE (2018-10-15) --------------------------------------------- * DATACMNS-1402 - Cannot instantiate Kotlin entity with 32 parameter constructor. * DATACMNS-1401 - Warning about illegal reflective access in Spring Data Commons / MongoDB. * DATACMNS-1400 - KotlinCopyMethod.findSyntheticCopyMethod(…) does not find default copy method with Kotlin 1.3. * DATACMNS-1399 - Incorrect Error message from RepositoryFragement at line 178. * DATACMNS-1396 - Locking overhead on Java 8 caused by ConcurrentHashMap.computeIfAbsent(…). * DATACMNS-1395 - Release 2.1.1 (Lovelace SR1). Changes in version 2.1.0.RELEASE (2018-09-21) --------------------------------------------- * DATACMNS-1392 - Fix typo in Parameters.getParameter(…) exception message. * DATACMNS-1391 - Generated Kotlin PropertyAccessor uses wrong copy method. * DATACMNS-1389 - RepositoryConfigurationExtensionSupport.useRepositoryConfiguration(...) fails in strict configuration mode. * DATACMNS-1387 - Wrong description for CurrentDateTimeProvider. * DATACMNS-1386 - SpringDataWebConfiguration cannot be introspected when Jackson is not available. * DATACMNS-1384 - Add support for java.sql.Timestamp in AnnotationRevisionMetadata. * DATACMNS-1383 - Custom extension of Pageable as parameter causes query method to be rejected. * DATACMNS-1378 - Release 2.1 GA (Lovelace). * DATACMNS-1374 - Document requirements and supported modes for mutable and immutable types. * DATACMNS-1174 - Improve error reporting for not supported repository interfaces. * DATACMNS-1032 - Deprecate UserCredentials and downstream clients. Changes in version 2.0.10.RELEASE (2018-09-10) ---------------------------------------------- * DATACMNS-1389 - RepositoryConfigurationExtensionSupport.useRepositoryConfiguration(...) fails in strict configuration mode. * DATACMNS-1387 - Wrong description for CurrentDateTimeProvider. * DATACMNS-1386 - SpringDataWebConfiguration cannot be introspected when Jackson is not available. * DATACMNS-1384 - Add support for java.sql.Timestamp in AnnotationRevisionMetadata. * DATACMNS-1383 - Custom extension of Pageable as parameter causes query method to be rejected. * DATACMNS-1376 - Assure JDK 11 compatibility for DefaultMethodInvokingMethodInterceptor. * DATACMNS-1375 - In case of failures, AnnotationRepositoryMetadata should be explicit about the offending repository interface. * DATACMNS-1373 - Align class loading in ClassGeneratingEntityInstantiator with ClassGeneratingPropertyAccessorFactory. * DATACMNS-1370 - Avoid superflous regex type checks while scanning for custom implementations. * DATACMNS-1369 - Repository initialization should make sure the aggregate root type gets added to the mapping context. * DATACMNS-1367 - Add debug logging to better identify repository scanning and initialization. * DATACMNS-1366 - Investigate performance regressions between 2.0 GA and 2.1 RC2. * DATACMNS-1364 - BasicPersistentEntity.getPersistentProperty(…) returns the unchecked value in ConcurrentReferenceHashMap. * DATACMNS-1362 - Broken Links in the Docs 404. * DATACMNS-1360 - Release 2.0.10 (Kay SR10). * DATACMNS-1359 - Improve exception message for missing accessors and fields. * DATACMNS-1351 - Fix typos in reference documentation. * DATACMNS-1174 - Improve error reporting for not supported repository interfaces. Changes in version 1.13.15.RELEASE (2018-09-10) ----------------------------------------------- * DATACMNS-1383 - Custom extension of Pageable as parameter causes query method to be rejected. * DATACMNS-1370 - Avoid superflous regex type checks while scanning for custom implementations. * DATACMNS-1367 - Add debug logging to better identify repository scanning and initialization. * DATACMNS-1362 - Broken Links in the Docs 404. * DATACMNS-1361 - Release 1.13.15 (Ingalls SR15). * DATACMNS-1351 - Fix typos in reference documentation. Changes in version 2.1.0.RC2 (2018-08-20) ----------------------------------------- * DATACMNS-1377 - ConvertingPropertyAccessor loses its converting power for nested properties. * DATACMNS-1376 - Assure JDK 11 compatibility for DefaultMethodInvokingMethodInterceptor. * DATACMNS-1375 - In case of failures, AnnotationRepositoryMetadata should be explicit about the offending repository interface. * DATACMNS-1373 - Align class loading in ClassGeneratingEntityInstantiator with ClassGeneratingPropertyAccessorFactory. * DATACMNS-1371 - Avoid excessive component scanning for repository fragments. * DATACMNS-1370 - Avoid superflous regex type checks while scanning for custom implementations. * DATACMNS-1369 - Repository initialization should make sure the aggregate root type gets added to the mapping context. * DATACMNS-1368 - Add support for deferred initialization of repositories. * DATACMNS-1367 - Add debug logging to better identify repository scanning and initialization. * DATACMNS-1366 - Investigate performance regressions between 2.0 GA and 2.1 RC2. * DATACMNS-1364 - BasicPersistentEntity.getPersistentProperty(…) returns the unchecked value in ConcurrentReferenceHashMap. * DATACMNS-1362 - Broken Links in the Docs 404. * DATACMNS-1359 - Improve exception message for missing accessors and fields. * DATACMNS-1358 - Release 2.1 RC2 (Lovelace). * DATACMNS-1351 - Fix typos in reference documentation. Changes in version 1.13.14.RELEASE (2018-07-27) ----------------------------------------------- * DATACMNS-1352 - AbstractMappingContext.getPersistentPropertyPath(…) fails on Object typed properties. * DATACMNS-1341 - Detect JDK proxy target class in ProxyUtils. * DATACMNS-1339 - Release 1.13.14 (Ingalls SR14). Changes in version 2.0.9.RELEASE (2018-07-26) --------------------------------------------- * DATACMNS-1357 - Use shared DefaultConversionService in ProxyProjectionFactory and ResultProcessor. * DATACMNS-1345 - Nullpointer Exception for optional mappingContext in the RepositoryFactoryBeanSupport. * DATACMNS-1342 - TypeInformation.isCollectionLike() does not consider Streamable. * DATACMNS-1341 - Detect JDK proxy target class in ProxyUtils. * DATACMNS-1340 - Release 2.0.9 (Kay SR9). Changes in version 2.1.0.RC1 (2018-07-26) ----------------------------------------- * DATACMNS-1357 - Use shared DefaultConversionService in ProxyProjectionFactory and ResultProcessor. * DATACMNS-1354 - Allow overriding the fallback IsNewStrategy for a BasicPersistentEntity. * DATACMNS-1345 - Nullpointer Exception for optional mappingContext in the RepositoryFactoryBeanSupport. * DATACMNS-1342 - TypeInformation.isCollectionLike() does not consider Streamable. * DATACMNS-1341 - Detect JDK proxy target class in ProxyUtils. * DATACMNS-1338 - Unable to use secondary @PersistenceConstructor with Kotlin data classes. * DATACMNS-1336 - Warning logs for JodaTime converters. * DATACMNS-1333 - Unify is-new-detection for entities in mapping package. * DATACMNS-1328 - DefaultRepositoryInvokerFactory throws ConcurrentModificationException with Java9. * DATACMNS-1327 - int overflow in AbstractPageRequest#getOffset(). * DATACMNS-1326 - PersistentPropertyInspectingIsNewStrategy does not consider primitive defaults new. * DATACMNS-1325 - Add IdentifierAccessor for Persistable. * DATACMNS-1324 - Add extensible proxy detection infrastructure. * DATACMNS-1322 - Add support for immutable objects in PersistentPropertyAccessor. * DATACMNS-1321 - Release 2.1 RC1 (Lovelace). * DATACMNS-1318 - Support for primitive aggregate references. * DATACMNS-1304 - PropertyPath is created wrong for property with uppercase letters at the end. * DATACMNS-983 - Support for Vavr's Try as query method return value. Changes in version 2.0.8.RELEASE (2018-06-13) --------------------------------------------- * DATACMNS-1338 - Unable to use secondary @PersistenceConstructor with Kotlin data classes. * DATACMNS-1336 - Warning logs for JodaTime converters. * DATACMNS-1328 - DefaultRepositoryInvokerFactory throws ConcurrentModificationException with Java9. * DATACMNS-1327 - int overflow in AbstractPageRequest#getOffset(). * DATACMNS-1326 - PersistentPropertyInspectingIsNewStrategy does not consider primitive defaults new. * DATACMNS-1325 - Add IdentifierAccessor for Persistable. * DATACMNS-1324 - Add extensible proxy detection infrastructure. * DATACMNS-1315 - Add coverpage for epub documentation output. * DATACMNS-1313 - Release 2.0.8 (Kay SR8). * DATACMNS-1304 - PropertyPath is created wrong for property with uppercase letters at the end. Changes in version 1.13.13.RELEASE (2018-06-13) ----------------------------------------------- * DATACMNS-1328 - DefaultRepositoryInvokerFactory throws ConcurrentModificationException with Java9. * DATACMNS-1326 - PersistentPropertyInspectingIsNewStrategy does not consider primitive defaults new. * DATACMNS-1325 - Add IdentifierAccessor for Persistable. * DATACMNS-1324 - Add extensible proxy detection infrastructure. * DATACMNS-1315 - Add coverpage for epub documentation output. * DATACMNS-1312 - Release 1.13.13 (Ingalls SR13). * DATACMNS-1304 - PropertyPath is created wrong for property with uppercase letters at the end. Changes in version 2.1.0.M3 (2018-05-17) ---------------------------------------- * DATACMNS-1315 - Add coverpage for epub documentation output. * DATACMNS-1311 - Upgrade to XMLBeam 1.4.15. * DATACMNS-1300 - ConverterNotFoundException or ClassCastException if an entity implements Iterable. * DATACMNS-1299 - Repository metadata obtains an incorrect return type of repository methods returning Iterables. * DATACMNS-1295 - Release 2.1 M3 (Lovelace). * DATACMNS-1294 - Consider types in java.time to be simple. * DATACMNS-1292 - Improve projection-based XML request data binding. * DATACMNS-1260 - Extract EvaluationContextProvider and SPIs into dedicated package. * DATACMNS-1258 - Provide API to detect SpEL expression in repository query strings. Changes in version 2.0.7.RELEASE (2018-05-08) --------------------------------------------- * DATACMNS-1311 - Upgrade to XMLBeam 1.4.15. * DATACMNS-1300 - ConverterNotFoundException or ClassCastException if an entity implements Iterable. * DATACMNS-1299 - Repository metadata obtains an incorrect return type of repository methods returning Iterables. * DATACMNS-1294 - Consider types in java.time to be simple. * DATACMNS-1293 - QuerydslPredicateArgumentResolver Javadoc points to outdated Querydsl package. * DATACMNS-1292 - Improve projection-based XML request data binding. * DATACMNS-1291 - Editing pass on documentation. * DATACMNS-1290 - AnnotationRevisionMetadata assumes field with revisionTimeStampAnnotation is of type TemporalAccessor. * DATACMNS-1289 - Call to save(…) on customized intermediate repository fails with "Object is not an instance of declaring class.". * DATACMNS-1288 - Release 2.0.7 (Kay SR7). * DATACMNS-1285 - PropertyPath should limit the depth of its input parsing. Changes in version 1.13.12.RELEASE (2018-05-08) ----------------------------------------------- * DATACMNS-1311 - Upgrade to XMLBeam 1.4.15. * DATACMNS-1308 - Application context fails to start when using a custom class loader is used. * DATACMNS-1301 - SimpleTypeInformationMapper.resolveTypeFrom(…) should cache type lookup failures to prevent repeated lookups. * DATACMNS-1300 - ConverterNotFoundException or ClassCastException if an entity implements Iterable. * DATACMNS-1299 - Repository metadata obtains an incorrect return type of repository methods returning Iterables. * DATACMNS-1294 - Consider types in java.time to be simple. * DATACMNS-1293 - QuerydslPredicateArgumentResolver Javadoc points to outdated Querydsl package. * DATACMNS-1292 - Improve projection-based XML request data binding. * DATACMNS-1291 - Editing pass on documentation. * DATACMNS-1287 - Release 1.13.12 (Ingalls SR12). * DATACMNS-1285 - PropertyPath should limit the depth of its input parsing. Changes in version 2.1.0.M2 (2018-04-13) ---------------------------------------- * DATACMNS-1293 - QuerydslPredicateArgumentResolver Javadoc points to outdated Querydsl package. * DATACMNS-1291 - Editing pass on documentation. * DATACMNS-1290 - AnnotationRevisionMetadata assumes field with revisionTimeStampAnnotation is of type TemporalAccessor. * DATACMNS-1289 - Call to save(…) on customized intermediate repository fails with "Object is not an instance of declaring class.". * DATACMNS-1285 - PropertyPath should limit the depth of its input parsing. * DATACMNS-1283 - Remove explicit declaration of Jackson libraries. * DATACMNS-1282 - Use SimpleEvaluationContext in MapDataBinder. * DATACMNS-1281 - ConcurrentModificationException in MappingAuditableBeanWrapperFactory. * DATACMNS-1280 - Fix letter-casing in documentation of Querydsl Extension. * DATACMNS-1278 - SimpleTypeHolder.isSimpleType(…) returns different results for enums implementing interfaces. * DATACMNS-1277 - ReflectionRepositoryInvoker does not properly trigger delete(T) for invokeDeleteById(…). * DATACMNS-1275 - Add ability to find PersistentPropertyPaths based on arbitrary filter. * DATACMNS-1274 - Allow the usage of auditing annotation in nested types. * DATACMNS-1271 - NPE in AnnotationBasedPersistentProperty.isAnnotationPresent() because the annotation cache is not thread-safe. * DATACMNS-1264 - MapDataBinder should reject type expressions in SpEL expressions. * DATACMNS-1263 - Allow configuration inspection-classloader customization. * DATACMNS-1259 - Invalid date type for member Long when using @LastModifiedDate and @CreatedDate. * DATACMNS-1257 - Release 2.1 M2 (Lovelace). * DATACMNS-1255 - Extend configuration of CDI repository settings. * DATACMNS-1251 - Wrong usage of LocalDateTime. * DATACMNS-1233 - Add CDI support for repository fragments (mixins). Changes in version 2.0.6.RELEASE (2018-04-04) --------------------------------------------- * DATACMNS-1284 - Backport ASM-based property detection for projections. * DATACMNS-1283 - Remove explicit declaration of Jackson libraries. * DATACMNS-1282 - Use SimpleEvaluationContext in MapDataBinder. * DATACMNS-1281 - ConcurrentModificationException in MappingAuditableBeanWrapperFactory. * DATACMNS-1280 - Fix letter-casing in documentation of Querydsl Extension. * DATACMNS-1278 - SimpleTypeHolder.isSimpleType(…) returns different results for enums implementing interfaces. * DATACMNS-1277 - ReflectionRepositoryInvoker does not properly trigger delete(T) for invokeDeleteById(…). * DATACMNS-1271 - NPE in AnnotationBasedPersistentProperty.isAnnotationPresent() because the annotation cache is not thread-safe. * DATACMNS-1267 - Release 2.0.6 (Kay SR6). * DATACMNS-1263 - Allow configuration inspection-classloader customization. Changes in version 1.13.11.RELEASE (2018-04-04) ----------------------------------------------- * DATACMNS-1284 - Backport ASM-based property detection for projections. * DATACMNS-1283 - Remove explicit declaration of Jackson libraries. * DATACMNS-1282 - Use SimpleEvaluationContext in MapDataBinder. * DATACMNS-1281 - ConcurrentModificationException in MappingAuditableBeanWrapperFactory. * DATACMNS-1273 - AnnotationBasedPersistentProperty does not consider @AliasFor with own, revised annotations. * DATACMNS-1271 - NPE in AnnotationBasedPersistentProperty.isAnnotationPresent() because the annotation cache is not thread-safe. * DATACMNS-1264 - MapDataBinder should reject type expressions in SpEL expressions. * DATACMNS-1252 - Repository method returning Vavr Set results in cast exception if source value is not a Set. * DATACMNS-1249 - Fix line endings. * DATACMNS-1248 - Release 1.13.11 (Ingalls SR11). * DATACMNS-1243 - Add converters Instant <-> LocalDateTime. Changes in version 2.0.5.RELEASE (2018-02-28) --------------------------------------------- * DATACMNS-1264 - MapDataBinder should reject type expressions in SpEL expressions. * DATACMNS-1262 - Release 2.0.5 (Kay SR5). Changes in version 2.0.4.RELEASE (2018-02-19) --------------------------------------------- * DATACMNS-1259 - Invalid date type for member Long when using @LastModifiedDate and @CreatedDate. * DATACMNS-1252 - Repository method returning Vavr Set results in cast exception if source value is not a Set. * DATACMNS-1250 - Release 2.0.4 (Kay SR4). * DATACMNS-1243 - Add converters Instant <-> LocalDateTime. Changes in version 2.1.0.M1 (2018-02-06) ---------------------------------------- * DATACMNS-1252 - Repository method returning Vavr Set results in cast exception if source value is not a Set. * DATACMNS-1249 - Fix line endings. * DATACMNS-1246 - Investigate optimizing the happy path in QueryExecutorMethodInterceptor.invoke(…). * DATACMNS-1245 - Consider Kotlin metadata annotation for Kotlin class kind retrieval. * DATACMNS-1243 - Add converters Instant <-> LocalDateTime. * DATACMNS-1242 - Reduce log output in test execution. * DATACMNS-1241 - Polish Lazy implementation. * DATACMNS-1240 - Update copyright years to 2018. * DATACMNS-1238 - Use Environment specific ClassPathScanningCandidateComponentProvider constructor. * DATACMNS-1237 - Projecting form binding does not work with @ModelAttribute. * DATACMNS-1236 - Inconsistent nullability constraints in PageImpl Javadoc. * DATACMNS-1235 - Additional implementations of EntityPathResolver for supporting Querydsls packageSuffix. * DATACMNS-1229 - Upgrade to XmlBeam 1.4.14. * DATACMNS-1227 - Document web projection binding mechanism. * DATACMNS-1224 - Nullable polishing. * DATACMNS-1218 - Upgrade to Vavr 0.9.2. * DATACMNS-1215 - Repositories does not expose registered repository for proxy type. * DATACMNS-1214 - MappingContext.getPersistentEntity(PersistentProperty) must only return an entity if the given property is one. * DATACMNS-1210 - Thread-safetey issue in annotation detection in BasicPersistentEntity. * DATACMNS-1208 - AbstractMappingContext.hasPersistentEntity(…) does not consider cached abscence. * DATACMNS-1206 - Introduce abstraction to detect declared methods in declaration order. * DATACMNS-1201 - ClassGeneratingPropertyAccessorFactory.isTypeInjectable(…) fails with NPE for entities in default packages. * DATACMNS-1200 - Absent parameters cause NPE in ClassGeneratingEntityInstantiator. * DATACMNS-1199 - Add PropertyPath.nested(…). * DATACMNS-1198 - Add PropertyPath.getLeafType(). * DATACMNS-1197 - Adding kotlin property to (extension) interface yields IllegalArgumentException on invocation. * DATACMNS-1196 - Failing generic type resolution of generic types within nested generic fields. * DATACMNS-1193 - Typo in documentation and JavaDoc of PageableDefaults. * DATACMNS-1191 - Avoid unnecessary conversion invocation after Optional unwrapping. * DATACMNS-1190 - Add documentation section about ways to enforce nullability constraints in repositories. * DATACMNS-1188 - Reflect CrudRepository naming and API changes in reference documentation. * DATACMNS-1187 - Broken links in query-by-example sections in reference documentation. * DATACMNS-1186 - Release 2.1 M1 (Lovelace). * DATACMNS-1180 - AbstractPersistentProperty.getGetter() returns null if the return type of the getter is a generic type. * DATACMNS-1158 - Make ProjectionFactory configurable by module implementations. * DATACMNS-901 - Potential deadlock in AbstractMappingContext when creating bean while application event is being fired. * DATACMNS-563 - When true setOneIndexedParameters still behaves as false in the links of the json response. Changes in version 2.0.3.RELEASE (2018-01-24) --------------------------------------------- * DATACMNS-1249 - Fix line endings. * DATACMNS-1246 - Investigate optimizing the happy path in QueryExecutorMethodInterceptor.invoke(…). * DATACMNS-1245 - Consider Kotlin metadata annotation for Kotlin class kind retrieval. * DATACMNS-1242 - Reduce log output in test execution. * DATACMNS-1238 - Use Environment specific ClassPathScanningCandidateComponentProvider constructor. * DATACMNS-1237 - Projecting form binding does not work with @ModelAttribute. * DATACMNS-1236 - Inconsistent nullability constraints in PageImpl Javadoc. * DATACMNS-1229 - Upgrade to XmlBeam 1.4.14. * DATACMNS-1227 - Document web projection binding mechanism. * DATACMNS-1224 - Nullable polishing. * DATACMNS-1220 - Release 2.0.3 (Kay SR3). * DATACMNS-563 - When true setOneIndexedParameters still behaves as false in the links of the json response. Changes in version 1.13.10.RELEASE (2018-01-24) ----------------------------------------------- * DATACMNS-1246 - Investigate optimizing the happy path in QueryExecutorMethodInterceptor.invoke(…). * DATACMNS-1242 - Reduce log output in test execution. * DATACMNS-1238 - Use Environment specific ClassPathScanningCandidateComponentProvider constructor. * DATACMNS-1237 - Projecting form binding does not work with @ModelAttribute. * DATACMNS-1229 - Upgrade to XmlBeam 1.4.14. * DATACMNS-1227 - Document web projection binding mechanism. * DATACMNS-1219 - Release 1.13.10 (Ingalls SR10). * DATACMNS-563 - When true setOneIndexedParameters still behaves as false in the links of the json response. Changes in version 2.0.2.RELEASE (2017-11-27) --------------------------------------------- * DATACMNS-1218 - Upgrade to Vavr 0.9.2. * DATACMNS-1215 - Repositories does not expose registered repository for proxy type. * DATACMNS-1214 - MappingContext.getPersistentEntity(PersistentProperty) must only return an entity if the given property is one. * DATACMNS-1210 - Thread-safetey issue in annotation detection in BasicPersistentEntity. * DATACMNS-1208 - AbstractMappingContext.hasPersistentEntity(…) does not consider cached abscence. * DATACMNS-1202 - Release 2.0.2 (Kay SR2). * DATACMNS-1158 - Make ProjectionFactory configurable by module implementations. Changes in version 1.13.9.RELEASE (2017-11-27) ---------------------------------------------- * DATACMNS-1218 - Upgrade to Vavr 0.9.2. * DATACMNS-1215 - Repositories does not expose registered repository for proxy type. * DATACMNS-1214 - MappingContext.getPersistentEntity(PersistentProperty) must only return an entity if the given property is one. * DATACMNS-1201 - ClassGeneratingPropertyAccessorFactory.isTypeInjectable(…) fails with NPE for entities in default packages. * DATACMNS-1196 - Failing generic type resolution of generic types within nested generic fields. * DATACMNS-1195 - Release 1.13.9 (Ingalls SR9). * DATACMNS-1158 - Make ProjectionFactory configurable by module implementations. Changes in version 2.0.1.RELEASE (2017-10-27) --------------------------------------------- * DATACMNS-1201 - ClassGeneratingPropertyAccessorFactory.isTypeInjectable(…) fails with NPE for entities in default packages. * DATACMNS-1200 - Absent parameters cause NPE in ClassGeneratingEntityInstantiator. * DATACMNS-1197 - Adding kotlin property to (extension) interface yields IllegalArgumentException on invocation. * DATACMNS-1196 - Failing generic type resolution of generic types within nested generic fields. * DATACMNS-1193 - Typo in documentation and JavaDoc of PageableDefaults. * DATACMNS-1191 - Avoid unnecessary conversion invocation after Optional unwrapping. * DATACMNS-1190 - Add documentation section about ways to enforce nullability constraints in repositories. * DATACMNS-1188 - Reflect CrudRepository naming and API changes in reference documentation. * DATACMNS-1187 - Broken links in query-by-example sections in reference documentation. * DATACMNS-1185 - Release 2.0.1 (Kay SR1). * DATACMNS-901 - Potential deadlock in AbstractMappingContext when creating bean while application event is being fired. Changes in version 1.13.8.RELEASE (2017-10-11) ---------------------------------------------- * DATACMNS-1193 - Typo in documentation and JavaDoc of PageableDefaults. * DATACMNS-1182 - Java 6 compatibility broken in QueryExecutionConverters in post Ingalls SR7 snapshots. * DATACMNS-1177 - Parameter.isDynamicProjectionParameter() does not handle wrapper types properly. * DATACMNS-1172 - Too excessive component scanning for repository implementation fragments causing slow bootstrap. * DATACMNS-1166 - Upgrade to Vavr 0.9.1. * DATACMNS-1163 - Aggregate event publishing should prefer parameters instead of returned values from save(…). * DATACMNS-1155 - Release 1.13.8 (Ingalls SR8). * DATACMNS-901 - Potential deadlock in AbstractMappingContext when creating bean while application event is being fired. Changes in version 2.0.0.RELEASE (2017-10-02) --------------------------------------------- * DATACMNS-1184 - QuerydslPredicateExecutor Javadoc allows null predicates. * DATACMNS-1179 - Adapt to changed Spring Framework 5 documentation structure. * DATACMNS-1177 - Parameter.isDynamicProjectionParameter() does not handle wrapper types properly. * DATACMNS-1175 - EntityInstantiators deallocate params required for instantiation of parent object. * DATACMNS-1173 - AnnotationRevisionMetadata throws ClassCastException. * DATACMNS-1172 - Too excessive component scanning for repository implementation fragments causing slow bootstrap. * DATACMNS-1171 - PreferredConstructorDiscoverer attempts constructor discovery on synthetic Kotlin class. * DATACMNS-1170 - PreferredConstructor discovery fails for Kotlin types without primary constructor. * DATACMNS-1168 - QuerydslPredicateBuilder must not return null for empty predicate. * DATACMNS-1167 - Add explicit automatic module name for Java 9. * DATACMNS-1166 - Upgrade to Vavr 0.9.1. * DATACMNS-1165 - Add support for using Streamable as return type in repository methods. * DATACMNS-1163 - Aggregate event publishing should prefer parameters instead of returned values from save(…). * DATACMNS-1162 - Improve AbstractAggregateRoot to support immutable aggregates. * DATACMNS-1161 - Rename PersistentProperty.getPersistentEntityType() to a plural name since it returns an Iterable.. * DATACMNS-1159 - Upgrade to OpenWebBeans 2.0.1. * DATACMNS-1157 - Enforce nullable/non-null API constraints on repository query methods. * DATACMNS-1156 - Release 2.0 GA (Kay). Changes in version 2.0.0.RC3 (2017-09-11) ----------------------------------------- * DATACMNS-1153 - Remove unreachable assertion in XmlRepositoryConfigurationSource. * DATACMNS-1152 - Jackson configuration is not used by ProjectingJackson2HttpMessageConverter. * DATACMNS-1150 - Support parameters in @Value-backed methods of projection interfaces. * DATACMNS-1148 - Return primitive boolean in PartTree.isExistsProjection(...). * DATACMNS-1147 - @NoRepositoryBean interfaces are considered as fragment interfaces. * DATACMNS-1144 - @JsonPath should support multiple paths. * DATACMNS-1143 - Improve design of AbstractAggregateRoot. * DATACMNS-1141 - Add missing NonNullApi annotations. * DATACMNS-1140 - Open up Query by Example to allow extension in module implementations. * DATACMNS-1139 - AbstractPersistentProperty.getRawType() does not consider generics. * DATACMNS-1138 - Invalid generics resolution for locally declared wildcard and fully resolved target type. * DATACMNS-1136 - Update reference documentation for composite repositories. * DATACMNS-1135 - Incorrect generic type resolution for multiply nested types of same wrapper. * DATACMNS-1130 - Release 2.0 RC3 (Kay). * DATACMNS-1126 - Assert compatibility with Kotlin classes using default constructor arguments. * DATACMNS-1080 - Inject generated property accessor classes via ReflectUtils.defineClass(…). * DATACMNS-1077 - Remove RxJava1CrudRepository and RxJava1SortingRepository interfaces. * DATACMNS-1011 - Improve documentation for projections. Changes in version 1.13.7.RELEASE (2017-09-11) ---------------------------------------------- * DATACMNS-1153 - Remove unreachable assertion in XmlRepositoryConfigurationSource. * DATACMNS-1152 - Jackson configuration is not used by ProjectingJackson2HttpMessageConverter. * DATACMNS-1151 - Generated property accessors fail to load when using with signed jars. * DATACMNS-1145 - @JsonPath value lookups should return null for non-existent paths. * DATACMNS-1143 - Improve design of AbstractAggregateRoot. * DATACMNS-1139 - AbstractPersistentProperty.getRawType() does not consider generics. * DATACMNS-1138 - Invalid generics resolution for locally declared wildcard and fully resolved target type. * DATACMNS-1135 - Incorrect generic type resolution for multiply nested types of same wrapper. * DATACMNS-1131 - Release 1.13.7 (Ingalls SR7). Changes in version 1.13.6.RELEASE (2017-07-26) ---------------------------------------------- * DATACMNS-1127 - Release 1.13.6 (Ingalls SR6). Changes in version 2.0.0.RC2 (2017-07-25) ----------------------------------------- * DATACMNS-1129 - PartTree for empty predicate should be empty iterable. * DATACMNS-1128 - Release 2.0 RC2 (Kay). Changes in version 2.0.0.RC1 (2017-07-25) ----------------------------------------- * DATACMNS-1124 - Upgrade to Javaslang 2.0.6. * DATACMNS-1123 - Make sure XmlBeamHttpMessageConverter still works on XmlBeam > 1.4.10. * DATACMNS-1122 - PersistentEntity.getRequiredPersistentProperty() does not report property name. * DATACMNS-1121 - Avoid unnecessary proxy creation if target instance already implements projection interface. * DATACMNS-1120 - Introduce caching for PropertyPath. * DATACMNS-1119 - Switch to ConcurrentReferenceHashMap for ClassTypeInformation caching. * DATACMNS-1118 - Inherit Project Reactor version from dependency management. * DATACMNS-1117 - RepositoryFactoryBeanSupport.getRepositoryInformation() does not set up RepositoryComposition correctly. * DATACMNS-1116 - Cache PersistentPropertyPath instances in AbstractMappingContext. * DATACMNS-1115 - RepositoryBeanNameGenerator fails to resolve bean names for custom implementations detected via Spring's component index. * DATACMNS-1114 - Introduce nullable annotations. * DATACMNS-1113 - API polishing in MappingContext. * DATACMNS-1112 - Cache instances of ReturnedType to avoid inspection overhead on creation. * DATACMNS-1110 - Introduce StreamUtils.createStreamFromIterator(CloseableIterator) to avoid instance of check. * DATACMNS-1109 - Allow any TemporalAccessor to be used as last modified date in auditing. * DATACMNS-1107 - Cache ProjectionInformation instances created. * DATACMNS-1106 - Remove deprecations in ProjectionFactory. * DATACMNS-1104 - Degraph dependency has wrong scope. * DATACMNS-1102 - Avoid superfluous recreation of DefaultConversionService in ResultProcessor. * DATACMNS-1101 - Improve mapping performance caused by overuse of Optional and Stream. * DATACMNS-1097 - Move classes to better matching packages. * DATACMNS-1096 - Remove references to Spring's converter from domain package. * DATACMNS-1095 - ClassGeneratingEntityInstantiator never gets used as ObjectInstantiator is not visible. * DATACMNS-1091 - Sporadic test failures in tests for JSR-310 conversions. * DATACMNS-1090 - Release 2.0 RC1 (Kay). * DATACMNS-1085 - Small documentation improvements. Changes in version 1.13.5.RELEASE (2017-07-24) ---------------------------------------------- * DATACMNS-1124 - Upgrade to Javaslang 2.0.6. * DATACMNS-1123 - Make sure XmlBeamHttpMessageConverter still works on XmlBeam > 1.4.10. * DATACMNS-1121 - Avoid unnecessary proxy creation if target instance already implements projection interface. * DATACMNS-1115 - RepositoryBeanNameGenerator fails to resolve bean names for custom implementations detected via Spring's component index. * DATACMNS-1102 - Avoid superfluous recreation of DefaultConversionService in ResultProcessor. * DATACMNS-1095 - ClassGeneratingEntityInstantiator never gets used as ObjectInstantiator is not visible. * DATACMNS-1087 - Converting to Vavr Option fails for present value. * DATACMNS-1085 - Small documentation improvements. * DATACMNS-1084 - Release 1.13.5 (Ingalls SR5). Changes in version 2.0.0.M4 (2017-06-14) ---------------------------------------- * DATACMNS-1089 - Prepare upgrade to AssertJ 3.8. * DATACMNS-1082 - Synthetic constructors should not be considered persistence constructors. * DATACMNS-1079 - ClassGeneratingPropertyAccessorFactory fails on Java 9. * DATACMNS-1076 - Deprecate RxJava1CrudRepository and RxJava1SortingRepository interfaces. * DATACMNS-1074 - Avoid hidden exceptions from Lookup.unreflectSpecial(…) in default method invocations. * DATACMNS-1071 - Redundant on findAll(). * DATACMNS-1067 - EventPublishingRepositoryProxyPostProcessor tries to call clearing method on plain method argument. * DATACMNS-1066 - AccessControlException from ClassGeneratingPropertyAccessorFactory. * DATACMNS-1065 - Add support for Vavr (successor of Javaslang). * DATACMNS-1064 - Remove obsolete Travis build profiles. * DATACMNS-1063 - Accept Publisher instead of Mono in findById(…), existsById(…) and deleteById(…). * DATACMNS-1062 - Make sure Travis builds always use fresh dependencies. * DATACMNS-1060 - Release 2.0 M4 (Kay). * DATACMNS-1059 - QuerydslPredicateExecutor.findOne should return Optional. * DATACMNS-1058 - QueryByExampleExecutor.find one should return Optional. * DATACMNS-1026 - ExtensionAwareEvaluationContextProvider should return all overloaded methods as functions. * DATACMNS-995 - Create ReactiveQueryByExampleExecutor allowing reactive query by example. * DATACMNS-991 - Update DefaultMethodInvokingMethodInterceptor to Java 9 compatible method handle invocation. * DATACMNS-822 - Provide a simple way to customize configuration of default pageable and sort resolvers. * DATACMNS-764 - Disambiguate custom repository implementation for implementations with same name in different packages. * DATACMNS-102 - Allow Repositories to be composed of an arbitrary number of implementation classes. Changes in version 1.13.4.RELEASE (2017-06-08) ---------------------------------------------- * DATACMNS-1082 - Synthetic constructors should not be considered persistence constructors. * DATACMNS-1074 - Avoid hidden exceptions from Lookup.unreflectSpecial(…) in default method invocations. * DATACMNS-1067 - EventPublishingRepositoryProxyPostProcessor tries to call clearing method on plain method argument. * DATACMNS-1066 - AccessControlException from ClassGeneratingPropertyAccessorFactory. * DATACMNS-1065 - Add support for Vavr (successor of Javaslang). * DATACMNS-1062 - Make sure Travis builds always use fresh dependencies. * DATACMNS-1047 - Release 1.13.4 (Ingalls SR4). Changes in version 1.12.11.RELEASE (2017-06-07) ----------------------------------------------- * DATACMNS-1082 - Synthetic constructors should not be considered persistence constructors. * DATACMNS-1074 - Avoid hidden exceptions from Lookup.unreflectSpecial(…) in default method invocations. * DATACMNS-1062 - Make sure Travis builds always use fresh dependencies. * DATACMNS-1046 - Release 1.12.11 (Hopper SR11). Changes in version 2.0.0.M3 (2017-05-09) ---------------------------------------- * DATACMNS-1057 - Remove Optionals from Querydsl SingleValueBinding. * DATACMNS-1056 - QueryExecutionResultHandler erroneously re-wraps Optional result sources. * DATACMNS-1053 - EntityInformation should expose getRequiredId(…). * DATACMNS-1052 - Sort should implement Streamable. * DATACMNS-1050 - Introduce Bound value object for Range. * DATACMNS-1043 - Slice/Page should expose Pageable. * DATACMNS-1042 - Self Link created by PagedResourcesAssembler should have pagination request parameters. * DATACMNS-1040 - Remove exclusion for Commons Logging. * DATACMNS-1037 - Release 2.0 M3 (Kay). * DATACMNS-1035 - Extract CustomConversions from MongoDB, Couchbase and Cassandra. * DATACMNS-1021 - Add Order.asc(…) and Order.desc(…) factory methods. * DATACMNS-1014 - Remove support for JodaTime's deprecated DateMidnight. * DATACMNS-993 - Clean up class loader hacking in tests. * DATACMNS-944 - Move to better naming scheme of methods in repository interfaces. Changes in version 1.12.10.RELEASE (2017-04-19) ----------------------------------------------- * DATACMNS-1045 - Release 1.12.10 (Hopper SR10). Changes in version 1.13.3.RELEASE (2017-04-19) ---------------------------------------------- * DATACMNS-1044 - Release 1.13.3 (Ingalls SR3). Changes in version 1.12.9.RELEASE (2017-04-19) ---------------------------------------------- * DATACMNS-1042 - Self Link created by PagedResourcesAssembler should have pagination request parameters. * DATACMNS-1008 - Custom implementation of CrudRepository.save(…) not called if generics not declared exactly. * DATACMNS-1006 - SimpleTypeHolder should consider java.lang types simple ones. * DATACMNS-1004 - Release 1.12.9 (Hopper SR9). * DATACMNS-993 - Clean up class loader hacking in tests. Changes in version 1.13.2.RELEASE (2017-04-19) ---------------------------------------------- * DATACMNS-1042 - Self Link created by PagedResourcesAssembler should have pagination request parameters. * DATACMNS-1008 - Custom implementation of CrudRepository.save(…) not called if generics not declared exactly. * DATACMNS-1006 - SimpleTypeHolder should consider java.lang types simple ones. * DATACMNS-1005 - Javaslang collections cannot be returned from paginating query methods. * DATACMNS-1003 - Release 1.13.2 (Ingalls SR2). * DATACMNS-993 - Clean up class loader hacking in tests. Changes in version 2.0.0.M2 (2017-04-04) ---------------------------------------- * DATACMNS-1027 - Adapt to API changes in AssertJ 3.6. * DATACMNS-1024 - RootObjectInformation.getFunctions(…) fails with overloaded methods. * DATACMNS-1020 - Improvements to revision package. * DATACMNS-1018 - Reinstantiate ability to customize repository factory bean through annotation and XML namespace. * DATACMNS-1015 - Introduce IdentifierAccessor.getRequiredIdentifier(). * DATACMNS-1008 - Custom implementation of CrudRepository.save(…) not called if generics not declared exactly. * DATACMNS-1007 - Add IsEmpty and IsNotEmpty keywords to query derivation. * DATACMNS-1006 - SimpleTypeHolder should consider java.lang types simple ones. * DATACMNS-1005 - Javaslang collections cannot be returned from paginating query methods. * DATACMNS-1000 - Typo in reference documentation about domain events. * DATACMNS-999 - Improve resource extensive error message concatenation. * DATACMNS-989 - CustomRepositoryImplementationDetector ignores excludeFilters. * DATACMNS-988 - Provide RxJava 2 Repository interfaces. * DATACMNS-987 - SpringDataWebConfiguration now forces an application to have Jackson on the classpath if it uses JSON Path. * DATACMNS-985 - Remove references to single-argument assertion methods of Spring. * DATACMNS-981 - AnnotationBasedPersistentProperty does not consider @AliasFor with own, revised annotations. * DATACMNS-977 - Introduce support for component index creation in Spring 5. * DATACMNS-975 - Aggregate event publication should happen after the interaction with the repository. * DATACMNS-974 - Update project documentation with the CLA tool integration. * DATACMNS-973 - Migrate ticket references in test code to Spring Framework style. * DATACMNS-972 - NullPointerException in ProjectingJackson2HttpMessageConverter. * DATACMNS-967 - Default accessors on projection interfaces must not be considered input properties. * DATACMNS-963 - ReturnedType.getInputProperties() does not guarantee distinct properties. * DATACMNS-962 - Doc spelling mistake 'walking thought'. * DATACMNS-961 - Upgrade to a newer JDK version on TravisCI. * DATACMNS-960 - RevisionRepository should extend Repository. * DATACMNS-959 - Register repository interceptor to allow detecting a surrounding transaction. * DATACMNS-958 - Use ExposeInvocationInterceptor.ADVISOR over the advice instance. * DATACMNS-957 - Persist fails on entity without id and version field if @EnableAuditing. * DATACMNS-956 - Ensure consistent usage of ClassTypeInformation.from(…). * DATACMNS-953 - GenericPropertyMatchers.exact() should use exact matching. * DATACMNS-952 - Switch to less expensive lookup of Spring Data web support configuration. * DATACMNS-951 - Add Converters for JSR-310 Duration and Period. * DATACMNS-947 - Adopt ReactiveTypeDescriptor changes. * DATACMNS-943 - Redeclared save(Iterable) results in wrong method overload to be invoked eventually. * DATACMNS-942 - Release 2.0 M2 (Kay). * DATACMNS-941 - QuerydslBindings not working with inheritance. * DATACMNS-940 - Support for Javaslang collection types as query method return values. * DATACMNS-934 - BasicPersistentEntity.addAssociations(…) must not add null values to the collection of associations. * DATACMNS-928 - Support for exposing domain events from aggregate roots as Spring application events. * DATACMNS-867 - Upgrade to Java 8 and adapt APIs. * DATACMNS-776 - ProxyingHandlerMethodArgumentResolver handles interfaces not intended for projection. Changes in version 1.12.8.RELEASE (2017-03-02) ---------------------------------------------- * DATACMNS-999 - Improve resource extensive error message concatenation. * DATACMNS-989 - CustomRepositoryImplementationDetector ignores excludeFilters. * DATACMNS-985 - Remove references to single-argument assertion methods of Spring. * DATACMNS-979 - Release 1.12.8 (Hopper SR8). Changes in version 1.13.1.RELEASE (2017-03-02) ---------------------------------------------- * DATACMNS-1000 - Typo in reference documentation about domain events. * DATACMNS-999 - Improve resource extensive error message concatenation. * DATACMNS-989 - CustomRepositoryImplementationDetector ignores excludeFilters. * DATACMNS-987 - SpringDataWebConfiguration now forces an application to have Jackson on the classpath if it uses JSON Path. * DATACMNS-985 - Remove references to single-argument assertion methods of Spring. * DATACMNS-980 - Release 1.13.1 (Ingalls SR1). Changes in version 1.12.7.RELEASE (2017-01-26) ---------------------------------------------- * DATACMNS-967 - Default accessors on projection interfaces must not be considered input properties. * DATACMNS-964 - Release 1.12.7 (Hopper SR7). * DATACMNS-957 - Persist fails on entity without id and version field if @EnableAuditing. * DATACMNS-776 - ProxyingHandlerMethodArgumentResolver handles interfaces not intended for projection. Changes in version 1.13.0.RELEASE (2017-01-26) ---------------------------------------------- * DATACMNS-975 - Aggregate event publication should happen after the interaction with the repository. * DATACMNS-974 - Update project documentation with the CLA tool integration. * DATACMNS-973 - Migrate ticket references in test code to Spring Framework style. * DATACMNS-972 - NullPointerException in ProjectingJackson2HttpMessageConverter. * DATACMNS-967 - Default accessors on projection interfaces must not be considered input properties. * DATACMNS-965 - Release 1.13 GA (Ingalls). * DATACMNS-957 - Persist fails on entity without id and version field if @EnableAuditing. * DATACMNS-776 - ProxyingHandlerMethodArgumentResolver handles interfaces not intended for projection. Changes in version 1.12.6.RELEASE (2016-12-21) ---------------------------------------------- * DATACMNS-963 - ReturnedType.getInputProperties() does not guarantee distinct properties. * DATACMNS-962 - Doc spelling mistake 'walking thought'. * DATACMNS-958 - Use ExposeInvocationInterceptor.ADVISOR over the advice instance. * DATACMNS-956 - Ensure consistent usage of ClassTypeInformation.from(…). * DATACMNS-953 - GenericPropertyMatchers.exact() should use exact matching. * DATACMNS-943 - Redeclared save(Iterable) results in wrong method overload to be invoked eventually. * DATACMNS-939 - Static interface methods should not be considered query methods. * DATACMNS-934 - BasicPersistentEntity.addAssociations(…) must not add null values to the collection of associations. * DATACMNS-932 - Release 1.12.6 (Hopper SR6). Changes in version 1.13.0.RC1 (2016-12-21) ------------------------------------------ * DATACMNS-963 - ReturnedType.getInputProperties() does not guarantee distinct properties. * DATACMNS-962 - Doc spelling mistake 'walking thought'. * DATACMNS-961 - Upgrade to a newer JDK version on TravisCI. * DATACMNS-960 - RevisionRepository should extend Repository. * DATACMNS-959 - Register repository interceptor to allow detecting a surrounding transaction. * DATACMNS-958 - Use ExposeInvocationInterceptor.ADVISOR over the advice instance. * DATACMNS-956 - Ensure consistent usage of ClassTypeInformation.from(…). * DATACMNS-953 - GenericPropertyMatchers.exact() should use exact matching. * DATACMNS-952 - Switch to less expensive lookup of Spring Data web support configuration. * DATACMNS-951 - Add Converters for JSR-310 Duration and Period. * DATACMNS-943 - Redeclared save(Iterable) results in wrong method overload to be invoked eventually. * DATACMNS-941 - QuerydslBindings not working with inheritance. * DATACMNS-940 - Support for Javaslang collection types as query method return values. * DATACMNS-939 - Static interface methods should not be considered query methods. * DATACMNS-937 - Support for Javaslang's Option as return type of query methods. * DATACMNS-934 - BasicPersistentEntity.addAssociations(…) must not add null values to the collection of associations. * DATACMNS-929 - PageableHandlerMethodArgumentResolver.isFallbackPageable() throws NullPointerException if default is configured to be null. * DATACMNS-928 - Support for exposing domain events from aggregate roots as Spring application events. * DATACMNS-925 - Improve memory consumption of Parameter and Parameters. * DATACMNS-923 - Remove obsolete code in DefaultRepositoryInformation. * DATACMNS-921 - ResultProcessor should create approximate collection instead of exact one. * DATACMNS-920 - Expose minInclusive and maxInclusive of org.springframework.data.domain.Range. * DATACMNS-918 - Provide interfaces for Pageable and Sort method argument resolvers. * DATACMNS-917 - Query methods returning Maps shouldn't return null if no result is present. * DATACMNS-916 - Generated PropertyAccessor fails lookup of setter accepting a primitive type. * DATACMNS-912 - Unable to write custom implementation of CRUD method with generic parameters. * DATACMNS-910 - Remove Spring 4.2 build profile for Travis. * DATACMNS-909 - Exclude decoratedClass from JSON links, created from Projection and received with Spring @RestController. * DATACMNS-908 - Allow creating an Order with a different property name. * DATACMNS-903 - Fix typo in reference documentation. * DATACMNS-902 - Fix attribute name in example showing how to define a custom repository base class. * DATACMNS-900 - ExampleMatcher.PropertySpecifiers does not implement equals/hashCode. * DATACMNS-899 - ParameterizedTypeInformation.getMapValueType for non-map types causes StackOverflowError. * DATACMNS-896 - ClassTypeInformation computes incorrect TypeVariable mappings for recursive generics. * DATACMNS-892 - Expose repository interface via attribute on bean definition for repository factory beans. * DATACMNS-891 - Switch constructor injection of the repository interface for repository factory beans. * DATACMNS-889 - Release 1.13 RC1 (Ingalls). * DATACMNS-888 - Add dedicated RevisionSort to easily capture the desire to sort by revision number. * DATACMNS-875 - Add support for exists projection in repository query derivation. Changes in version 2.0.0.M1 (2016-11-23) ---------------------------------------- * DATACMNS-939 - Static interface methods should not be considered query methods. * DATACMNS-937 - Support JavaSlang and other custom wrappers as return types of query methods. * DATACMNS-935 - Avoid hard dependency on Project Reactor in reactive support. * DATACMNS-933 - Release 2.0 M1 (Kay). * DATACMNS-919 - Remove DomainClassPropertyEditorRegistrar. * DATACMNS-836 - Add components to support reactive repositories. * DATACMNS-168 - Allow customizing the bean name for repository beans. Changes in version 1.12.5.RELEASE (2016-11-03) ---------------------------------------------- * DATACMNS-929 - PageableHandlerMethodArgumentResolver.isFallbackPageable() throws NullPointerException if default is configured to be null. * DATACMNS-925 - Improve memory consumption of Parameter and Parameters. * DATACMNS-924 - Release 1.12.5 (Hopper SR5). Changes in version 1.12.4.RELEASE (2016-09-29) ---------------------------------------------- * DATACMNS-923 - Remove obsolete code in DefaultRepositoryInformation. * DATACMNS-921 - ResultProcessor should create approximate collection instead of exact one. * DATACMNS-917 - Query methods returning Maps shouldn't return null if no result is present. * DATACMNS-914 - Release 1.12.4 (Hopper SR4). Changes in version 1.11.6.RELEASE (2016-09-29) ---------------------------------------------- * DATACMNS-923 - Remove obsolete code in DefaultRepositoryInformation. * DATACMNS-922 - Release 1.11.6 (Gosling SR6). * DATACMNS-917 - Query methods returning Maps shouldn't return null if no result is present. Changes in version 1.11.5.RELEASE (2016-09-20) ---------------------------------------------- * DATACMNS-913 - Release 1.11.5 (Gosling SR5). * DATACMNS-912 - Unable to write custom implementation of CRUD method with generic parameters. * DATACMNS-909 - Exclude decoratedClass from JSON links, created from Projection and received with Spring @RestController. * DATACMNS-903 - Fix typo in reference documentation. * DATACMNS-902 - Fix attribute name in example showing how to define a custom repository base class. * DATACMNS-899 - ParameterizedTypeInformation.getMapValueType for non-map types causes StackOverflowError. * DATACMNS-896 - ClassTypeInformation computes incorrect TypeVariable mappings for recursive generics. * DATACMNS-892 - Expose repository interface via attribute on bean definition for repository factory beans. * DATACMNS-866 - Provide more descriptive error message in BasicPersistentEntity.getPropertyAccessor(…). * DATACMNS-863 - Query method Parameter should return element type for wrapper ones (e.g. Optional). * DATACMNS-858 - JavaDoc of CrudMethods states wrong preferences of selected delete methods. * DATACMNS-856 - DomainClassConverter throws erroneous exception in matches. * DATACMNS-855 - Missing equals(…) and hashCode() in SyntheticParamterizedType are causing a memory leak. * DATACMNS-854 - Custom implementation of repository fails when overriding methods containing generics. * DATACMNS-844 - Remove LenientAssignableTypeFilter in RepositoryConfigurationDelegate. * DATACMNS-843 - Raise log level of repositories that get dropped in strict configuration mode to INFO. * DATACMNS-831 - AbstractMappingContext.getPersistentEntity sometimes returns an empty entity when called by multiple threads. * DATACMNS-829 - Projecting a Map with a null value causes an exception. * DATACMNS-826 - JavaDoc of GeoModule class broken. * DATACMNS-812 - Confusing message generated by PageImpl.toString(). * DATACMNS-743 - Optimisation CPU consumption. * DATACMNS-685 - ConversionMatchAbbreviationException being thrown from ToEntityConverter.matches(…). Changes in version 1.12.3.RELEASE (2016-09-20) ---------------------------------------------- * DATACMNS-912 - Unable to write custom implementation of CRUD method with generic parameters. * DATACMNS-909 - Exclude decoratedClass from JSON links, created from Projection and received with Spring @RestController. * DATACMNS-903 - Fix typo in reference documentation. * DATACMNS-902 - Fix attribute name in example showing how to define a custom repository base class. * DATACMNS-900 - ExampleMatcher.PropertySpecifiers does not implement equals/hashCode. * DATACMNS-899 - ParameterizedTypeInformation.getMapValueType for non-map types causes StackOverflowError. * DATACMNS-896 - ClassTypeInformation computes incorrect TypeVariable mappings for recursive generics. * DATACMNS-892 - Expose repository interface via attribute on bean definition for repository factory beans. * DATACMNS-886 - Fix OSGi version ranges for Spring Framework references. * DATACMNS-883 - NullPointerException for Querydsl bindings referring to collection element attributes. * DATACMNS-880 - TransactionalRepositoryFactoryBeanSupport.setBeanFactory doesn't delegate to super-implementation. * DATACMNS-874 - NullPointerException when unwrapping empty Scala Options. * DATACMNS-873 - Release 1.12.3 (Hopper SR3). Changes in version 1.13.0.M1 (2016-07-27) ----------------------------------------- * DATACMNS-887 - Update Sonargraph architecture description. * DATACMNS-886 - Fix OSGi version ranges for Spring Framework references. * DATACMNS-885 - Add support to bind JSON and XML payloads to projection interfaces. * DATACMNS-884 - Move PageableExecutionSupport from JPA to Spring Data Commons. * DATACMNS-883 - NullPointerException for Querydsl bindings referring to collection element attributes. * DATACMNS-880 - TransactionalRepositoryFactoryBeanSupport.setBeanFactory doesn't delegate to super-implementation. * DATACMNS-879 - ExampleMatcher should allow to configure any-match mode. * DATACMNS-874 - NullPointerException when unwrapping empty Scala Options. * DATACMNS-869 - Fix Javadoc in Pair.java. * DATACMNS-868 - Unguarded reference to JDK 8 Function interface renders Hopper SR2 snapshots incompatible with Java 6. * DATACMNS-866 - Provide more descriptive error message in BasicPersistentEntity.getPropertyAccessor(…). * DATACMNS-863 - Query method Parameter should return element type for wrapper ones (e.g. Optional). * DATACMNS-862 - ReturnedInterface should not consider super interfaces of domain type projecting. * DATACMNS-860 - ResultProcessor should use ConversionService as fallback if target is a class. * DATACMNS-859 - ResultProcessor doesn't handle Stream instances correctly. * DATACMNS-858 - JavaDoc of CrudMethods states wrong preferences of selected delete methods. * DATACMNS-856 - DomainClassConverter throws erroneous exception in matches. * DATACMNS-855 - Missing equals(…) and hashCode() in SyntheticParamterizedType are causing a memory leak. * DATACMNS-854 - Custom implementation of repository fails when overriding methods containing generics. * DATACMNS-853 - PersistentPropertyAccessor.getProperty fails using interface types with the class-generating accessor. * DATACMNS-850 - Result projection should not be applied to JDK types. * DATACMNS-844 - Remove LenientAssignableTypeFilter in RepositoryConfigurationDelegate. * DATACMNS-843 - Raise log level of repositories that get dropped in strict configuration mode to INFO. * DATACMNS-842 - Projections on repository query methods should support Slice. * DATACMNS-840 - ReturnedClass fails on types with ambiguous constructors. * DATACMNS-838 - Release 1.13 M1 (Ingalls). * DATACMNS-831 - AbstractMappingContext.getPersistentEntity sometimes returns an empty entity when called by multiple threads. * DATACMNS-809 - Investigate use of method handles for property access. * DATACMNS-743 - Optimisation CPU consumption. * DATACMNS-685 - ConversionMatchAbbreviationException being thrown from ToEntityConverter.matches(…). Changes in version 1.12.2.RELEASE (2016-06-15) ---------------------------------------------- * DATACMNS-869 - Fix Javadoc in Pair.java. * DATACMNS-868 - Unguarded reference to JDK 8 Function interface renders Hopper SR2 snapshots incompatible with Java 6. * DATACMNS-866 - Provide more descriptive error message in BasicPersistentEntity.getPropertyAccessor(…). * DATACMNS-863 - Query method Parameter should return element type for wrapper ones (e.g. Optional). * DATACMNS-862 - ReturnedInterface should not consider super interfaces of domain type projecting. * DATACMNS-860 - ResultProcessor should use ConversionService as fallback if target is a class. * DATACMNS-859 - ResultProcessor doesn't handle Stream instances correctly. * DATACMNS-858 - JavaDoc of CrudMethods states wrong preferences of selected delete methods. * DATACMNS-856 - DomainClassConverter throws erroneous exception in matches. * DATACMNS-855 - Missing equals(…) and hashCode() in SyntheticParamterizedType are causing a memory leak. * DATACMNS-854 - Custom implementation of repository fails when overriding methods containing generics. * DATACMNS-850 - Result projection should not be applied to JDK types. * DATACMNS-844 - Remove LenientAssignableTypeFilter in RepositoryConfigurationDelegate. * DATACMNS-843 - Raise log level of repositories that get dropped in strict configuration mode to INFO. * DATACMNS-842 - Projections on repository query methods should support Slice. * DATACMNS-840 - ReturnedClass fails on types with ambiguous constructors. * DATACMNS-839 - Release 1.12.2 (Hopper SR2). * DATACMNS-831 - AbstractMappingContext.getPersistentEntity sometimes returns an empty entity when called by multiple threads. * DATACMNS-743 - Optimisation CPU consumption. * DATACMNS-685 - ConversionMatchAbbreviationException being thrown from ToEntityConverter.matches(…). Changes in version 1.12.1.RELEASE (2016-04-06) ---------------------------------------------- * DATACMNS-837 - Release 1.12.1 (Hopper SR1). Changes in version 1.12.0.RELEASE (2016-04-06) ---------------------------------------------- * DATACMNS-835 - Add pull request template. * DATACMNS-833 - Release 1.12 GA (Hopper). * DATACMNS-830 - Update documentation for Spring Data Commons 1.12. * DATACMNS-726 - Document the rules/limitations around using multiple Spring Data implementations with the same Domain object. Changes in version 1.12.0.RC1 (2016-03-18) ------------------------------------------ * DATACMNS-829 - Projecting a Map with a null value causes an exception. * DATACMNS-828 - Potential NullPointerException in ResultProcessor. * DATACMNS-827 - Fix Travis build setup after Spring 4.2 upgrade. * DATACMNS-826 - JavaDoc of GeoModule class broken. * DATACMNS-825 - Allow usage of composed annotations on PersistentEntity and PersistentProperty using @AliasFor. * DATACMNS-823 - Release 1.12 RC1 (Hopper). * DATACMNS-821 - Enable type prediction for JndiObjectFactoryBean. * DATACMNS-820 - Allow setter invocations in projections backed by beans. * DATACMNS-818 - Rename Tuple value type to Pair. * DATACMNS-812 - Confusing message generated by PageImpl.toString(). * DATACMNS-810 - Add core types for Query By Example support. Changes in version 1.11.4.RELEASE (2016-02-23) ---------------------------------------------- * DATACMNS-820 - Allow setter invocations in projections backed by beans. * DATACMNS-817 - Release 1.11.4 (Gosling SR4). * DATACMNS-815 - Make static cache in SimpleTypeInformationMapper non-static. * DATACMNS-804 - IndexOutOfBoundException in ParametersParameterAccessor iterator when non-bindable parameter(s) used. * DATACMNS-801 - PropertyReferenceException lists potential matches twice for classes following the Java beans specification. Changes in version 1.12.0.M1 (2016-02-12) ----------------------------------------- * DATACMNS-815 - Make static cache in SimpleTypeInformationMapper non-static. * DATACMNS-813 - Add code of conduct. * DATACMNS-811 - Release 1.12 M1 (Hopper). * DATACMNS-804 - IndexOutOfBoundException in ParametersParameterAccessor iterator when non-bindable parameter(s) used. * DATACMNS-802 - Allow customizing the PagedResource instance created in PagedResourcesAssembler. * DATACMNS-801 - PropertyReferenceException lists potential matches twice for classes following the Java beans specification. * DATACMNS-795 - Support for Scala Option in repositories. * DATACMNS-794 - Repositories should allow RepositoryFactoryInformation lookup via repository interface. * DATACMNS-793 - Some inline code formatting broken in reference documentation. * DATACMNS-791 - Improve exception message in QueryMethodParameterConversionException and ReflectionRepositoryInvoker. * DATACMNS-790 - Add Tuple value type. * DATACMNS-789 - Fix typo in JavaDoc of Page. * DATACMNS-788 - template.mf should use placeholder for Slf4j version. * DATACMNS-787 - Allow aliasing of Querydsl web bindings. * DATACMNS-786 - Typo in example of declaring Jackson repository populator of reference documentation. * DATACMNS-785 - Add RevisionRepository.findRevision(ID, N) from Spring Data Envers. * DATACMNS-783 - TypeInformation should allow applying the generic context to a raw type. * DATACMNS-782 - ProxyProjectionFactory should support primitive attribute conversion in projections out of the box. * DATACMNS-779 - Fix JavaDoc of constructor of QuerydslPredicateBuilder. * DATACMNS-773 - Add support for persisting ZoneId instances out of the box. * DATACMNS-772 - Add converter for ZoneId to String and vice versa. * DATACMNS-771 - Typo in exception in BasicPersistentEntity. * DATACMNS-769 - Cannot create auto-generated @Async method with pagination. * DATACMNS-768 - Support Optional on repository query parameters. * DATACMNS-763 - Custom repository implementation class not working as stated in the reference documentation. * DATACMNS-762 - Polish section about dependencies in the reference documentation. * DATACMNS-761 - PageableHandlerMethodArgumentResolver reduces page size by one if on-indexed parameters are used. * DATACMNS-753 - SortHandlerMethodArgumentResolver fails to fall back to default if empty parameter is given. * DATACMNS-670 - Add support for Querydsl 4. * DATACMNS-89 - Support for projections in repository query methods. Changes in version 1.11.2.RELEASE (2015-12-18) ---------------------------------------------- * DATACMNS-797 - Release 1.11.2 (Gosling). * DATACMNS-793 - Some inline code formatting broken in reference documentation. * DATACMNS-791 - Improve exception message in QueryMethodParameterConversionException and ReflectionRepositoryInvoker. * DATACMNS-789 - Fix typo in JavaDoc of Page. * DATACMNS-788 - template.mf should use placeholder for Slf4j version. * DATACMNS-786 - Typo in example of declaring Jackson repository populator of reference documentation. Changes in version 1.11.1.RELEASE (2015-11-15) ---------------------------------------------- * DATACMNS-784 - Release 1.11.1 (Gosling). * DATACMNS-783 - TypeInformation should allow applying the generic context to a raw type. * DATACMNS-782 - ProxyProjectionFactory should support primitive attribute conversion in projections out of the box. * DATACMNS-779 - Fix JavaDoc of constructor of QuerydslPredicateBuilder. * DATACMNS-771 - Typo in exception in BasicPersistentEntity. * DATACMNS-769 - Cannot create auto-generated @Async method with pagination. * DATACMNS-763 - Custom repository implementation class not working as stated in the reference documentation. * DATACMNS-762 - Polish section about dependencies in the reference documentation. * DATACMNS-761 - PageableHandlerMethodArgumentResolver reduces page size by one if on-indexed parameters are used. * DATACMNS-753 - SortHandlerMethodArgumentResolver fails to fall back to default if empty parameter is given. Changes in version 1.9.4.RELEASE (2015-10-14) --------------------------------------------- * DATACMNS-778 - Backport fix for @javax.transaction.Transactional support. * DATACMNS-777 - Release 1.9.4 (Evans). * DATACMNS-774 - Tweak Travis build to run the updated build profiles for Evans. Changes in version 1.11.0.RELEASE (2015-09-01) ---------------------------------------------- * DATACMNS-760 - Remove cyclic dependency in querydsl packages. * DATACMNS-759 - Release 1.11 GA (Gosling). * DATACMNS-755 - Paths without parent are causing IllegalArgumentException in QSort class. * DATACMNS-754 - PersonRepository in reference documentation persists User. * DATACMNS-751 - Update reference documentation. * DATACMNS-750 - Part.extractProperty(String part) invalidly extracts property paths containing keywords. * DATACMNS-749 - Register ExposeInvocationInterceptor globally so that RepositoryPostProcessors don't have to individually. * DATACMNS-748 - Spring version check in QueryExecutionConverters might fail. * DATACMNS-746 - JavaDoc of PersistentPropertyAccessor should explain how to obtain one. Changes in version 1.11.0.RC1 (2015-08-04) ------------------------------------------ * DATACMNS-744 - NoClassDefFoundError com/mysema/query/types/EntityPath with latest SNAPSHOT. * DATACMNS-742 - Release 1.11 RC1 (Gosling). * DATACMNS-738 - Remove deprecated BeanWrapper. * DATACMNS-736 - Invalid error message in PointFormatter. * DATACMNS-734 - Make sure Querydsl binding considers formatting annotations. * DATACMNS-733 - PreferredConstructorDiscoverer prevents custom classloader from being garbage collected. * DATACMNS-732 - JTA 1.2's @Transactional not being applied to query methods. * DATACMNS-731 - Parameter should expose whether it's explicitly named. * DATACMNS-728 - Configure Travis build to run against latest Spring 4.2 release, too. * DATACMNS-727 - Improve handling of invalid PersistentPropertyPaths in MappingContext. * DATACMNS-722 - ProxyProjectionFactory does not handle arrays correctly. * DATACMNS-720 - Explicit transaction configuration is not considered if default transactions are disabled. * DATACMNS-719 - Version fails to parse input string with non-numerical suffix. * DATACMNS-718 - Improve class loader handling for proxy factories. * DATACMNS-717 - AnnotatedTypeScanner does not use context classloader for loading found types. * DATACMNS-716 - QueryMethod type not detected correctly when wrapper types are used with collections. * DATACMNS-715 - @Transactional customizations not applied correctly on redeclared methods. * DATACMNS-714 - Add support for CompletableFuture as query method return type on Spring 4.2. * DATACMNS-713 - PageImpl should adapt the total for last pages if it doesn't match the content. * DATACMNS-710 - ObjectInstantiatorClassGenerator should use ClassUtils.getDefaultClassLoader(). * DATACMNS-707 - Fix JavaDoc in CrudRepository. * DATACMNS-703 - PropertyReferenceException's message should contain potential matches. * DATACMNS-648 - o.s.d.r.q.Parameters prevents custom classloader from being garbage collected. * DATACMNS-569 - Fix documentation on underscores in property references of derived query methods. Changes in version 1.10.2.RELEASE (2015-07-28) ---------------------------------------------- * DATACMNS-740 - Release 1.10.2 (Fowler). * DATACMNS-736 - Invalid error message in PointFormatter. * DATACMNS-733 - PreferredConstructorDiscoverer prevents custom classloader from being garbage collected. * DATACMNS-732 - JTA 1.2's @Transactional not being applied to query methods. * DATACMNS-728 - Configure Travis build to run against latest Spring 4.2 release, too. Changes in version 1.8.6.RELEASE (2015-07-01) --------------------------------------------- * DATACMNS-723 - Release 1.8.6 (Dijkstra). * DATACMNS-719 - Version fails to parse input string with non-numerical suffix. * DATACMNS-717 - AnnotatedTypeScanner does not use context classloader for loading found types. * DATACMNS-715 - @Transactional customizations not applied correctly on redeclared methods. * DATACMNS-713 - PageImpl should adapt the total for last pages if it doesn't match the content. * DATACMNS-707 - Fix JavaDoc in CrudRepository. * DATACMNS-697 - Field-local generics information not honored. * DATACMNS-696 - Enable Slack notifications for Travis build. * DATACMNS-695 - Potential NullPointerException in AbstractMappingContext. * DATACMNS-694 - Remove relative paths to parent POM. * DATACMNS-693 - Change property reflection mechanisms from java.beans.Introspector to spring specific BeanUtils. * DATACMNS-692 - IllegalArgumentExceptions in PageableHandlerMethodArgumentResolver with one-based index parameters. * DATACMNS-691 - Remove Travis build profile for Spring 4.0.next. * DATACMNS-677 - Cache annotation absence in AnnotationBasedPersistentProperty when there is no field for property. * DATACMNS-648 - o.s.d.r.q.Parameters prevents custom classloader from being garbage collected. * DATACMNS-646 - Enable build for Spring 4.2 profile. * DATACMNS-642 - Performance improvement - BeanWrapper.setProperty should not lock when unnecessary. * DATACMNS-640 - Possible NullPointerException on PageableHandlerMethodArgumentResolver when fallbackPageable is null. Changes in version 1.9.3.RELEASE (2015-07-01) --------------------------------------------- * DATACMNS-724 - Release 1.9.3 (Evans). * DATACMNS-719 - Version fails to parse input string with non-numerical suffix. * DATACMNS-717 - AnnotatedTypeScanner does not use context classloader for loading found types. * DATACMNS-716 - QueryMethod type not detected correctly when wrapper types are used with collections. * DATACMNS-715 - @Transactional customizations not applied correctly on redeclared methods. * DATACMNS-713 - PageImpl should adapt the total for last pages if it doesn't match the content. * DATACMNS-707 - Fix JavaDoc in CrudRepository. * DATACMNS-697 - Field-local generics information not honored. * DATACMNS-696 - Enable Slack notifications for Travis build. * DATACMNS-695 - Potential NullPointerException in AbstractMappingContext. * DATACMNS-694 - Remove relative paths to parent POM. * DATACMNS-693 - Change property reflection mechanisms from java.beans.Introspector to spring specific BeanUtils. * DATACMNS-692 - IllegalArgumentExceptions in PageableHandlerMethodArgumentResolver with one-based index parameters. * DATACMNS-691 - Remove Travis build profile for Spring 4.0.next. * DATACMNS-689 - Improve reference documentation on web pagination. * DATACMNS-687 - Add section on dependency management for Spring Data modules and Spring Framework to the reference documentation. * DATACMNS-682 - Abrupt documentation line ending. * DATACMNS-681 - Take care of compiler warnings. * DATACMNS-679 - Clean up Sonargraph architecture description. * DATACMNS-677 - Cache annotation absence in AnnotationBasedPersistentProperty when there is no field for property. * DATACMNS-674 - Typo in reference documentation. * DATACMNS-649 - Incorrect reference docs on extending all repositories causes failures in lookup of default transaction metadata. * DATACMNS-648 - o.s.d.r.q.Parameters prevents custom classloader from being garbage collected. * DATACMNS-646 - Enable build for Spring 4.2 profile. * DATACMNS-645 - Typo in reference documentation. * DATACMNS-642 - Performance improvement - BeanWrapper.setProperty should not lock when unnecessary. * DATACMNS-640 - Possible NullPointerException on PageableHandlerMethodArgumentResolver when fallbackPageable is null. * DATACMNS-569 - Fix documentation on underscores in property references of derived query methods. Changes in version 1.10.1.RELEASE (2015-06-30) ---------------------------------------------- * DATACMNS-725 - Release 1.10.1 (Fowler). * DATACMNS-722 - ProxyProjectionFactory does not handle arrays correctly. * DATACMNS-720 - Explicit transaction configuration is not considered if default transactions are disabled. * DATACMNS-719 - Version fails to parse input string with non-numerical suffix. * DATACMNS-718 - Improve class loader handling for proxy factories. * DATACMNS-717 - AnnotatedTypeScanner does not use context classloader for loading found types. * DATACMNS-716 - QueryMethod type not detected correctly when wrapper types are used with collections. * DATACMNS-715 - @Transactional customizations not applied correctly on redeclared methods. * DATACMNS-713 - PageImpl should adapt the total for last pages if it doesn't match the content. * DATACMNS-711 - DomainClassConverter triggered unnecessarily. * DATACMNS-710 - ObjectInstantiatorClassGenerator should use ClassUtils.getDefaultClassLoader(). * DATACMNS-707 - Fix JavaDoc in CrudRepository. * DATACMNS-697 - Field-local generics information not honored. * DATACMNS-696 - Enable Slack notifications for Travis build. * DATACMNS-695 - Potential NullPointerException in AbstractMappingContext. * DATACMNS-694 - Remove relative paths to parent POM. * DATACMNS-693 - Change property reflection mechanisms from java.beans.Introspector to spring specific BeanUtils. * DATACMNS-692 - IllegalArgumentExceptions in PageableHandlerMethodArgumentResolver with one-based index parameters. * DATACMNS-691 - Remove Travis build profile for Spring 4.0.next. * DATACMNS-689 - Improve reference documentation on web pagination. * DATACMNS-687 - Add section on dependency management for Spring Data modules and Spring Framework to the reference documentation. * DATACMNS-683 - Enabling Spring Data web support breaks @ModelAttribute binding in Spring MVC. * DATACMNS-682 - Abrupt documentation line ending. * DATACMNS-681 - Take care of compiler warnings. * DATACMNS-679 - Clean up Sonargraph architecture description. * DATACMNS-677 - Cache annotation absence in AnnotationBasedPersistentProperty when there is no field for property. * DATACMNS-674 - Typo in reference documentation. * DATACMNS-663 - Typo in method in BytecodeGeneratingEntityInstantiator. * DATACMNS-648 - o.s.d.r.q.Parameters prevents custom classloader from being garbage collected. * DATACMNS-569 - Fix documentation on underscores in property references of derived query methods. Changes in version 1.11.0.M1 (2015-06-02) ----------------------------------------- * DATACMNS-706 - Release 1.11 M1 (Gosling). * DATACMNS-701 - PagedResourcesAssembler should expose first and last links. * DATACMNS-700 - RepositoryInvoker.invokeQueryMethod(…) should report failed parameter conversions with dedicated exception. * DATACMNS-699 - PagedResourcesAssembler should allow creating an empty PagedResources that renders an embedded empty collection. * DATACMNS-697 - Field-local generics information not honored. * DATACMNS-696 - Enable Slack notifications for Travis build. * DATACMNS-695 - Potential NullPointerException in AbstractMappingContext. * DATACMNS-694 - Remove relative paths to parent POM. * DATACMNS-693 - Change property reflection mechanisms from java.beans.Introspector to spring specific BeanUtils. * DATACMNS-692 - IllegalArgumentExceptions in PageableHandlerMethodArgumentResolver with one-based index parameters. * DATACMNS-689 - Improve reference documentation on web pagination. * DATACMNS-687 - Add section on dependency management for Spring Data modules and Spring Framework to the reference documentation. * DATACMNS-684 - ProxyProjectionFactory should allow to access to proxy target from created proxies. * DATACMNS-683 - Enabling Spring Data web support breaks @ModelAttribute binding in Spring MVC. * DATACMNS-682 - Abrupt documentation line ending. * DATACMNS-681 - Take care of compiler warnings. * DATACMNS-680 - Switch to Guava property of Spring Data Build. * DATACMNS-679 - Clean up Sonargraph architecture description. * DATACMNS-678 - Improve method signature of RepositoryInvoker.invokeQueryMethod(…). * DATACMNS-677 - Cache annotation absence in AnnotationBasedPersistentProperty when there is no field for property. * DATACMNS-674 - Typo in reference documentation. * DATACMNS-673 - ConverterNotFoundException when invoking a method that expects a parameter interface. * DATACMNS-664 - Adapt Travis build config after Spring 4.1 upgrade. * DATACMNS-663 - Typo in method in BytecodeGeneratingEntityInstantiator. * DATACMNS-613 - Remove custom CollectionFactory once we migrate to Spring 4.1.x. * DATACMNS-542 - Simplify the process of adding custom methods to all repositories. * DATACMNS-515 - Pagination links created by PagedResourcesAssembler should have a canonical URL not a templated one. Changes in version 1.10.0.RELEASE (2015-03-23) ---------------------------------------------- * DATACMNS-662 - Release 1.10 GA. * DATACMNS-661 - Performance improvements in SpelAwareProxyProjectionFactory. * DATACMNS-660 - Extend web configuration infrastructure to pick up configuration from store modules. * DATACMNS-656 - Allow configuring whether to enable default transactions on TransactionRepositoryFactoryBeanSupport. * DATACMNS-655 - Allow invocation of default method on projection proxies. * DATACMNS-654 - Document usage of Java 8 Streams in Repositories. Changes in version 1.10.0.RC1 (2015-03-05) ------------------------------------------ * DATACMNS-652 - Release 1.10 RC1. * DATACMNS-651 - Add domain types to represent a range of values. * DATACMNS-650 - Provide a CloseableIterator abstraction as a foundation for streaming of results. * DATACMNS-649 - Incorrect reference docs on extending all repositories causes failures in lookup of default transaction metadata. * DATACMNS-647 - Add test case for collection parameter invocation on ReflectionRepositoryInvoker. * DATACMNS-646 - Enable build for Spring 4.2 profile. * DATACMNS-645 - Typo in reference documentation. * DATACMNS-643 - Add support for JSR-310 and ThreeTen Backport types in auditing support. * DATACMNS-642 - Performance improvement - BeanWrapper.setProperty should not lock when unnecessary. * DATACMNS-641 - Default sort direction to ascending order in case none is specified in derived repository queries. * DATACMNS-640 - Possible NullPointerException on PageableHandlerMethodArgumentResolver when fallbackPageable is null. * DATACMNS-638 - Let auditing infrastructure work with PersistentEntities rather than a single MappingContext. * DATACMNS-637 - General inspection for performance improvements. * DATACMNS-636 - Add 'exists' method to QueryDslPredicateExecutor which accepts a querydsl Predicate. * DATACMNS-635 - Provide an easier way to instantiate Page. * DATACMNS-634 - Repositories should return repository for entity's super-type if available. * DATACMNS-631 - Make RepositoryFactorySupport.getRepositoryMetadata(…) protected. * DATACMNS-630 - Move core projection infrastructure from Spring Data REST into Commons. * DATACMNS-629 - Reference documentation section on limiting query results is showing incorrect order-by-clause. * DATACMNS-628 - Add converters for ThreeTen backport library. * DATACMNS-627 - Extend DomainClassConverter to be able to convert entity into its identifier. * DATACMNS-626 - Port converters for Point and Distance from Spring Data REST and turn them into Formatters. * DATACMNS-625 - Re-enable querydsl-next profile for Travis. * DATACMNS-623 - Add converter for Instants to JSR-310 Converters. * DATACMNS-621 - QSort does not treat nested paths correctly. * DATACMNS-619 - DefaultCrudMethods should always return accessible methods. * DATACMNS-616 - AnnotationRevisionMetadata can't access private fields. * DATACMNS-615 - PageImpl should reject total less than given content length. * DATACMNS-611 - Avoid triple cache lookup in RepositoryInterfaceAwareBeanPostProcessor.predictBeanType(…). * DATACMNS-610 - Add converter support for Set return types. * DATACMNS-554 - Add QueryDslPredicateExecutor.findAll(Predicate, Sort) method. Changes in version 1.9.2.RELEASE (2015-01-28) --------------------------------------------- * DATACMNS-637 - General inspection for performance improvements. * DATACMNS-634 - Repositories should return repository for entity's super-type if available. * DATACMNS-633 - Release 1.9.2. * DATACMNS-629 - Reference documentation section on limiting query results is showing incorrect order-by-clause. * DATACMNS-625 - Re-enable querydsl-next profile for Travis. * DATACMNS-621 - QSort does not treat nested paths correctly. * DATACMNS-620 - Make sure we reflectively invoke redeclared repository methods in legacy RepositoryInvokers. * DATACMNS-619 - DefaultCrudMethods should always return accessible methods. * DATACMNS-616 - AnnotationRevisionMetadata can't access private fields. * DATACMNS-615 - PageImpl should reject total less than given content length. * DATACMNS-611 - Avoid triple cache lookup in RepositoryInterfaceAwareBeanPostProcessor.predictBeanType(…). * DATACMNS-610 - Add converter support for Set return types. * DATACMNS-609 - Multiple usage of repository setup means (XML or annotation) creates multiple bean definitions for RepositoryInterfaceAwareBeanPostProcessor. * DATACMNS-601 - Work on SonarQube warnings. * DATACMNS-594 - Strange generics behaviour for multiply nested generic types. * DATACMNS-591 - RepositoryConfigurationDelegate should use ResourceLoader provided by the infrastructure. * DATACMNS-590 - Bug in generics detection for multiply nested generic types. Changes in version 1.8.5.RELEASE (2015-01-27) --------------------------------------------- * DATACMNS-637 - General inspection for performance improvements. * DATACMNS-634 - Repositories should return repository for entity's super-type if available. * DATACMNS-632 - Release 1.8.5. * DATACMNS-624 - Re-enable Travis builds for Spring 4.1, 4.1.next and Querydsl.next. * DATACMNS-621 - QSort does not treat nested paths correctly. * DATACMNS-616 - AnnotationRevisionMetadata can't access private fields. * DATACMNS-615 - PageImpl should reject total less than given content length. * DATACMNS-611 - Avoid triple cache lookup in RepositoryInterfaceAwareBeanPostProcessor.predictBeanType(…). * DATACMNS-601 - Work on SonarQube warnings. * DATACMNS-594 - Strange generics behaviour for multiply nested generic types. * DATACMNS-590 - Bug in generics detection for multiply nested generic types. * DATACMNS-583 - DomainClassConverter#matches should return false when source- and targetType are equal. * DATACMNS-577 - Improve javadoc on QueryDslPredicateExecutor. * DATACMNS-530 - JavaDoc should be updated to reflect change of requiring an environment. Changes in version 1.10.0.M1 (2014-12-01) ----------------------------------------- * DATACMNS-609 - Multiple usage of repository setup means (XML or annotation) creates multiple bean definitions for RepositoryInterfaceAwareBeanPostProcessor. * DATACMNS-608 - Release 1.10 M1. * DATACMNS-607 - Inline AnnotationAttributes and MethodParameters to cut dependency to Spring HATEOAS for ReflectionRepositoryInvoker. * DATACMNS-606 - Provide converter between legacy Date instances an JDK 8 date/time types. * DATACMNS-605 - Move key-value infrastructure to dedicated project. * DATACMNS-604 - Move QueryDsl helper methods from QueryDslUtils to Map specific structure. * DATACMNS-601 - Work on SonarQube warnings. * DATACMNS-600 - Remove package cycle introduced by the invoker package. * DATACMNS-599 - Introduce IdentifierAccessor API. * DATACMNS-597 - BasicPersistentEntity.getPropertyAccessor for target bean does not properly handle inheritance when PersistentEntity instances are interface or abstract class based. * DATACMNS-596 - Expose PersistenPropertyAccessor API via PersistentEntity. * DATACMNS-594 - Strange generics behaviour for multiply nested generic types. * DATACMNS-591 - RepositoryConfigurationDelegate should use ResourceLoader provided by the infrastructure. * DATACMNS-590 - Bug in generics detection for multiply nested generic types. * DATACMNS-589 - Unify abstractions to invoke repositories with Spring Data REST. * DATACMNS-587 - Add findAll variant with QueryDSL OrderSpecifier without a Predicate. * DATACMNS-583 - DomainClassConverter#matches should return false when source- and targetType are equal. * DATACMNS-581 - Spring Data support for NOT Containing expression. * DATACMNS-580 - Add section on limiting the query results to reference documentation. * DATACMNS-578 - Improve entity instantiation performance by using ASM byte-code generation. * DATACMNS-577 - Improve javadoc on QueryDslPredicateExecutor. * DATACMNS-530 - JavaDoc should be updated to reflect change of requiring an environment. * DATACMNS-525 - In-Memory Repository infrastructure. Changes in version 1.9.1.RELEASE (2014-10-30) --------------------------------------------- * DATACMNS-585 - Release 1.9.1. * DATACMNS-583 - DomainClassConverter.matches(…) should return false when source- and target type are equal. * DATACMNS-580 - Add section on limiting the query results to reference documentation. * DATACMNS-577 - Improve JavaDoc on QueryDslPredicateExecutor. * DATACMNS-530 - JavaDoc should be updated to reflect change of requiring an environment. Changes in version 1.9.0.RELEASE (2014-09-05) --------------------------------------------- * DATACMNS-572 - Release 1.9 GA. * DATACMNS-571 - Move to JDK 8 for build. * DATACMNS-570 - Fix Travis build profile setup. * DATACMNS-566 - Cannot sort on field operation with QueryDSL. * DATACMNS-565 - Custom repository implementations are not picked up when using CDI. * DATACMNS-562 - MappingContext fails to resolve TreeMap as Map value type. Changes in version 1.8.4.RELEASE (2014-08-27) --------------------------------------------- * DATACMNS-568 - Release 1.8.4. * DATACMNS-566 - Cannot sort on field operation with QueryDSL. * DATACMNS-562 - MappingContext fails to resolve TreeMap as Map value type. * DATACMNS-558 - Some quality improvements according to the SonarQube report. * DATACMNS-556 - Annotation duplication checks are too strict in AnnotationBasedPersistentProperty. * DATACMNS-552 - Improve documentation on naming conventions for custom repository implement. Changes in version 1.9.0.RC1 (2014-08-13) ----------------------------------------- * DATACMNS-561 - Release 1.9 RC1. * DATACMNS-558 - Some quality improvements according to the SonarQube report. * DATACMNS-557 - Add support for custom implementations in CDI. * DATACMNS-556 - Annotation duplication checks are too strict in AnnotationBasedPersistentProperty. * DATACMNS-552 - Improve documentation on naming conventions for custom repository implement. * DATACMNS-551 - Move to Asciidoctor for reference documentation. * DATACMNS-548 - Add documentation of Slice for repository query methods. * DATACMNS-547 - @TypeAlias should be @Persistent. * DATACMNS-546 - Improve exception message for failed property lookups. * DATACMNS-544 - Expose BeanDefinition to allow detection of whether repository configuration has been activated. * DATACMNS-543 - Repository beans registered twice when using XML namespace. * DATACMNS-539 - DefaultCrudMethods should detect delete(T entity) as well. * DATACMNS-538 - Reference documentation on web pagination shows outdated parameter names. * DATACMNS-526 - Improve multi-store behavior. * DATACMNS-469 - Remove deprecations introduced in 1.7. Changes in version 1.8.2.RELEASE (2014-07-28) --------------------------------------------- * DATACMNS-549 - Release 1.8.2. * DATACMNS-548 - Add documentation of Slice for repository query methods. * DATACMNS-547 - @TypeAlias should be @Persistent. * DATACMNS-546 - Improve exception message for failed property lookups. * DATACMNS-544 - Expose BeanDefinition to allow detection of whether repository configuration has been activated. * DATACMNS-543 - Repository beans registered twice when using XML namespace. * DATACMNS-538 - Reference documentation on web pagination shows outdated parameter names. * DATACMNS-537 - Remove links to forum.spring.io.. Changes in version 1.9.0.M1 (2014-07-10) ---------------------------------------- * DATACMNS-537 - Remove links to forum.spring.io.. * DATACMNS-536 - Release 1.9 M1. * DATACMNS-535 - Upgrade build to use Java 7. * DATACMNS-534 - Add reading / writing property information to PersistentProperty. * DATACMNS-533 - Infrastructure for SpEL support in manually defined queries. * DATACMNS-532 - Add support for default methods on repository interfaces. * DATACMNS-529 - Adapt to Spring 4 upgrade. * DATACMNS-528 - Upgrade to Spring HATEOAS 0.14.0. * DATACMNS-523 - Pull up field naming strategies from MongoDB and Couchbase modules. * DATACMNS-520 - Parameters incorrectly rejects query method signature. * DATACMNS-519 - PagedResourcesAssembler should keep tempalte variables provided in base link. * DATACMNS-518 - Spring Data Infinite Loop in HashMap in PreferredConstructor and CustomConversions. * DATACMNS-516 - Add support for limiting the query result in the query derivation mechanism. * DATACMNS-514 - Typo in Example 1.26. Declaring a Jackson repository populator. * DATACMNS-513 - ControllerLinkBuilder not detecting the right @RequestMapping from a controller. * DATACMNS-511 - AbstractMappingContext.addPersistentEntity causes infinite loop. Changes in version 1.8.1.RELEASE (2014-06-30) --------------------------------------------- * DATACMNS-528 - Upgrade to Spring HATEOAS 0.14.0. * DATACMNS-527 - Release 1.8.1. * DATACMNS-521 - Disable Querydsl.next profile in Travis build. * DATACMNS-520 - Parameters incorrectly rejects query method signature. * DATACMNS-518 - Spring Data Infinite Loop in HashMap in PreferredConstructor and CustomConversions. * DATACMNS-514 - Typo in Example 1.26. Declaring a Jackson repository populator. * DATACMNS-513 - ControllerLinkBuilder not detecting the right @RequestMapping from a controller. * DATACMNS-511 - AbstractMappingContext.addPersistentEntity causes infinite loop. Changes in version 1.7.3.RELEASE (2014-06-18) --------------------------------------------- * DATACMNS-522 - Release 1.7.3. * DATACMNS-521 - Disable Querydsl.next profile in Travis build. * DATACMNS-520 - Parameters incorrectly rejects query method signature. * DATACMNS-514 - Typo in Example 1.26. Declaring a Jackson repository populator. * DATACMNS-513 - ControllerLinkBuilder not detecting the right @RequestMapping from a controller. * DATACMNS-511 - AbstractMappingContext.addPersistentEntity causes infinite loop. * DATACMNS-506 - PreferredConstructorDiscoverer should use Spring 4's ParameterNameDiscoverer if possible. * DATACMNS-505 - Documentation on property expressions should mention how to escape underscores. * DATACMNS-502 - AnnotationRepositoryConfigurationSource fails when the annotated class is in the default package. * DATACMNS-501 - ID type not detected for intermediate repository interface. * DATACMNS-496 - Version.parse should not throw NumberFormatExecption when parsing version string containing non numeric parts. * DATACMNS-494 - Remove defaulting of Environment from RepositoryBeanDefinitionRegistrarSupport. * DATACMNS-492 - Scanning for custom repository implementation classes does not use Environment. Changes in version 1.8.0.RELEASE (2014-05-20) --------------------------------------------- * DATACMNS-509 - NullableWrapper Breaks JSON Conversion. * DATACMNS-508 - Add Travis configuration for matrix builds. * DATACMNS-507 - Release 1.8 GA. * DATACMNS-506 - PreferredConstructorDiscoverer should use Spring 4's ParameterNameDiscoverer if possible. * DATACMNS-505 - Documentation on property expressions should mention how to escape underscores. * DATACMNS-503 - Upgrade compile time dependency for Optional support to Guava 17. * DATACMNS-502 - AnnotationRepositoryConfigurationSource fails when the annotated class is in the default package. * DATACMNS-501 - ID type not detected for intermediate repository interface. * DATACMNS-494 - Remove defaulting of Environment from RepositoryBeanDefinitionRegistrarSupport. Changes in version 1.8.0.RC1 (2014-05-02) ----------------------------------------- * DATACMNS-500 - Remove Jackson 1 support. * DATACMNS-496 - Version.parse should not throw NumberFormatExecption when parsing version string containing non numeric parts. * DATACMNS-495 - Release 1.8 RC1. * DATACMNS-492 - Scanning for custom repository implementation classes does not use Environment. * DATACMNS-491 - Make null handling configurable in Sort.Order. * DATACMNS-489 - Add support for Future as return type for repository methods. * DATACMNS-486 - Add functionality to easily transform camel case Strings. * DATACMNS-485 - Detected mapping ambiguity when using @TypeAlias on a class with generics type. * DATACMNS-484 - Invalid grammar in exception message in RepositoryFactorySupport. * DATACMNS-483 - Support for wrapper types as return type on query methods. Changes in version 1.7.2.RELEASE (2014-04-15) --------------------------------------------- ** Bug * [DATACMNS-477] - PageableHandlerMethodArgumentResolver.setFallbackPageable(null) does not work as specified * [DATACMNS-479] - Regression in PersistentEntity detection for concrete Map types * [DATACMNS-485] - Detected mapping ambiguity when using @TypeAlias on a class with generics type ** Improvement * [DATACMNS-478] - Spring Data Commons should be buildable using Java 8 * [DATACMNS-484] - Invalid grammar in exception message in RepositoryFactorySupport ** Task * [DATACMNS-488] - Release 1.7.2 Changes in version 1.8.0.M1 (2014-03-30) ---------------------------------------- ** Bug * [DATACMNS-447] - AbstractMappingContext.getPersistentEntity: Order of strict checking and shouldCreatePersistentEntity is wrong * [DATACMNS-453] - NullPointerException at listing non-CRUD repositories in RepositoryMetadata.isPageableRepository() * [DATACMNS-460] - Repositories do not support array return type. * [DATACMNS-462] - AbstractPersistentProperties prevents collection and map properties from being fully initialized upfront * [DATACMNS-477] - PageableHandlerMethodArgumentResolver.setFallbackPageable(null) does not work as specified * [DATACMNS-479] - Regression in PersistentEntity detection for concrete Map types ** Improvement * [DATACMNS-138] - Document the lazy-init behavior of the AuditorAware (in the javadoc of the class as well as in the reference) * [DATACMNS-243] - Pull up property access improvement from MongoPersistentProperty * [DATACMNS-365] - @LastModifiedBy and @LastModifiedDate don't work on setters * [DATACMNS-437] - Move GeoLocation object to Spring Data Commons. * [DATACMNS-451] - Add custom CollectionFactory to customize collection and map instance creation. * [DATACMNS-456] - RepositoryConfigurationSource should expose method to lookup String attributes * [DATACMNS-457] - MappingContext should expose managed types and whether it has a PersistentEntity for a type * [DATACMNS-458] - Introduce PersistentEntities value object * [DATACMNS-461] - Cleanups in auditing configuration support * [DATACMNS-466] - Detect invalid Spring version earlier * [DATACMNS-468] - Remove obsolete generics for BeanWrapper * [DATACMNS-475] - Add Jackson module to deserialize new geo types * [DATACMNS-478] - Spring Data Commons should be buildable using Java 8 * [DATACMNS-480] - Add EntityInformation implementaiton based on PersistentEntity * [DATACMNS-482] - Geospatial Types should be serializable ** New Feature * [DATACMNS-397] - Add support for pagination, without the need of a count query * [DATACMNS-448] - Add support for 'remove', 'delete' keyword in order to be able to trigger store specific delete by queries. * [DATACMNS-452] - Move types from store modules into Spring Data Commons * [DATACMNS-474] - Allow conversion of Distance in other Metrics ** Task * [DATACMNS-450] - Release 1.8 M1 * [DATACMNS-464] - AbstractFallbackTransactionAttributeSource should consider repository target method transaction settings as fallback * [DATACMNS-465] - Clean up template.mf * [DATACMNS-470] - Remove code deprecated in 1.6 * [DATACMNS-471] - Add unit tests for PagedResourcesAssembler setup via XML Changes in version 1.7.1.RELEASE (2014-03-13) --------------------------------------------- ** Bug * [DATACMNS-447] Soften too strict strickt-check in MappingContext. * [DATACMNS-453] Fix NPE in isPageableRepository() for Repositories without a findAll() method. * [DATACMNS-460] Repository metadata now supports array return types for query methods. * [DATACMNS-462] AbstractPersistentProperty considers collections and maps entities now. ** Improvement * [DATACMNS-466] More aggressive checks for the correct Spring version. ** Task * [DATACMNS-465] Polished template.mf 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