DATAMONGO-1086 - Mapping fails for collection with two embbeded types that extend a generic abstract.

We now use the type information of the raw property type to check if we need to include _class.
DATAMONGO-1100 - Upgrade to new PersistentPropertyAccessor API.
DATAMONGO-1097 - Add support for $mul to Update.

We now support multiply on Update allowing to multiply the value of the given key by a multiplier.
DATAMONGO-1094 - Fixed ambiguous field mapping error message in BasicMongoPersistentEntity.

Original pull request: #245.
DATAMONGO-1096 - Use null-safe toString representation of query for debug logging.

We now use the null-safe serailizeToJsonSafely to avoid potential RuntimeExceptions during debug query printing in MongoTemplate.

Based on original PR: #247.

Original pull request: #251.
DATAMONGO-1101 - Add support for $bit to Update.

We now support bitwise and/or/xor operations for Update.
DATAMONGO-1102 - Added support for Java 8 date/time types.

We're now able to persist and read non-time-zoned JDK 8 date/time types (LocalDate, LocalTime, LocalDateTime) to and from Date instances.
DATAMONGO-1093 - Added hashCode() and equals(…) in BasicQuery.

We now have equals(…) and hashCode(…) methods on BasicQuery. Previously we solely relied on Query.hashCode()/equals(…) which didn't consider the fields of BasicQuery.

Introduced equals verifier library to automatically test equals contracts.
Added some additional test cases to BasicQueryUnitTests.

Original pull request: #252.
DATAMONGO-1075 - Containing keyword is now correctly translated for collection properties.

We now inspect the properties type when creating criteria for CONTAINS keyword so that, if the target property is of type String, we use an expression, and if the property is collection like we try to finds an exact match within the collection using $in.

Added support for NotContaining along the way.

Original pull request: #241.
DATAMONGO-1105 - Added implementation of QueryDslPredicateExecutor.findAll(OrderSpecifier<?>... orders).

Renamed QuerydslRepositorySupportUnitTests to QuerydslRepositorySupportTests as it's an integration test.
DATAMONGO-1092 - Ensure compatibility with MongoDB 2.8.0.rc0 and java driver 2.13.0-rc0.

We updated GroupByResults to allow working with changed data types returned for count and keys and fixed assertion on error message for duplicate keys.
Using java-driver 2.12.x when connecting to an 2.8.0.rc-0 instance is likely to cause trouble with authentication. This is the intended behavior.

2.8.0-rc0 throws error when removing elements from a collection that does not yet exist, which is different to what 2.6.x does.

The java-driver 2.13.0-rc0 works perfectly fine with a 2.6.x Server instance.
We deprecated Index.Duplicates#DROP since it has been removed in MongoDB 2.8

Original pull request: #246.
DATAMONGO-943 - Add support for $position to Update $push $each.

We now support $position on update.push.

Original pull request: #248.
DATAMONGO-1087 - Fix index resolver detecting cycles for partial match.

We now check for presence of a dot path to verify that we’ve detected a cycle.

Original pull request: #240.
DATAMONGO-1079 - Updated changelog.
DATAMONGO-1108 - Performance improvements in BasicMongoPersistentEntity.

BasicMongoPersistentEntity.getCollection() now avoids repeated SpEL-parsing and evaluating in case no SpEL expression is used. Parsing is happening at most once now. Evaluation is skipped entirely if the configured collection String is not or does not contain an expression.
DATAMONGO-1054 - Add support for fast insertion via MongoRepository.insert(..).

Introduced new insert(..) method variants on MongoRepositories that delegates to MongoTemplate.insert(..). This bypasses ID-population, save event generation and version checking and allows for fast insertion of bulk data.

Original pull request: #253.
DATAMONGO-1054 - Polishing.

Tweaked JavaDoc of the APIs to be less specific about implementation internals and rather point to the save(…) methods. Changed SimpleMongoRepository.save(…) methods to inspect the given entity/entities and use the optimized insert(All)-calls if all entities are considered new.

Original pull request: #253.
DATAMONGO-1043 - Make sure we dynamically lookup SpEL based collection names for query execution.

Changed SimpleMongoEntityMetadata to keep a reference to the collection entity instead of the eagerly resolved collection name. This is to make sure the name gets re-evaluated for every query execution to support dynamically changing collections defined via SpEL expressions.

Related pull request: #238.
DATAMONGO-1085 - Sort can not use the metamodel classes generated by QueryDSL.

Prepare issue branch.
DATAMONGO-1085 - Sort can not use the metamodel classes generated by QueryDSL.

Added test case for sorting with a QueryDSL OrderSpecifier. Seems to work as expected.