Spring Data MongoDB Changelog
=============================

Changes in version 2.0.7.RELEASE (2018-05-08)
---------------------------------------------
* DATAMONGO-1943 - QueryDSL functionality defect while using NOT operator for negate operation.
* DATAMONGO-1918 - Release 2.0.7 (Kay SR7).
* DATAMONGO-1893 - Exclusions in projection.
* DATAMONGO-1819 - Discovering the preferred constructor lead to InaccessibleObjectException with Java 9.


Changes in version 1.10.12.RELEASE (2018-05-08)
-----------------------------------------------
* DATAMONGO-1917 - Release 1.10.12 (Ingalls SR12).
* DATAMONGO-1893 - Exclusions in projection.


Changes in version 2.1.0.M2 (2018-04-13)
----------------------------------------
* DATAMONGO-1923 - Adapt to API changes in Spring Data Commons.
* DATAMONGO-1916 - Potential ClassCastException in MappingMongoConverter#writeInternal when writing collections.
* DATAMONGO-1915 - Remove explicit declaration of Jackson library versions.
* DATAMONGO-1913 - Missing @Nullable annotation in GridFsTemplate.bucket.
* DATAMONGO-1912 - Unable to retrieve Mongo's generated id when inserting java.util.Map.
* DATAMONGO-1911 - String-query accepting UUID renders to $uuid.
* DATAMONGO-1909 - Fix typo in tests.
* DATAMONGO-1907 - Error in method findOne(Example example) in ReactiveQueryByExampleExecutor when there is no results.
* DATAMONGO-1906 - Add support for conditional $$REMOVE operator in aggregation $project.
* DATAMONGO-1904 - MappingMongoConverter fails to properly read nested arrays.
* DATAMONGO-1903 - Align database name check in SimpleMongoDbFactory with MongoDB limitations.
* DATAMONGO-1901 - Declare project.root property to make sure JavaDoc generation works.
* DATAMONGO-1900 - Add section to reference documentation about mapping of enums with interfaces.
* DATAMONGO-1899 - Export composable repositories via CDI.
* DATAMONGO-1898 - Verify handling of enums in MappingMongoConverter.
* DATAMONGO-1896 - In case of inheritance, MongoRepository.saveAll(…) does not insert elements into the aggregate collection.
* DATAMONGO-1893 - Exclusions in projection.
* DATAMONGO-1891 - Improve $jsonSchema documentation.
* DATAMONGO-1881 - Upgrade MongoDB sync & reactive streams Java driver to 3.6.3 and 1.7.1.
* DATAMONGO-1880 - Add support for Client Sessions.
* DATAMONGO-1877 - JsonSchemaProperty needs static method date().
* DATAMONGO-1873 - Add value() alias to @Document(collection= "…").
* DATAMONGO-1872 - SpEL Expressions in @Document annotations are not re-evaluated for repository query executions.
* DATAMONGO-1871 - AggregationExpression rendering does not consider nested property aliasing.
* DATAMONGO-1870 - Skip parameter not working in MongoTemplate#remove(Query, Class).
* DATAMONGO-1869 - Release 2.1 M2 (Lovelace).
* DATAMONGO-1866 - Update travis build to use single node replica set.
* DATAMONGO-1865 - findFirst query method throws IncorrectResultSizeDataAccessException on non-unique result.
* DATAMONGO-1860 - Mongo count operation called twice in QuerydslMongoPredicateExecutor.findAll(Predicate, Pageable).
* DATAMONGO-1834 - Add support for aggregation operators $dateFromString, $dateFromParts and $dateToParts.
* DATAMONGO-1819 - Discovering the preferred constructor lead to InaccessibleObjectException with Java 9.
* DATAMONGO-1813 - Provide method to create GridFsResource from GridFSFile.


Changes in version 2.0.6.RELEASE (2018-04-04)
---------------------------------------------
* DATAMONGO-1916 - Potential ClassCastException in MappingMongoConverter#writeInternal when writing collections.
* DATAMONGO-1915 - Remove explicit declaration of Jackson library versions.
* DATAMONGO-1913 - Missing @Nullable annotation in GridFsTemplate.bucket.
* DATAMONGO-1911 - String-query accepting UUID renders to $uuid.
* DATAMONGO-1909 - Fix typo in tests.
* DATAMONGO-1907 - Error in method findOne(Example example) in ReactiveQueryByExampleExecutor when there is no results.
* DATAMONGO-1904 - MappingMongoConverter fails to properly read nested arrays.
* DATAMONGO-1903 - Align database name check in SimpleMongoDbFactory with MongoDB limitations.
* DATAMONGO-1901 - Declare project.root property to make sure JavaDoc generation works.
* DATAMONGO-1898 - Verify handling of enums in MappingMongoConverter.
* DATAMONGO-1896 - In case of inheritance, MongoRepository.saveAll(…) does not insert elements into the aggregate collection.
* DATAMONGO-1888 - Release 2.0.6 (Kay SR6).
* DATAMONGO-1834 - Add support for aggregation operators $dateFromString, $dateFromParts and $dateToParts.


Changes in version 1.10.11.RELEASE (2018-04-04)
-----------------------------------------------
* DATAMONGO-1915 - Remove explicit declaration of Jackson library versions.
* DATAMONGO-1909 - Fix typo in tests.
* DATAMONGO-1903 - Align database name check in SimpleMongoDbFactory with MongoDB limitations.
* DATAMONGO-1898 - Verify handling of enums in MappingMongoConverter.
* DATAMONGO-1896 - In case of inheritance, MongoRepository.saveAll(…) does not insert elements into the aggregate collection.
* DATAMONGO-1871 - AggregationExpression rendering does not consider nested property aliasing.
* DATAMONGO-1870 - Skip parameter not working in MongoTemplate#remove(Query, Class).
* DATAMONGO-1860 - Mongo count operation called twice in QuerydslMongoPredicateExecutor.findAll(Predicate, Pageable).
* DATAMONGO-1858 - Fix line endings.
* DATAMONGO-1857 - Release 1.10.11 (Ingalls SR11).
* DATAMONGO-1834 - Add support for aggregation operators $dateFromString, $dateFromParts and $dateToParts.


Changes in version 2.0.5.RELEASE (2018-02-28)
---------------------------------------------
* DATAMONGO-1882 - Release 2.0.5 (Kay SR5).


Changes in version 2.0.4.RELEASE (2018-02-19)
---------------------------------------------
* DATAMONGO-1872 - SpEL Expressions in @Document annotations are not re-evaluated for repository query executions.
* DATAMONGO-1871 - AggregationExpression rendering does not consider nested property aliasing.
* DATAMONGO-1870 - Skip parameter not working in MongoTemplate#remove(Query, Class).
* DATAMONGO-1865 - findFirst query method throws IncorrectResultSizeDataAccessException on non-unique result.
* DATAMONGO-1860 - Mongo count operation called twice in QuerydslMongoPredicateExecutor.findAll(Predicate, Pageable).
* DATAMONGO-1859 - Release 2.0.4 (Kay SR4).


Changes in version 2.1.0.M1 (2018-02-06)
----------------------------------------
* DATAMONGO-1864 - Upgrade to MongoDB Java Driver 3.6.2.
* DATAMONGO-1858 - Fix line endings.
* DATAMONGO-1850 - GridFsResource.getContentType() throws NullPointerException on absent metadata.
* DATAMONGO-1846 - Upgrade to MongoDB Java Driver 3.6.
* DATAMONGO-1844 - Update copyright years to 2018.
* DATAMONGO-1843 - Aggregation operator $reduce with ArrayOperators.Reduce produce a wrong Document.
* DATAMONGO-1835 - Add support for $jsonSchema to Criteria API.
* DATAMONGO-1831 - Failure to read Scala collection types in MappingMongoConverter.
* DATAMONGO-1824 - Assert compatibility with MongoDB Server 3.6.
* DATAMONGO-1823 - AfterConvertEvent is not published when using custom methods in repository interface.
* DATAMONGO-1822 - Adapt repository readme to changed configuration support.
* DATAMONGO-1821 - Fix method ambiguity in tests when compiling against MongoDB 3.6.
* DATAMONGO-1820 - Investigate failing TravisCI build.
* DATAMONGO-1818 - Reference documentation mentions @TailableCursor instead of @Tailable.
* DATAMONGO-1817 - Kotlin extensions should return nullable types.
* DATAMONGO-1815 - Adapt API changes in Property in test cases.
* DATAMONGO-1814 - Missing documentation on Faceted classification.
* DATAMONGO-1812 - Temporarily add milestone repository to plugin repositories.
* DATAMONGO-1811 - Reference Documentation doesn't match with API Documentation 2.X vesrion.
* DATAMONGO-1809 - Type hint usage broken when using positional parameters with more than one digit.
* DATAMONGO-1806 - GridFsResource wrong type in javaDoc.
* DATAMONGO-1805 - Documentation for operations.find uses wrong result type.
* DATAMONGO-1803 - Add support for MongoDB 3.6 change streams.
* DATAMONGO-1802 - No converter found capable of converting from type org.bson.types.Binary to type byte[].
* DATAMONGO-1795 - Remove obsolete Kotlin build configuration.
* DATAMONGO-1794 - Release 2.1 M1 (Lovelace).
* DATAMONGO-1761 - Add distinct operation to MongoTemplate.
* DATAMONGO-1696 - Reference documentation uses JPA Annotations.
* DATAMONGO-1553 - Add $sortByCount aggregation stage.
* DATAMONGO-1322 - Add support for validator when creating collection.


Changes in version 2.0.3.RELEASE (2018-01-24)
---------------------------------------------
* DATAMONGO-1858 - Fix line endings.
* DATAMONGO-1850 - GridFsResource.getContentType() throws NullPointerException on absent metadata.
* DATAMONGO-1843 - Aggregation operator $reduce with ArrayOperators.Reduce produce a wrong Document.
* DATAMONGO-1831 - Failure to read Scala collection types in MappingMongoConverter.
* DATAMONGO-1830 - Release 2.0.3 (Kay SR3).
* DATAMONGO-1824 - Assert compatibility with MongoDB Server 3.6.


Changes in version 1.10.10.RELEASE (2018-01-24)
-----------------------------------------------
* DATAMONGO-1843 - Aggregation operator $reduce with ArrayOperators.Reduce produce a wrong Document.
* DATAMONGO-1831 - Failure to read Scala collection types in MappingMongoConverter.
* DATAMONGO-1829 - Release 1.10.10 (Ingalls SR10).
* DATAMONGO-1824 - Assert compatibility with MongoDB Server 3.6.


Changes in version 2.0.2.RELEASE (2017-11-27)
---------------------------------------------
* DATAMONGO-1823 - AfterConvertEvent is not published when using custom methods in repository interface.
* DATAMONGO-1821 - Fix method ambiguity in tests when compiling against MongoDB 3.6.
* DATAMONGO-1820 - Investigate failing TravisCI build.
* DATAMONGO-1818 - Reference documentation mentions @TailableCursor instead of @Tailable.
* DATAMONGO-1817 - Kotlin extensions should return nullable types.
* DATAMONGO-1816 - Release 2.0.2 (Kay SR2).


Changes in version 1.10.9.RELEASE (2017-11-27)
----------------------------------------------
* DATAMONGO-1809 - Type hint usage broken when using positional parameters with more than one digit.
* DATAMONGO-1799 - Release 1.10.9 (Ingalls SR9).
* DATAMONGO-1696 - Reference documentation uses JPA Annotations.


Changes in version 2.0.1.RELEASE (2017-10-27)
---------------------------------------------
* DATAMONGO-1815 - Adapt API changes in Property in test cases.
* DATAMONGO-1814 - Missing documentation on Faceted classification.
* DATAMONGO-1811 - Reference Documentation doesn't match with API Documentation 2.X vesrion.
* DATAMONGO-1809 - Type hint usage broken when using positional parameters with more than one digit.
* DATAMONGO-1806 - GridFsResource wrong type in javaDoc.
* DATAMONGO-1805 - Documentation for operations.find uses wrong result type.
* DATAMONGO-1802 - No converter found capable of converting from type org.bson.types.Binary to type byte[].
* DATAMONGO-1795 - Remove obsolete Kotlin build configuration.
* DATAMONGO-1793 - Release 2.0.1 (Kay SR1).
* DATAMONGO-1696 - Reference documentation uses JPA Annotations.


Changes in version 1.10.8.RELEASE (2017-10-11)
----------------------------------------------
* DATAMONGO-1784 - Add support for AggregationExpression in GroupOperation.sum.
* DATAMONGO-1782 - CyclicPropertyReferenceException on index resolution.
* DATAMONGO-1775 - Release 1.10.8 (Ingalls SR8).


Changes in version 2.0.0.RELEASE (2017-10-02)
---------------------------------------------
* DATAMONGO-1791 - Adapt to changed Spring Framework 5 documentation structure.
* DATAMONGO-1787 - Add explicit automatic module name for Java 9.
* DATAMONGO-1786 - Adapt tests to nullability enforcement in repository query methods.
* DATAMONGO-1785 - Upgrade to OpenWebBeans 2.0.1.
* DATAMONGO-1784 - Add support for AggregationExpression in GroupOperation.sum.
* DATAMONGO-1782 - CyclicPropertyReferenceException on index resolution.
* DATAMONGO-1781 - Update what's new in reference documentation.
* DATAMONGO-1779 - Query.limit(N) on empty query is not applied.
* DATAMONGO-1778 - Update.equals(…) fails to recognize an equal Update object.
* DATAMONGO-1777 - Update.toString(…) does not pretty-print modifiers.
* DATAMONGO-1776 - Release 2.0 GA (Kay).


Changes in version 2.0.0.RC3 (2017-09-11)
-----------------------------------------
* DATAMONGO-1774 - ReactiveMongoOperations#remove(Mono, java.lang.String) ends up in an infinite loop.
* DATAMONGO-1772 - Type hint not added when updating nested list elements with inheritance.
* DATAMONGO-1771 - Fix MongoDB setup for travis-ci.
* DATAMONGO-1770 - Upgrade to mongo-java-driver 3.5.0 and mongodb-driver-reactivestreams 1.6.0.
* DATAMONGO-1768 - QueryByExample FindOne : probe type.
* DATAMONGO-1765 - Duplicate elements in DBRefs list not correctly mapped.
* DATAMONGO-1762 - Introduce nullable annotations for API validation.
* DATAMONGO-1758 - Remove non existing spring-data-mongodb-log4j from benchmarks profile.
* DATAMONGO-1757 - Improve exception message if type to read doesn't match declared type on Map value.
* DATAMONGO-1756 - Aggregation project and arithmetic operation not working with nested fields.
* DATAMONGO-1754 - Release 2.0 RC3 (Kay).
* DATAMONGO-1706 - Adapt to deprecated RxJava 1 CRUD repositories.
* DATAMONGO-1631 - AbstractReactiveMongoConfiguration.mongoDbFactory conflicts with blocking MongoDbFactory.


Changes in version 1.10.7.RELEASE (2017-09-11)
----------------------------------------------
* DATAMONGO-1772 - Type hint not added when updating nested list elements with inheritance.
* DATAMONGO-1768 - QueryByExample FindOne : probe type.
* DATAMONGO-1765 - Duplicate elements in DBRefs list not correctly mapped.
* DATAMONGO-1756 - Aggregation project and arithmetic operation not working with nested fields.
* DATAMONGO-1755 - Release 1.10.7 (Ingalls SR7).


Changes in version 1.10.6.RELEASE (2017-07-26)
----------------------------------------------
* DATAMONGO-1750 - Release 1.10.6 (Ingalls SR6).


Changes in version 2.0.0.RC2 (2017-07-25)
-----------------------------------------
* DATAMONGO-1753 - IndexEnsuringQueryCreationListener should skip queries without criteria.
* DATAMONGO-1752 - Executing repository methods with closed projection fails.
* DATAMONGO-1751 - Release 2.0 RC2 (Kay).


Changes in version 2.0.0.RC1 (2017-07-25)
-----------------------------------------
* DATAMONGO-1748 - Add Kotlin extensions for Criteria API.
* DATAMONGO-1746 - Inherit Project Reactor version from dependency management.
* DATAMONGO-1744 - Improve default setup for MappingMongoConverter.
* DATAMONGO-1739 - Change TerminatingFindOperation.stream() to return a Stream directly.
* DATAMONGO-1738 - Move to fluent API for repository query execution.
* DATAMONGO-1735 - Sort and fields objects in Query should not be null.
* DATAMONGO-1734 - Add count() & exists to fluent API.
* DATAMONGO-1733 - Allow usage of projection interfaces in FluentMongoOperations.
* DATAMONGO-1730 - Adapt to API changes in mapping subsystem.
* DATAMONGO-1729 - Open projection does not fetch all properties.
* DATAMONGO-1728 - ExecutableFindOperation.find(…).first() fails with NPE.
* DATAMONGO-1726 - Add terminating findOne/findFirst methods to FluentMongoOperations returning null value instead of Optional.
* DATAMONGO-1725 - Potential NullPointerException in CloseableIterableCursorAdapter.
* DATAMONGO-1723 - Fix unit tests after API changes in Spring Data Commons.
* DATAMONGO-1721 - Fix dependency cycles.
* DATAMONGO-1720 - Add JMH benchmark module.
* DATAMONGO-1719 - Add fluent alternative for ReactiveMongoOperations.
* DATAMONGO-1718 - MongoTemplate.findAndRemoveAll(Query, String) delegates to wrong overload.
* DATAMONGO-1717 - Release 2.0 RC1 (Kay).
* DATAMONGO-1715 - Remove spring-data-mongodb-log4j module.
* DATAMONGO-1713 - MongoCredentialPropertyEditor improperly resolves the credential string.
* DATAMONGO-1705 - Deprecate cross-store support.
* DATAMONGO-1703 - Allow referencing views in object graphs containing circular dependencies.
* DATAMONGO-1702 - Switch repository implementation to use fragments.
* DATAMONGO-1697 - @Version used by @EnableMongoAuditing does not increase when using collection name in MongoTemplate's updateFirst. Unexpected, not described by reference documentation.
* DATAMONGO-1682 - Add partial index support to ReactiveIndexOperations.
* DATAMONGO-1678 - DefaultBulkOperations do not map Query and Update objects properly.
* DATAMONGO-1646 - Support reactive aggregation streaming.
* DATAMONGO-1519 - Change MongoTemplate.insertDBObjectList(…) to return List<Object> instead of List<ObjectId>.


