Releases: MorphiaOrg/morphia
Version 2.3.3
Version 2.3.3 (2023-05-31)
Notes
Downloads
Binaries can be found on maven central.
Documentation
Full documentation can be found at https://morphia.dev/morphia/2.3. Javadoc can be found at https://morphia.dev/morphia/2.3/javadoc.
2 Issues Resolved
BACKPORT
- #2394: Path validation against maps doesn't stop early enough
BUG
- #2394: Path validation against maps doesn't stop early enough
Version 2.3.2
Version 2.3.2 (2023-05-02)
Notes
Downloads
Binaries can be found on maven central.
Documentation
Full documentation can be found at https://morphia.dev/morphia/2.3. Javadoc can be found at https://morphia.dev/morphia/2.3/javadoc.
2 Issues Resolved
BACKPORT
- #2359: MANIFEST.MF missing ImplementationVersion
BUG
- #2359: MANIFEST.MF missing ImplementationVersion
Version 2.3.1
Version 2.3.1 (2023-04-18)
Notes
Downloads
Binaries can be found on maven central.
Documentation
Full documentation can be found at https://morphia.dev/morphia/2.3. Javadoc can be found at https://morphia.dev/morphia/2.3/javadoc.
13 Issues Resolved
BACKPORT
- #2234: dev.morphia.mapping.codec.Conversions is not thread safe
BUG
- #2174: Queries themselves should refuse to execute once query validation fails
- #2197: EntityModel exception of ArrayIndexOUtOfBounds for polymorphic types with generics
- #2200: Embedded entity with mixup of strings and long for the same attribute works till 2.2.X but not upon 2.3.X
- #2201: Missing @nullable on the value in Filters.eq
- #2223: Crash in 'Datastore.merge' together with 'unsetMissing' when setting arrays containing null element
- #2229: Setting Query.disableValidation() does not affect update operations
- #2234: dev.morphia.mapping.codec.Conversions is not thread safe
- #2329: Filters.where(javascriptExpr) should not validate the js expression
- #2330: Filter for and set null values
- #2340: Test containers dependency should not be leaked to the library users
ENHANCEMENT
- #2198: Morphia 1.3.2 allowed UpdateOperation.disableValidation(), but that seem to be missing in 2.3.0
- #2225: When saving a new document, @id is filled in before @PrePersist is called
2 Pull Requests merged
Version 2.3.0
Version 2.3.0 (2022-12-06)
Notes
This release is long overdue and thus a bit of a large one. This release does have a breaking change around a package rename. Please see the migration guide for details and mitigation options. This release is also notable in that it's the last planned release in the 2.x line apart from bug/patch releases. This plan is subject to change but the current plan is to focus on 3.0 which will see the clean up of all the deprecated API elements among other larger plans.
Downloads
Binaries can be found on maven central.
Documentation
Full documentation can be found at https://morphia.dev/morphia/2.3. Javadoc can be found at https://morphia.dev/morphia/2.3/javadoc.
142 Issues Resolved
BREAKING
- #1654: Move to driver 4.3.x
- #1859: Promote the aggregation API out of experimental
- #1863: Promote transactional code out of experimental status
- #1865: Promote the Query/Filter types out of experimental
- #1866: Promote experimental annotations out of experimental
TASK
- #1633: Add Java 16 as a test target
- #2057: Steal quarkus's code formatting setup
- #2059: Fix the test logging
- #2075: Update the website
AGGREGATION
- #1634: Updates with aggregation pipeline
- #1709: Regression when Querying by reference in
$match
stages - #1738: Implement $setWindowFields
- #1739: Implement $covariancePop
- #1740: Implement $covarianceSamp
- #1741: Implement $dateAdd
- #1742: Implement $dateDiff
- #1743: Implement $dateSubtract
- #1744: Implement $dateTrunc
- #1745: Implement $denseRank
- #1746: Implement $derivative
- #1747: Implement $documentNumber
- #1748: Implement $expMovingAvg
- #1749: Implement $getField
- #1751: Implement $integral
- #1752: Implement $rank
- #1753: Implement $setField
- #1754: Implement $shift
- #1770: Implement $unsetField
- #1771: Add new Aggreggation#set(Set) method
- #1807: Add the optional database name to $out
- #1956: Implement $densify
- #1957: Implement $documents
- #1958: Implement $fill
- #1960: Implement $bottom
- #1961: Implement $bottomN
- #1962: Implement $firstN
- #1963: Implement $lastN
- #1964: Implement $linearFill
- #1965: Implement $locf
- #1966: Implement $maxN
- #1967: Implement $minN
- #1968: Implement $sortArray
- #1969: Implement $top
- #1970: Implement $topN
- #1971: Implement $tsIncrement
- #1972: Implement $tsSecond
- #1993: Implement $changeStream
- #2121: Add alternate collection support to AggregationOptions
BACKPORT
BUG
- #1631: Forward port #1630
- #1644: Forward Port #1643 : Lazy loading breaks when the ID field is located in a super-class
- #1649: Forward Port: Regression when querying by reference in 2.2
- #1650: Forward Port: It seems Date types and lifecycles do not play along well
- #1659: Forward Port: Exception on Datastore.insert with versioned objects
- #1709: Regression when Querying by reference in
$match
stages - #1720: Lazy intialization in EntityModel.getLifecycleMethods can create ConcurrentModificationExceptions
- #1816: Forward port #1810: Cache generated proxy classes
- #1841: Multiple similar filters can lose the existing filter
- #1869: Codec set on MongoClient is overridden by DataStoreImpl
- #1877: Forward port #1868
- #1880: Forward port #1839
- #1932: setOnInsert() doesn't deduce @Property annotations
- #2012: ReferenceException when trying to persist a reference list with duplicated entries
- #2085: setOnInsert() does not honor @reference annotations
- #2114: Field shadowing breaks mapping
- #2146: $pull and $unset use the unmapped values
- #2147: Forward port #2140
DOCS
ENHANCEMENT
- #1421: Support insert() and replace() operations in addition to save()
- #1615: Explore mixins for mapping external types
- #1634: Updates with aggregation pipeline
- #1638: @collation can infer locale from system default
- #1640: Enhance creators to be smarter about constructor discovery
- #1654: Move to driver 4.3.x
- #1655: Resuscitate the validation extension
- #1656: Move getLoggedQuery() to Query
- #1738: Implement $setWindowFields
- #1739: Implement $covariancePop
- #1740: Implement $covarianceSamp
- #1741: Implement $dateAdd
- #1742: Implement $dateDiff
- #1743: Implement $dateSubtract
- #1744: Implement $dateTrunc
- #1745: Implement $denseRank
- #1746: Implement $derivative
- #1747: Implement $documentNumber
- #1748: Implement $expMovingAvg
- #1749: Implement $getField
- #1751: Impl...
Version 2.2.10
Version 2.2.10 (2022-11-22)
Notes
Downloads
Binaries can be found on maven central.
Documentation
Full documentation can be found at https://morphia.dev/morphia/2.2. Javadoc can be found at https://morphia.dev/morphia/2.2/javadoc.
8 Issues Resolved
BREAKING
- #2124: slf4j-api version change from 1.7.x to 2.0.x between morphia 2.2.8 and 2.2.9 is a breaking change
TASK
- #2058: Steal quarkus's code formatting setup
BACKPORT
- #2058: Steal quarkus's code formatting setup
- #2123: setOnInsert() does not honor @reference annotations
BUG
- #2123: setOnInsert() does not honor @reference annotations
- #2124: slf4j-api version change from 1.7.x to 2.0.x between morphia 2.2.8 and 2.2.9 is a breaking change
- #2140: ArrayIndexOutOfBoundsException from MorphiaQuery.iterator and DatastoreImpl.save
- #2145: Problem applying $unset and $pull operations on nested entities
Version 2.2.9
Version 2.2.9 (2022-09-14)
Notes
Downloads
Binaries can be found on maven central.
Documentation
Full documentation can be found at https://morphia.dev/morphia/2.2. Javadoc can be found at https://morphia.dev/morphia/2.2/javadoc.
3 Issues Resolved
TASK
- #2060: Fix the test logging
BACKPORT
- #2060: Fix the test logging
BUG
- #2013: ReferenceException when trying to persist a reference list with duplicated entries
Version 2.2.8
Version 2.2.8 (2022-08-24)
Notes
Downloads
Binaries can be found on maven central.
Documentation
Full documentation can be found at https://morphia.dev/morphia/2.2. Javadoc can be found at https://morphia.dev/morphia/2.2/javadoc.
1 Issues Resolved
BUG
Version 2.2.7
Version 2.2.7 (2022-05-18)
Notes
Downloads
Binaries can be found on maven central.
Documentation
Full documentation can be found at https://morphia.dev/morphia/2.2. Javadoc can be found at https://morphia.dev/morphia/2.2/javadoc.
7 Issues Resolved
BUG
- #1811: NPE while trying to save entity having reference (lazy, idOnly, ignoreMissing) to no-longer-existing entity
- #1830: Query#modify() documentation is not entirely correct
- #1839: UpdateOperators.unset() isn't working in Release version 2.2.3
- #1853: Can't find a codec for class dev.morphia.mapping.codec.writer.NameState (v 2.2.5)
- #1858: Unsafe allocation creator is inadvertently cached
- #1868: Batch insert using .save(List entities) performance issue
- #1876: Entity's list has the same objects multiple times
Version 2.2.6
Version 2.2.6 (2022-03-23)
Notes
Downloads
Binaries can be found on maven central.
Documentation
Full documentation can be found at https://morphia.dev/morphia/2.2. Javadoc can be found at https://morphia.dev/morphia/2.2/javadoc.
1 Issues Resolved
BUG
- #1855: The field '$and' must be an accumulator object
Version 2.2.5
Version 2.2.5 (2022-03-08)
Notes
This is purely a pom fix to address issues with the new release process. There are no code changes from 2.2.4.
Downloads
Binaries can be found on maven central.
Documentation
Full documentation can be found at https://morphia.dev/morphia/2.2. Javadoc can be found at https://morphia.dev/morphia/2.2/javadoc.