Skip to content

Releases: Automattic/mongoose

8.8.1

08 Nov 18:34
Compare
Choose a tag to compare

8.8.1 / 2024-11-08

  • perf: make a few micro-optimizations to help speed up findOne() #15022 #14906
  • fix: apply embedded discriminators to subdoc schemas before compiling top level model so middleware applies correctly #15001 #14961
  • fix(query): add overwriteImmutable option to allow updating immutable properties without disabling strict mode #15000 #8619

8.8.0

31 Oct 14:20
Compare
Choose a tag to compare

8.8.0 / 2024-10-31

  • feat: upgrade mongodb -> ~6.10 #14991 #14877
  • feat(query): add schemaLevelProjections option to query to disable schema-level select: false #14986 #11474
  • feat: allow defining virtuals on arrays, not just array elements #14955 #2326
  • feat(model): add applyTimestamps() function to apply all schema timestamps, including subdocuments, to a given POJO #14943 #14698
  • feat(model): add hideIndexes option to syncIndexes() and cleanIndexes() #14987 #14868
  • fix(query): make sanitizeFilter disable implicit $in #14985 #14657
  • fix(model): avoid unhandled error if createIndex() throws a sync error #14995
  • fix(model): avoid throwing TypeError if bulkSave()'s bulkWrite() fails with a non-BulkWriteError #14993
  • types: added toJSON:flattenObjectIds effect #14989
  • types: add __v to lean() result type and ModifyResult #14990 #12959
  • types: use globalThis instead of global for NativeDate #14992 #14988
  • docs(change-streams): fix markdown syntax highlighting for script output example #14994

8.7.3

25 Oct 17:48
Compare
Choose a tag to compare

8.7.3 / 2024-10-25

  • fix(cursor): close underlying query cursor when calling destroy() #14982 #14966
  • types: add JSONSerialized helper that can convert HydratedDocument to JSON output type #14981 #14451
  • types(model): convert InsertManyResult to interface and remove unnecessary insertedIds override #14977
  • types(connection): add missing sanitizeFilter option #14975
  • types: improve goto definition for inferred schema definitions #14968 forivall
  • docs(migration-guide-v7): correct link to the section "Id Setter" #14973 rb-ntnx

8.7.2

17 Oct 18:41
Compare
Choose a tag to compare

8.7.2 / 2024-10-17

  • fix(document): recursively clear modified subpaths when setting deeply nested subdoc to null #14963 #14952
  • fix(populate): handle array of ids with parent refPath #14965
  • types: make Buffers into mongodb.Binary in lean result type to match runtime behavior #14967
  • types: correct schema type inference when using nested typeKey like type: { type: String } #14956 #14950
  • types: re-export DeleteResult and UpdateResult from MongoDB Node.js driver #14947 #14946
  • docs(documents): add section on setting deeply nested properties, including warning about nullish coalescing assignment #14972
  • docs(model): add more info on acknowledged: false, specifically that Mongoose may return that if the update was empty #14957

8.7.1

09 Oct 16:07
Compare
Choose a tag to compare

8.7.1 / 2024-10-09

  • fix: set flattenObjectIds to false when calling toObject() for internal purposes #14938
  • fix: add mongodb 8 to test matrix #14937
  • fix: handle buffers stored in MongoDB as EJSON representation with { $binary } #14932
  • docs: indicate that Mongoose 8.7 is required for full MongoDB 8 support #14937

8.7.0

27 Sep 14:57
Compare
Choose a tag to compare

8.7.0 / 2024-09-27

  • feat(model): add Model.applyVirtuals() to apply virtuals to a POJO #14905 #14818
  • feat: upgrade mongodb -> 6.9.0 #14914
  • feat(query): cast $rename to string #14887 #3027
  • feat(SchemaType): add getEmbeddedSchemaType() method to SchemaTypes #14880 #8389
  • fix(model): throw MongooseBulkSaveIncompleteError if bulkSave() didn't completely succeed #14884 #14763
  • fix(connection): avoid returning readyState = connected if connection state is stale #14812 #14727
  • fix: depopulate if push() or addToSet() with an ObjectId on a populated array #14883 #1635
  • types: make __v a number, only set __v on top-level documents #14892

8.6.4

26 Sep 17:36
Compare
Choose a tag to compare

8.6.4 / 2024-09-26

  • fix(document): avoid massive perf degradation when saving new doc with 10 level deep subdocs #14910 #14897
  • fix(model): skip applying static hooks by default if static name conflicts with aggregate middleware #14904 dragontaek-lee
  • fix(model): filter applying static hooks by default if static name conflicts with mongoose middleware #14908 dragontaek-lee

8.6.3

17 Sep 20:31
Compare
Choose a tag to compare

8.6.3 / 2024-09-17

  • fix: make getters convert uuid to string when calling toObject() and toJSON() #14890 #14869
  • fix: fix missing Aggregate re-exports for ESM #14886 wongsean
  • types(document): add generic param to depopulate() to allow updating properties #14891 #14876

8.6.2

11 Sep 18:59
Compare
Choose a tag to compare

8.6.2 / 2024-09-11

8.6.1

03 Sep 16:16
Compare
Choose a tag to compare

8.6.1 / 2024-09-03

  • fix(document): avoid unnecessary clone() in applyGetters() that was preventing getters from running on 3-level deep subdocuments #14844 #14840 #14835
  • fix(model): throw error if bulkSave() did not insert or update any documents #14837 #14763
  • fix(cursor): throw error in ChangeStream constructor if changeStreamThunk() throws a sync error #14846
  • types(query): add $expr to RootQuerySelector #14845
  • docs: update populate.md to fix missing match: { } #14847 makhoulshbeeb