Changes in version 1.10.5.RELEASE (2017-07-24)
----------------------------------------------
* DATAMONGO-1744 - Improve default setup for MappingMongoConverter.
* DATAMONGO-1729 - Open projection does not fetch all properties.
* DATAMONGO-1725 - Potential NullPointerException in CloseableIterableCursorAdapter.
* DATAMONGO-1723 - Fix unit tests after API changes in Spring Data Commons.
* DATAMONGO-1720 - Add JMH benchmark module.
* DATAMONGO-1718 - MongoTemplate.findAndRemoveAll(Query, String) delegates to wrong overload.
* DATAMONGO-1711 - Release 1.10.5 (Ingalls SR5).
* DATAMONGO-1703 - Allow referencing views in object graphs containing circular dependencies.
* DATAMONGO-1697 - @Version used by @EnableMongoAuditing does not increase when using collection name in MongoTemplate's updateFirst. Unexpected, not described by reference documentation.
* DATAMONGO-1678 - DefaultBulkOperations do not map Query and Update objects properly.


Changes in version 2.0.0.M4 (2017-06-14)
----------------------------------------
* DATAMONGO-1716 - Upgrade to Reactive Streams driver 1.5.0.
* DATAMONGO-1714 - Deprecate MongoLog4jAppender.
* DATAMONGO-1712 - Adopt to ReactiveCrudRepository.findById(Publisher) and existsById(Publisher).
* DATAMONGO-1710 - Adopt to changed AnnotationUtils.getValue(…) and OperatorNode.getRightOperand() behavior.
* DATAMONGO-1707 - Upgrade to Reactor 3.1 M2.
* DATAMONGO-1699 - Upgrade travis.yml to use MongoDB 3.4.
* DATAMONGO-1695 - Make sure GridFsResource.getContentType() reads type from new location within file metadata.
* DATAMONGO-1693 - Support collation in ReactiveMongoTemplate.createCollection.
* DATAMONGO-1690 - Adapt to QuerydslPerdicateExecutor API changes.
* DATAMONGO-1689 - Provide Kotlin extensions for Class based methods in MongoOperations / ReactiveMongoOperations.
* DATAMONGO-1688 - Release 2.0 M4 (Kay).
* DATAMONGO-1687 - Creating capped collection with CollectionOptions.empty().capped(…) causes NPE.
* DATAMONGO-1686 - Upgarde to MongoDB reactive streams driver 1.4.
* DATAMONGO-1685 - Adapt QueryByExampleExecutor API changes.
* DATAMONGO-1619 - Use ReactiveQueryByExampleExecutor in ReactiveMongoRepository.
* DATAMONGO-1563 - Add TemplateWrapper to reduce method overloads on MongoTemplate.


Changes in version 1.10.4.RELEASE (2017-06-08)
----------------------------------------------
* DATAMONGO-1699 - Upgrade travis.yml to use MongoDB 3.4.
* DATAMONGO-1672 - Release 1.10.4 (Ingalls SR4).
* DATAMONGO-1205 - CyclicPropertyReferenceException logged with stack trace.


Changes in version 1.9.11.RELEASE (2017-06-07)
----------------------------------------------
* DATAMONGO-1671 - Release 1.9.11 (Hopper SR11).
* DATAMONGO-1205 - CyclicPropertyReferenceException logged with stack trace.


Changes in version 2.0.0.M3 (2017-05-09)
----------------------------------------
* DATAMONGO-1684 - Adopt documentation to removed JodaTime DateMidnight support.
* DATAMONGO-1679 - Adapt to API changes in CrudRepository.
* DATAMONGO-1674 - Adapt to Range API changes.
* DATAMONGO-1668 - Adopt changed Mono and Flux error handling API.
* DATAMONGO-1667 - Rename @InfiniteStream to @Tailable.
* DATAMONGO-1666 - Constructor creation with bulk fetching of DBRefs uses List instead of collection type.
* DATAMONGO-1665 - Adapt to API changes in Reactor 3.1.
* DATAMONGO-1664 - Release 2.0 M3 (Kay).
* DATAMONGO-1662 - Section "Projection Expressions" contains error "Aggregate".
* DATAMONGO-1660 - Extract CustomConversions into Spring Data Commons.
* DATAMONGO-1518 - Add support for Collations.
* DATAMONGO-1325 - Add support for $sample to aggregation.
* DATAMONGO-1205 - CyclicPropertyReferenceException logged with stack trace.


Changes in version 1.9.10.RELEASE (2017-04-19)
----------------------------------------------
* DATAMONGO-1670 - Release 1.9.10 (Hopper SR10).


Changes in version 1.10.3.RELEASE (2017-04-19)
----------------------------------------------
* DATAMONGO-1669 - Release 1.10.3 (Ingalls SR3).


Changes in version 1.9.9.RELEASE (2017-04-19)
---------------------------------------------
* DATAMONGO-1662 - Section "Projection Expressions" contains error "Aggregate".
* DATAMONGO-1645 - RuntimeException when logging BeforeDeleteEvent and AfterDeleteEvent.
* DATAMONGO-1639 - BeforeConvertEvent now sees old version values for update of entities.
* DATAMONGO-1634 - Release 1.9.9 (Hopper SR9).
* DATAMONGO-1421 - Repository with Enum argument: json can't serialize type.


Changes in version 1.10.2.RELEASE (2017-04-19)
----------------------------------------------
* DATAMONGO-1666 - Constructor creation with bulk fetching of DBRefs uses List instead of collection type.
* DATAMONGO-1662 - Section "Projection Expressions" contains error "Aggregate".
* DATAMONGO-1645 - RuntimeException when logging BeforeDeleteEvent and AfterDeleteEvent.
* DATAMONGO-1639 - BeforeConvertEvent now sees old version values for update of entities.
* DATAMONGO-1633 - Release 1.10.2 (Ingalls SR2).
* DATAMONGO-1620 - Not able to set serverSelectionTimeout on MongoClientOptions using MongoClientOptionsFactoryBean.
* DATAMONGO-1421 - Repository with Enum argument: json can't serialize type.


Changes in version 2.0.0.M2 (2017-04-04)
----------------------------------------
* DATAMONGO-1656 - Upgrade to MongoDB Driver 3.4.2 and Reactive Streams Driver 1.3.0.
* DATAMONGO-1655 - Remove obsolete build profiles.
* DATAMONGO-1648 - Rename getRepositoryFactoryClassName to getRepositoryFactoryBeanClassName.
* DATAMONGO-1647 - Use IdentifierAccessor.getRequiredIdentifier() in MongoTemplate.doSaveVersioned(…).
* DATAMONGO-1645 - RuntimeException when logging BeforeDeleteEvent and AfterDeleteEvent.
* DATAMONGO-1643 - Add namespace xsd for 2.x.
* DATAMONGO-1641 - Remove formatting config from the repository.
* DATAMONGO-1639 - BeforeConvertEvent now sees old version values for update of entities.
* DATAMONGO-1637 - Add support for aggregation result streaming.
* DATAMONGO-1620 - Not able to set serverSelectionTimeout on MongoClientOptions using MongoClientOptionsFactoryBean.
* DATAMONGO-1617 - IDs with non-autogeneratable type cannot be assigned automatically with custom event listeners.
* DATAMONGO-1610 - Support RxJava 2 repositories.
* DATAMONGO-1608 - NullPointerException with null argument when using IgnoreCase.
* DATAMONGO-1607 - Class Cast Exception when retrieve data Point with value equal integer.
* DATAMONGO-1605 - All SPEL values are converted to String.
* DATAMONGO-1603 - @Query Annotation Placeholder Issue.
* DATAMONGO-1602 - Remove references to single-argument assertion methods of Spring.
* DATAMONGO-1600 - GraphLookupOperationBuilder is not visible.
* DATAMONGO-1596 - Reference to wrong annotation in cross-store reference documentation.
* DATAMONGO-1594 - Update "what’s new" section in reference documentation.
* DATAMONGO-1590 - Entity new detection doesn't consider Persistable.isNew().
* DATAMONGO-1589 - Update project documentation with the CLA tool integration.
* DATAMONGO-1588 - Repository will not accept Point subclass in spatial query.
* DATAMONGO-1587 - Migrate ticket references in test code to Spring Framework style.
* DATAMONGO-1586 - TypeBasedAggregationOperationContext.getReferenceFor(…) exposes fields with their leaf property name.
* DATAMONGO-1585 - Aggregation sort references target field of projected and aliased fields.
* DATAMONGO-1581 - ReactiveMongoRepositoryConfigurationExtension should be public.
* DATAMONGO-1578 - Add missing @Test annotation to ProjectionOperationUnitTests.
* DATAMONGO-1577 - Fix Reference and JavaDoc spelling issues.
* DATAMONGO-1576 - AbstractMongoEventListener methods not called when working with member fields.
* DATAMONGO-1575 - Treat String replacement values in StringBased queries as such unless they are SpEL expressions.
* DATAMONGO-1567 - Upgrade to a newer JDK version on TravisCI.
* DATAMONGO-1566 - Adapt API in RepositoryFactoryBeanSupport implementation.
* DATAMONGO-1565 - Placeholders in manually defined queries not escaped properly.
* DATAMONGO-1564 - Split up AggregationExpressions.
* DATAMONGO-1559 - Migrate reactive tests from TestSubscriber to StepVerifier.
* DATAMONGO-1558 - Upgrade travis-ci profile to MongoDB 3.4.
* DATAMONGO-1552 - Add $facet, $bucket and $bucketAuto aggregation stages.
* DATAMONGO-1551 - Add $graphLookup aggregation stage.
* DATAMONGO-1550 - Add $replaceRoot aggregation stage.
* DATAMONGO-1549 - Add $count aggregation stage.
* DATAMONGO-1548 - Add new MongoDB 3.4 aggregation operators.
* DATAMONGO-1547 - Register repository factory in spring.factories for multi-store support.
* DATAMONGO-1546 - Switch to new way of registering custom Jackson modules.
* DATAMONGO-1542 - Refactor CondOperator and IfNullOperator to children of AggregationExpressions.
* DATAMONGO-1540 - Add support for $map to aggregation.
* DATAMONGO-1539 - Add dedicated annotations for manually declared count and delete queries.
* DATAMONGO-1538 - Add support for $let to aggregation.
* DATAMONGO-1536 - Add missing aggregation operators.
* DATAMONGO-1535 - Release 2.0 M2 (Kay).


Changes in version 1.9.8.RELEASE (2017-03-02)
---------------------------------------------
* DATAMONGO-1608 - NullPointerException with null argument when using IgnoreCase.
* DATAMONGO-1607 - Class Cast Exception when retrieve data Point with value equal integer.
* DATAMONGO-1605 - All SPEL values are converted to String.
* DATAMONGO-1603 - @Query Annotation Placeholder Issue.
* DATAMONGO-1602 - Remove references to single-argument assertion methods of Spring.
* DATAMONGO-1597 - Release 1.9.8 (Hopper SR8).


Changes in version 1.10.1.RELEASE (2017-03-02)
----------------------------------------------
* DATAMONGO-1608 - NullPointerException with null argument when using IgnoreCase.
* DATAMONGO-1607 - Class Cast Exception when retrieve data Point with value equal integer.
* DATAMONGO-1605 - All SPEL values are converted to String.
* DATAMONGO-1603 - @Query Annotation Placeholder Issue.
* DATAMONGO-1602 - Remove references to single-argument assertion methods of Spring.
* DATAMONGO-1600 - GraphLookupOperationBuilder is not visible.
* DATAMONGO-1598 - Release 1.10.1 (Ingalls SR1).


Changes in version 1.9.7.RELEASE (2017-01-26)
---------------------------------------------
* DATAMONGO-1596 - Reference to wrong annotation in cross-store reference documentation.
* DATAMONGO-1590 - Entity new detection doesn't consider Persistable.isNew().
* DATAMONGO-1588 - Repository will not accept Point subclass in spatial query.
* DATAMONGO-1586 - TypeBasedAggregationOperationContext.getReferenceFor(…) exposes fields with their leaf property name.
* DATAMONGO-1585 - Aggregation sort references target field of projected and aliased fields.
* DATAMONGO-1578 - Add missing @Test annotation to ProjectionOperationUnitTests.
* DATAMONGO-1577 - Fix Reference and JavaDoc spelling issues.
* DATAMONGO-1576 - AbstractMongoEventListener methods not called when working with member fields.
* DATAMONGO-1573 - Release 1.9.7 (Hopper SR7).
* DATAMONGO-1508 - Documentation lacking for db-factory authentication-dbname.


Changes in version 1.10.0.RELEASE (2017-01-26)
----------------------------------------------
* DATAMONGO-1596 - Reference to wrong annotation in cross-store reference documentation.
* DATAMONGO-1594 - Update "what’s new" section in reference documentation.
* DATAMONGO-1590 - Entity new detection doesn't consider Persistable.isNew().
* DATAMONGO-1589 - Update project documentation with the CLA tool integration.
* DATAMONGO-1588 - Repository will not accept Point subclass in spatial query.
* DATAMONGO-1587 - Migrate ticket references in test code to Spring Framework style.
* DATAMONGO-1586 - TypeBasedAggregationOperationContext.getReferenceFor(…) exposes fields with their leaf property name.
* DATAMONGO-1585 - Aggregation sort references target field of projected and aliased fields.
* DATAMONGO-1578 - Add missing @Test annotation to ProjectionOperationUnitTests.
* DATAMONGO-1577 - Fix Reference and JavaDoc spelling issues.
* DATAMONGO-1576 - AbstractMongoEventListener methods not called when working with member fields.
* DATAMONGO-1575 - Treat String replacement values in StringBased queries as such unless they are SpEL expressions.
* DATAMONGO-1574 - Release 1.10 GA (Ingalls).
* DATAMONGO-1508 - Documentation lacking for db-factory authentication-dbname.


Changes in version 1.9.6.RELEASE (2016-12-21)
---------------------------------------------
* DATAMONGO-1565 - Placeholders in manually defined queries not escaped properly.
* DATAMONGO-1534 - Type hint is missing when using BulkOperations.insert.
* DATAMONGO-1525 - Reading empty EnumSet fails.
* DATAMONGO-1522 - Release 1.9.6 (Hopper SR6).


Changes in version 1.10.0.RC1 (2016-12-21)
------------------------------------------
* DATAMONGO-1567 - Upgrade to a newer JDK version on TravisCI.
* DATAMONGO-1566 - Adapt API in RepositoryFactoryBeanSupport implementation.
* DATAMONGO-1565 - Placeholders in manually defined queries not escaped properly.
* DATAMONGO-1564 - Split up AggregationExpressions.
* DATAMONGO-1558 - Upgrade travis-ci profile to MongoDB 3.4.
* DATAMONGO-1552 - Add $facet, $bucket and $bucketAuto aggregation stages.
* DATAMONGO-1551 - Add $graphLookup aggregation stage.
* DATAMONGO-1550 - Add $replaceRoot aggregation stage.
* DATAMONGO-1549 - Add $count aggregation stage.
* DATAMONGO-1548 - Add new MongoDB 3.4 aggregation operators.
* DATAMONGO-1547 - Register repository factory in spring.factories for multi-store support.
* DATAMONGO-1546 - Switch to new way of registering custom Jackson modules.
* DATAMONGO-1542 - Refactor CondOperator and IfNullOperator to children of AggregationExpressions.
* DATAMONGO-1540 - Add support for $map to aggregation.
* DATAMONGO-1539 - Add dedicated annotations for manually declared count and delete queries.
* DATAMONGO-1538 - Add support for $let to aggregation.
* DATAMONGO-1536 - Add missing aggregation operators.
* DATAMONGO-1534 - Type hint is missing when using BulkOperations.insert.
* DATAMONGO-1533 - Add support for SpEL in GroupOperations (aggregation).
* DATAMONGO-1530 - Support missing aggregation pipeline operators in expression support.
* DATAMONGO-1525 - Reading empty EnumSet fails.
* DATAMONGO-1521 - Aggregation.skip(...) expects int but new SkipOperation(...) supports long.
* DATAMONGO-1520 - Aggregation.match should accept CriteriaDefinition.
* DATAMONGO-1514 - SpringDataMongodbQuery should be public.
* DATAMONGO-1513 - Non-ObjectId identifiers generated by event listeners are not populated if documents are inserted as batch.
* DATAMONGO-1504 - Assert compatibility with MongoDB 3.4 server and driver.
* DATAMONGO-1500 - RuntimeException for query methods with fields declaration and Pageable parameters.
* DATAMONGO-1498 - MongoMappingContext doesn't know about types usually auto-detected (JodaTime, JDK 8 date time types).
* DATAMONGO-1493 - Typos in reference documentation.
* DATAMONGO-1492 - Interface AggregationExpression in package org.springframework.data.mongodb.core.aggregation should be public.
* DATAMONGO-1491 - Add support for $filter to aggregation.
* DATAMONGO-1490 - Change the XML data type of boolean flags to String.
* DATAMONGO-1486 - Changes to MappingMongoConverter Result in Class Cast Exception.
* DATAMONGO-1485 - Querydsl MongodbSerializer does not take registered converters for Enums into account.
* DATAMONGO-1480 - Add support for noCursorTimeout in Query.
* DATAMONGO-1479 - MappingMongoConverter.convertToMongoType causes StackOverflowError for parameterized map value types.
* DATAMONGO-1476 - New stream method only partially makes use of collection name.
* DATAMONGO-1471 - MappingMongoConverter attempts to set null value on potentially primitive identifier.
* DATAMONGO-1470 - AbstractMongoConfiguraton should allow multiple base package for @Document scanning.
* DATAMONGO-1469 - Release 1.10 RC1 (Ingalls).
* DATAMONGO-1467 - Support partial filter expressions for indexing introduced in MongoDB 3.2.
* DATAMONGO-1465 - String arguments passed to DefaultScriptOperations.execute() appear quoted in script.
* DATAMONGO-1454 - Add support for exists projection in repository query derivation.
* DATAMONGO-1406 - Query mapper does not use @Field field name when querying nested fields in combination with nested keywords.
* DATAMONGO-1328 - Add support for mongodb 3.2 specific arithmetic operators to aggregation.
* DATAMONGO-1327 - Add support for $stdDevSamp and $stdDevPop to aggregation ($group stage).
* DATAMONGO-1299 - Add support for date aggregations.
* DATAMONGO-1141 - Add support for $push $sort in Update.
* DATAMONGO-861 - Add support for $cond and $ifNull operators in aggregation operation.
* DATAMONGO-784 - Add support for $cmp in group or project aggregation.


