Releases: MorphiaOrg/morphia
1.4.0
Version 1.4.0 (Oct 16, 2018)
Notes
This is is solely for renaming the packages out of the MongoDB namespace. There are no other changes included. This is done to help ease the transition to the new release location. Additionally, the maven coordinates have changed as well. To get to the core
module (formerly morphia
) use the following dependency:
<dependency>
<groupId>xyz.morphia.morphia</groupId>
<artifactId>core</artifactId>
<version>1.4.0</version>
</dependency>
Note the artifactId
has been renamed to to core
. This was done for a few reasons:
- 'morphia' was beginning to repeat a ridiculous number of times
core
better reflects the artifacts relationship to the rest of the morphia ecosystem- it makes room for more modules to land in the
xyz.morphia
group without ambiguous naming conflicts.
Downloads
Below and on maven central.
Docs
Full documentation and javadoc can be found at http://MorphiaOrg.github.io/morphia/.
Issues Resolved
UNCATEGORIZED
- Issue 1264: Rename packages
1.3.2
Version 1.3.2 (Jan 31, 2017)
Notes
Downloads
Below and on maven central.
Docs
Full documentation and javadoc can be found at http://mongodb.github.io/morphia/.
Issues Resolved
BUG
- Issue 1135: Open up FieldEndImpl constructor
- Issue 1129: Replace documents in array using positional $ operator
- Issue 1127: Allow elemMatch as last segment in a Path
- Issue 1126: Backport #1123 for 1.3.2
ENHANCEMENT
- Issue 1135: Open up FieldEndImpl constructor
1.3.1
Version 1.3.1 (Jan 09, 2017)
Notes
Downloads
Below and on maven central.
Docs
Full documentation and javadoc can be found at http://mongodb.github.io/morphia/.
Issues Resolved
DOCS
- Issue 1103: Update message about dropDups
ENHANCEMENT
- Issue 1103: Update message about dropDups
BUG
- Issue 1093: BigDecimal conversion problem - morphia 1.3 - MongoDB 3.4
- Issue 1089: unsetting hashmap causes ArrayIndexOutOfBoundsException
- Issue 1087: add check for @reference before checking idOnly
- Issue 1078: Mapper error updating Key array field with $set
UNCATEGORIZED
- Issue 1091: IllegalArgumentException calling updateFirst
- Issue 1086: Generates collections for abstract base classes of entities
- Issue 1080: FieldEndImpl is now private and prevents me upgrading to 1.2.1
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]
1.3.0-rc0
- Resolved Issues
- 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 MongoDB 3.2 and 3.4 features:
- Partial index support
- Document validation and bypass document validation
java.math.BigDecimal
support via the newDecimal128
in MongoDB 3.4.- Broader write concern support
- Read Concern
- Max Staleness
- Collations
- 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.
- Enhanced
$push
support for capped arrays - Support for Java 8 types
The reference and API pages have been updated with the latest information and can be found under the 1.3.0-SNAPSHOT links on the docs home page. This version of Morphia requires a minimum of 3.4 for the Java driver. The driver is also currently running RC releases. When the Java driver 3.4.0 is final, Morphia 1.3.0 will finalize as well.
You can use 1.3.0-rc0 by updating your pom to include:
<dependency>
<groupId>org.mongodb.morphia</groupId>
<artifactId>morphia</artifactId>
<version>1.3.0-rc0</version>
</dependency>
or the jar can be downloaded directly here
1.2.1
Version 1.2.1 (Jul 06, 2016)
Notes
Downloads
Below and on maven central.
Docs
Full documentation and javadoc can be found at http://mongodb.github.io/morphia/.
Issues Resolved
ENHANCEMENT
- Issue 957: DAO.exists() can be optimized
- Issue 946: Support for incrementing version for the update and findAndModify API's
BUG
1.2.0
Version 1.2.0 (Jun 06, 2016)
Notes
Project documentation can be found here.
Downloads
Below and on maven central.
Docs
https://rawgithub.com/wiki/mongodb/morphia/javadoc/1.2.0/index.html
Issues Resolved
BUG
- Issue 938: fixed #924 Why not provide map package recursively?
- Issue 924: Why not provide map package recursively?
- Issue 904: Issue 903
- Issue 903: DatastoreImpl bulk insert with an empty Iterable causes an error.
- Issue 899: applied fix for mapPackages(), so that sub-packages are processed
- Issue 898: mapPackage() does not work with subpackages
- Issue 879: add support for dateToString expression
- Issue 686: PushAll is Deprecated
- Issue 867: A type could not be found for the field null.null when doing inserts but not saves
DOCS
- Issue 936: Mapper: correct comment describing interceptors field
- Issue 893: Backport docs update from #892
ENHANCEMENT
- Issue 930: Added @IdGetter annotation for method that returns the ID. Use it to optimize lazy loading
- Issue 928: When you will update java mongo driver?
- Issue 919: Only call setAccessible() during mapping
- Issue 916: Added type safety to the GeometryShapeConverter.
- Issue 913: Fix #841 - Added support for GeoJSON in GeoNear.
- Issue 907: hasThisElement() - Add ability to use $not and limit field comparison for $elemMatch queries
- Issue 906: The $elemMatch operator cannot be negated
- Issue 905: The $elemMatch operator matches against all fields within the class
- Issue 896: Group by Month, Day, and Year - AggregationPipelineImpl
- Issue 890: New constructor for DatastoreImpl to take DB object directly
- Issue 880: Support for $lookup operator in aggregation query
- Issue 879: add support for dateToString expression
- Issue 841: Support for GeoJSON aggregation query in GeoNear class.
- Issue 838: Adding multiple fields to set in aggregation
1.1.1
Version 1.1.1 (Jan 27, 2016)
Notes
Downloads
Below and on maven central.
Docs
https://rawgithub.com/wiki/mongodb/morphia/javadoc/1.1.1/index.html
Issues Resolved
BUG
1.1.0
Version 1.1.0 (Jan 14, 2016)
Notes
Downloads
Below and on maven central.
Docs
https://rawgithub.com/wiki/mongodb/morphia/javadoc/1.1.0/index.html
Issues Resolved
DOCS
- Issue 878: Update projection docs
- Issue 821: Update docs build to support multiple versions
- Issue 788: Indexing documentation
ENHANCEMENT
- Issue 878: Update projection docs
- Issue 861: Support for Hashed Indexes
- Issue 856: Move to validation-api 1.1
- Issue 850: Added support for mapping sub-packages.
- Issue 832: To add equal with Ignore Case on Query Criteria.
- Issue 821: Update docs build to support multiple versions
- Issue 820: Make MorphiaIterator and Query implement Closeable to utilize "try-with-resources" in Java 7
- Issue 814: Implement EntityCacheFactory #812
- Issue 812: Disable Entity Cache request
- Issue 807: Update style checks config with changes from mongo-java-driver
- Issue 806: Deprecate DefaultCreator.createInst()
- Issue 790: Issue 789
- Issue 789: Add an option for caching the results of Class.forName in DefaultCreator
- Issue 781: Update @indexed to use IndexOptions
- Issue 757: Mapping with reference fails when using more than one db (>= 0.110)
- Issue 614: Add support for sub-packages when using mapPackage
BUG
- Issue 869: Correct deserialization of collection and complex object valued empty…
- Issue 868: Fixed parameter not empty assertion for "reduce"
- Issue 860: Empty maps are deserialized as null
- Issue 851: Missing reference in collection should trigger LazyReferenceFetchingException
- Issue 846: FieldEnd.hasAnyOf() fails with exception on empty Iterable
- Issue 845: correct query validation exception messages fixes #844
- Issue 844: Incorrect validation exception messages in QueryValidator
- Issue 839: GeoNearBuilder.setNear() creates wrong near query (mixing up latitude & longutide)
- Issue 833: Upgrading Morphia fails with MappingException.
- Issue 831: Map<String,List can't save to mongodb
- Issue 830: Class Cast Exception mapping generics morphia 1.0.1 and 1.1.0-SNAPSHOT
- Issue 825: Morphia Entity with embedded BasicDBList fails on IterableConverter.decode
- Issue 819: Saving/finding Map with Date key (with not english locale)
- Issue 817: Add test + fix for reference problem
- Issue 816: @reference : NullPointerException
- Issue 803: Cannot map entities with generic arrays
- Issue 801: Datastore#save throws NPE if the entity returns hashCode that depends on @Version field
- Issue 791: @IndexOptions not defaulting properly like deprecated @Index when using ensureIndexes(Class clazz, boolean background) if background is true
- Issue 784: NullPointerException mapping class implementing an interface
- Issue 757: Mapping with reference fails when using more than one db (>= 0.110)
- Issue 734: @indexes on embedded classes does not use the parent field name as a prefix
UNCATEGORIZED
- Issue 848: Allow for multiple Datastores from one Mapper
- Issue 824: Mapper.toMongoObject() : For references, MappedField can be null if validation is disabled.
- Issue 822: indexing documentation
- Issue 793: Created a test based on the example of issue #755
BREAKING
1.1.0-alpha1
Version 1.1.0-alpha1 (Dec 10, 2015)
Notes
This release is primarily to provide artifacts for users try to test the fix for #757. The concept of the DatastoreProvider was intended, in part, to provide a separation between mapping and a database. (There's more to it if one goes back far enough but this the most common usage today.) In practice, this feature has never really worked for that use case. There was a fair degree of coupling between Mapper/MappedClass/MappedField and a Datastore which made reusing mappings between Datastores in an application effectively impossible. The proposed fix for #757 removes this coupling. It also obviates the concept of a DatastoreProvider. As such, the usage of DatastoreProvider has been removed. The API artifacts remain so that this is not a breaking change at compile time. It also should not be a runtime break since the expected behavior never actually worked but should now. This release, while not the final 1.1.0 release, is intended to flush out any incorrect assumptions or missed issues surrounding the fix. While there are a number of issues open against Morphia itself, please limit any feedback for this release to issues surrounding DatastoreProviders and cross-database sharing of mapping data.
Downloads
Below and on maven central.
Docs
https://rawgithub.com/wiki/mongodb/morphia/javadoc/1.1.0-alpha1/index.html