Skip to content

Releases: Automattic/mongoose

8.5.3

14 Aug 09:39
Compare
Choose a tag to compare

8.5.3 / 2024-08-13

  • fix(document): call required functions on subdocuments underneath nested paths with correct context #14801 #14788
  • fix(populate): avoid throwing error when no result and lean() set #14799 #14794 #14759 MohOraby
  • fix(document): apply virtuals to subdocuments if parent schema has virtuals: true for backwards compatibility #14774 #14771 #14623 #14394
  • types: make HydratedSingleSubdocument and HydratedArraySubdocument merge types instead of using & #14800 #14793
  • types: support schema type inference based on schema options timestamps as well #14773 #13215 ark23CIS
  • types(cursor): indicate that cursor.next() can return null #14798 #14787
  • types: allow mongoose.connection.db to be undefined #14797 #14789
  • docs: add schema type widening advice #14790 JstnMcBrd

8.5.2

30 Jul 18:18
Compare
Choose a tag to compare

8.5.2 / 2024-07-30

  • perf(clone): avoid further unnecessary checks if cloning a primitive value #14762 #14394
  • fix: allow setting document array default to null #14769 #14717 #6691
  • fix(model): support session: null option for save() to opt out of automatic session option with transactionAsyncLocalStorage #14744 #14736
  • fix(model+document): avoid depopulating manually populated doc as getter value #14760 #14759
  • fix: correct shardkey access in buildBulkWriteOps #14753 #14752 adf0nt3s
  • fix(query): handle casting $switch in $expr #14755 #14751
  • types: allow calling SchemaType.cast() without parent and init parameters #14756 #14748 #9076
  • docs: fix a wrong example in v6 migration guide #14758 abdelrahman-elkady

8.5.1

12 Jul 19:27
Compare
Choose a tag to compare

8.5.1 / 2024-07-12

  • perf(model): performance improvements for insertMany() #14724
  • fix(model): avoid leaving subdoc defaults on top-level doc when setting subdocument to same value #14728 #14722
  • fix(model): handle transactionAsyncLocalStorage option with insertMany() #14743
  • types: make _id required on Document type #14735 #14660
  • types: fix ChangeStream.close to return a Promise like the driver #14740 orgads

8.5.0

08 Jul 20:54
Compare
Choose a tag to compare

8.5.0 / 2024-07-08

  • perf: memoize toJSON / toObject default options #14672
  • feat(document): add $createModifiedPathsSnapshot(), $restoreModifiedPathsSnapshot(), $clearModifiedPaths() #14699 #14268
  • feat(query): make sanitizeProjection prevent projecting in paths deselected in the schema #14691
  • feat: allow setting array default value to null #14717 #6691
  • feat(mongoose): allow drivers to set global plugins #14682
  • feat(connection): bubble up monitorCommands events to Mongoose connection if monitorCommands option set #14681 #14611
  • fix(document): ensure post('deleteOne') hooks are called when calling save() after subdoc.deleteOne() #14732 #9885
  • fix(query): remove count() and findOneAndRemove() from query chaining #14692 #14689
  • fix: remove default connection if setting createInitialConnection to false after Mongoose instance created #14679 #8302
  • types(models+query): infer return type from schema for 1-level deep nested paths #14632
  • types(connection): make transaction() return type match the executor function #14661 #14656
  • docs: fix docs links in index.md mirasayon

8.4.5

05 Jul 17:45
Compare
Choose a tag to compare

8.4.5 / 2024-07-05

  • types: correct this for validate.validator schematype option #14720 #14696
  • docs(model): note that insertMany() with lean skips applying defaults #14723 #14698

8.4.4

25 Jun 20:54
Compare
Choose a tag to compare

8.4.4 / 2024-06-25

  • perf: avoid unnecesary get() call and use faster approach for converting to string #14673 #14394
  • fix(projection): handle projections on arrays in Model.hydrate() projection option #14686 #14680
  • fix(document): avoid passing validateModifiedOnly to subdocs so subdocs get fully validating if they're directly modified #14685 #14677
  • fix: handle casting primitive array with $elemMatch in bulkWrite() #14687 #14678
  • fix(query): cast $pull using embedded discriminator schema when discriminator key is set in filter #14676 #14675
  • types(connection): fix return type of withSession() #14690 tt-public
  • types: add $documents pipeline stage and fix $unionWith type #14666 nick-statsig
  • docs(findoneandupdate): improve example that shows findOneAndUpdate() returning doc before updates were applied #14671 #14670

8.4.3

17 Jun 21:59
Compare
Choose a tag to compare

8.4.3 / 2024-06-17

  • fix: remove 0x flamegraph files from release

8.4.2

17 Jun 21:50
Compare
Choose a tag to compare

8.4.2 / 2024-06-17

  • perf: more toObject() perf improvements #14623 #14606 #14394
  • fix(model): check the value of overwriteModels in options when calling discriminator() #14646 uditha-g
  • fix: avoid throwing TypeError when deleting an null entry on a populated Map #14654 futurliberta
  • fix(connection): fix up some inconsistencies in operation-end event and add to docs #14659 #14648
  • types: avoid inferring Boolean, Buffer, ObjectId as Date in schema definitions under certain circumstances #14667 #14630
  • docs: add note about parallelism in transations #14647 fiws

8.4.1

31 May 15:30
Compare
Choose a tag to compare

8.4.1 / 2024-05-31

  • fix: pass options to clone instead of get in applyVirtuals #14606 #14543 andrews05
  • fix(document): fire pre validate hooks on 5 level deep single nested subdoc when modifying after save() #14604 #14591
  • fix: ensure buildBulkWriteOperations target shard if shardKey is set #14622 #14621 matlpriceshape
  • types: pass DocType down to subdocuments so HydratedSingleSubdocument and HydratedArraySubdocument toObject() returns correct type #14612 #14601

8.4.0

17 May 11:07
Compare
Choose a tag to compare

8.4.0 / 2024-05-17

  • feat: upgrade mongodb -> 6.6.2 #14584
  • feat: add transactionAsyncLocalStorage option to opt in to automatically setting session on all transactions #14583 #13889
  • feat: handle initially null driver when instantiating Mongoose for Rollup support #14577 #12335
  • feat(mongoose): export omitUndefined() helper #14582 #14569
  • feat: add Model.listSearchIndexes() #14519 #14450
  • feat(connection): add listDatabases() function #14506 #9048
  • feat(schema): add schema-level readConcern option to apply default readConcern for all queries #14579 #14511
  • fix(error): remove model property from CastError to avoid printing all model properties to console #14568 #14529
  • fix(model): make bulkWrite() and insertMany() throw if throwOnValidationError set and all ops invalid #14587 #14572
  • fix(document): ensure transform function passed to toObject() options applies to subdocs #14600 #14589
  • types: add inferRawDocType helper #13900 #13772
  • types(document): make document _id type default to unknown instead of any #14541