Changes in version 2.0.0.M1 (2016-11-23)
----------------------------------------
* DATAMONGO-1527 - Release 2.0 M1 (Kay).
* DATAMONGO-1509 - Inconsistent type alias placement in list of classes.
* DATAMONGO-1461 - Upgrade Hibernate/JPA dependencies to match Spring 5 baseline.
* DATAMONGO-1448 - Set up 2.0 development.
* DATAMONGO-1444 - Reactive support in Spring Data MongoDB.
* DATAMONGO-1176 - Use org.bson types instead of com.mongodb.
* DATAMONGO-563 - Upgrade to MongoDB driver 2.9.2 as it fixes a serious regression introduced in 2.9.0.
* DATAMONGO-562 - Cannot create entity with OptimisticLocking (@Version) and initial id.


Changes in version 1.9.5.RELEASE (2016-11-03)
---------------------------------------------
* DATAMONGO-1521 - Aggregation.skip(...) expects int but new SkipOperation(...) supports long.
* DATAMONGO-1514 - SpringDataMongodbQuery should be public.
* DATAMONGO-1513 - Non-ObjectId identifiers generated by event listeners are not populated if documents are inserted as batch.
* DATAMONGO-1504 - Assert compatibility with MongoDB 3.4 server and driver.
* DATAMONGO-1502 - Release 1.9.5 (Hopper SR5).
* DATAMONGO-1500 - RuntimeException for query methods with fields declaration and Pageable parameters.


Changes in version 1.9.4.RELEASE (2016-09-29)
---------------------------------------------
* DATAMONGO-1498 - MongoMappingContext doesn't know about types usually auto-detected (JodaTime, JDK 8 date time types).
* DATAMONGO-1497 - MappingMongoConverter's check for whether a value is available for a property should use DbObjectAccessor.
* DATAMONGO-1495 - Release 1.9.4 (Hopper SR4).


Changes in version 1.8.6.RELEASE (2016-09-29)
---------------------------------------------
* DATAMONGO-1499 - Release 1.8.6 (Gosling SR6).
* DATAMONGO-1497 - MappingMongoConverter's check for whether a value is available for a property should use DbObjectAccessor.


Changes in version 1.8.5.RELEASE (2016-09-20)
---------------------------------------------
* DATAMONGO-1494 - Release 1.8.5 (Gosling SR5).
* DATAMONGO-1492 - Interface AggregationExpression in package org.springframework.data.mongodb.core.aggregation should be public.
* DATAMONGO-1485 - Querydsl MongodbSerializer does not take registered converters for Enums into account.
* DATAMONGO-1479 - MappingMongoConverter.convertToMongoType causes StackOverflowError for parameterized map value types.
* DATAMONGO-1471 - MappingMongoConverter attempts to set null value on potentially primitive identifier.
* DATAMONGO-1465 - String arguments passed to DefaultScriptOperations.execute() appear quoted in script.
* DATAMONGO-1453 - Parse error into GeoJsonPoint if coordinates are "integers".
* DATAMONGO-1449 - Replace legacy for loop with foreach in MappingMongoConverter.
* DATAMONGO-1445 - @Id annotated attribute of type BigInteger does not work with query methods.
* DATAMONGO-1437 - DefaultDbRefResolver swallows cause of non DataAccessException translatable Exception.
* DATAMONGO-1425 - NOT_CONTAINS keyword issues CONTAINS query.
* DATAMONGO-1423 - Nested document update doesn't apply converters on embedded maps.
* DATAMONGO-1412 - Document mapping rules for Java types to MongoDB representation.
* DATAMONGO-1406 - Query mapper does not use @Field field name when querying nested fields in combination with nested keywords.
* DATAMONGO-1401 - GeoJsonPoint error on update.


Changes in version 1.9.3.RELEASE (2016-09-20)
---------------------------------------------
* DATAMONGO-1493 - Typos in reference documentation.
* DATAMONGO-1492 - Interface AggregationExpression in package org.springframework.data.mongodb.core.aggregation should be public.
* DATAMONGO-1486 - Changes to MappingMongoConverter Result in Class Cast Exception.
* DATAMONGO-1485 - Querydsl MongodbSerializer does not take registered converters for Enums into account.
* DATAMONGO-1479 - MappingMongoConverter.convertToMongoType causes StackOverflowError for parameterized map value types.
* DATAMONGO-1471 - MappingMongoConverter attempts to set null value on potentially primitive identifier.
* DATAMONGO-1465 - String arguments passed to DefaultScriptOperations.execute() appear quoted in script.
* DATAMONGO-1463 - Upgrade to MongoDB Java driver 2.14.3.
* DATAMONGO-1453 - Parse error into GeoJsonPoint if coordinates are "integers".
* DATAMONGO-1450 - Release 1.9.3 (Hopper SR3).
* DATAMONGO-1406 - Query mapper does not use @Field field name when querying nested fields in combination with nested keywords.


Changes in version 1.10.0.M1 (2016-07-27)
-----------------------------------------
* DATAMONGO-1464 - Pagination - Optimize out the count query for paging.
* DATAMONGO-1463 - Upgrade to MongoDB Java driver 2.14.3.
* DATAMONGO-1462 - Integrate version badge from spring.io.
* DATAMONGO-1460 - User placeholder property for JSR-303 API.
* DATAMONGO-1459 - Add support for any-match mode in query-by-example.
* DATAMONGO-1457 - Add support for $slice in projection stage of aggregation.
* DATAMONGO-1456 - Add support for $diacriticInsensitivity to text search.
* DATAMONGO-1455 - Add support for $caseSensitive to text search.
* DATAMONGO-1453 - Parse error into GeoJsonPoint if coordinates are "integers".
* DATAMONGO-1449 - Replace legacy for loop with foreach in MappingMongoConverter.
* DATAMONGO-1437 - DefaultDbRefResolver swallows cause of non DataAccessException translatable Exception.
* DATAMONGO-1431 - Add overload of MongoOperations.stream(…) to take an explicit collection name.
* DATAMONGO-1425 - NOT_CONTAINS keyword issues CONTAINS query.
* DATAMONGO-1424 - Add support for "notLike" keyword in derived queries.
* DATAMONGO-1423 - Nested document update doesn't apply converters on embedded maps.
* DATAMONGO-1420 - Update Spring Data MongoDB version in Github readme.
* DATAMONGO-1419 - Remove deprecations in AbstractMongoEventListener.
* DATAMONGO-1418 - Add support for $out operand for Aggregation.
* DATAMONGO-1416 - Standard bootstrap issues warning in converter registration.
* DATAMONGO-1412 - Document mapping rules for Java types to MongoDB representation.
* DATAMONGO-1411 - Enable MongoDB build on TravisCI.
* DATAMONGO-1409 - Release 1.10 M1 (Ingalls).
* DATAMONGO-1404 - Add support of $max and $min update operations.
* DATAMONGO-1403 - Add maxExecutionTimeMs alias for @Meta(maxExcecutionTime).
* DATAMONGO-1399 - Allow adding hole to GeoJson Polygon.
* DATAMONGO-1394 - References not handled correctly when using QueryDSL.
* DATAMONGO-1391 - Support Mongo 3.2 syntax for $unwind in aggregation.
* DATAMONGO-1271 - Provide read lifecycle events when loading DBRefs.
* DATAMONGO-1194 - Improve DBRef resolution for collections.
* DATAMONGO-832 - Add support for $slice in Update.push.


Changes in version 1.9.2.RELEASE (2016-06-15)
---------------------------------------------
* DATAMONGO-1449 - Replace legacy for loop with foreach in MappingMongoConverter.
* DATAMONGO-1437 - DefaultDbRefResolver swallows cause of non DataAccessException translatable Exception.
* DATAMONGO-1425 - NOT_CONTAINS keyword issues CONTAINS query.
* DATAMONGO-1423 - Nested document update doesn't apply converters on embedded maps.
* DATAMONGO-1416 - Standard bootstrap issues warning in converter registration.
* DATAMONGO-1412 - Document mapping rules for Java types to MongoDB representation.
* DATAMONGO-1411 - Enable MongoDB build on TravisCI.
* DATAMONGO-1410 - Release 1.9.2 (Hopper SR2).


Changes in version 1.9.1.RELEASE (2016-04-06)
---------------------------------------------
* DATAMONGO-1408 - Release 1.9.1 (Hopper SR1).


Changes in version 1.9.0.RELEASE (2016-04-06)
---------------------------------------------
* DATAMONGO-1407 - Add pull request template.
* DATAMONGO-1405 - Release 1.9 GA (Hopper).
* DATAMONGO-1401 - GeoJsonPoint error on update.
* DATAMONGO-1398 - Update documentation for Spring Data MongoDB 1.9.
* DATAMONGO-1396 - Exception when creating geo within Criteria using Aggregation.


Changes in version 1.9.0.RC1 (2016-03-18)
-----------------------------------------
* DATAMONGO-1400 - Adapt to rename of Spring Data Commons' Tuple to Pair.
* DATAMONGO-1397 - MongoTemplate.geoNear() do not log the Query.
* DATAMONGO-1392 - Release 1.9 RC1 (Hopper).
* DATAMONGO-1389 - Adapt test case to changes made for improved type prediction infrastructure.
* DATAMONGO-1387 - BasicQuery.fields().include() doesn't stick, even though Query.fields().include() does.
* DATAMONGO-1373 - Problem with custom annotations with AliasFor annotated attributes.
* DATAMONGO-1326 - Add support for $lookup to aggregation.
* DATAMONGO-1245 - Add support for Query-By-Example.


Changes in version 1.8.4.RELEASE (2016-02-23)
---------------------------------------------
* DATAMONGO-1381 - Release 1.8.4 (Gosling SR4).
* DATAMONGO-1380 - Improve logging in MongoChangeSetPersister.
* DATAMONGO-1378 - Update reference documentation: Change Query.sort() to Query.with(Sort sort).
* DATAMONGO-1377 - Update JavaDoc: Use @EnableMongoRepositories instead of @EnableJpaRepositories.
* DATAMONGO-1376 - Move away from SimpleTypeInformationMapper.INSTANCE.
* DATAMONGO-1375 - Fix typo in MongoOperations JavaDoc.
* DATAMONGO-1361 - geoNear() queries fail when the accompanying query returns no results.
* DATAMONGO-1360 - Cannot query with JSR310.
* DATAMONGO-1270 - Update documentation to reflect deprecation of MongoFactoryBean.


Changes in version 1.9.0.M1 (2016-02-12)
----------------------------------------
* DATAMONGO-1380 - Improve logging in MongoChangeSetPersister.
* DATAMONGO-1378 - Update reference documentation: Change Query.sort() to Query.with(Sort sort).
* DATAMONGO-1377 - Update JavaDoc: Use @EnableMongoRepositories instead of @EnableJpaRepositories.
* DATAMONGO-1376 - Move away from SimpleTypeInformationMapper.INSTANCE.
* DATAMONGO-1375 - Fix typo in MongoOperations JavaDoc.
* DATAMONGO-1372 - Add converter for Currency.
* DATAMONGO-1371 - Add code of conduct.
* DATAMONGO-1366 - Release 1.9 M1 (Hopper).
* DATAMONGO-1361 - geoNear() queries fail when the accompanying query returns no results.
* DATAMONGO-1360 - Cannot query with JSR310.
* DATAMONGO-1349 - Upgrade to mongo-java-driver 2.14.0.
* DATAMONGO-1346 - Cannot add two pullAll to an Update.
* DATAMONGO-1345 - Add support for projections on repository query methods.
* DATAMONGO-1342 - Potential NullPointerException in MongoQueryCreator.nextAsArray(…).
* DATAMONGO-1341 - Remove package cycle between core and core.index.
* DATAMONGO-1337 - General code quality improvements.
* DATAMONGO-1335 - DBObjectAccessor doesn't write properties correctly if multiple ones are nested.
* DATAMONGO-1334 - MapResultOptions limit not implemented.
* DATAMONGO-1324 - StringToObjectIdConverter not properly registered causing drop in performance on identifier conversion.
* DATAMONGO-1317 - Assert compatibility with MongoDB Java driver 3.2.
* DATAMONGO-1314 - Fix typo in Exception message.
* DATAMONGO-1312 - Cannot convert generic sub-document fields.
* DATAMONGO-1303 - Add build profile for MongoDB 3.1 driver.
* DATAMONGO-1302 - CustomConversions should allow registration of ConverterFactory.
* DATAMONGO-1297 - Unique Index on DBRef.
* DATAMONGO-1293 - MongoDbFactoryParser should allow id attribute in addition to client-uri.
* DATAMONGO-1291 - Allow @Document to be used as meta-annotation.
* DATAMONGO-1290 - @Query annotation with byte[] parameter does not work.
* DATAMONGO-1289 - NullPointerException when saving an object with no "id" field or @Id annotation.
* DATAMONGO-1288 - Update.inc(String, Number) method fails to work with AtomicInteger.
* DATAMONGO-1287 - MappingMongoConverter eagerly fetches and converts lazy DbRef to change them afterwards by proxies.
* DATAMONGO-1276 - MongoTemplate.CloseableIterableCursorAdapter does not null check return values from PersistenceExceptionTranslator.
* DATAMONGO-1270 - Update documentation to reflect deprecation of MongoFactoryBean.
* DATAMONGO-1238 - Support for Querydsl 4.
* DATAMONGO-1204 - ObjectPath equality check breaks due to changes MongoDB V3.
* DATAMONGO-1163 - Allow @Indexed to be used as meta-annotation.
* DATAMONGO-934 - Add support for the bulk operations introduced in MongoDB 2.6.


Changes in version 1.8.2.RELEASE (2015-12-18)
---------------------------------------------
* DATAMONGO-1355 - Release 1.8.2 (Gosling).
* DATAMONGO-1346 - Cannot add two pullAll to an Update.
* DATAMONGO-1342 - Potential NullPointerException in MongoQueryCreator.nextAsArray(…).
* DATAMONGO-1337 - General code quality improvements.
* DATAMONGO-1335 - DBObjectAccessor doesn't write properties correctly if multiple ones are nested.
* DATAMONGO-1334 - MapResultOptions limit not implemented.
* DATAMONGO-1324 - StringToObjectIdConverter not properly registered causing drop in performance on identifier conversion.
* DATAMONGO-1317 - Assert compatibility with MongoDB Java driver 3.2.
* DATAMONGO-1290 - @Query annotation with byte[] parameter does not work.
* DATAMONGO-1289 - NullPointerException when saving an object with no "id" field or @Id annotation.
* DATAMONGO-1287 - MappingMongoConverter eagerly fetches and converts lazy DbRef to change them afterwards by proxies.
* DATAMONGO-1204 - ObjectPath equality check breaks due to changes MongoDB V3.


Changes in version 1.8.1.RELEASE (2015-11-15)
---------------------------------------------
* DATAMONGO-1316 - Release 1.8.1 (Gosling).
* DATAMONGO-1312 - Cannot convert generic sub-document fields.
* DATAMONGO-1302 - CustomConversions should allow registration of ConverterFactory.
* DATAMONGO-1297 - Unique Index on DBRef.
* DATAMONGO-1293 - MongoDbFactoryParser should allow id attribute in addition to client-uri.
* DATAMONGO-1276 - MongoTemplate.CloseableIterableCursorAdapter does not null check return values from PersistenceExceptionTranslator.


Changes in version 1.6.4.RELEASE (2015-10-14)
---------------------------------------------
* DATAMONGO-1304 - Release 1.6.4 (Evans).


Changes in version 1.8.0.RELEASE (2015-09-01)
---------------------------------------------
* DATAMONGO-1282 - Release 1.8 GA (Gosling).
* DATAMONGO-1280 - Add what's new section to refrence documentation.
* DATAMONGO-1275 - Reference documentation should mention support for optimistic locking.
* DATAMONGO-1269 - QueryMapper drops numeric keys in Maps.
* DATAMONGO-1256 - Provide a collectionName in MongoMappingEvents.


Changes in version 1.8.0.RC1 (2015-08-04)
-----------------------------------------
* DATAMONGO-1268 - Release 1.8 RC1 (Gosling).
* DATAMONGO-1266 - Repository query methods returning a primitive do not detect domain type correctly.
* DATAMONGO-1260 - Prevent accidental authentication misconfiguration on SimpleMongoDbFactory.
* DATAMONGO-1257 - mongo:mongo-client namespace does not support usernames with a comma.
* DATAMONGO-1254 - Group after Project in aggregation uses incorrect field name.
* DATAMONGO-1251 - update / findAndModify throws NullPointerException.
* DATAMONGO-1250 - Custom converter implementation not used in updates.
* DATAMONGO-1244 - StringBasedMongoQuery handles complex expression parameters incorrectly.
* DATAMONGO-1242 - Update mongo-java-driver to 3.0.2 in mongo3 profile.
* DATAMONGO-1236 - MongoOperations findAndModify and updateFirst do not include the _class in Map values.
* DATAMONGO-1234 - Fix typos in JavaDoc.
* DATAMONGO-1232 - IgnoreCase should escape queries.
* DATAMONGO-1229 - MongoQueryCreator incorrectly rejects ignoreCase on nested String path.
* DATAMONGO-1166 - ReadPreference not used for Aggregations.
* DATAMONGO-1157 - Throw meaningful exception when @DbRef is used with unsupported types.
* DATAMONGO-1125 - Specify collection that triggers CommandFailureException.


Changes in version 1.7.2.RELEASE (2015-07-28)
---------------------------------------------
* DATAMONGO-1261 - Release 1.7.2 (Fowler).
* DATAMONGO-1260 - Prevent accidental authentication misconfiguration on SimpleMongoDbFactory.
* DATAMONGO-1257 - mongo:mongo-client namespace does not support usernames with a comma.
* DATAMONGO-1254 - Group after Project in aggregation uses incorrect field name.
* DATAMONGO-1251 - update / findAndModify throws NullPointerException.
* DATAMONGO-1250 - Custom converter implementation not used in updates.


Changes in version 1.5.6.RELEASE (2015-07-01)
---------------------------------------------
* DATAMONGO-1246 - Release 1.5.6 (Dijkstra).
* DATAMONGO-1234 - Fix typos in JavaDoc.
* DATAMONGO-1232 - IgnoreCase should escape queries.
* DATAMONGO-1229 - MongoQueryCreator incorrectly rejects ignoreCase on nested String path.
* DATAMONGO-1224 - Assert Spring Framework 4.2 compatibility.
* DATAMONGO-1221 - Remove relative reference to parent POM to make sure the right Spring version is picked up.
* DATAMONGO-1207 - MongoTemplate#doInsertAll throws NullPointerException when passed Collection contains a null item.
* DATAMONGO-1180 - Incorrect exception message creation in PartTreeMongoQuery.
* DATAMONGO-1166 - ReadPreference not used for Aggregations.
* DATAMONGO-1155 - Upgrade mongo-next build profiles to Java driver version 2.13.0.


