cerbos / query-plan-adapters

Repo of adapters converting a Cerbos Query Plan to a data fetching layer
Apache License 2.0
15 stars 9 forks source link

fix(deps): update all non-major dependencies #50

Closed renovate[bot] closed 8 months ago

renovate[bot] commented 9 months ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@cerbos/core (source) ^0.13.0 -> ^0.14.0 age adoption passing confidence
@cerbos/grpc (source) ^0.13.0 -> ^0.14.0 age adoption passing confidence
@prisma/client (source) 5.3.1 -> 5.4.2 age adoption passing confidence
@types/jest (source) 29.5.4 -> 29.5.5 age adoption passing confidence
@types/node (source) 18.17.16 -> 18.18.4 age adoption passing confidence
mongoose (source) 7.5.1 -> 7.6.1 age adoption passing confidence
prisma (source) 5.3.1 -> 5.4.2 age adoption passing confidence

Release Notes

cerbos/cerbos-sdk-javascript (@​cerbos/core) ### [`v0.14.0`](https://togithub.com/cerbos/cerbos-sdk-javascript/blob/HEAD/packages/core/CHANGELOG.md#0140---2023-10-02) [Compare Source](https://togithub.com/cerbos/cerbos-sdk-javascript/compare/@cerbos/core@0.13.0...@cerbos/core@0.14.0) ##### Changed - Use `attr` for principal and resource attributes ([#​694](https://togithub.com/cerbos/cerbos-sdk-javascript/pull/694)) This makes the API consistent with policy expressions. `attributes` is still supported for backwards compatibility, but is now deprecated. - Bump dependency on [uuid](https://togithub.com/uuidjs/uuid) to 9.0.1 ([#​672](https://togithub.com/cerbos/cerbos-sdk-javascript/pull/672)) ##### Removed - Support for Node.js 16, which is now [end-of-life](https://togithub.com/nodejs/release#end-of-life-releases) ([#​669](https://togithub.com/cerbos/cerbos-sdk-javascript/pull/669))
cerbos/cerbos-sdk-javascript (@​cerbos/grpc) ### [`v0.14.0`](https://togithub.com/cerbos/cerbos-sdk-javascript/blob/HEAD/packages/grpc/CHANGELOG.md#0140---2023-10-02) [Compare Source](https://togithub.com/cerbos/cerbos-sdk-javascript/compare/@cerbos/grpc@0.13.0...@cerbos/grpc@0.14.0) ##### Changed - Use `attr` for principal and resource attributes ([#​694](https://togithub.com/cerbos/cerbos-sdk-javascript/pull/694)) This makes the API consistent with policy expressions. `attributes` is still supported for backwards compatibility, but is now deprecated. - Bump dependency on [@​grpc/grpc-js](https://togithub.com/grpc/grpc-node) to 1.9.4 ([#​654](https://togithub.com/cerbos/cerbos-sdk-javascript/pull/654), [#​663](https://togithub.com/cerbos/cerbos-sdk-javascript/pull/663), [#​666](https://togithub.com/cerbos/cerbos-sdk-javascript/pull/666), [#​693](https://togithub.com/cerbos/cerbos-sdk-javascript/pull/693)) - Bump dependency on [protobufjs](https://togithub.com/protobufjs/protobuf.js) to 7.2.5 ([#​651](https://togithub.com/cerbos/cerbos-sdk-javascript/pull/651)) ##### Removed - Support for Node.js 16, which is now [end-of-life](https://togithub.com/nodejs/release#end-of-life-releases) ([#​669](https://togithub.com/cerbos/cerbos-sdk-javascript/pull/669))
prisma/prisma (@​prisma/client) ### [`v5.4.2`](https://togithub.com/prisma/prisma/releases/tag/5.4.2) [Compare Source](https://togithub.com/prisma/prisma/compare/5.4.1...5.4.2) Today, we are issuing the `5.4.2` patch release. #### Fix in Prisma Client - [5.4.0 subquery has too many columns](https://togithub.com/prisma/prisma/issues/21356) ### [`v5.4.1`](https://togithub.com/prisma/prisma/releases/tag/5.4.1) [Compare Source](https://togithub.com/prisma/prisma/compare/5.4.0...5.4.1) Today, we are issuing the `5.4.1` patch release. ##### Fix in Prisma Client - [Invalid `….findMany()` invocation: The column `j1.id` does not exist in the current database.](https://togithub.com/prisma/prisma/issues/21352) ##### Fix in `@prisma/adapter-planetscale` - [Planetscale driver: unsupported column type NULL](https://togithub.com/prisma/prisma/issues/21369) ### [`v5.4.0`](https://togithub.com/prisma/prisma/releases/tag/5.4.0) [Compare Source](https://togithub.com/prisma/prisma/compare/5.3.1...5.4.0) 🌟 **Help us spread the word about Prisma by starring the repo or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@​prisma%20release%20v5.4.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.4.0) about the release.** 🌟 ### **Highlights** #### Preview support for PlanetScale and Neon serverless database drivers We’re excited to announce [Preview](https://www.prisma.io/docs/about/prisma/releases#preview) support for the Neon and PlanetScale serverless database drivers. The PlanetScale and Neon serverless database drivers allow Prisma to connect to your database using protocols besides TCP — HTTP (PlanetScale) or WebSockets (Neon). To get started with the serverless database drivers, first enable the `driverAdapters` Preview feature flag in your Prisma schema: ```prisma // schema.prisma generator client { provider = "prisma-client-js" previewFeatures = ["driverAdapters"] } ``` Next, to set up Prisma Client to use the serverless database drivers: ##### **PlanetScale** Install the Prisma adapter for PlanetScale and [PlanetScale serverless database driver](https://togithub.com/planetscale/database-js), and undici: ```bash npm install @​prisma/adapter-planetscale @​planetscale/database undici ``` > Prisma ORM supports Node 16 and up. In Node 18 and up, `undici` is not needed. Ensure you update the host value in your connection string to `aws.connect.psdb.cloud`. You can learn more about this [here](https://planetscale.com/docs/tutorials/planetscale-serverless-driver#add-and-use-the-planetscale-serverless-driver-for-javascript-to-your-project). ```bash DATABASE_URL='mysql://johndoe:strongpassword@aws.connect.psdb.cloud/clear_nightsky?sslaccept=strict' ``` Update your Prisma Client instance to use the PlanetScale database driver: ```tsx // Import required dependencies import { connect } from '@​planetscale/database'; import { PrismaPlanetScale } from '@​prisma/adapter-planetscale'; import { PrismaClient } from '@​prisma/client'; import { fetch as undiciFetch } from 'undici'; // Initialize Prisma Client with the PlanetScale serverless database driver const connection = connect({ url: connectionString, fetch: undiciFetch }); const adapter = new PrismaPlanetScale(connection); const prisma = new PrismaClient({ adapter }); ``` ##### **Neon** Install the Prisma adapter for Neon, [Neon serverless database driver](https://togithub.com/neondatabase/serverless) and undici (WebSockets): ```bash npm install @​prisma/adapter-neon @​neondatabase/serverless undici ``` Update your Prisma Client instance to use the Neon serverless database driver: ```tsx // Import required dependencies import { Pool, neonConfig } from '@​neondatabase/serverless'; import { PrismaNeon } from '@​prisma/adapter-neon'; import { PrismaClient } from '@​prisma/client'; import { WebSocket } from 'undici' neonConfig.webSocketConstructor = WebSocket; // Initialize Prisma Client with the Neon serverless database driver const pool = new Pool({ connectionString: process.env.DATABASE_URL }); const adapter = new PrismaNeon(pool); const prisma = new PrismaClient({ adapter }); ``` Let us know your feedback about the [Neon](https://togithub.com/prisma/prisma/discussions/21346) or [Planetscale](https://togithub.com/prisma/prisma/discussions/21347) serverless database drivers in the linked GitHub discussions. Create a [bug report](https://togithub.com/prisma/prisma/issues/new?assignees=\&labels=kind/bug\&projects=\&template=bug_report.yml) if you run into any issues. #### Early Access support for Turso [Turso](https://turso.tech/) is an edge-hosted, distributed database that's based on [libSQL](https://turso.tech/libsql), an open-source and open-contribution fork of SQLite, enabling you to bring data closer to your application and minimize query latency. Since support for Turso is in Early Access, there may be some rough edges which we’re still working on it to improve the API and overall support. Additionally, it is behind the `driverAdapters` Preview feature flag. Enable it to get started using Turso in your project: ```groovy // schema.prisma generator client { provider = "prisma-client-js" previewFeatures = ["driverAdapters"] } ``` Next, install the Prisma Client adapter for Turso and the `libSQL` database client ```bash npm install @​prisma/adapter-libsql @​libsql/client ``` Update your Prisma Client instance: ```tsx // Import required dependencies import { PrismaClient } from '@​prisma/client' import { PrismaLibSQL } from '@​prisma/adapter-libsql' import { createClient } from '@​libsql/client' // Create a new instance of the libSQL database client const libsql = createClient({ // @​ts-expect-error url: process.env.TURSO_DATABASE_URL, authToken: process.env.TURSO_AUTH_TOKEN }) // Create a Prisma "adapter" for libSQL const adapter = new PrismaLibSQL(libsql) // Pass the adapter option to the Prisma Client instance const prisma = new PrismaClient({ adapter }) ``` You can learn more on how to use Prisma together with Turso in the [announcement blog post](https://www.prisma.io/blog/prisma-turso-ea-support-rXGd_Tmy3UXX). Try it out! [Let us know what you think](https://togithub.com/prisma/prisma/discussions/21345) and create a [bug report](https://togithub.com/prisma/prisma/issues/new?assignees=\&labels=kind/bug\&projects=\&template=bug_report.yml) if you run into any issues. #### Query performance improvements In our continued efforts to make Prisma Client faster, we identified and improved the performance of different types of queries. ##### Relation filters improvements We made the following improvements to relation filters: - Removed an unnecessary `INNER JOIN` used in relation filter queries (Big thank you to [@​KhooHaoYit](https://togithub.com/KhooHaoYit) for helping out) - Use of `LEFT JOIN`'s for to-one relations. Previously, Prisma made use of sub-queries to fetch data. **Example Prisma Client query** ```tsx prisma.comment.findMany({ where: { post: { author: { name: "John" } } } }) ``` **Before 5.4.0** ```sql SELECT "Comment"."id" FROM "Comment" WHERE ("Comment"."id") IN ( SELECT "t0"."id" FROM "Comment" AS "t0" INNER JOIN "Post" AS "j0" ON ("j0"."id") = ("t0"."postId") WHERE ( ("j0"."id") IN ( SELECT "t1"."id" FROM "Post" AS "t1" INNER JOIN "User" AS "j1" ON ("j1"."id") = ("t1"."userId") WHERE ( "j1"."name" = $ 1 AND "t1"."id" IS NOT NULL ) ) AND "t0"."id" IS NOT NULL ) ); ``` **After 5.4.0** ```sql SELECT "Comment"."id" FROM "Comment" LEFT JOIN "Post" AS "j1" ON ("j1"."id") = ("Comment"."postId") LEFT JOIN "User" AS "j2" ON ("j2"."id") = ("j1"."userId") WHERE ( "j2"."name" = $ 1 AND ("j2"."id" IS NOT NULL) AND ("j1"."id" IS NOT NULL) ); ``` If you’re interested in more details on the relation query filter improvements, you can take a look at [this pull request](https://togithub.com/prisma/prisma-engines/pull/4235). ##### Enum improvements on PostgreSQL and CockroachDB Previously, when an enum value was used in a query, our Postgres driver would make additional queries to resolve the enum types that were used. In this release, we’re making improvements by casting enums to `TEXT` to avoid the additional roundtrips when resolving the types. This change should have the most impact if you’re using `pgBouncer` or if you’re running Prisma in a serverless environment, where our Postgres driver can’t cache enum types information. **Prisma schema** ```groovy model User { id Int @​id @​default(cuid()) role Role } enum Role { User Admin } ``` **Prisma Client query** ```tsx await prisma.user.findMany({ where: { role: "Admin" } }) ``` **Before 5.4.0** ```sql -- Internal driver query SELECT t.typname, t.typtype, t.typelem, r.rngsubtype, t.typbasetype, n.nspname, t.typrelid FROM pg_catalog.pg_type t LEFT OUTER JOIN pg_catalog.pg_range r ON r.rngtypid = t.oid INNER JOIN pg_catalog.pg_namespace n ON t.typnamespace = n.oid WHERE t.oid = $1; -- Internal driver query SELECT enumlabel FROM pg_catalog.pg_enum WHERE enumtypid = $1 ORDER BY enumsortorder; -- Prisma Client query SELECT id, role FROM "User" WHERE role = $1; ``` **After 5.4.0** ```sql -- Prisma Client query SELECT id, role::text FROM "User" WHERE role = CAST($1::text AS "Role); ``` ##### Bulk delete improvements We optimized the `deleteMany` operation by: - Removing all `SELECT` queries used to fetch data that would be used as input for the `DELETE` operation. In some cases, this also improves index usage. - Removing the transaction previously used as it’s now a single atomic operation. **Prisma Client query** ```tsx await prisma.post.deleteMany({ where: { id: { gt: 1, lt: 10, } } }) ``` **Before 5.4.0** ```sql BEGIN SELECT id FROM "Post" WHERE id > 1 AND id < 10; SELECT id FROM "Post" WHERE id > 1 AND id < 10 AND id IN (<...select ids>); DELETE FROM "Post" WHERE id IN (<...select ids>) AND id > 1 AND id < 10; COMMIT ``` **After 5.4.0** ```sql DELETE FROM "Post" WHERE id > 1 AND id < 10; ``` ##### Upsert improvements We improved the `upsert` operation ([non-native database upsert](https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#database-upserts)) by removing a redundant `SELECT` query: **Prisma Client query** ```tsx await prisma.user.upsert({ where: { email: "john@doe.com" }, create: { email: "john@doe.com", firstName: "John" }, update: { firstName: "Johnny" }, }) ``` **Before 5.4.0** ```sql SELECT `User`.`id` FROM `User` WHERE `User`.`email` = ?; SELECT `User`.`id` FROM `User` WHERE `User`.`email` = ?; UPDATE `prisma`.`User` SET `firstName` = ? WHERE `prisma`.`User`.`id` IN (?) AND `prisma`.`User`.`email` = ?; SELECT `User`.`id` FROM `User` WHERE `User`.`id` = ?; ``` **After 5.4.0** ```sql SELECT `User`.`id` FROM `User` WHERE `User`.`email` = ?; UPDATE `prisma`.`User` SET `firstName` = ? WHERE `prisma`.`User`.`id` IN (?) AND `prisma`.`User`.`email` = ?; SELECT `User`.`id` FROM `User` WHERE `User`.`id` = ?; ``` #### Fixes and improvements ##### Prisma Client - [Unnecessary `SELECT` may be generated by `upsert()`](https://togithub.com/prisma/prisma/issues/5686) - [Inefficient deleteMany query generation](https://togithub.com/prisma/prisma/issues/7232) - [Prisma can generate an overly complex and inefficient query in some cases](https://togithub.com/prisma/prisma/issues/7894) - [`deleteMany` optimisation](https://togithub.com/prisma/prisma/issues/8239) - [CockroachDB: Highly Variable Query Response Times](https://togithub.com/prisma/prisma/issues/11317) - [Extremely poor relation where clause query](https://togithub.com/prisma/prisma/issues/14688) - [Enums loaded as part of transaction after `UPDATE`, slowing down transaction.](https://togithub.com/prisma/prisma/issues/14955) - [ MongoDB `deleteMany` seems to send 2 identical read queries first before triggering the actual delete](https://togithub.com/prisma/prisma/issues/15085) - [Query validation messages reference color output even if colors are not enabled](https://togithub.com/prisma/prisma/issues/17706) - [Prisma generates unnecessary subquery, which is inefficient](https://togithub.com/prisma/prisma/issues/17879) - [Unnecessary INNER JOIN when doing nested queries](https://togithub.com/prisma/prisma/issues/18343) - [Semver checks for yarn and typescript could potentially fail](https://togithub.com/prisma/prisma/issues/18751) - [Prisma overrides type caching when in PGBouncer mode, causing 9,000 enum queries per second on a production system](https://togithub.com/prisma/prisma/issues/19325) - [deleteMany generates double WHERE filter](https://togithub.com/prisma/prisma/issues/19950) - [Prisma generate command crashes with `RustPanic: RuntimeError: panicked at 'internal error: entered unreachable code', query-engine/prisma-models/src/field/scalar.rs:93:50`](https://togithub.com/prisma/prisma/issues/20037) - [Duplicated keys in `metrics` properties](https://togithub.com/prisma/prisma/issues/21069) - [Prisma Client extension with method override and `jest-mock-extended` or `vitest-mock-extended` expects `never` input ](https://togithub.com/prisma/prisma/issues/21136) ##### Language tools (e.g. VS Code) - [Auto-completion suggests attributes already present ](https://togithub.com/prisma/language-tools/issues/1326) - [Quick Fix: when `@@​schema` is defined in a block without the `schemas` attribute](https://togithub.com/prisma/language-tools/issues/1333) ##### Prisma Engines - [CockroachDB: get_columns can hit inefficiency inside pg_class](https://togithub.com/prisma/prisma-engines/issues/4250) #### Credits Huge thanks to [@​onichandame](https://togithub.com/onichandame), [@​fqazi](https://togithub.com/fqazi), [@​KhooHaoYit](https://togithub.com/KhooHaoYit), [@​alencardc](https://togithub.com/alencardc), [@​Oreilles](https://togithub.com/Oreilles), [@​christianledgard](https://togithub.com/christianledgard), [@​skyzh](https://togithub.com/skyzh), [@​alula](https://togithub.com/alula), [@​michaelpoellath](https://togithub.com/michaelpoellath), [@​RobertCraigie](https://togithub.com/RobertCraigie), [@​icanipa](https://togithub.com/icanipa), [@​jiashengguo](https://togithub.com/jiashengguo), [@​stephenwade](https://togithub.com/stephenwade), [@​darthmaim](https://togithub.com/darthmaim), [@​ludralph](https://togithub.com/ludralph), [@​Gerschtli](https://togithub.com/Gerschtli), [@​andyjy](https://togithub.com/andyjy) for helping! #### 💼 We're hiring! If you're interested in joining our growing team to help empower developers to build data-intensive applications, Prisma is the place for you. We're currently hiring for the following roles: - [Software Engineer](https://boards.greenhouse.io/prisma/jobs/6948042002) - [Senior Software Engineer (Rust)](https://boards.greenhouse.io/prisma/jobs/6940273002) - [Engineering Manager: Prisma Data Platform](https://boards.greenhouse.io/prisma/jobs/6927046002) Feel free to read the job descriptions and apply using the links provided.
Automattic/mongoose (mongoose) ### [`v7.6.1`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#761--2023-10-09) [Compare Source](https://togithub.com/Automattic/mongoose/compare/7.6.0...7.6.1) \================== - fix: bump bson to match mongodb@5.9.0 exactly [#​13947](https://togithub.com/Automattic/mongoose/issues/13947) [hasezoey](https://togithub.com/hasezoey) - fix: raw result deprecation message [#​13954](https://togithub.com/Automattic/mongoose/issues/13954) [simllll](https://togithub.com/simllll) - type: add types for includeResultMetadata [#​13955](https://togithub.com/Automattic/mongoose/issues/13955) [simllll](https://togithub.com/simllll) - perf(npmignore): ignore newer files [#​13946](https://togithub.com/Automattic/mongoose/issues/13946) [hasezoey](https://togithub.com/hasezoey) - perf: move mocha config from package.json to mocharc [#​13948](https://togithub.com/Automattic/mongoose/issues/13948) [hasezoey](https://togithub.com/hasezoey) ### [`v7.6.0`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#760--2023-10-06) [Compare Source](https://togithub.com/Automattic/mongoose/compare/7.5.4...7.6.0) \================== - feat: upgrade mongodb node driver -> 5.9.0 [#​13927](https://togithub.com/Automattic/mongoose/issues/13927) [#​13926](https://togithub.com/Automattic/mongoose/issues/13926) [sanguineti](https://togithub.com/sanguineti) - fix: avoid CastError when passing different value of discriminator key in `$or` [#​13938](https://togithub.com/Automattic/mongoose/issues/13938) [#​13906](https://togithub.com/Automattic/mongoose/issues/13906) ### [`v7.5.4`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#754--2023-10-04) [Compare Source](https://togithub.com/Automattic/mongoose/compare/7.5.3...7.5.4) \================== - fix: avoid stripping out `id` property when `_id` is set [#​13933](https://togithub.com/Automattic/mongoose/issues/13933) [#​13892](https://togithub.com/Automattic/mongoose/issues/13892) [#​13867](https://togithub.com/Automattic/mongoose/issues/13867) - fix(QueryCursor): avoid double-applying schema paths so you can include select: false fields with + projection using cursors [#​13932](https://togithub.com/Automattic/mongoose/issues/13932) [#​13773](https://togithub.com/Automattic/mongoose/issues/13773) - fix(query): allow deselecting discriminator key using - syntax [#​13929](https://togithub.com/Automattic/mongoose/issues/13929) [#​13760](https://togithub.com/Automattic/mongoose/issues/13760) - fix(query): handle $round in $expr as array [#​13928](https://togithub.com/Automattic/mongoose/issues/13928) [#​13881](https://togithub.com/Automattic/mongoose/issues/13881) - fix(document): call pre('validate') hooks when modifying a path underneath triply nested subdoc [#​13912](https://togithub.com/Automattic/mongoose/issues/13912) [#​13876](https://togithub.com/Automattic/mongoose/issues/13876) - fix(mongoose): correctly handle global applyPluginsToChildSchemas option [#​13911](https://togithub.com/Automattic/mongoose/issues/13911) [#​13887](https://togithub.com/Automattic/mongoose/issues/13887) - types: add insertMany array overload with options [#​13931](https://togithub.com/Automattic/mongoose/issues/13931) [t1bb4r](https://togithub.com/t1bb4r) - docs(compatibility): add Mongoose 7 support to compatibility matrix [#​13875](https://togithub.com/Automattic/mongoose/issues/13875) - docs: amend some awkward FAQ wording [#​13925](https://togithub.com/Automattic/mongoose/issues/13925) [peteboere](https://togithub.com/peteboere) ### [`v7.5.3`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#753--2023-09-25) [Compare Source](https://togithub.com/Automattic/mongoose/compare/7.5.2...7.5.3) \================== - fix(document): handle MongoDB Long when casting BigInts [#​13869](https://togithub.com/Automattic/mongoose/issues/13869) [#​13791](https://togithub.com/Automattic/mongoose/issues/13791) - fix(model): make bulkSave() persist changes that happen in pre('save') middleware [#​13885](https://togithub.com/Automattic/mongoose/issues/13885) [#​13799](https://togithub.com/Automattic/mongoose/issues/13799) - fix: handle casting $elemMatch underneath $not underneath another $elemMatch [#​13893](https://togithub.com/Automattic/mongoose/issues/13893) [#​13880](https://togithub.com/Automattic/mongoose/issues/13880) - fix(model): make bulkWrite casting respect global setDefaultsOnInsert [#​13870](https://togithub.com/Automattic/mongoose/issues/13870) [#​13823](https://togithub.com/Automattic/mongoose/issues/13823) - fix(document): handle default values for discriminator key with embedded discriminators [#​13891](https://togithub.com/Automattic/mongoose/issues/13891) [#​13835](https://togithub.com/Automattic/mongoose/issues/13835) - fix: account for null values when assigning isNew property within document array [#​13883](https://togithub.com/Automattic/mongoose/issues/13883) - types: avoid "interface can only extend object types with statically known members" error in TypeScript 4 [#​13871](https://togithub.com/Automattic/mongoose/issues/13871) - docs(deprecations): fix typo in includeResultMetadata deprecation docs [#​13884](https://togithub.com/Automattic/mongoose/issues/13884) [#​13844](https://togithub.com/Automattic/mongoose/issues/13844) - docs: fix pre element overflow in home page [#​13868](https://togithub.com/Automattic/mongoose/issues/13868) [ghoshRitesh12](https://togithub.com/ghoshRitesh12) ### [`v7.5.2`](https://togithub.com/Automattic/mongoose/blob/HEAD/CHANGELOG.md#752--2023-09-15) [Compare Source](https://togithub.com/Automattic/mongoose/compare/7.5.1...7.5.2) \================== - fix(schema): handle number discriminator keys when using Schema.prototype.discriminator() [#​13858](https://togithub.com/Automattic/mongoose/issues/13858) [#​13788](https://togithub.com/Automattic/mongoose/issues/13788) - fix: ignore `id` property when calling `set()` with both `id` and `_id` specified to avoid `id` setter overwriting [#​13762](https://togithub.com/Automattic/mongoose/issues/13762) - types: pass correct document type to required and default function [#​13851](https://togithub.com/Automattic/mongoose/issues/13851) [#​13797](https://togithub.com/Automattic/mongoose/issues/13797) - docs(model): add examples of using diffIndexes() to syncIndexes()and diffIndexes() api docs [#​13850](https://togithub.com/Automattic/mongoose/issues/13850) [#​13771](https://togithub.com/Automattic/mongoose/issues/13771)

Configuration

📅 Schedule: Branch creation - "before 4am on Monday" (UTC), Automerge - "after 9am and before 5pm Monday" (UTC).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.



This PR has been generated by Mend Renovate. View repository job log here.