Releases: MorphiaOrg/morphia
Version 1.6.1
Version 1.6.1 (Nov 25, 2020)
Notes
Downloads
Binaries can be found on maven central.
Docs
Full documentation and javadoc can be found at https://github.com/MorphiaOrg/morphia and https://morphia.dev/morphia/1.6/javadoc/index.html.
2 Issues Resolved
BUG
- Issue #1461: HashMap<UUID, any> is not properly decoded
UNCATEGORIZED
- PR #1531: Bump mongo driver from 4.0.3 up to 4.1.1
Version 2.1.0
Version 2.1.0 (Nov 11, 2020)
Notes
Downloads
Binaries can be found on maven central.
Docs
Full documentation and javadoc can be found at https://github.com/MorphiaOrg/morphia and https://morphia.dev/2.1.0/javadoc/.
28 Issues Resolved
BREAKING
- Issue #1514: Remove unnecessary generics from mapping code
- Issue #1520: Allowing mapping of third party types creates a hole in validation
TASK
- Issue #1489: Remove final parameters from checkstyle
- Issue #1515: Merge/remove MappedClass/MappedField classes
AGGREGATION
- Issue #1471: Add $accumulator aggregation operator
- Issue #1472: Add $binarySize aggregation operator
- Issue #1473: Add $bsonSize aggregation operator
- Issue #1474: Add $function aggregation operator
- Issue #1475: Add $isNumber aggregation operator
- Issue #1476: Add $replaceAll aggregation operator
- Issue #1477: Add $replaceOne aggregation operator
- Issue #1478: Add new 4.4 aggregation expressions
- Issue #1492: Add support for $unionWith
BUG
- Issue #1464: datastore.save(List entities) cause no initial value on
@Version
field - Issue #1484: forward port #1483
- Issue #1487: @CappedAt should only set provided values
- Issue #1504: Migration to morphia 2.0.x break data retrieval because of timezone assumptions
- Issue #1506: Cascading Generics are not correctly mapped
- Issue #1514: Remove unnecessary generics from mapping code
- Issue #1520: Allowing mapping of third party types creates a hole in validation
- Issue #1524: Add a conversion to/from BigDecimal and String
- Issue #1528: Filters.eq().not() is not applying the negation (2.0.2)
DOCS
- Issue #1522: Document mapping external types
ENHANCEMENT
- Issue #1209: Add support for array filters for update
- Issue #1295: Add support for $jsonSchema
- Issue #1448: Allow instancing of classes with non-empty constructor
- Issue #1471: Add $accumulator aggregation operator
- Issue #1472: Add $binarySize aggregation operator
- Issue #1473: Add $bsonSize aggregation operator
- Issue #1474: Add $function aggregation operator
- Issue #1475: Add $isNumber aggregation operator
- Issue #1476: Add $replaceAll aggregation operator
- Issue #1477: Add $replaceOne aggregation operator
- Issue #1478: Add new 4.4 aggregation expressions
- Issue #1492: Add support for $unionWith
- Issue #1494: Allow for the discriminator key to refer to an existing field
- Issue #1496: Please Add Version Class to judge Morphia Version
- Issue #1507: Add option to enable polymorphic query results
- Issue #1515: Merge/remove MappedClass/MappedField classes
- Issue #1520: Allowing mapping of third party types creates a hole in validation
EXPERIMENTAL
- Issue #1520: Allowing mapping of third party types creates a hole in validation
- Issue #1522: Document mapping external types
KOTLIN
- Issue #1448: Allow instancing of classes with non-empty constructor
Version 2.0.2
Version 2.0.2 (Oct 16, 2020)
Notes
Downloads
Binaries can be found on maven central.
Docs
Full documentation and javadoc can be found at https://github.com/MorphiaOrg/morphia and https://morphia.dev/2.0.2/javadoc/.
1 Issues Resolved
BUG
- Issue #1508: Backport #1504
Version 2.0.1
Version 2.0.1 (Sep 17, 2020)
Notes
Downloads
Binaries can be found on maven central.
Docs
Full documentation and javadoc can be found at https://github.com/MorphiaOrg/morphia and https://morphia.dev/2.0.1/javadoc/.
4 Issues Resolved
BUG
- Issue #1468: Backport #1464
- Issue #1470: Backport #1467
- Issue #1483: Modify#execute() incorrectly overwriting the default value for the return scheme
- Issue #1485: Mapping does not work with generic types [Backport]
Version 2.0.0
Version 2.0.0 (Jul 06, 2020)
Notes
Downloads
Binaries can be found on maven central.
Docs
Full documentation and javadoc can be found at https://morphia.dev/2.0.0/ and https://morphia.dev/2.0.0/javadoc/.
114 Issues Resolved
BREAKING
- Issue #911: Aggregation pipeline elements improvements
- Issue #959: Add T merge(T entity) method
- Issue #1122: Remove org.mongodb.morphia.query.Query#order(java.lang.String)
- Issue #1230: FindAndModify Default Behaviour
- Issue #1275: remove QueryImpl#parseFieldsString from the public API
- Issue #1284: Remove MapReduce functionality
- Issue #1294: Remove support for snapshots and $isolate
- Issue #1298: Remove exists methods from Datastore
- Issue #1300: Rename methods
- Issue #1309: Deprecate Morphia's Geo wrappers in favor of the driver's
- Issue #1350: Drop MongoIterable from Query's parent types
- Issue #1351: Replace all uses of DBObject with Document and remove all exposures of these types from the API where possible
- Issue #1352: Remove morphia logging code and migrate to slf4j
- Issue #1396: Update discriminator key/value to new defaults
- Issue #1398: Remove the date storage configuration item
TASK
- Issue #1399: Add operation scraper
- Issue #1427: Pull remaining methods up from AdvancedDatastore
- Issue #1450: Add licence file in core jar
AGGREGATION
- Issue #911: Aggregation pipeline elements improvements
- Issue #976: add minDistance option to Aggregation Pipeline
- Issue #993: Add support for $graphLookup aggregation stage
- Issue #994: Add support for $sortByCount aggregation stage
- Issue #995: Add support for $facet aggregation stage
- Issue #996: Add support for $bucket aggregation stage
- Issue #997: Add support for $bucketAuto aggregation stage
- Issue #998: Add support for $count aggregation stage
- Issue #999: Add support for $addFields aggregation stage
- Issue #1000: Add support for $replaceRoot aggregation stage
- Issue #1003: Add options to $unwind
- Issue #1005: $stdDev aggregation operator for standard deviation
- Issue #1008: add support for $lookup stage
- Issue #1010: Boolean aggregation expressions
- Issue #1011: Aggregation set expressions
- Issue #1012: Comparison expressions
- Issue #1013: Aggregation arithmetic expressions
- Issue #1014: Aggregation String expressions
- Issue #1015: Aggregation text expressions
- Issue #1016: Aggregation array expressions
- Issue #1017: Aggregation variable expressions
- Issue #1018: Aggregation literal expressions
- Issue #1019: Aggregation date expressions
- Issue #1020: Aggregation conditional expressions
- Issue #1021: Aggregation accumulators
- Issue #1022: Aggregation pipeline stages
- PR #1228: #1008 Support for sub queries in $lookup
- Issue #1229: Add support for $expr
- Issue #1346: Hint an index for aggregation
- Issue #1428: migrate Aggregation.merge() and .out()
BUG
- Issue #204: Mapping Classes with generic super-class or super-interface [moved]
- Issue #552: Support embedded lists of a generic type parameter
- Issue #553: Generics mapping throws NPE
- Issue #921: Datastore.ensureIndexes() breaks morphia
- Issue #923: EnsureIndexes() fails when my Entity contains Embedded List<HashMap<K, V>>
- Issue #935: Morphia does not uses registered Codec
- Issue #1156: Mapping Arrays of @reference(idOnly = true)
- Issue #1230: FindAndModify Default Behaviour
- Issue #1293: Generic Entity
- Issue #1350: Drop MongoIterable from Query's parent types
- Issue #1408: How to do projections with version 2.0.0-ALPHA2?
- Issue #1412: Full text score not working with projection
- Issue #1419: Fix javadoc errors
- Issue #1424: Missing dev.morphia.morphia:util:pom:2.0.0-BETA1
- Issue #1430: ClassCastException when retrieving entities with date-time fields and a load lifecycle listener
- Issue #1447: Aggregation broken in 2.0.0-BETA2
- Issue #1451: Sorting on tail is not allowed
DOCS
- Issue #1196: Missing compatibility table with mongo-driver versions
- Issue #1266: Update all documentation urls
- Issue #1269: add an @internal taglet
- Issue #1397: Update documentation
- Issue #1415: Add filter deprecation guides to query2.0 branch
- Issue #1419: Fix javadoc errors
- Issue #1420: Audit all new API elements
- Issue #1450: Add licence file in core jar
ENHANCEMENT
- Issue #22: Add @polymorphic [moved]
- Issue #364: Polymorphic lazy reference [moved]
- Issue #439: make Datasource accessible in @EntityListeners [moved]
- Issue #581: Support full constructors
- Issue #677: Add support for global value naming convention
- Issue #721: add the possibility to set a custom className field
- Issue #735: Query.order(String) API design, to overwrite values set in previous calls, is flawed
- Issue #749: [enhancement] Support the new driver API
- Issue #911: Aggregation pipeline elements improvements
- Issue #959: Add T merge(T entity) method
- Issue #993: Add support for $graphLookup aggregation stage
- Issue #994: Add support for $sortByCount aggregation stage
- Issue #995: Add support for $facet aggregation stage
- [Issue #9...
Version 1.6.0
Version 1.6.0 (Jul 06, 2020)
Notes
This release is intended to be a used to verify that, absent any deprecations, upgrading 2.0 should just need to be a a drop in replacement. One caveat is that not all deprecations can have 1.x replacements and so some deprecation uses will have to wait until after the upgrade to 2.0 to replace.
Downloads
Binaries can be found on maven central.
Docs
Full documentation and javadoc can be found at https://morphia.dev/1.6.0/ and https://morphia.dev/1.6.0/javadoc/.
9 Issues Resolved
BREAKING
- Issue #1395: Add MapperOptions.legacy() and deprecate MapperOptions.builder()
TASK
- Issue #1410: Add licence file in core jar
BUG
- Issue #476: Memory Leak
- Issue #1400: Guice extension not being utilized for @Embedded objects
- Issue #1406: UpdateOperations.dec can change field type
- Issue #1461: HashMap<UUID, any> is not properly decoded
DOCS
- Issue #1410: Add licence file in core jar
ENHANCEMENT
- Issue #1395: Add MapperOptions.legacy() and deprecate MapperOptions.builder()
- Issue #1440: Consider a 1.6 release of the driver that is compatible with the 4.x Java driver
- Issue #1442: Audit "user facing" interfaces for any missing deprecations
Version 2.0.0-RC1
Version 2.0.0-RC1 (May 27, 2020)
Notes
Downloads
Binaries can be found on maven central.
Docs
Full documentation and javadoc can be found at https://github.com/MorphiaOrg/morphia and https://morphia.dev/2.0.0-SNAPSHOT/javadoc/.
113 Issues Resolved
BREAKING
- Issue #911: Aggregation pipeline elements improvements
- Issue #959: Add T merge(T entity) method
- Issue #1122: Remove org.mongodb.morphia.query.Query#order(java.lang.String)
- Issue #1230: FindAndModify Default Behaviour
- Issue #1275: remove QueryImpl#parseFieldsString from the public API
- Issue #1284: Remove MapReduce functionality
- Issue #1294: Remove support for snapshots and $isolate
- Issue #1298: Remove exists methods from Datastore
- Issue #1300: Rename methods
- Issue #1309: Deprecate Morphia's Geo wrappers in favor of the driver's
- Issue #1350: Drop MongoIterable from Query's parent types
- Issue #1351: Replace all uses of DBObject with Document and remove all exposures of these types from the API where possible
- Issue #1352: Remove morphia logging code and migrate to slf4j
- Issue #1396: Update discriminator key/value to new defaults
- Issue #1398: Remove the date storage configuration item
TASK
- Issue #1399: Add operation scraper
- Issue #1427: Pull remaining methods up from AdvancedDatastore
- Issue #1450: Add licence file in core jar
AGGREGATION
- Issue #911: Aggregation pipeline elements improvements
- Issue #976: add minDistance option to Aggregation Pipeline
- Issue #993: Add support for $graphLookup aggregation stage
- Issue #994: Add support for $sortByCount aggregation stage
- Issue #995: Add support for $facet aggregation stage
- Issue #996: Add support for $bucket aggregation stage
- Issue #997: Add support for $bucketAuto aggregation stage
- Issue #998: Add support for $count aggregation stage
- Issue #999: Add support for $addFields aggregation stage
- Issue #1000: Add support for $replaceRoot aggregation stage
- Issue #1003: Add options to $unwind
- Issue #1005: $stdDev aggregation operator for standard deviation
- Issue #1008: add support for $lookup stage
- Issue #1010: Boolean aggregation expressions
- Issue #1011: Aggregation set expressions
- Issue #1012: Comparison expressions
- Issue #1013: Aggregation arithmetic expressions
- Issue #1014: Aggregation String expressions
- Issue #1015: Aggregation text expressions
- Issue #1016: Aggregation array expressions
- Issue #1017: Aggregation variable expressions
- Issue #1018: Aggregation literal expressions
- Issue #1019: Aggregation date expressions
- Issue #1020: Aggregation conditional expressions
- Issue #1021: Aggregation accumulators
- Issue #1022: Aggregation pipeline stages
- PR #1228: #1008 Support for sub queries in $lookup
- Issue #1229: Add support for $expr
- Issue #1346: Hint an index for aggregation
- Issue #1428: migrate Aggregation.merge() and .out()
BUG
- Issue #204: Mapping Classes with generic super-class or super-interface [moved]
- Issue #552: Support embedded lists of a generic type parameter
- Issue #553: Generics mapping throws NPE
- Issue #921: Datastore.ensureIndexes() breaks morphia
- Issue #923: EnsureIndexes() fails when my Entity contains Embedded List<HashMap<K, V>>
- Issue #935: Morphia does not uses registered Codec
- Issue #1156: Mapping Arrays of @reference(idOnly = true)
- Issue #1230: FindAndModify Default Behaviour
- Issue #1293: Generic Entity
- Issue #1350: Drop MongoIterable from Query's parent types
- Issue #1408: How to do projections with version 2.0.0-ALPHA2?
- Issue #1412: Full text score not working with projection
- Issue #1419: Fix javadoc errors
- Issue #1424: Missing dev.morphia.morphia:util:pom:2.0.0-BETA1
- Issue #1430: ClassCastException when retrieving entities with date-time fields and a load lifecycle listener
- Issue #1447: Aggregation broken in 2.0.0-BETA2
DOCS
- Issue #1196: Missing compatibility table with mongo-driver versions
- Issue #1266: Update all documentation urls
- Issue #1269: add an @internal taglet
- Issue #1397: Update documentation
- Issue #1415: Add filter deprecation guides to query2.0 branch
- Issue #1419: Fix javadoc errors
- Issue #1420: Audit all new API elements
- Issue #1450: Add licence file in core jar
ENHANCEMENT
- Issue #22: Add @polymorphic [moved]
- Issue #364: Polymorphic lazy reference [moved]
- Issue #439: make Datasource accessible in @EntityListeners [moved]
- Issue #581: Support full constructors
- Issue #677: Add support for global value naming convention
- Issue #721: add the possibility to set a custom className field
- Issue #735: Query.order(String) API design, to overwrite values set in previous calls, is flawed
- Issue #749: [enhancement] Support the new driver API
- Issue #911: Aggregation pipeline elements improvements
- Issue #959: Add T merge(T entity) method
- Issue #993: Add support for $graphLookup aggregation stage
- Issue #994: Add support for $sortByCount aggregation stage
- Issue #995: Add support for $facet aggregation stage
- Issue #996: Add support for $buck...
Version 1.6.0-RC1
Version 1.6.0-RC1 (May 27, 2020)
Notes
This release serves two primary functions:
- A move to the 4.0 driver which necessitates a move to Java 8 as the minimum version
- Alignment of deprecations with the forthcoming 2.0 release. With this release focus is turning more fully to 2.0 development and so this release will serve, in part, as a pre-migration step. Removal of the deprecated methods used in projects will better prepare projects for ultimately moving to 2.0. Not all deprecations can be removed as some of the ultimate replacements aren't available yet, however.
Downloads
Binaries can be found on maven central.
Docs
Full documentation and javadoc can be found at https://github.com/MorphiaOrg/morphia and https://morphia.dev/1.5.8/javadoc/.
8 Issues Resolved
BREAKING
- Issue #1395: Add MapperOptions.legacy() and deprecate MapperOptions.builder()
TASK
- Issue #1410: Add licence file in core jar
BUG
- Issue #476: Memory Leak
- Issue #1400: Guice extension not being utilized for @Embedded objects
- Issue #1406: UpdateOperations.dec can change field type
DOCS
- Issue #1410: Add licence file in core jar
ENHANCEMENT
- Issue #1395: Add MapperOptions.legacy() and deprecate MapperOptions.builder()
- Issue #1440: Consider a 1.6 release of the driver that is compatible with the 4.x Java driver
- Issue #1442: Audit "user facing" interfaces for any missing deprecations
QUESTION
- Issue #1402: ReflectionUtils.readFromNestedJar throwing NPE
Version 2.0.0-ALPHA2
Version 2.0.0-ALPHA2 (Dec 04, 2019)
Notes
Downloads
Binaries can be found on maven central.
Docs
Full documentation and javadoc can be found at https://github.com/MorphiaOrg/morphia and https://morphia.dev/2.0/javadoc/.
56 Issues Resolved
BREAKING
- Issue #959: Add T merge(T entity) method
- Issue #1122: Remove org.mongodb.morphia.query.Query#order(java.lang.String)
- Issue #1230: FindAndModify Default Behaviour
- Issue #1275: remove QueryImpl#parseFieldsString from the public API
- Issue #1284: Remove MapReduce functionality
- Issue #1294: Remove support for snapshots and $isolate
- Issue #1298: Remove exists methods from Datastore
- Issue #1300: Rename methods
- Issue #1350: Drop MongoIterable from Query's parent types
- Issue #1351: Replace all uses of DBObject with Document and remove all exposures of these types from the API where possible
- Issue #1352: Remove morphia logging code and migrate to slf4j
- Issue #1396: Update discriminator key/value to new defaults
- Issue #1398: Remove the date storage configuration item
BUG
- Issue #204: Mapping Classes with generic super-class or super-interface [moved]
- Issue #552: Support embedded lists of a generic type parameter
- Issue #553: Generics mapping throws NPE
- Issue #921: Datastore.ensureIndexes() breaks morphia
- Issue #923: EnsureIndexes() fails when my Entity contains Embedded List<HashMap<K, V>>
- Issue #935: Morphia does not uses registered Codec
- Issue #1156: Mapping Arrays of @reference(idOnly = true)
- Issue #1230: FindAndModify Default Behaviour
- Issue #1293: Generic Entity
- Issue #1350: Drop MongoIterable from Query's parent types
DOCS
- Issue #1266: Update all documentation urls
- Issue #1269: add an @internal taglet
ENHANCEMENT
- Issue #22: Add @polymorphic [moved]
- Issue #364: Polymorphic lazy reference [moved]
- Issue #439: make Datasource accessible in @EntityListeners [moved]
- Issue #581: Support full constructors
- Issue #677: Add support for global value naming convention
- Issue #721: add the possibility to set a custom className field
- Issue #735: Query.order(String) API design, to overwrite values set in previous calls, is flawed
- Issue #749: [enhancement] Support the new driver API
- Issue #959: Add T merge(T entity) method
- Issue #1121: Remove deprecated elements
- Issue #1122: Remove org.mongodb.morphia.query.Query#order(java.lang.String)
- Issue #1141: Remove EntityScanner
- Issue #1143: Remove methods exposing MorphiaIterator and MorphiaKeyIterator
- Issue #1256: Multi Document transaction support with Morphia
- Issue #1269: add an @internal taglet
- Issue #1272: Upgrade minimum JVM version to 11
- Issue #1275: remove QueryImpl#parseFieldsString from the public API
- Issue #1284: Remove MapReduce functionality
- Issue #1294: Remove support for snapshots and $isolate
- Issue #1298: Remove exists methods from Datastore
- Issue #1299: Deprecate getCount() methods in favor of Query.count()
- Issue #1300: Rename methods
- Issue #1301: explore replacements for com.mongodb.client.model.FindOptions
- Issue #1302: Add deprecated placeholders for old methods on *Datastore and Query
- Issue #1319: Please update to recent mongodb driver MongoClient interface
- Issue #1351: Replace all uses of DBObject with Document and remove all exposures of these types from the API where possible
- Issue #1352: Remove morphia logging code and migrate to slf4j
- Issue #1353: Update to use Codecs instead of current mapping code
- Issue #1354: Use MongoCollection rather than DBCollection
- Issue #1355: Add remove() to Query
- Issue #1356: Add update() to Query
- Issue #1359: add modify() to Query
- Issue #1360: add delete() to Query
- Issue #1364: Options classes should subclass the driver options classes
- Issue #1366: Replace ReflectionUtils
- Issue #1368: Override getCollectionName() is a must for some use cases
- Issue #1369: Map ID from Superclass
- Issue #1372: Delete @serialized and remove support
- Issue #1374: Remove @presave
- Issue #1377: Remove @notsaved
- Issue #1379: Drop returning instances/lists of Keys
- Issue #1390: Remove support for CodeWScope
- Issue #1393: Move getCollection(Class) implementation from Mapper to Datastore
- Issue #1396: Update discriminator key/value to new defaults
- Issue #1398: Remove the date storage configuration item
EXPERIMENTAL
- Issue #581: Support full constructors
Release 1.5.8
Version 1.5.8 (Oct 31, 2019)
Notes
Downloads
Binaries can be found on maven central.
Docs
Full documentation and javadoc can be found at https://github.com/MorphiaOrg/morphia and https://morphia.dev/1.5/javadoc/.
3 Issues Resolved
BUG
- Issue #1172: EmbeddedMapper bug
ENHANCEMENT
- Issue #175: Support parameterized classes in fields [moved]
- PR #1394: Add classLoader to mapper options builder