Changes in version 1.6.3.RELEASE (2015-07-01)
---------------------------------------------
* DATAMONGO-1247 - Release 1.6.3 (Evans).
* DATAMONGO-1242 - Update mongo-java-driver to 3.0.2 in mongo3 profile.
* DATAMONGO-1234 - Fix typos in JavaDoc.
* DATAMONGO-1232 - IgnoreCase should escape queries.
* DATAMONGO-1229 - MongoQueryCreator incorrectly rejects ignoreCase on nested String path.
* DATAMONGO-1224 - Assert Spring Framework 4.2 compatibility.
* DATAMONGO-1221 - Remove relative reference to parent POM to make sure the right Spring version is picked up.
* DATAMONGO-1213 - Include new section on Spring Data and Spring Framework dependencies in reference documentation.
* DATAMONGO-1210 - Inconsistent property order of _class type hint breaks document equality.
* DATAMONGO-1207 - MongoTemplate#doInsertAll throws NullPointerException when passed Collection contains a null item.
* DATAMONGO-1196 - Upgrade build profiles after MongoDB 3.0 Java driver release.
* DATAMONGO-1180 - Incorrect exception message creation in PartTreeMongoQuery.
* DATAMONGO-1166 - ReadPreference not used for Aggregations.
* DATAMONGO-1157 - Throw meaningful exception when @DbRef is used with unsupported types.
* DATAMONGO-1155 - Upgrade mongo-next build profiles to Java driver version 2.13.0.
* DATAMONGO-1153 - Fix documentation build.
* DATAMONGO-1133 - Field aliasing is not honored in Aggregation operations.
* DATAMONGO-1124 - Switch log level for cyclic reference index warnings from WARN to INFO.
* DATAMONGO-1081 - Improve documentation on field mapping semantics.


Changes in version 1.7.1.RELEASE (2015-06-30)
---------------------------------------------
* DATAMONGO-1248 - Release 1.7.1 (Fowler).
* DATAMONGO-1242 - Update mongo-java-driver to 3.0.2 in mongo3 profile.
* DATAMONGO-1234 - Fix typos in JavaDoc.
* DATAMONGO-1232 - IgnoreCase should escape queries.
* DATAMONGO-1229 - MongoQueryCreator incorrectly rejects ignoreCase on nested String path.
* DATAMONGO-1224 - Assert Spring Framework 4.2 compatibility.
* DATAMONGO-1221 - Remove relative reference to parent POM to make sure the right Spring version is picked up.
* DATAMONGO-1216 - Authentication mechanism PLAIN  changes to SCRAM-SHA-1.
* DATAMONGO-1213 - Include new section on Spring Data and Spring Framework dependencies in reference documentation.
* DATAMONGO-1210 - Inconsistent property order of _class type hint breaks document equality.
* DATAMONGO-1208 - MongoTemplate.stream(…) does not consider limit, order, sort etc.
* DATAMONGO-1207 - MongoTemplate#doInsertAll throws NullPointerException when passed Collection contains a null item.
* DATAMONGO-1202 - Indexed annotation problems under generics.
* DATAMONGO-1196 - Upgrade build profiles after MongoDB 3.0 Java driver release.
* DATAMONGO-1193 - Prevent unnecessary database lookups when resolving DBRefs on 2.x driver.
* DATAMONGO-1166 - ReadPreference not used for Aggregations.
* DATAMONGO-1157 - Throw meaningful exception when @DbRef is used with unsupported types.


Changes in version 1.8.0.M1 (2015-06-02)
----------------------------------------
* DATAMONGO-1228 - Release 1.8 M1 (Gosling).
* DATAMONGO-1224 - Assert Spring Framework 4.2 compatibility.
* DATAMONGO-1221 - Remove relative reference to parent POM to make sure the right Spring version is picked up.
* DATAMONGO-1218 - Deprecate non-MongoClient related configuration options in XML namespace.
* DATAMONGO-1216 - Authentication mechanism PLAIN  changes to SCRAM-SHA-1.
* DATAMONGO-1213 - Include new section on Spring Data and Spring Framework dependencies in reference documentation.
* DATAMONGO-1211 - Adapt API changes in Spring Data Commons to simplify custom repository base class registration.
* DATAMONGO-1210 - Inconsistent property order of _class type hint breaks document equality.
* DATAMONGO-1208 - MongoTemplate.stream(…) does not consider limit, order, sort etc.
* DATAMONGO-1207 - MongoTemplate#doInsertAll throws NullPointerException when passed Collection contains a null item.
* DATAMONGO-1202 - Indexed annotation problems under generics.
* DATAMONGO-1196 - Upgrade build profiles after MongoDB 3.0 Java driver release.
* DATAMONGO-1193 - Prevent unnecessary database lookups when resolving DBRefs on 2.x driver.
* DATAMONGO-1192 - Switch back to Spring 4.1's CollectionFactory.
* DATAMONGO-1134 - Add support for $geoIntersects.
* DATAMONGO-990 - Add support for SpEL expressions in @Query.


Changes in version 1.7.0.RELEASE (2015-03-23)
---------------------------------------------
* DATAMONGO-1189 - Release 1.7 GA.
* DATAMONGO-1181 - Add Jackson Module for GeoJSON types.
* DATAMONGO-1180 - Incorrect exception message creation in PartTreeMongoQuery.
* DATAMONGO-1179 - Update reference documentation.
* DATAMONGO-1124 - Switch log level for cyclic reference index warnings from WARN to INFO.
* DATAMONGO-979 - Add support for $size expression in project and group aggregation pipeline.


Changes in version 1.7.0.RC1 (2015-03-05)
-----------------------------------------
* DATAMONGO-1173 - Release 1.7 RC1.
* DATAMONGO-1167 - Add 'findAll' method to QueryDslMongoRepository which accepts a querydsl Predicate and a Sort.
* DATAMONGO-1165 - Add support for Java 8 Stream as return type in repositories.
* DATAMONGO-1162 - Adapt test cases to semantic changes in Spring Data Commons AuditingHandler API.
* DATAMONGO-1158 - Assert compatibility with MongoDB 3.0.
* DATAMONGO-1154 - Upgrade to MongoDB Java driver 2.13.0.
* DATAMONGO-1153 - Fix documentation build.
* DATAMONGO-1148 - Use EclipseLink provided JPA API JAR.
* DATAMONGO-1147 - Remove manual array copy.
* DATAMONGO-1146 - Add 'exists' method to QueryDslMongoRepository which accepts a querydsl Predicate.
* DATAMONGO-1145 - Upgrade MongoDB Java driver to 2.12.5.
* DATAMONGO-1139 - MongoQueryCreator must not create $nearSphere query for neutral Distance.
* DATAMONGO-1136 - Use $geoWithin instead of $within for geo queries.
* DATAMONGO-1135 - Add support for $geometry to support GeoJSON queries.
* DATAMONGO-1132 - The sample does not match the logical result in the MongoDB repositories section of the documentation.
* DATAMONGO-1131 - Register converters for ThreeTen back port by default.
* DATAMONGO-1129 - Upgrade to latest MongoDB Java driver.
* DATAMONGO-1127 - Add support for geoNear queries with distance information.
* DATAMONGO-1126 - Repository keyword query findByInId with pageable not returning correctly.
* DATAMONGO-1123 - geoNear, does not return all matching elements, it returns only a max of 100 documents.
* DATAMONGO-1121 - "Cycle found" false positive.
* DATAMONGO-1120 - Pageable queries timeout or return incorrect counts.
* DATAMONGO-1118 - Custom converters not used for map keys.
* DATAMONGO-1110 - Add support for $minDistance to NearQuery.
* DATAMONGO-1082 - Improve JavaDoc and reference documentation on alias usage in aggregation framework support.
* DATAMONGO-1081 - Improve documentation on field mapping semantics.
* DATAMONGO-712 - Another round of potential performance improvements.
* DATAMONGO-479 - Support calling of MongoDB stored javascripts.


Changes in version 1.6.2.RELEASE (2015-01-28)
---------------------------------------------
* DATAMONGO-1148 - Use EclipseLink provided JPA API JAR.
* DATAMONGO-1147 - Remove manual array copy.
* DATAMONGO-1145 - Upgrade MongoDB Java driver to 2.12.5.
* DATAMONGO-1144 - Release 1.6.2.
* DATAMONGO-1139 - MongoQueryCreator must not create $nearSphere query for neutral Distance.
* DATAMONGO-1132 - The sample does not match the logical result in the MongoDB repositories section of the documentation.
* DATAMONGO-1127 - Add support for geoNear queries with distance information.
* DATAMONGO-1126 - Repository keyword query findByInId with pageable not returning correctly.
* DATAMONGO-1123 - geoNear, does not return all matching elements, it returns only a max of 100 documents.
* DATAMONGO-1121 - "Cycle found" false positive.
* DATAMONGO-1120 - Pageable queries timeout or return incorrect counts.
* DATAMONGO-1118 - Custom converters not used for map keys.
* DATAMONGO-1108 - BasicMongoPersistentEntity doesn't need to parse expression on every invocation.
* DATAMONGO-1096 - RuntimeExceptions during debug query printing in MongoTemplate.
* DATAMONGO-1094 - Wrong reference to @DocumentField in error message.
* DATAMONGO-1093 - BasicQuery missing hashCode() and equals(…) methods.
* DATAMONGO-1087 - Incorrect warning for MongoPersistentEntityIndexResolver$CyclicPropertyReferenceException: Found cycle for field...
* DATAMONGO-1085 - Sort can not use the metamodel classes generated by QueryDSL.
* DATAMONGO-1082 - Improve JavaDoc and reference documentation on alias usage in aggregation framework support.
* DATAMONGO-1078 - @Query annotated repository query fails to map complex Id structure.
* DATAMONGO-1075 - Correctly evaluate CONTAINS keyword on collection properties.
* DATAMONGO-1054 - Improve performance  of saving entities by using insert(…) if possible.
* DATAMONGO-1043 - SpEL Expressions in @Document annotations are not re-evaluated for query executions.
* DATAMONGO-712 - Another round of potential performance improvements.


Changes in version 1.5.5.RELEASE (2015-01-27)
---------------------------------------------
* DATAMONGO-1148 - Use EclipseLink provided JPA API JAR.
* DATAMONGO-1147 - Remove manual array copy.
* DATAMONGO-1143 - Release 1.5.5.
* DATAMONGO-1139 - MongoQueryCreator must not create $nearSphere query for neutral Distance.
* DATAMONGO-1123 - geoNear, does not return all matching elements, it returns only a max of 100 documents.
* DATAMONGO-1121 - "Cycle found" false positive.
* DATAMONGO-1118 - Custom converters not used for map keys.
* DATAMONGO-1096 - RuntimeExceptions during debug query printing in MongoTemplate.
* DATAMONGO-1094 - Wrong reference to @DocumentField in error message.
* DATAMONGO-1087 - Incorrect warning for MongoPersistentEntityIndexResolver$CyclicPropertyReferenceException: Found cycle for field...
* DATAMONGO-1078 - @Query annotated repository query fails to map complex Id structure.
* DATAMONGO-1075 - Correctly evaluate CONTAINS keyword on collection properties.
* DATAMONGO-1072 - Query placeholders in keys no longer correctly substituted.
* DATAMONGO-1068 - elemMatch of Class Criteria fails to build special cirteria.
* DATAMONGO-1063 - IllegalStateException using any().in().
* DATAMONGO-1062 - Fix failing test in ServerAddressPropertyEditorUnitTests.
* DATAMONGO-1058 - Using @Field("foo") with @Dbref breaking behavior.
* DATAMONGO-1045 - Make sure Spring Data MongoDB can build against Spring 4.1.
* DATAMONGO-1043 - SpEL Expressions in @Document annotations are not re-evaluated for query executions.
* DATAMONGO-1040 - deleteAll repository query don't use EntityMetadata collection name.
* DATAMONGO-1039 - Polish implementation for cleaning up after tests.
* DATAMONGO-712 - Another round of potential performance improvements.


Changes in version 1.7.0.M1 (2014-12-01)
----------------------------------------
* DATAMONGO-1108 - BasicMongoPersistentEntity doesn't need to parse expression on every invocation.
* DATAMONGO-1106 - Release 1.7 M1.
* DATAMONGO-1105 - Add implementation for new QueryDslPredicateExecutor.findAll(OrderSpecifier<?>... orders).
* DATAMONGO-1102 - Auto-register JSR-310 converters to support JDK 8 date/time types.
* DATAMONGO-1101 - Add support for $bit to Update.
* DATAMONGO-1100 - Adapt to new PersistentPropertyAccessor API.
* DATAMONGO-1097 - Add support for $mul to Update.
* DATAMONGO-1096 - RuntimeExceptions during debug query printing in MongoTemplate.
* DATAMONGO-1094 - Wrong reference to @DocumentField in error message.
* DATAMONGO-1093 - BasicQuery missing hashCode() and equals(…) methods.
* DATAMONGO-1092 - Ensure compatibility with MongoDB 2.8.0.rc0 and java driver 2.13.0-rc0.
* DATAMONGO-1087 - Incorrect warning for MongoPersistentEntityIndexResolver$CyclicPropertyReferenceException: Found cycle for field…
* DATAMONGO-1085 - Sort can not use the metamodel classes generated by QueryDSL.
* DATAMONGO-1080 - AbstractMongoQuery must not eagerly post-process results.
* DATAMONGO-1078 - @Query annotated repository query fails to map complex Id structure.
* DATAMONGO-1077 - Update removes positional operator $ in key when used on DBRef property.
* DATAMONGO-1076 - Finalizer hit db on lazy dbrefs.
* DATAMONGO-1075 - Correctly evaluate CONTAINS keyword on collection properties.
* DATAMONGO-1072 - Query placeholders in keys no longer correctly substituted.
* DATAMONGO-1070 - Query annotation with $oid leads to a parse error.
* DATAMONGO-1068 - elemMatch of Class Criteria fails to build special cirteria.
* DATAMONGO-1063 - IllegalStateException using any().in().
* DATAMONGO-1062 - Fix failing test in ServerAddressPropertyEditorUnitTests.
* DATAMONGO-1058 - Using @Field("foo") with @Dbref breaking behavior.
* DATAMONGO-1057 - AbstractMongoQuery.SlicedExecution#execute() skips every nth element.
* DATAMONGO-1054 - Improve performance  of saving entities by using insert(…) if possible.
* DATAMONGO-1053 - In 1.6, any field in a mapped object named "language" will fail to map if it is a type other than String.
* DATAMONGO-1050 - SimpleMongoRepository.findById(id, class)  don't return ids for nested documents.
* DATAMONGO-1049 - Reserved field name 'language' causes trouble.
* DATAMONGO-1043 - SpEL Expressions in @Document annotations are not re-evaluated for query executions.
* DATAMONGO-943 - Add support for $position to Update $push $each.


Changes in version 1.6.1.RELEASE (2014-10-30)
---------------------------------------------
* DATAMONGO-1080 - AbstractMongoQuery must not eagerly post-process results.
* DATAMONGO-1079 - Release 1.6.1.
* DATAMONGO-1077 - Update removes positional operator $ in key when used on DBRef property.
* DATAMONGO-1076 - Finalizer hit db on lazy dbrefs.
* DATAMONGO-1072 - Query placeholders in keys no longer correctly substituted.
* DATAMONGO-1070 - Query annotation with $oid leads to a parse error.
* DATAMONGO-1068 - elemMatch of Class Criteria fails to build special cirteria.
* DATAMONGO-1063 - IllegalStateException using any().in().
* DATAMONGO-1062 - Fix failing test in ServerAddressPropertyEditorUnitTests.
* DATAMONGO-1058 - Using @Field("foo") with @Dbref breaking behavior.
* DATAMONGO-1057 - AbstractMongoQuery.SlicedExecution#execute() skips every nth element.
* DATAMONGO-1053 - In 1.6, any field in a mapped object named "language" will fail to map if it is a type other than String.
* DATAMONGO-1049 - Reserved field name 'language' causes trouble.


Changes in version 1.6.0.RELEASE (2014-09-05)
---------------------------------------------
* DATAMONGO-1046 - Release 1.6 GA.
* DATAMONGO-1045 - Make sure Spring Data MongoDB can build against Spring 4.1.
* DATAMONGO-1040 - deleteAll repository query don't use EntityMetadata collection name.
* DATAMONGO-1039 - Polish implementation for cleaning up after tests.
* DATAMONGO-1038 - Assert Mongo instances cleand up properly after test runs.
* DATAMONGO-1036 - Custom repository implementations are not picked up when using CDI.
* DATAMONGO-1034 - Improve error message when trying to convert incompatible types.
* DATAMONGO-1032 - Polish Asciidoctor documentation.
* DATAMONGO-1030 - Query methods retuning a single entity does not work with projecting types.
* DATAMONGO-1027 - Collection inherits complex index from embedded class/object.
* DATAMONGO-1025 - Duplicate index creation on embedded documents.


Changes in version 1.5.4.RELEASE (2014-08-27)
---------------------------------------------
* DATAMONGO-1038 - Assert Mongo instances cleand up properly after test runs.
* DATAMONGO-1034 - Improve error message when trying to convert incompatible types.
* DATAMONGO-1033 - Release 1.5.4.
* DATAMONGO-1030 - Query methods retuning a single entity does not work with projecting types.
* DATAMONGO-1027 - Collection inherits complex index from embedded class/object.
* DATAMONGO-1025 - Duplicate index creation on embedded documents.
* DATAMONGO-1020 - LimitOperator should be a public class.
* DATAMONGO-1008 - IndexOperations fail, when "2dsphere" index is present.


