Skip to content

Releases: Automattic/mongoose

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

8.6.0

28 Aug 18:43
Compare
Choose a tag to compare

8.6.0 / 2024-08-28

  • feat: upgrade mongodb -> 6.8.0, handle throwing error on closed cursor in Mongoose with MongooseError instead of MongoCursorExhaustedError #14813
  • feat(model+query): support options parameter for distinct() #14772 #8006
  • feat(QueryCursor): add getDriverCursor() function that returns the raw driver cursor #14745
  • types: change query selector to disallow unknown top-level keys by default #14764 alex-statsig
  • types: make toObject() and toJSON() not generic by default to avoid type widening #14819 #12883
  • types: avoid automatically inferring lean result type when assigning to explicitly typed variable #14734

8.5.5

28 Aug 17:08
Compare
Choose a tag to compare

8.5.5 / 2024-08-28

  • fix(populate): fix a couple of other places where Mongoose gets the document's _id with getters #14833 #14827 #14759
  • fix(discriminator): shallow clone Schema.prototype.obj before merging schemas to avoid modifying original obj #14821
  • types: fix schema type based on timestamps schema options value #14829 #14825 ark23CIS

8.5.4

23 Aug 17:46
Compare
Choose a tag to compare

8.5.4 / 2024-08-23

  • fix: add empty string check for collection name passed #14806 Shubham2552
  • docs(model): add 'throw' as valid strict value for bulkWrite() and add some more clarification on throwOnValidationError #14809