Skip to content

Version 2.2.0

Compare
Choose a tag to compare
@evanchooly evanchooly released this 25 May 14:11
· 1949 commits to master since this release

Version 2.2.0 (2021-05-25)

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.

52 Issues Resolved

BREAKING

  • #1601: Remove MorphiaInstanceCreator field from MapperOptions

TASK

  • #1536: Migrate public CI to github actions

AGGREGATION

  • #974: Aggregation Pipeline Can Not Map To Equivalent Class
  • #1540: Add $sampleRate aggregation filter
  • #1565: add support for $rand
  • #1566: add $cosh, $sinh, and $tanh aggregation operators

BUG

  • #865: Kotlin: Mapping exception when a field is delegated as NotNull
  • #1541: External Mapping is broken
  • #1546: Forward port #1545 (Impossible to add life cycle methods to entities having UUID fields)
  • #1547: Forward port #1537 (Update pull does nothing)
  • #1549: Expected @reference format in database
  • #1551: Forward port #1500 (Reference Error)
  • #1552: Forward port #1548 (Could not load ByteArray)
  • #1573: Forward port #1568 (Null value handling is broken with lifecycle events)
  • #1574: Forward port #1571 (Wildcard generics can cause crashes in certain scenarios)
  • #1575: Forward port #1569 (Unset fails on deleted references)
  • #1581: Classloader from MapperOptions is not respected in DiscriminatorLookup
  • #1586: Wrong deserialization of polymorphic entities with lifecycle
  • #1590: Forward port #1557: byte[] saved format changed
  • #1601: Remove MorphiaInstanceCreator field from MapperOptions
  • #1604: Forward port #1599
  • #1605: MorphiaCursor shouldn't be in the internal package

DOCS

  • #1529: new docs framework
  • #1578: morphia.dev website is unusable on mobile devices
  • #1595: In 2.x can not use project(field, true) on Query
  • #1600: Update references documentation to cover the annotations, too
  • #1605: MorphiaCursor shouldn't be in the internal package

ENHANCEMENT

  • #611: Field annotations should also support method annotations
  • #982: DatastoreImpl:tryVersionedUpdate should more descriptive than just ConcurrentModificationException
  • #1155: Add nullable annotation for Kotlin
  • #1189: Stream support
  • #1511: Support getters/setters
  • #1526: Loosen ID constraint on @entity
  • #1530: Break out lifecycle management to separate codecs
  • #1540: Add $sampleRate aggregation filter
  • #1542: synchronize Morphia *Options classes with the new fields on the driver's *Options types
  • #1565: add support for $rand
  • #1566: add $cosh, $sinh, and $tanh aggregation operators
  • #1579: Saving an existing document should unset null fieds in the database.
  • #1585: Add UpdateOperations min/max support with Date or Instant values
  • #1593: Make use of FindIterable.explain() now that it's there
  • #1594: Upgrade driver dep to 4.2.0
  • #1606: aggregation: support lookup with pipeline
  • #1620: Provide static import friendly names for aggregation stages
  • #1621: How to build a list of updates?

KOTLIN

  • #865: Kotlin: Mapping exception when a field is delegated as NotNull
  • #1155: Add nullable annotation for Kotlin

MIGRATION

  • #611: Field annotations should also support method annotations
  • #982: DatastoreImpl:tryVersionedUpdate should more descriptive than just ConcurrentModificationException
  • #1511: Support getters/setters
  • #1594: Upgrade driver dep to 4.2.0

QUESTION

  • #1621: How to build a list of updates?

3 Pull Requests merged

  • #1607: core: add lookup with pipeline
  • #1587: #1586 deserialization of polymorphic entities with lifecycle
  • #1582: #1581 respect MapperOptions classloader