Changes in version 1.6.0.RC1 (2014-08-13)
-----------------------------------------
* DATAMONGO-1024 - Upgrade to Java driver 2.12.3.
* DATAMONGO-1021 - Release 1.6 RC1.
* DATAMONGO-1020 - LimitOperator should be a public class.
* DATAMONGO-1019 - Correct examples in reference documentation.
* DATAMONGO-1017 - Add support for custom implementations in CDI repositories.
* DATAMONGO-1016 - Remove deprecations in geospatial area.
* DATAMONGO-1015 - Move to Asciidoctor for reference documentation.
* DATAMONGO-1012 - Proxies for lazy DBRefs with field access should have their id values resolved eagerly.
* DATAMONGO-1009 - Adapt to new multi-store configuration detection.
* DATAMONGO-1008 - IndexOperations fail, when "2dsphere" index is present.
* DATAMONGO-1005 - Improve cycle-detection for DbRef's.
* DATAMONGO-1002 - Update.toString(…) might throw exception.
* DATAMONGO-1001 - Can't save/update lazy load object.
* DATAMONGO-999 - Multiple Mongo Instances always have the same MongoOption Reference - MongoOptionsFactoryBean has a static instance of MongoOptions.
* DATAMONGO-996 - Pagination broken after introduction of the support for top/first.
* DATAMONGO-995 - Parameter binding in String-based query does not bind all parameters.
* DATAMONGO-993 - The system variables $$CURRENT and $$ROOT not handled correctly.
* DATAMONGO-992 - Entity can't be deserialized if @TypeAlias is used.
* DATAMONGO-991 - Adapt to deprecation removals in Spring Data Commons.
* DATAMONGO-989 - MatchOperation should accept CriteriaDefinition.
* DATAMONGO-987 - Problem with lazy loading in @DBRef when getting data using MongoTemplate.
* DATAMONGO-974 - synthetic field target's name is returned instead of the alias name.
* DATAMONGO-973 - Add support for deriving full text queries.
* DATAMONGO-957 - Add support for query modifiers.
* DATAMONGO-420 - Extra quotes being added to @Query values and fields.


Changes in version 1.5.2.RELEASE (2014-07-28)
---------------------------------------------
* DATAMONGO-1007 - Release 1.5.2.
* DATAMONGO-1002 - Update.toString(…) might throw exception.
* DATAMONGO-1001 - Can't save/update lazy load object.
* DATAMONGO-999 - Multiple Mongo Instances always have the same MongoOption Reference - MongoOptionsFactoryBean has a static instance of MongoOptions.
* DATAMONGO-995 - Parameter binding in String-based query does not bind all parameters.
* DATAMONGO-992 - Entity can't be deserialized if @TypeAlias is used.
* DATAMONGO-989 - MatchOperation should accept CriteriaDefinition.
* DATAMONGO-987 - Problem with lazy loading in @DBRef when getting data using MongoTemplate.
* DATAMONGO-983 - Remove links to forum.spring.io.
* DATAMONGO-982 - Assure compatibility with upcoming MongoDB driver versions.
* DATAMONGO-978 - deleteBy/removeBy repository methods don't set type information in Before/AfterDeleteEvent.
* DATAMONGO-972 - References are not handled properly in Querydsl integration.
* DATAMONGO-969 - String @id field is not mapped to ObjectId when using QueryDSL .id.in(Collection<String>).
* DATAMONGO-420 - Extra quotes being added to @Query values and fields.


Changes in version 1.6.0.M1 (2014-07-10)
----------------------------------------
* DATAMONGO-983 - Remove links to forum.spring.io.
* DATAMONGO-982 - Assure compatibility with upcoming MongoDB driver versions.
* DATAMONGO-981 - Release 1.6 M1.
* DATAMONGO-980 - Use meta annotations from spring data commons for @Score.
* DATAMONGO-978 - deleteBy/removeBy repository methods don't set type information in Before/AfterDeleteEvent.
* DATAMONGO-977 - Adapt to Spring 4 upgrade.
* DATAMONGO-976 - Add support for reading $meta projection on textScore into document.
* DATAMONGO-975 - Add support for date/time operators in aggregation framework.
* DATAMONGO-973 - Add support for deriving full text queries.
* DATAMONGO-972 - References are not handled properly in Querydsl integration.
* DATAMONGO-970 - Id query cannot be created if object to remove is DBObject.
* DATAMONGO-969 - String @id field is not mapped to ObjectId when using QueryDSL .id.in(Collection<String>).
* DATAMONGO-968 - Add support for $meta projections and sorting for textScore metadata.
* DATAMONGO-963 - Compound index with expireAfterSeconds causes repeating error on mongodb server.
* DATAMONGO-962 - “Cycle found” with Spring Data Mongo 1.5.
* DATAMONGO-960 - Allow to pass options to the Aggregation Pipeline.
* DATAMONGO-958 - Move to FieldNamingStrategy SPI in Spring Data Commons.
* DATAMONGO-954 - Add support for System Variables in Aggregations.
* DATAMONGO-953 - Update object should have a proper equals/hashcode/toString.
* DATAMONGO-952 - @Query annotation does not work with only field restrictions.
* DATAMONGO-950 - Add support for limiting the query result in the query derivation mechanism.
* DATAMONGO-949 - CyclicPropertyReferenceException in versions 1.5.0 + for MongoDB.
* DATAMONGO-948 - Assertion error in MongoTemplate.getMappedSortObject.
* DATAMONGO-944 - Add support $currentDate to Update.
* DATAMONGO-938 - Exception when creating geo within Criteria using MapReduce.
* DATAMONGO-937 - Add support for creating text index.
* DATAMONGO-850 - Add support for text search using $text.
* DATAMONGO-745 - @Query($in) and Pageable in result Page total = 0.


Changes in version 1.4.3.RELEASE (2014-06-18)
---------------------------------------------
* DATAMONGO-955 - Release 1.4.3.
* DATAMONGO-953 - Update object should have a proper equals/hashcode/toString.
* DATAMONGO-952 - @Query annotation does not work with only field restrictions.
* DATAMONGO-948 - Assertion error in MongoTemplate.getMappedSortObject.
* DATAMONGO-938 - Exception when creating geo within Criteria using MapReduce.
* DATAMONGO-924 - Aggregation not working with as() method in project() pipeline operator.
* DATAMONGO-920 - Fix debug messages for delete events in AbstractMongoEventListener.
* DATAMONGO-917 - DefaultDbRefResolver throws NPE when bundled into an uberjar.
* DATAMONGO-914 - Improve resolving of LazyLoading proxies for classes that override equals/hashcode.
* DATAMONGO-913 - Can't query using lazy DBRef objects.
* DATAMONGO-912 - Aggregation#project followed by Aggregation#match with custom converter causes IllegalArgumentException.
* DATAMONGO-898 - MapReduce seems not to work when javascript not being escaped.
* DATAMONGO-847 - Allow usage of Criteria within Update.
* DATAMONGO-745 - @Query($in) and Pageable in result Page total = 0.
* DATAMONGO-647 - Using "OrderBy" in "query by method name" ignores the @Field annotation for field alias.


Changes in version 1.5.0.RELEASE (2014-05-20)
---------------------------------------------
* DATAMONGO-936 - Release 1.5 GA.
* DATAMONGO-929 - Index key should be the properties dot path when creating index using @Indexed / @CompoundIndex.
* DATAMONGO-928 - Error when using field-naming-strategy-ref.
* DATAMONGO-926 - Stack Overflow Error with 1.5.0.RC1 Release.
* DATAMONGO-925 - MappingMongoConverterParser is incorrectly rejecting field-naming-strategy-ref XML configuration.
* DATAMONGO-647 - Using "OrderBy" in "query by method name" ignores the @Field annotation for field alias.
* DATAMONGO-367 - @Indexed field in embedded Object creates new collection.


Changes in version 1.5.0.RC1 (2014-05-02)
-----------------------------------------
* DATAMONGO-924 - Aggregation not working with as() method in project() pipeline operator.
* DATAMONGO-921 - Upgrade to MongoDB Java driver 2.12.1.
* DATAMONGO-920 - Fix debug messages for delete events in AbstractMongoEventListener.
* DATAMONGO-919 - Release 1.5 RC1.
* DATAMONGO-917 - DefaultDbRefResolver throws NPE when bundled into an uberjar.
* DATAMONGO-914 - Improve resolving of LazyLoading proxies for classes that override equals/hashcode.
* DATAMONGO-913 - Can't query using lazy DBRef objects.
* DATAMONGO-912 - Aggregation#project followed by Aggregation#match with custom converter causes IllegalArgumentException.
* DATAMONGO-910 - Upgrade to latest MongoDB Java driver (2.12).
* DATAMONGO-909 - @CompoundIndex on inherited entity classes.
* DATAMONGO-908 - Nested field references in group operations broken.
* DATAMONGO-907 - Assert compatibility with mongodb 2.6.0.
* DATAMONGO-905 - Remove obsolete CGLib dependency from cross store module.
* DATAMONGO-901 - MongoRepositoryConfigurationExtension fails to invoke super method.
* DATAMONGO-899 - Overhaul automatic index creation.
* DATAMONGO-898 - MapReduce seems not to work when javascript not being escaped.
* DATAMONGO-897 - FindAndUpdate broken when using @DbRef and interface as target.
* DATAMONGO-896 - Assert compatibility with latest MongoDB Java driver.
* DATAMONGO-895 - Use most specific type for checks against values in DBObjects.
* DATAMONGO-893 - Mapping Convertor does not remove "_class" property on collection of embedded objects.
* DATAMONGO-892 - <mongo:mapping-converter> can't be configured as nested bean definition.
* DATAMONGO-888 - Mapping is not applied to SortObject during queries.
* DATAMONGO-866 - Add new field naming strategy and make it configurable through XML/Java config.
* DATAMONGO-847 - Allow usage of Criteria within Update.
* DATAMONGO-827 - @Indexed and @CompundIndex cannot be created without giving index name.


Changes in version 1.4.2.RELEASE (2014-04-15)
---------------------------------------------
** Fix
    * [DATAMONGO-880] - Improved handling of persistence of lazy-loaded DBRefs.
    * [DATAMONGO-884] - Improved handling for Object methods in LazyLoadingInterceptor.
    * [DATAMONGO-887] - Added unit tests to verify TreeMaps can be converted.
    * [DATAMONGO-888] - Sorting now considers mapping information.
    * [DATAMONGO-890] - Fixed Point.toString().
    * [DATAMONGO-892] - Reject nested MappingMongoConverter declarations in XML.
    * [DATAMONGO-893] - Converter must not write "_class" information for know types.
    * [DATAMONGO-897] - Fixed potential NullPointerException in QueryMapper.
    * [DATAMONGO-908] - Support for nested field references in group operations.

** Improvement
    * [DATAMONGO-881] - Allow custom conversions to override default conversions.

** Task
    * [DATAMONGO-895] - Use most specific type for checks against values in DBObjects.
    * [DATAMONGO-896] - Assert compatibility with latest MongoDB Java driver.
    * [DATAMONGO-905] - Removed obsolete dependency to CGLib from cross-store support.
    * [DATAMONGO-907] - Assert compatibility with mongodb 2.6.
    * [DATAMONGO-911] - Release 1.4.2

Changes in version 1.5.0.M1 (2014-03-31)
----------------------------------------
** Fix
    * [DATAMONGO-471] - Update operation $addToSet does not support adding a list with $each.
    * [DATAMONGO-773] - Spring Data MongoDB projection search on @DBref fields.
    * [DATAMONGO-821] - MappingException for $size queries on subcollections containing dbrefs.
    * [DATAMONGO-829] - NearQuery, when used in conjunction with a Query, it sets num=0, unless Query specifies otherwise.
    * [DATAMONGO-833] - EnumSet is not handled correctly.
    * [DATAMONGO-843] - Unable to use @EnableMongoAuditing annotation in Java config.
    * [DATAMONGO-862] - Update Array Field Using Positional Operator ($) Does Not Work.
    * [DATAMONGO-863] - QueryMapper.getMappedValue Fails To Handle Arrays Mapped To $in.
    * [DATAMONGO-868] - findAndModify method does not increment @Version field.
    * [DATAMONGO-871] - Declarative query method with array return type causes NPE.
    * [DATAMONGO-877] - AbstractMongoConfiguration.getMappingBasePackage() throws NullPointerException if config class resides in default package.
    * [DATAMONGO-880] - Error when trying to persist an object containing a DBRef which was lazy loaded.
    * [DATAMONGO-884] - Potential NullPointerException for lazy DBRefs.
    * [DATAMONGO-887] - Repository not instantiated when entity contains field of type TreeMap.
    * [DATAMONGO-890] - Point class toString method is confusing.

** Improvement
    * [DATAMONGO-809] - Make filename optional in GridFsOperations doc and GridFsTemplate implementation.
    * [DATAMONGO-858] - Add support for common geospatial structures.
    * [DATAMONGO-865] - Adjust test dependencies to avoid ClassNotFoundException during test runs.
    * [DATAMONGO-881] - Cannot override default converters in CustomConversions.
    * [DATAMONGO-882] - Adapt to removal of obsolete generics in BeanWrapper.

** New Feature
    * [DATAMONGO-566] - Provide support for removeBy… / deleteBy… methods like for findBy… on repository interfaces.
    * [DATAMONGO-870] - Add support for sliced query method execution.

** Task
    * [DATAMONGO-876] - Adapt to changes introduced for property access configuration.
    * [DATAMONGO-883] - Update auditing configuration to enable auditing annotations on accessors.
    * [DATAMONGO-859] - Release 1.5 M1.

Changes in version 1.4.1.RELEASE (2014-03-13)
---------------------------------------------
** Fix
    * [DATAMONGO-773] - Verify that @DBRef fields can be included in query.
    * [DATAMONGO-821] - Fixed handling of keyword expressions for DBRefs.
    * [DATAMONGO-829] - NearQuery should not default 'num' to zero.
    * [DATAMONGO-833] - Support for EnumSet and EnumMap in MappingMongoConverter.
    * [DATAMONGO-843] - Back-port of defaulting of the MappingContext for auditing.
    * [DATAMONGO-862] - Fixed handling of unmapped paths for updates.
    * [DATAMONGO-863] - UpdateMapper doesn't convert raw DBObjects anymore.
    * [DATAMONGO-868] - MongoTemplate.findAndModify(…) increases version if not handled manually.
    * [DATAMONGO-871] - Add support for arrays as query method return types.
    * [DATAMONGO-877] - Added guard against null-package in AbstractMappingConfiguration.

** Improvement
    * [DATAMONGO-865] - Adjust test dependencies to avoid ClassNotFoundException during test runs.

Changes in version 1.3.5.RELEASE (2014-03-10)
---------------------------------------------
** Fix
    * [DATAMONGO-829] - NearQuery, when used in conjunction with a Query, no longer sets num=0, unless Query specifies otherwise.
    * [DATAMONGO-871] - Repository queries support array return type.

** Improvement
    * [DATAMONGO-865] - Avoid ClassNotFoundException during test runs.

Changes in version 1.4.0.RELEASE (2014-02-24)
---------------------------------------------

** Fix
    * [DATAMONGO-354] - MongoTemplate should support multiple $pushAll in one update.
    * [DATAMONGO-404] - Removing a DBRef using pull does not work.
    * [DATAMONGO-410] - Update with pushAll should recognize defined Converter.
    * [DATAMONGO-812] - $pushAll is deprecated since mongodb 2.4 move to $push $each.
    * [DATAMONGO-830] - Fix NPE during cache warmup in CustomConversions.
    * [DATAMONGO-838] - Support for refering to expression based field in group operation.
    * [DATAMONGO-840] - Support for nested MongoDB field references in SpEL expressions within Projections.
    * [DATAMONGO-842] - Fix documentation error in GRIDFS section.
    * [DATAMONGO-852] - Increase version for update should traverse DBObject correctly in order to find version property.

** Improvement
    * [DATAMONGO-468] - Simplification for updates of DBRef fields with mongoTemplate.
    * [DATAMONGO-849] - Documentation on github should not reference invalid class.

** Task
    * [DATAMONGO-848] - Ensure compatibility with Mongo Java driver 2.12.
    * [DATAMONGO-853] - Update no longer allows null keys.
    * [DATAMONGO-856] - Update documentation.

Changes in version 1.3.4.RELEASE (2014-02-17)
---------------------------------------------
** Bug
    * [DATAMONGO-407] - Collection with generics losing element type after $set update
    * [DATAMONGO-410] - Update with pushAll doesnt recognize defined Converter
    * [DATAMONGO-686] - ClassCastException while reusing Query object
    * [DATAMONGO-805] - Excluding DBRef field in a query causes a MappingException
    * [DATAMONGO-807] - using findAndModify removes the _class field of encapsulated classes, causing MappingInstantiationException
    * [DATAMONGO-808] - Spring data mongoDB not working with IPv6 address directly
    * [DATAMONGO-811] - updateFirst methods do not increment @Version field
    * [DATAMONGO-816] - Unable to execute query with DocumentCallbackHandler when query contains Criteria with enums.
    * [DATAMONGO-828] - UpdateFirst throws OptimisticLockingFailureException when updating document that does not exist
    * [DATAMONGO-830] - NPE during cache warmup in CustomConversions
    * [DATAMONGO-842] - Documentation error in GRIDFS section
** Improvement
    * [DATAMONGO-813] - GridFsTemplate.getResource(location) throws NPE if don't find file
** Task
    * [DATAMONGO-824] - Add contribution guidelines
    * [DATAMONGO-846] - Release 1.3.4

Changes in version 1.4.0.RC1 (2014-01-29)
---------------------------------------------

** Bug
    * [DATAMONGO-407] - Collection with generics losing element type after $set update
    * [DATAMONGO-686] - ClassCastException while reusing Query object
    * [DATAMONGO-726] - References to non existing classes in namespace XSD
    * [DATAMONGO-804] - EnableMongoRepositories repositoryImplementationPostfix() default is empty String instead of "Impl"
    * [DATAMONGO-805] - Excluding DBRef field in a query causes a MappingException
    * [DATAMONGO-806] - Spring Data MongoDB - Aggregation Framework - No property _id found for type com.entity.User
    * [DATAMONGO-807] - using findAndModify removes the _class field of encapsulated classes, causing MappingInstantiationException
    * [DATAMONGO-808] - Spring data mongoDB not working with IPv6 address directly
    * [DATAMONGO-811] - updateFirst methods do not increment @Version field
    * [DATAMONGO-816] - Unable to execute query with DocumentCallbackHandler when query contains Criteria with enums.
** Improvement
    * [DATAMONGO-778] - Create geospatial index of type other than 2d with @GeoSpatialIndexed
    * [DATAMONGO-785] - Add support for geospatial 2Dsphere and geohaystack index types
    * [DATAMONGO-787] - Guard against SpEL issue in Spring 3.2.4
    * [DATAMONGO-799] - Fix failing test in MongoTemplateTests on Mongo 2.5.x
    * [DATAMONGO-802] - Change AbstractMongoConfiguration.mongoDbFactory() to return MongoDbFactory
    * [DATAMONGO-813] - GridFsTemplate.getResource(location) throws NPE if don't find file
    * [DATAMONGO-822] - Add support for eager CDI repository instantiation
    * [DATAMONGO-823] - Add bucket attribute to <mongo:gridFsTemplate />
    * [DATAMONGO-837] - Upgrade MongoDB Java driver to 2.11.4
