1.3.0
Version 1.3.0 (Nov 28, 2016)
Notes
Downloads
Below and on maven central.
Docs
Full documentation and javadoc can be found at http://mongodb.github.io/morphia/.
One of the goals of this release is to close the feature gap between the Java driver's features and what's exposed in Morphia. Excluding the aggregation API, this release adds support for a number of new and missing MongoDB features:
* Partial index support
* Document validation and bypass document validation
* java.math.BigDecimal
support via the new Decimal128
in MongoDB 3.4.
* Broader write concern support
* Read Concern
* Max Staleness
* Collations
* Enhanced $push
support for capped arrays
* Support for Java 8 types
This release introduces a number of options classes to encapsulate the growing number of optional settings to various operations. New overloads have been added to accept these options. Consequently, the older methods that accept the enumerated optional values have been deprecated. This has resulted in quite a few deprecations. While this might lead to a number of warnings during builds to clean, the result is ultimately a leaner API that's easier to scan, easier to evolve, and more consistent.
Issues Resolved
BUG
- Issue 1073: Nested entities get serialized as if they were references regardless of mapping
- Issue 1071: disableValidation doesn't work for fields using dot notation
- Issue 1053: MongoClient's write concern is never respected
- Issue 988: hasThisElement() hard codes a 'false' for the not parameter
- Issue 962: UpdateOperations addAll failing with Objects
- Issue 961: Querying embedded Fields giving ValidationException on disableValidation
- Issue 958: Deserializing map creates empty maps instead of null
- Issue 953: lazy+ignoreMissing not working
- Issue 951: Add group by id null
- Issue 941: Query with disable validation fails with embedded keys
- Issue 914: QueryValidator bypass the validateName(disableValidation) check
- Issue 882: $in with empty collection as argument results in MongoQueryException (version 1.0.1)
- Issue 379: disableValidation causes className to go in update params [moved]
- Issue 333: Don't complain when validating with positional operator or array ordinals [moved]
- Issue 179: Don't call lifecycle methods for query params [moved]
ENHANCEMENT
- Issue 1069: Complete the support for DeleteOptions
- Issue 1067: Update tests to include new and deprecated versions
- Issue 1059: #1054 $dec supports number argument
- Issue 1056: Refactor update path validation
- Issue 1054: $dec supports number argument
- Issue 1052: Deprecate Morphia#useBulkWriteOperations
- Issue 1044: Update fluent API @ Accumulator
- Issue 1043: use Sort vararg for ordering of query results
- Issue 1041: Deprecate old methods
- Issue 1039: Doc validation
- Issue 1038: update prepareCursor() after 3.4.0-beta2
- Issue 1032: Don't validate interfaces
- Issue 1029: fix clirr target
- Issue 1026: log a warning if dropDups is set to true on an index definition
- Issue 1023: expand bypassDocumentValidation coverage
- Issue 1009: Add option maxAwaitTime for tailable cursor queries
- Issue 1002: Support write concern for findAndModify methods
- Issue 992: Allow users to set a limit on acceptable staleness for secondary reads
- Issue 991: collation support
- Issue 985: new implementation of $elemMatch support
- Issue 979: Include an AdvancedDatastore-specific method for aggregation
- Issue 970: $elemMatch multiple criteria support
- Issue 956: Annotation to add document validation to a collection
- Issue 940: Include Java 8 converters
- Issue 900: Useless null check or missing clone() in QueryImpl#getSortObject
- Issue 811: Push element in array to a given position
- Issue 799: Investigate ordering text search by $score and including the return value
- Issue 640: UpdateOperations does not support capped arrays
- Issue 499: add natural order support
- Issue 411: BigDecimal data type is not support [moved]
- Issue 219: add support for "distinct" [moved]
- Issue 138: Add support for $slice in queries [moved]
DOCS
- Issue 1062: Update documentation
- Issue 969: Replace all wiki pages
UNCATEGORIZED
- Issue 1051: Error logs when find and delete doesn't find a matching result
- Issue 984: version release notes?
- Issue 918: Unable to add multiple accumulators in an aggregate grouping function call
3.2 SUPPORT
- Issue 1036: Support for Partial Index Option in 3.2
- Issue 1009: Add option maxAwaitTime for tailable cursor queries
- Issue 1002: Support write concern for findAndModify methods
- Issue 1001: Support ReadConcern
3.4 SUPPORT
- Issue 992: Allow users to set a limit on acceptable staleness for secondary reads
- Issue 991: collation support
- Issue 411: BigDecimal data type is not support [moved]
WONTFIX
- Issue 219: add support for "distinct" [moved]