Skip to content

Releases: MorphiaOrg/morphia

Version 2.3.3

31 May 15:36
Compare
Choose a tag to compare

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

31 May 15:35
Compare
Choose a tag to compare

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

01 Jun 01:55
Compare
Choose a tag to compare

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

  • #2341: #2340 testcontainers dependency should not be leaked to the library users
  • #2203: Flesh out the documentation for the core lifecycle annotations

Version 2.3.0

06 Dec 06:56
Compare
Choose a tag to compare

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

  • #2146: $pull and $unset use the unmapped values
  • #2147: Forward port #2140

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

  • #1995: Document the sharding support
  • #2075: Update the website
  • #2152: Document upgrade process

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...
Read more

Version 2.2.10

03 Dec 03:51
Compare
Choose a tag to compare

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

03 Dec 03:52
Compare
Choose a tag to compare

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

24 Aug 00:13
Compare
Choose a tag to compare

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

  • #2001: Backport 1932 (setOnInsert doesn't honor @Property annotations)

Version 2.2.7

19 May 13:17
Compare
Choose a tag to compare

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

23 Mar 04:04
Compare
Choose a tag to compare

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

08 Mar 03:39
Compare
Choose a tag to compare

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.