** Task
    * [DATAMONGO-790] - Ensure compatibility with Spring Framework 4.0
    * [DATAMONGO-824] - Add contribution guidelines
    * [DATAMONGO-826] - Release Spring Data MongoDB 1.4.0.RC1
    * [DATAMONGO-835] - Code cleanups

Changes in version 1.3.3.RELEASE (2013-12-11)
---------------------------------------------
** Bug
    * [DATAMONGO-726] - Fixed classname references in namespace XSDs.
    * [DATAMONGO-788] - Projection operations do not render synthetic fields properly.
    * [DATAMONGO-795] - When adding custom converters to the mongo template it is possible to get unpredictable behaviour
    * [DATAMONGO-804] - Fix default annotation attribute value for repositoryImplementationPostfix().
    * [DATAMONGO-806] - Fixed invalid rendering of id field references.
    * [DATAMONGO-768] - Improve documentation of how to use @PersistenceConstructor

** Improvement
    * [DATAMONGO-791] - Added newAggregation(…) overloads to accept a List.
    * [DATAMONGO-799] - Fix failing test in MongoTemplateTests on Mongo 2.5.x
    * [DATAMONGO-800] - Improved AuditingIntegrationTests.
** Task
    * [DATAMONGO-810] - Release 1.3.3

Changes in version 1.4.0.M1 (2013-11-19)
---------------------------------------------
** Bug
    * [DATAMONGO-534] - The GridFs query execution does not return sorted resources, when the sorting fields are defined in the query definition
    * [DATAMONGO-630] - Add support of $setOnInsert modifier for upsert
    * [DATAMONGO-746] - IndexInfo cannot be read for indices created via mongo shell
    * [DATAMONGO-752] - QueryMapper prevents searching for values that start with a $ [dollarsign]
    * [DATAMONGO-753] - Add support for nested field references in group operations
    * [DATAMONGO-758] - Reject excludes other than _id in projection operations
    * [DATAMONGO-759] - Render group operation without non synthetic fields correctly.
    * [DATAMONGO-761] - ClassCastException in SpringDataMongodbSerializer.getKeyForPath
    * [DATAMONGO-768] - Improve documentation of how to use @PersistenceConstructor
    * [DATAMONGO-788] - Projection operations do not render synthetic fields properly.
    * [DATAMONGO-789] - Support login via different (e.g. admin) authentication database
    * [DATAMONGO-795] - When adding custom converters to the mongo template it is possible to get unpredictable behaviour
** Improvement
    * [DATAMONGO-757] - Projections should follow mongodb conventions more precisely.
    * [DATAMONGO-764] - Add support for SSL connections to Mongo
    * [DATAMONGO-766] - Allow nested field references on properties through e.g. @Field("a.b")
    * [DATAMONGO-769] - Support arithmetic operators for properties
    * [DATAMONGO-770] - Repository - findBy<Field>IgnoreCase doesnt work
    * [DATAMONGO-771] - Saving raw JSON through MongoTemplate.insert(…) fails
    * [DATAMONGO-774] - Support SpEL expressions to define arithmetical projection operations in the aggregation framework
    * [DATAMONGO-776] - TypeBasedAggregationOperationContext should use MappingContext.getPersistentPropertyPath(String, Class<?>)
    * [DATAMONGO-780] - Add support for nested repositories
    * [DATAMONGO-782] - Typo in reference documentation
    * [DATAMONGO-785] - Add support for geospatial 2Dsphere and geohaystack index types
    * [DATAMONGO-787] - Upgrade to Spring 3.2.4
    * [DATAMONGO-791] - make newAggregation() method to accept list
    * [DATAMONGO-793] - Adapt to changes in Spring Data Commons triggered by repository initialization changes
    * [DATAMONGO-800] - AuditingIntegrationTests fail on fast machines
** New Feature
    * [DATAMONGO-348] - Lazy Load for DbRef
    * [DATAMONGO-653] - Support for index operations in GridFsOperations
    * [DATAMONGO-760] - Add support for custom findAll Queries
    * [DATAMONGO-792] - Add support to configure Auditing via JavaConfig.
** Task
    * [DATAMONGO-777] - Upgrade to Mongo Java Driver in 2.11

Changes in version 1.3.2.RELEASE (2013-10-25)
---------------------------------------------
** Bug
    * [DATAMONGO-746] IndexInfo cannot be read for indices created via mongo shell
    * [DATAMONGO-752] QueryMapper prevents searching for values that start with a $ [dollarsign]
    * [DATAMONGO-753] Add support for nested field references in group operations
    * [DATAMONGO-758] Reject excludes other than _id in projection operations
    * [DATAMONGO-759] Render group operation without non synthetic fields correctly.
    * [DATAMONGO-761] ClassCastException in SpringDataMongodbSerializer.getKeyForPath
    * [DATAMONGO-768] Improve documentation of how to use @PersistenceConstructor

** Improvement
    * [DATAMONGO-757] - Projections should follow mongodb conventions more precisely.
    * [DATAMONGO-769] - Support arithmetic operators for properties
    * [DATAMONGO-771] - Saving raw JSON through MongoTemplate.insert(…) fails
** Task
    * [DATAMONGO-772] - Release 1.3.2

Changes in version 1.3.1.RELEASE (2013-09-09)
---------------------------------------------
** Task
    * [DATAMONGO-751] Upgraded to Spring Data Commons 1.6.1.

Changes in version 1.3.0.RELEASE (2013-09-09)
---------------------------------------------
** Bug
    * [DATAMONGO-540] MongoTemplate upsert and findOne handle id queries differently.
    * [DATAMONGO-445] GeoNear Query Doesn't Work with Pageable.
    * [DATAMONGO-507] Criteria not() is not working.
    * [DATAMONGO-602] Querying with $in operator on the id field of type BigInteger returns zero results.

** Improvement
    * [DATAMONGO-725] Improve configurability and documentation of TypeMapper on MappingMongoConverter.
    * [DATAMONGO-738] Add methods to MongoTemplate and MongoOperations to allow calling class to pass both the entityClass and the collectionName for the update and upsert methods.
    * [DATAMONGO-737] Extra MongoSynchronizations cause TransactionSynchronizationManager to throw IllegalStateException on transaction complete.
    * [DATAMONGO-743] Support returning raw json from a query.

** Task
    * [DATAMONGO-742] Document CDI integration in reference documentation.

Changes in version 1.3.0.RC1 (2013-08-05)
-----------------------------------------
** Bug
    * [DATAMONGO-392] - Updating an object does not write type information for objects to be updated
    * [DATAMONGO-685] - JMX ServerInfo bean may return wrong info
    * [DATAMONGO-688] - There is no precedence between @Id annotation and field named "id" - both are attempted to be used
    * [DATAMONGO-693] - MongoFactoryBean should create a mongo instance with host/port if replicaset is null or empty
    * [DATAMONGO-702] - Spring Data MongoDB projection search, is not properly configured with respective Java Pojo
    * [DATAMONGO-704] - Remove references to SimpleMongoConverter from JavaDoc.
    * [DATAMONGO-705] - QueryMapper doesn't handles exists query with DBRef field
    * [DATAMONGO-706] - QueryMapper does not transform DBRefs in nested keywords correctly
    * [DATAMONGO-709] - Polymorphic query on documents in same collection
    * [DATAMONGO-717] - Application context is not properly distributed to persistent entities
    * [DATAMONGO-721] - Polymorphic attribute type not persisted on update operations

** Improvement
    * [DATAMONGO-701] - Improve performance of indexed starts-with queries
    * [DATAMONGO-713] - Typos in readme.md

** New Feature
    * [DATAMONGO-544] - Support for TTL collection via Indexed annotation
    * [DATAMONGO-586] - Add support for new Aggregation Framework

** Task
    * [DATAMONGO-714] - Add latest formatter to project sources
    * [DATAMONGO-723] - Clean up test cases
    * [DATAMONGO-728] - Add missing package-info.java files
    * [DATAMONGO-731] - Adapt refactorings in Spring Data Commons
    * [DATAMONGO-732] - Release 1.3 RC1


Changes in version 1.2.3.GA (2013-07-24)
----------------------------------------
** Task
    * [DATAMONGO-728] - Add missing package-info.java files
    * [DATAMONGO-729] - Release 1.2.3.


Changes in version 1.2.2.GA (2013-07-19)
----------------------------------------
** Bug
    * [DATAMONGO-663] - org.springframework.data.mongodb.core.query.Field needs an equals method
    * [DATAMONGO-677] - QueryMapper does not handled correctly Map with DBRef value
    * [DATAMONGO-679] - MongoTemplate.doSave(…) passed a JSON String doesn't save it.
    * [DATAMONGO-683] - QueryMapper does not handle default _id when no MappingMetadata is present
    * [DATAMONGO-685] - JMX ServerInfo bean may return wrong info
    * [DATAMONGO-693] - MongoFactoryBean should create a mongo instance with host/port if replicaset is null or empty
    * [DATAMONGO-704] - Remove references to SimpleMongoConverter from JavaDoc.
    * [DATAMONGO-705] - QueryMapper doesn't handles exists query with DBRef field
    * [DATAMONGO-706] - QueryMapper does not transform DBRefs in nested keywords correctly
    * [DATAMONGO-717] - Application context is not properly distributed to persistent entities

** Improvement
    * [DATAMONGO-682] - Remove performance hotspots
    * [DATAMONGO-701] - Improve performance of indexed starts-with queries

** Task
    * [DATAMONGO-658] - Minor formatting changes to README.md
    * [DATAMONGO-678] - Performance improvements in CustomConversions
    * [DATAMONGO-714] - Add latest formatter to project sources
    * [DATAMONGO-723] - Clean up test cases
    * [DATAMONGO-727] - Release 1.2.2


Changes in version 1.3.0.M1 (2013-06-04)
----------------------------------------
** Bug
    * [DATAMONGO-571] - Spring Data for MongoDb doesn't save null values when @Version is added to domain class
    * [DATAMONGO-612] - Fix PDF reference documentation name
    * [DATAMONGO-613] - Images missing from reference documentation
    * [DATAMONGO-617] - NullPointerException in MongoTemplate.initializeVersionProperty(…)
    * [DATAMONGO-620] - MongoTemplate.doSaveVersioned(…) does not consider collection handed into the method
    * [DATAMONGO-621] - MongoTemplate.initializeVersionProperty(…) does not use ConversionService
    * [DATAMONGO-622] - An unversioned object should be created using insert(…) instead of save.
    * [DATAMONGO-629] - Different results when using count and find with the same criteria with 'id' field
    * [DATAMONGO-638] - MappingContext should not create PersistentEntity instances for native maps
    * [DATAMONGO-640] - MongoLog4jAppender suffers from potential NullPointerException when closing Mongo instance
    * [DATAMONGO-641] - MongoLog4jAppender suffers from potential NullPointerException when closing Mongo instance
    * [DATAMONGO-642] - MongoChangeSetPersister does not use mapped collection name
    * [DATAMONGO-646] - Can't insert DBObjects through MongoTemplate
    * [DATAMONGO-648] - ID attributes in namespace shouldn't be XSD IDs
    * [DATAMONGO-663] - org.springframework.data.mongodb.core.query.Field needs an equals method
    * [DATAMONGO-669] - Incompatibility with Querydsl 3.1.1
    * [DATAMONGO-676] - SimpleMongoRepository fails if used with customized collection name
    * [DATAMONGO-677] - QueryMapper does not handled correctly Map with DBRef value
    * [DATAMONGO-679] - MongoTemplate.doSave(…) passed a JSON String doesn't save it.
    * [DATAMONGO-683] - QueryMapper does not handle default _id when no MappingMetadata is present

** Improvement
    * [DATAMONGO-140] - Add XML namespace element for MongoTemplate
    * [DATAMONGO-545] - Add before delete and after delete events for AbstractMongoEventListener
    * [DATAMONGO-554] - Add background attribute to @Indexed and @CompoundIndex
    * [DATAMONGO-569] - AbstractMongoConfiguration cannot be used on CloudFoundry
    * [DATAMONGO-594] - cross-store=> Define document name using annotation
    * [DATAMONGO-631] - Explicitly prevent an Order instance set to ignore case from being piped into a query
    * [DATAMONGO-632] - Polish namespace XSD to avoid errors in STS
    * [DATAMONGO-633] - Upgrade to Querydsl 3.0.0
    * [DATAMONGO-634] - Inherit application scope from basic CDI bean of Spring Data Commons
    * [DATAMONGO-635] - Fix some Sonar warnings
    * [DATAMONGO-636] - Add support for countBy projections
    * [DATAMONGO-637] - Typo in Query.query(…)
    * [DATAMONGO-651] - WriteResult not available from thrown Exception
    * [DATAMONGO-652] - Add support for elemMatch and positional operator projections
    * [DATAMONGO-656] - Potential NullPointerException when debugging in MongoTemplate
    * [DATAMONGO-657] - Allow to write Map value as DBRef
    * [DATAMONGO-666] - Fix architecture inconsistency created by MongoDataIntegrityViolationException
    * [DATAMONGO-680] - SimpleMongoRepository.exists(ID) improvement
    * [DATAMONGO-681] - Expose MongoTemplate.exists() method
    * [DATAMONGO-682] - Remove performance hotspots

** New Feature
    * [DATAMONGO-607] - Add an abbreviating field naming strategy
    * [DATAMONGO-628] - Add XML namespace elements for MongoTemplate and GridFsTemplate

** Task
    * [DATAMONGO-597] - Website is severely out-of-date
    * [DATAMONGO-658] - Minor formatting changes to README.md
    * [DATAMONGO-667] - Remove deprecations and further deprecate sorting/ordering types
    * [DATAMONGO-672] - Upgrade to latest Spring Data Build and Commons
    * [DATAMONGO-678] - Performance improvements in CustomConversions
    * [DATAMONGO-690] - Release 1.3 M1

Changes in version 1.2.1.GA (2013-04-17)
----------------------------------------
** Bug
    * [DATAMONGO-571] - Spring Data for MongoDb doesn't save null values when @Version is added to domain class
    * [DATAMONGO-612] - Fix PDF reference documentation name
    * [DATAMONGO-613] - Images missing from reference documentation
    * [DATAMONGO-617] - NullPointerException in MongoTemplate.initializeVersionProperty(…)
    * [DATAMONGO-620] - MongoTemplate.doSaveVersioned(…) does not consider collection handed into the method
    * [DATAMONGO-621] - MongoTemplate.initializeVersionProperty(…) does not use ConversionService
    * [DATAMONGO-622] - An unversioned object should be created using insert(…) instead of save.
    * [DATAMONGO-629] - Different results when using count and find with the same criteria with 'id' field
    * [DATAMONGO-638] - MappingContext should not create PersistentEntity instances for native maps
    * [DATAMONGO-640] - MongoLog4jAppender suffers from potential NullPointerException when closing Mongo instance
    * [DATAMONGO-641] - MongoLog4jAppender suffers from potential NullPointerException when closing Mongo instance
    * [DATAMONGO-642] - MongoChangeSetPersister does not use mapped collection name
    * [DATAMONGO-646] - Can't insert DBObjects through MongoTemplate
    * [DATAMONGO-648] - ID attributes in namespace shouldn't be XSD IDs

** Improvement
    * [DATAMONGO-594] - cross-store=> Define document name using annotation
    * [DATAMONGO-632] - Polish namespace XSD to avoid errors in STS
    * [DATAMONGO-635] - Fix some Sonar warnings
    * [DATAMONGO-637] - Typo in Query.query(…)
    * [DATAMONGO-651] - WriteResult not available from thrown Exception
    * [DATAMONGO-656] - Potential NullPointerException when debugging in MongoTemplate

** Task
    * [DATAMONGO-597] - Website is severely out-of-date
    * [DATAMONGO-654] - Release 1.2.1

Changes in version 1.2.0.GA (2013-02-08)
----------------------------------------
** Bug
    * [DATAMONGO-378] - MapReduceResults ClassCastException due to raw results counts as Long
    * [DATAMONGO-568] - MongoTemplate.find(...)  method causes Nullpointer if query parameter is null
    * [DATAMONGO-570] - Query methods on @DBRef field with the qualifier isNull throws Exception
    * [DATAMONGO-583] - Check if you are using for loop with a DBCursor
    * [DATAMONGO-585] - Exception during authentication in multithreaded access
    * [DATAMONGO-588] - MongoTemplate.insert does not initialize null versions to zero
    * [DATAMONGO-592] - Persisting Objects containing Objects with PersistenceConstructor causes MappingInstantiationException
    * [DATAMONGO-593] - Persisting objects containing primitive arrays with PersistenceConstructor causes MappingInstantiationException
    * [DATAMONGO-600] - Issues with polymorphism of nested types
    * [DATAMONGO-601] - CannotGetMongoDbConnectionException should not print password in logfile
    * [DATAMONGO-603] - Results of geo queries in repository dont't get metrics of supplied distance applied

** Improvement
    * [DATAMONGO-503] - GridFsTemplate is not setting the file Content-Type
    * [DATAMONGO-573] - Move to Logback for test logging
    * [DATAMONGO-580] - Polish BeanDefinitionParsers to avoid warnings in STS
    * [DATAMONGO-581] - Expose managed PersistentEntity in MongoRepositoryFactoryBean
    * [DATAMONGO-606] - Register converter for JodaTime types if present on classpath

** New Feature
    * [DATAMONGO-577] - Add support for auditing

** Task
    * [DATAMONGO-81] - Create unit tests for exception translation in MongoTemplate
    * [DATAMONGO-576] - Configure java.util.logging to reduce verbose test logging
    * [DATAMONGO-590] - Clean up code in MongoTemplate
    * [DATAMONGO-598] - Upgrade to new build infrastructure
    * [DATAMONGO-609] - Release 1.2.0

Changes in version 1.1.2.GA (2013-02-08)
----------------------------------------
** Bug
    * [DATAMONGO-562] - Cannot create entity with OptimisticLocking (@Version) and initial id
    * [DATAMONGO-568] - MongoTemplate.find(...)  method causes Nullpointer if query parameter is null
    * [DATAMONGO-570] - Query methods on @DBRef field with the qualifier isNull throws Exception
    * [DATAMONGO-578] - pom version issues in 1.1.x branch
    * [DATAMONGO-583] - Check if you are using for loop with a DBCursor
    * [DATAMONGO-585] - Exception during authentication in multithreaded access
    * [DATAMONGO-588] - MongoTemplate.insert does not initialize null versions to zero
    * [DATAMONGO-600] - Issues with polymorphism of nested types
    * [DATAMONGO-601] - CannotGetMongoDbConnectionException should not print password in logfile

** Improvement
    * [DATAMONGO-573] - Move to Logback for test logging
    * [DATAMONGO-580] - Polish BeanDefinitionParsers to avoid warnings in STS

** Task
    * [DATAMONGO-81] - Create unit tests for exception translation in MongoTemplate
    * [DATAMONGO-563] - Upgrade to MongoDB driver 2.9.2 as it fixes a serious regression introduced in 2.9.0
    * [DATAMONGO-576] - Configure java.util.logging to reduce verbose test logging
    * [DATAMONGO-590] - Clean up code in MongoTemplate
    * [DATAMONGO-608] - Release 1.1.2

Changes in version 1.1.1.GA (2012-10-17)
----------------------------------------
** Bug
    * [DATAMONGO-549] - MongoTemplate.save(…) suffers from potential NullPointException
    * [DATAMONGO-550] - MongoTemplate.save(BasicDBObject, String) results in NPE (after upgrading to 1.1.0.RELEASE
    * [DATAMONGO-551] - MongoTemplate.save(String, String) results in NPE (after upgrading to 1.1.0.RELEASE

** Task
    * [DATAMONGO-559] - Release 1.1.1.RELEASE


Changes in version 1.1.0.GA (2012-10-10)
----------------------------------------
** Bug
    * [DATAMONGO-523] - @TypeAlias annotation not used with AbstractMongoConfiguration
    * [DATAMONGO-527] - Criteria.equals(…) broken for complex criterias
    * [DATAMONGO-530] - MongoMappingContext.setApplicationContext(…) does not invoke superclass method
    * [DATAMONGO-531] - StackOverflowError when persisting Groovy beans
    * [DATAMONGO-532] - Multithreading authentication issue
    * [DATAMONGO-533] - Default MongoPersistentEntityIndexCreator not registered if ApplicationContext already contains one for different MappingContext
    * [DATAMONGO-535] - Retrieve of existing Mongo DB from Transaction is not working
    * [DATAMONGO-539] - Document remove doesn't work when giving collection name as a parameter

** Improvement
    * [DATAMONGO-279] - Optimistic locking using @Version field
    * [DATAMONGO-456] - XSD incorrectly states the default value for the mongo-ref attribute of the mongo:db-factory configuration element
    * [DATAMONGO-457] - broken links "Spring Data MongoDB - Reference Documentation"
    * [DATAMONGO-526] - Polish README.md
    * [DATAMONGO-529] - Improve Querydsl setup
    * [DATAMONGO-538] - Unify usage of Sort APIs in Query API

** New Feature
    * [DATAMONGO-389] - stable release spring-data-mongodb should work with stable spring spring-data-jpa

** Task
    * [DATAMONGO-484] - Migrate to latest MongoDB Java driver
    * [DATAMONGO-528] - Document GridFS support
    * [DATAMONGO-536] - Fix package cycle introduced by SerializationUtils
    * [DATAMONGO-541] - Release 1.1 GA
    * [DATAMONGO-543] - Polish reference documentation
    * [DATAMONGO-548] - Upgrade to Querydsl 2.8.0


Changes in version 1.1.0.RC1 (2012-24-08)
-----------------------------------------
** Bug
    * [DATAMONGO-493] - Criteria.ne() method converts all value into ObjectId
    * [DATAMONGO-494] - $or/$nor expressions do not consider entity class mapping
    * [DATAMONGO-495] - JSON can't serialize Enum when printing Query in DEBUG message
    * [DATAMONGO-497] - Reading an empty List throws a MappingInstantiationException because it returns an HashSet instead of returning an ArrayList
    * [DATAMONGO-505] - Conversion of associations doesn't work for collection values
    * [DATAMONGO-508] - DBRef can accidentally get added as PersistentProperty
    * [DATAMONGO-517] - QueryMapping incorrectly translates complex keywords

** Improvement
    * [DATAMONGO-496] - AbstractMongoConfiguration.getMappingBasePackage() could default to config class' package
    * [DATAMONGO-499] - Namespace XSDs of current release version should refer to repositories XSD in version 1.0
    * [DATAMONGO-500] - Index creation reacts on events not intended for it
    * [DATAMONGO-502] - QueryMapper should transparently translate property names to field names
    * [DATAMONGO-509] - SimpleMongoRepository.exists(…) can be improved.
    * [DATAMONGO-510] - Criteria should only use BasicDBList internally
    * [DATAMONGO-511] - QueryMapper should correctly transform associations
    * [DATAMONGO-516] - Make Spring 3.1.2.RELEASE default Spring dependency version

** Task
    * [DATAMONGO-513] - Release 1.1 RC1


Changes in version 1.0.4.RELEASE MongoDB (2012-08-24)
-----------------------------------------------------
** Bug
    * [DATAMONGO-493] - Criteria.ne() method converts all value into ObjectId
    * [DATAMONGO-494] - $or/$nor expressions do not consider entity class mapping
    * [DATAMONGO-495] - JSON can't serialize Enum when printing Query in DEBUG message

** Improvement
    * [DATAMONGO-499] - Namespace XSDs of current release version should refer to repositories XSD in version 1.0

** Task
    * [DATAMONGO-514] - Release 1.0.4.

Changes in version 1.1.0.M2 (2012-24-07)
----------------------------------------
** Bug
    * [DATAMONGO-378] - MapReduceResults ClassCastException due to raw results counts as Long
    * [DATAMONGO-424] - Declaring a list of DBRef in a domian class results in Null for each DBRef when reading from mongo database
    * [DATAMONGO-425] - Binding a Date to a manually defined repository query fails
    * [DATAMONGO-428] - ClassCastException when using outputDatabase option in map-reduce
    * [DATAMONGO-446] - Pageable query methods returning List are broken
    * [DATAMONGO-447] - Removal of Documents fails in in debug mode for Documents with complex ids
    * [DATAMONGO-450] - enabling DEBUG causes RuntimeException
    * [DATAMONGO-454] - ServerAddressPropertyEditor fails if a hostname is unresolvable
    * [DATAMONGO-458] - When reading back empty collections unmodifiable instances of Collections.emptyList/Set is returned.
    * [DATAMONGO-462] - findAll() fails with NPE - discovering the root cause
    * [DATAMONGO-465] - Mongo inserts document with "_id" as an integer but saves with "_id" as a string.
    * [DATAMONGO-467] - String @id field is not mapped to ObjectId when using QueryDSL ".id" path
    * [DATAMONGO-469] - Query creation from method names using AND criteria does not work anymore
    * [DATAMONGO-474] - Wrong property is used for Id mapping
    * [DATAMONGO-475] - 'group' operation fails where query references non primitive property
    * [DATAMONGO-480] - The WriteResultChecking is not used in case of insert or save of documents.
    * [DATAMONGO-483] - @Indexed(unique=true, name="foo") puts name's value to the 'key' in the MongoDB
    * [DATAMONGO-489] - ClassCastException when loading Map<String, String[]>

** Improvement
    * [DATAMONGO-448] - Remove the need for Converters for complex classes that are used as IDs
    * [DATAMONGO-455] - Document how to use raw queries using BasicQuery
    * [DATAMONGO-460] - Improve Querydsl implementation internals
    * [DATAMONGO-466] - QueryMapper shouldn't map id properties of nested classes
    * [DATAMONGO-470] - Criteria and Query should have proper equals(…) and hashCode() method.
    * [DATAMONGO-477] - Change upper bound of Google Guava package import to 13
    * [DATAMONGO-482] - typo in documentation - 2 i's in usiing
    * [DATAMONGO-486] - Polish namspace implementation
    * [DATAMONGO-491] - Release 1.1.0.M2

** New Feature
    * [DATAMONGO-476] - JavaConfig support for Mongo repositories

** Task
    * [DATAMONGO-451] - Tweak pom.xml to let Sonar build run without Bundlor
    * [DATAMONGO-490] - Fix minor typos


Changes in version 1.0.3.RELEASE (2012-24-07)
---------------------------------------------
** Bug
    * [DATAMONGO-467] - String @id field is not mapped to ObjectId when using QueryDSL ".id" path
    * [DATAMONGO-469] - Query creation from method names using AND criteria does not work anymore
    * [DATAMONGO-474] - Wrong property is used for Id mapping
    * [DATAMONGO-475] - 'group' operation fails where query references non primitive property
    * [DATAMONGO-480] - The WriteResultChecking is not used in case of insert or save of documents.
    * [DATAMONGO-483] - @Indexed(unique=true, name="foo") puts name's value to the 'key' in the MongoDB
    * [DATAMONGO-489] - ClassCastException when loading Map<String, String[]>

** Improvement
    * [DATAMONGO-466] - QueryMapper shouldn't map id properties of nested classes
    * [DATAMONGO-470] - Criteria and Query should have proper equals(…) and hashCode() method.
    * [DATAMONGO-482] - typo in documentation - 2 i's in usiing

** Task
    * [DATAMONGO-492] - Release 1.0.3


Changes in version 1.0.2.RELEASE (2012-06-20)
---------------------------------------------
** Bug
    * [DATAMONGO-360] - java.lang.ClassCastException when placing GeospatialIndex into IndexOperations and invoking IndexOperations.getIndexInfo()
    * [DATAMONGO-366] - Chapter 3.2. points to wrong bugtracker
    * [DATAMONGO-378] - MapReduceResults ClassCastException due to raw results counts as Long
    * [DATAMONGO-382] - ClassCastException: "com.mongodb.BasicDBObject cannot be cast to com.mongodb.BasicDBList" during find()
    * [DATAMONGO-411] - Potential ClassCastExceptions in MongoPersistentEntityIndexCreator
    * [DATAMONGO-412] - getUserCredentials() is called twice in AbstractMongoConfiguration::mongoDbFactory()
    * [DATAMONGO-413] - Using "Or" in repository query yields a ClassCastException
    * [DATAMONGO-422] - UUIDToBinaryConverter not compatible with mongo java driver
    * [DATAMONGO-423] - Criteria.regex should use java.util.Pattern instead of $regex
    * [DATAMONGO-425] - Binding a Date to a manually defined repository query fails
    * [DATAMONGO-428] - ClassCastException when using outputDatabase option in map-reduce
    * [DATAMONGO-429] - using @Query annotation, arrays are translated somewhere between query creation and mongo interpretation
    * [DATAMONGO-446] - Pageable query methods returning List are broken
    * [DATAMONGO-447] - Removal of Documents fails in in debug mode for Documents with complex ids
    * [DATAMONGO-450] - enabling DEBUG causes RuntimeException
    * [DATAMONGO-454] - ServerAddressPropertyEditor fails if a hostname is unresolvable
    * [DATAMONGO-461] - MappedConstructor potentially throws NullPointerException
    * [DATAMONGO-462] - findAll() fails with NPE - discovering the root cause

** Improvement
    * [DATAMONGO-448] - Remove the need for Converters for complex classes that are used as IDs
    * [DATAMONGO-455] - Document how to use raw queries using BasicQuery

** Task
    * [DATAMONGO-463] - Release 1.0.2


Changes in version 1.1.0.M1 (2012-05-07)
----------------------------------------

** Bug
    * [DATAMONGO-299] - Mongodb Query Does not allow for multiple query conditionals of the same time.
    * [DATAMONGO-360] - java.lang.ClassCastException when placing GeospatialIndex into IndexOperations and invoking IndexOperations.getIndexInfo()
    * [DATAMONGO-363] - Criteria.and() cannot be chained when using Criteria.gte and Criteria.lte
    * [DATAMONGO-364] - Chaining of Criteria when including a GeoSpatial field is inconsistent.
    * [DATAMONGO-366] - Chapter 3.2. points to wrong bugtracker
    * [DATAMONGO-368] - Empty values in collections are not supported
    * [DATAMONGO-369] - Wrong query created when one value is a DBObject
    * [DATAMONGO-373] - QueryMapper is getting a ClassCasteException When trying to Convert an ArrayList to a BSONList
    * [DATAMONGO-376] - Fix potential NPE in SpringDataMongodbSerializer
    * [DATAMONGO-380] - maps with mongo reserved characters for keys generate on save: java.lang.IllegalArgumentException: fields stored in the db can't have . in them
    * [DATAMONGO-387] - Executing query methods with GeoPage results doesn't work
    * [DATAMONGO-401] - StringBasedMongoQuery suffers from NullPointerException in case a null parameter gets bound to a parameter placeholder
    * [DATAMONGO-402] - Inner class not supported
    * [DATAMONGO-403] - Conflicts between MongoDB and JPA
    * [DATAMONGO-411] - Potential ClassCastExceptions in MongoPersistentEntityIndexCreator
    * [DATAMONGO-412] - getUserCredentials() is called twice in AbstractMongoConfiguration::mongoDbFactory()
    * [DATAMONGO-413] - Using "Or" in repository query yields a ClassCastException
    * [DATAMONGO-423] - Criteria.regex should use java.util.Pattern instead of $regex

** Defect
    * [DATAMONGO-429] - using @Query annotation, arrays are translated somewhere between query creation and mongo interpretation

** Improvement
    * [DATAMONGO-347] - Repositories and DBRef
    * [DATAMONGO-375] - Polish versions of referenced XSD schemas
    * [DATAMONGO-379] - Exception when trying to instantiate an entity having a primitive constructor argument and no according document field
    * [DATAMONGO-390] - Add Converter for UUID
    * [DATAMONGO-391] - Move to SLF4J for logging
    * [DATAMONGO-397] - MongoRepositoryFactoryBean should refer to MongoOperations instead of MongoTemplate
    * [DATAMONGO-441] - Improve MongoDbUtils API

** New Feature
    * [DATAMONGO-6] - Integration with GridFS features
    * [DATAMONGO-36] - Validation support to MongoTemplate
    * [DATAMONGO-356] - Provide CDI integration
    * [DATAMONGO-418] - Add support for newly introduced StartingWith, EndingWith and Containing keywords
    * [DATAMONGO-427] - Support After and Before keywords for query creation

** Refactoring
    * [DATAMONGO-383] - Adapt new entity instantiation API from Spring Data Commons
    * [DATAMONGO-431] - Adapt changes in CrudRepository

** Task
    * [DATAMONGO-443] - Upgrade to Querydsl 2.5.0
    * [DATAMONGO-394] - Upgrade to Querydsl 2.3.2
    * [DATAMONGO-396] - Release 1.1.0.M1.
    * [DATAMONGO-432] - Upgrade to Spring Data Commons 1.3.0.RC1
    * [DATAMONGO-439] - Add performance tests

Changes in version 1.0.1.RELEASE MongoDB (2012-02-11)
-----------------------------------------------------

** Bug
    * [DATAMONGO-363] - Criteria.and() cannot be chained when using Criteria.gte and Criteria.lte
    * [DATAMONGO-364] - Chaining of Criteria when including a GeoSpatial field is inconsistent.
    * [DATAMONGO-368] - Empty values in collections are not supported
    * [DATAMONGO-369] - Wrong query created when one value is a DBObject
    * [DATAMONGO-376] - Fix potential NPE in SpringDataMongodbSerializer
    * [DATAMONGO-380] - maps with mongo reserved characters for keys generate on save: java.lang.IllegalArgumentException: fields stored in the db can't have . in them
    * [DATAMONGO-387] - Executing query methods with GeoPage results doesn't work
    * [DATAMONGO-401] - StringBasedMongoQuery suffers from NullPointerException in case a null parameter gets bound to a parameter placeholder

** Improvement
    * [DATAMONGO-375] - Polish versions of referenced XSD schemas
    * [DATAMONGO-379] - Exception when trying to instantiate an entity having a primitive constructor argument and no according document field
    * [DATAMONGO-390] - Add Converter for UUID
    * [DATAMONGO-397] - MongoRepositoryFactoryBean should refer to MongoOperations instead of MongoTemplate

** Task
    * [DATAMONGO-395] - Release 1.0.1.


Changes in version 1.0.0.RELEASE MongoDB (2011-12-22)
-----------------------------------------------------

** Bug
    * [DATAMONGO-260] - MapReduce fails when using with Long as key-type.
    * [DATAMONGO-319] - WriteConcern not parsed correctly in namespace handlers
    * [DATAMONGO-336] - MongoDB GeoNear returning  null pointer exception when giving data more precision than test data
    * [DATAMONGO-343] - ServerAddressPropertyEditor disables default Spring conversion
    * [DATAMONGO-346] - MongoTemplate.remove(Object arg) not working
    * [DATAMONGO-349] - remove doesn't work in RC1 for mongo db

** Improvement
    * [DATAMONGO-139] - Startup behavior should be that MongoTemplate does not eagerly try to connect to MongoDB
    * [DATAMONGO-296] - Add hook to use MongoConverter for Querydsl argument handling
    * [DATAMONGO-326] - Enums can't be used in Criteria
    * [DATAMONGO-341] - Tighten implementation of MongoTemplate's geoNear(...) methods

** Task
    * [DATAMONGO-81] - Create unit tests for exception translation in MongoTemplate
    * [DATAMONGO-93] - Create integration tests for authentication
    * [DATAMONGO-257] - Document TypeMapper abstraction to control how type information is stored and retrieved from documents
    * [DATAMONGO-330] - Document classpath scanning for Converters
    * [DATAMONGO-350] - Upgrade to latest Querydsl
    * [DATAMONGO-355] - Upgrade to Spring 3.0.7
    * [DATAMONGO-357] - Release 1.0 GA


Changes in version 1.0.0.RC1 MongoDB (2011-12-6)
------------------------------------------------

** Bug
    * [DATAMONGO-199] - Synchronisation during performance tests
    * [DATAMONGO-298] - Spring custom converters do not work for subclasses of java.lang.Number
    * [DATAMONGO-306] - NullPointerException if mongo factory created via URI with out credentials
    * [DATAMONGO-309] - POJO containing a List of Maps not persisting properly
    * [DATAMONGO-312] - Cannot retrieve persisted Enum implementing an abstract method
    * [DATAMONGO-315] - MongoTemplate.findOne(query) methods ignore SortOrder on query
    * [DATAMONGO-316] - Replica Set configuration via properties file throws ArrayIndexOutOfBoundsException
    * [DATAMONGO-318] - Distinguishing write errors and writes with zero documents affected
    * [DATAMONGO-321] - An ID field of type integer is always saved as zero if not set by the user before calling save.  Throw exception to indicate an int field will not be autopopulated.
    * [DATAMONGO-322] - Throw exception in a save operation if the POJO's ID field is null and field type is not String, BigInteger or ObjectId.
    * [DATAMONGO-325] - MongoTemplate fails to correctly report a js file not found on classpath while calling mapReduce
    * [DATAMONGO-328] - Fix the import statement in mongodb manifest
    * [DATAMONGO-329] - Map value not converted correctly
    * [DATAMONGO-333] - AbstractMongoEventListener throws NullPointerException if used without generic parameter

** Improvement
    * [DATAMONGO-26] - Investigate performance of POJO serialization.
    * [DATAMONGO-174] - Add additional constructor to MongoTemplate that take com.mongodb.Mongo, database name, user credentials and MongoConverter.
    * [DATAMONGO-208] - Add suppoprt for group() operation on collection in MongoOperations
    * [DATAMONGO-213] - Provide additional options for setting WriteConcern on a per operation basis
    * [DATAMONGO-234] - MongoTemplate should support the findAndModify operation to update version fields
    * [DATAMONGO-292] - Several mongo for different database names
    * [DATAMONGO-301] - Allow converters to be included through scanning
    * [DATAMONGO-305] - Remove synchronized(this) from sort() and fields() methods in the Query class
    * [DATAMONGO-310] - Allow Collections as parameters in @Query
    * [DATAMONGO-320] - Remove use of slaveOk boolean option in MongoTemplate as it is deprecated.  Replace with ReadPreference
    * [DATAMONGO-323] - Using @Query and a Sort parameter on the same method should produce sorted results
    * [DATAMONGO-324] - Support for JSON in mongo template
    * [DATAMONGO-337] - The "nin" and "all" methods on Criteria should take a collection like the "in" method.
    * [DATAMONGO-338] - Add query derivation implementations for newly introduced Regex, Exists, True and False keywords

** New Feature
    * [DATAMONGO-185] - Add hint to Query
    * [DATAMONGO-251] - Support geting index information on a collection or mapped class.
    * [DATAMONGO-308] - Add support for upsert methods

** Refactoring
    * [DATAMONGO-304] - Change package name for Class MongoLog4jAppender
    * [DATAMONGO-313] - Use MongoOperations interface instead of MongoTemplate class

** Task
    * [DATAMONGO-195] - Add description of @Field mapping annotation to reference docs
    * [DATAMONGO-262] - Ensure Cloud Foundry Runtime works with RC1
    * [DATAMONGO-263] - Ensure Cloud Foundry Examples work with RC1
    * [DATAMONGO-311] - Update MongoDB driver to v 2.7.x
    * [DATAMONGO-332] - Update reference documentation to list correct necessary dependencies
    * [DATAMONGO-334] - Use repository URLs pointing to Artifactory
    * [DATAMONGO-335] - Create hybrid Spring 3.0.6 / 3.1 build


Changes in version 1.0.0.M5 MongoDB (2011-10-24)
------------------------------------------------

** Bug
    * [DATAMONGO-259] - Maps inside collections are not written correctly
    * [DATAMONGO-268] - CustomConversions is too liberal in registering "simple types" (asymmetric conversion)
    * [DATAMONGO-269] - XML configuration for replica sets is not working
    * [DATAMONGO-275] - DBRef fields and collections are returning nulls
    * [DATAMONGO-281] - Improve the <mongo:db-factory> to handle blank username and password when using property placholders like ${mongo.username}
    * [DATAMONGO-282] - Cannot create a "range" query
    * [DATAMONGO-284] - Execution of Querydsl query maps id incorrectly
    * [DATAMONGO-285] - NPE in MappingMongoConverter.writeMapInternal when saving a Map<String,Object> with val instance of Collection
    * [DATAMONGO-288] - querying same property multiple times produces incorrect query
    * [DATAMONGO-289] - AbstractMongoEventListener will never call onAfterLoad
    * [DATAMONGO-294] - List elements nested in Map lose their type when persisted

** Improvement
    * [DATAMONGO-65] - Allow Spring EL usage in collection name attribute of @Document
    * [DATAMONGO-183] - Query count() support for pagination
    * [DATAMONGO-258] - M4 documentation states SD Commons 1.1.0.M1 required but actually needs 1.2.0.M1
    * [DATAMONGO-261] - Reference documentation for geoNear queries has no stable section id
    * [DATAMONGO-270] - Approach Sonar results to improve code quality
    * [DATAMONGO-271] - Remove 'document' from cross-store package names
    * [DATAMONGO-272] - Namespace configuration file still resides in 'document' package
    * [DATAMONGO-276] - QueryUtils should be public
    * [DATAMONGO-280] - Add maxAutoConnectRetryTime for <mongo:db-factory> and  MongoOptionsFactoryBean
    * [DATAMONGO-283] - $and support
    * [DATAMONGO-286] - MongoDB Repository no query methods for $lte and $gte
    * [DATAMONGO-291] - Path expressions in repository methods should honour mapping metadata
    * [DATAMONGO-293] - Add support for new polygon based within search in Mongo 2.0.
    * [DATAMONGO-295] - Allow MongoTemplate to be configured using MongoURI
    * [DATAMONGO-300] - Re-work the Query/Criteria to better support $and, $or and $nor queries
    * [DATAMONGO-302] - Consistently handle null values given to CrudRepository implementation

** New Feature
    * [DATAMONGO-230] - MongoTemplate missing method remove(Object object, String collectionName)

** Refactoring
    * [DATAMONGO-274] - Split up repository package according to the structure in Spring Data JPA

** Task
    * [DATAMONGO-264] - Ensure Data Document examples work
    * [DATAMONGO-265] - Create new github repository for mongodb
    * [DATAMONGO-266] - Create new github repository for CouchDB
    * [DATAMONGO-297] - Prune project directory
    * [DATAMONGO-303] - Update to QueryDsl 2.2.4


Changes in version 1.0.0.M4 MongoDB (2011-09-01)
------------------------------------------------

** Bug
    * [DATADOC-134] - MongoDB: No exception when saving duplicate value to an attribute annotated with @Indexed(unique=true)
    * [DATADOC-162] - Exception thrown on toString of Point class
    * [DATADOC-167] - @Document annotation is not inherited
    * [DATADOC-168] - Registering a custom converter from String to UUID causes all Strings to be converted to UUIDs
    * [DATADOC-172] - Unable to force property order when saving document
    * [DATADOC-176] - @DBRef annotation only supports ids of type ObjectId
    * [DATADOC-177] - Sorting on multiple fields does not maintain order
    * [DATADOC-181] - MongoFactoryBean does not call Mongo.close() on shutdown
    * [DATADOC-190] - SimpleMongoRepository.exists(…) returns false for existing entities with non-ObjectId id
    * [DATADOC-192] - MappingMongoConverter does not read empty Sets correctly
    * [DATADOC-199] - Synchronisation during performance tests
    * [DATADOC-207] - MappingMongoConverter fails when reading empty java.util.SortedMaps
    * [DATADOC-209] - Collections of enums not handled correctly
    * [DATADOC-210] - spring-data-mongodb requires Java 1.6, should require 1.5
    * [DATADOC-212] - NPE during MongoTemplate.update() if no ID field is defined (via field name or annotation)
    * [DATADOC-217] - Set cannot be used as a collection in a Document
    * [DATADOC-218] - Adding of custom simple types is not easy
    * [DATADOC-221] - BigDecimal values not read correctly in maps
    * [DATADOC-224] - MappingMongoConverter does not inspect value type for Object properties
    * [DATADOC-228] - NullPointerException when persiting Map with null values
    * [DATADOC-229] - When a parameterized List is used in the PersistentConstructor, conversion fail
    * [DATADOC-231] - spring-data-mongodb does not work in an OSGi server because of unresolved dependencies
    * [DATADOC-232] - mongodb allow to $inc many fields in one query, but Updat().inc(firs).inc(last)  do only last inc
    * [DATADOC-235] - Unable to map unstructured data
    * [DATADOC-236] - Repository queries do not honour order defined in method name
    * [DATADOC-237] - @Indexed annotation doesn't honor field name from @Field annotation
    * [DATADOC-240] - Update with id key is not working
    * [DATADOC-243] - mongo:mapping-converter schema does not allow db-factory-ref
    * [DATADOC-246] - Stack overflow when Update.pushAll(push)
    * [DATADOC-247] - QueryMapper does not handle BigInteger ids correctly
    * [DATADOC-248] - MongoDB Query and Collection mapping
    * [DATADOC-249] - ConcurrentModificationException when calling MongoTemplate.updateFirst
    * [DATADOC-254] - SimpleMongoDbFactory should handle dots in database names correctly

** Improvement
    * [DATADOC-32] - SimpleMongoConverter could support identifying Spring EL expressions in keys
    * [DATADOC-63] - Converters to support use of a 'typeId' strategy to determine class to marshall/unmarshal from Mongo
    * [DATADOC-166] - Check for null if various template CRUD methods
    * [DATADOC-169] - Registering custom converters for a type requires treating the type as simple in mapping context
    * [DATADOC-171] - IllegalArgumentException when persisting entity with BigDecimal field
    * [DATADOC-178] - System.out.println in the in method of Criteria. Line 179.
    * [DATADOC-188] - Allow means to disable repository infrastructure creating indexes
    * [DATADOC-189] - Improve extensibility of MongoRepositoryFactoryBean
    * [DATADOC-215] - Allow configuring WriteConcern via MongoFactoryBean and thus the namespace
    * [DATADOC-223] - Registering of customSimpleTypes should be available through the mongo namespace of spring-data-mongodb
    * [DATADOC-225] - BasicMongoPersistentEntity shouldn't reject root entities without an id property
    * [DATADOC-241] - Allow Map conversion behavior overriding
    * [DATADOC-255] - Add to MongoOperations and executeCommand with an additional integer options argument
    * [DATADOC-256] - Update to use MongoDB driver version 2.6.5

** New Feature
    * [DATADOC-7] - Support for map-reduce operations in MongoTemplate
    * [DATADOC-64] - Allow defining the collections a query is ran against on finder methods
    * [DATADOC-68] - Support for geoNear command
    * [DATADOC-87] - Provide @GeoSpatialIndexed annotation that mirrors GeoSpatialIndex class for use in mapping.
    * [DATADOC-100] - Provide means to externalize manually defined queries
    * [DATADOC-202] - Add a 'DocumentCallbackHandler' so that a callback can process each DBObject returned from a query
    * [DATADOC-216] - Allow configuring a WriteConcern on SimpleMongoDbFactory for DB wide WriteConcern
    * [DATADOC-226] - Add QuerydslRepositorySupport helper class similar to the one in Spring Data JPA

** Refactoring
    * [DATADOC-170] - Review listener design
    * [DATADOC-191] - Remove 'document' from package names
    * [DATADOC-214] - MongoConverter refactorings

** Task
    * [DATADOC-91] - Add more TestCases for the basic functionality
    * [DATADOC-152] - Investigate failing of test for repository.findbyLocationWithinBox
    * [DATADOC-175] - Review DSM matrix and remove package cycles if found.
    * [DATADOC-194] - Remove use of Class.forName to support use in an OSGi environment
    * [DATADOC-206] - Upgrade to Querydsl 2.2.0
    * [DATADOC-253] - Upgrade to Spring 3.0.6


Changes in version 1.0.0.M3 MongoDB (2011-06-02)
------------------------------------------------

General
* [DATADOC-92] - Exception translation to catch RuntimeException instead of MongoException
* [DATADOC-111] - Ensure all MongoTemplate methods execute within the context of a callback method.
* [DATADOC-120] - Remove MongoReaderWriter
* [DATADOC-160] - Review MongoOperations and make the parameter ordering more consistent across methods

Core Data Access
* [DATADOC-80] - Rename addConverters to setCustomConverters in MappingMongoConverter and SimpleMongoConverter
* [DATADOC-89] - Support setting slaveOk in MongoTemplate per query
* [DATADOC-108] - Add findById method to MongoTemplate.
* [DATADOC-112] - Storing a DBRef uses the wrong collection name
* [DATADOC-116] - Nesting DBRefs doesn't work > 1 layers
* [DATADOC-117] - Remove the default collection name on the MongoTemplate
* [DATADOC-118] - Remove MongoTemplate methods that take a Reader/Writer parameter
* [DATADOC-121] - Deprecate SimpleMongoConverter
* [DATADOC-124] - Add method to MappingContext to get the collection name used for a specific type
* [DATADOC-127] - @Document(collection="SOME_COLLECTION_NAME") doesn't take effect
* [DATADOC-141] - Provide a prepareCollection protected method in MongoTemplate to allow customization of behavior such as slaveOk or writeConcern via a subclass
* [DATADOC-142] - Change constructors in MongoTemplate that take Mongo object
* [DATADOC-143] - MappingMongoConverter should be MongoTemplate's default converter
* [DATADOC-149] - Remove setter for MongoDbFactory from MappingMongoConverter
* [DATADOC-157] - MongoTemplate updateFirst/updateMulti methods to take java.lang.Class parameter as last in method param list to be consistent with other usage
* [DATADOC-158] - Change default conventions of java.lang.Class to collection name in MappingMongoConverter to be first letter lower case camel casing.

Configuration
* [DATADOC-42] - Provide option for configuring replica sets using the Mongo namespace
* [DATADOC-88] - Create MongoDbFactory to consolidate DB, Server location, and user credentials into one location
* [DATADOC-119] - Modify XML schema and @Configuration base class to make it easy to register custom Spring converters with the mapper.
* [DATADOC-133] - Support Property Placeholder as MongoDB Port Number in Application Context Configuration
* [DATADOC-135] - <mongo:options /> should use - instead of camel case to be consistent with other attribute names
* [DATADOC-138] - Expose all properties of the MongoOptions class in Mongo namespace

Querying / Updating
* [DATADOC-43] - Query creator should support Near and Within keyword
* [DATADOC-96] - Query#or(Query) does not work
* [DATADOC-102] - Update does not let you $set across multiple fields
* [DATADOC-106] - Add additional mongo operators to Criteria class
* [DATADOC-107] - Criteria "in" operator should correctly handle passing in a collection instead of an array.
* [DATADOC-113] - NotNull/IsNotNull not implemented in MongoQueryCreator
* [DATADOC-146] - Advanced Regexp Queries

Mapping
* [DATADOC-95] - Can not save an object that has not had any of its properties set
* [DATADOC-97] - ID replacement not working correctly when using updateFirst/updateMulti
* [DATADOC-98] - Collection<Collection> or Object[][] doesn't save correctly
* [DATADOC-109] - Add MappingContext to MongoConverter interface
* [DATADOC-110] - Improve implementation of substituteMappedIdIfNecessary
* [DATADOC-101] - Explicit Converters only registered one way.
* [DATADOC-114] - UpdateFirst/Multi operations on MongoTemplate not properly using converter to store objects.
* [DATADOC-122] - Use same default collection name for MappingMongoConverter and SimpleMongoConverter
* [DATADOC-123] - Use the same id/_id mapping for MappingMongoConverter and SimpleMongoConverter
* [DATADOC-128] - Support inheritance with Document mappings
* [DATADOC-130] - Problem with Converters (java.util.Locale)
* [DATADOC-144] - Add an @Key annotation to allow defining the key a property is stored under
* [DATADOC-145] - MappingMongoConverter does not convert objects for collections of interfaces
* [DATADOC-155] - Need to support plain POJOs with non-ObjectId-compatible ID properties
* [DATADOC-156] - MongoOperations.find(query(where("id").in(ids)) fails where ids aren't ObjectIds
* [DATADOC-159] - Saving the same Entity multiple times creates multiple entries in the database
* [DATADOC-161] - MappingMongoConverter now supports nested Maps

Repository
* [DATADOC-115] - Upgrade to QueryDsl 2.2.0-beta4
* [DATADOC-137] - Parameter values in MongoDB JSON Query are not being replaced properly

Documentation
* [DATADOC-99] - Reference documentation shows invalid field spec for @Query usage with repositories


Changes in version 1.0.0.M2 MongoDB (2011-04-09)
------------------------------------------------

General
* Spring configuration support using Java based @Configuration classes

Core Data Access
* Persistence and mapping lifecycle events
* GeoSpatial integration
* [DATADOC-76] - Add support for findAndRemove to MongoTemplate/MongoOperations
* [DATADOC-5] - Provide detailed mapping of Mongo errors onto Spring DAO exception
* [DATADOC-51] - Fixed issue with exceptions thrown when authenticating multiple times for sam eDB instance

Querying
* [DATADOC-72] - Add support for Mongo's $elemMatch and chained Criteria
* [DATADOC-77] - Rename "and" method in Query to "addCritera"
* [DATADOC-67] - Criteria API to support keywords for geo search

Mapping
* Feature Rich Object Mapping integrated with Spring's Conversion Service
* Annotation based mapping metadata but extensible to support other metadata formats
* [DATADOC-60] - Add namespace support to setup a MappingMongoConverter
* [DATADOC-33] - Introduce annotation to demarcate id field in a domain object

Repository
* [DATADOC-47, DATACMNS-17] - Adapted new metamodel API
* [DATADOC-46] - Added support for 'In' and 'NotIn' keyword
* [DATADOC-49] - Fixed 'And' and 'Or' keywords
* [DATADOC-41] - Added support for executing QueryDsl predicates
* [DATADOC-69] - Let repository namespace pickup the default mapping context bean and allow configuration
* [DATADOC-24] - Allow use of @Query annotation to define queries
* [DATADOC-34] - Create indexes for columns that are mentioned in query methods

Cross-Store
* [DATADOC-48] - Cross-store persistance - support for JPA Entities with fields transparently persisted/retrieved using MongoDB

Logging
* [DATADOC-66] - Log4j log appender

Changes in version 1.0.0.M1 MongoDB (2011-02-14)
------------------------------------------------

General
* BeanFactory for basic configuration of Mongo environment
* Namespace for basic configuration of Mongo environment

Core Data Access
* Introduce MongoTemplate implementation with methods defined in MongoOperations interface
* MongoTemplate support for insert, find, save, update, remove
* MongoTemplate support for basic POJO serialization based on bean properties
* Allow MongoTemplate methods to use a default collection name
* Exception translation in MongoTemplate to Spring's DAO exception hierarchy
* Support for update modifiers to allow for partial document updates
* Expose WriteConcern settings on MongoTemplate used for any write operations
* Support in MongoTemplate for enabling either logging or throwing exceptions based on value of WriteResult return value.

Repository
* Introducing generic repository implementation for MongoDB
* Automatic implementation of interface query method names on repositories.
* Namespace support for Mongo repositories
* Allow usage of pagination and sorting with repositories

