diff --git a/apps/site/content/changelog/2026-02-11.mdx b/apps/site/content/changelog/2026-02-11.mdx new file mode 100644 index 0000000000..18b1d48caf --- /dev/null +++ b/apps/site/content/changelog/2026-02-11.mdx @@ -0,0 +1,97 @@ +--- +title: "Prisma ORM v7.4.0: Prisma Client query caching and partial indexes" +date: "2026-02-11" +version: "v7.4.0" +slug: "2026-02-11" +headline: "Prisma ORM v7.4.0: Prisma Client query caching and partial indexes" +tags: + - "Prisma ORM" +canonical: "/changelog#log2026-02-11" +share: + active: true + content: "Look at this page: " +source: + exportedAt: "2026-04-14T00:00:00.000Z" +--- + +## Prisma ORM v7.4.0: Prisma Client query caching and partial indexes + +## Highlights + +## ORM + +### Caching in Prisma Client + +Prisma ORM v7.4.0 introduces a new caching layer for Prisma Client. In Prisma 7, the query compiler runs as a WebAssembly module directly on the JavaScript main thread. While that simplified the architecture, it also meant that every query compilation could synchronously block the event loop. + +The new cache normalizes query shapes by extracting user-provided values and replacing them with typed placeholders. That lets Prisma reuse compiled plans for repeated queries with the same shape instead of recompiling them every time. + +```text +// These two queries have the same shape: +const alice = await prisma.user.findUnique({ where: { email: 'alice@prisma.io' } }) +const bob = await prisma.user.findUnique({ where: { email: 'bob@prisma.io' } }) +``` + +```text +prisma.user.findUnique({ where: { email: %1 } }) // cache key + ^ + %1 = 'alice@prisma.io' (or 'bob@prisma.io') +``` + +On the first call, the query is compiled as usual and the resulting plan is stored in an LRU cache. On subsequent calls with the same query shape, the cached plan is reused instantly without invoking the compiler again. + +### Partial Indexes support + +Prisma ORM v7.4.0 also adds support for **Partial Indexes** behind the `partialIndexes` preview feature for PostgreSQL, SQLite, SQL Server, and CockroachDB, with migration and introspection support included. + +Enable the preview feature in your schema: + +```text +generator client { + provider = "prisma-client-js" + previewFeatures = ["partialIndexes"] +} +``` + +For maximum flexibility, you can use `raw()` with a database-specific predicate: + +```text +model User { + id Int @id + email String + status String + + @@unique([email], where: raw("status = 'active'")) + @@index([email], where: raw("deletedAt IS NULL")) +} +``` + +For simpler conditions, you can also use the type-safe object syntax: + +```text +model Post { + id Int @id + title String + published Boolean + + @@index([title], where: { published: true }) + @@unique([title], where: { published: { not: false } }) +} +``` + +### Bug fixes + +This release also includes a set of fixes from Prisma and community contributors: + +- [prisma-engines#5767](https://github.com/prisma/prisma-engines/pull/5767): Fixed PostgreSQL migration scripts to allow `CREATE INDEX CONCURRENTLY` +- [prisma-engines#5752](https://github.com/prisma/prisma-engines/pull/5752): Fixed BigInt precision loss in JSON aggregation for MySQL and CockroachDB +- [prisma-engines#5750](https://github.com/prisma/prisma-engines/pull/5750): Fixed connection failures with non-ASCII database names +- [#29155](https://github.com/prisma/prisma/pull/29155): Fixed silent transaction commit errors in the PlanetScale adapter +- [#29141](https://github.com/prisma/prisma/pull/29141): Resolved SQL Server adapter race condition errors during commit and rollback +- [#29158](https://github.com/prisma/prisma/pull/29158): Fixed MSSQL connection string parsing for passwords with curly braces + +## Enterprise support + +Thousands of teams use Prisma and many of them already tap into our Enterprise & Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance. + +With this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: [https://prisma.io/enterprise](https://prisma.io/enterprise). diff --git a/apps/site/content/changelog/2026-02-19.mdx b/apps/site/content/changelog/2026-02-19.mdx new file mode 100644 index 0000000000..4b7465d3a1 --- /dev/null +++ b/apps/site/content/changelog/2026-02-19.mdx @@ -0,0 +1,49 @@ +--- +title: "Prisma ORM v7.4.1: bug fixes and quality improvements" +date: "2026-02-19" +version: "v7.4.1" +slug: "2026-02-19" +headline: "Prisma ORM v7.4.1: bug fixes and quality improvements" +tags: + - "Prisma ORM" +canonical: "/changelog#log2026-02-19" +share: + active: true + content: "Look at this page: " +source: + exportedAt: "2026-04-14T00:00:00.000Z" +--- + +## Prisma ORM v7.4.1: bug fixes and quality improvements + +Prisma ORM v7.4.1 is a patch release focused on bug fixes and quality improvements across Prisma Client, driver adapters, and the Prisma Schema Language. + +## Fixes + +**Prisma Client** + +- [#29184](https://github.com/prisma/prisma/pull/29184): Fix cursor-based pagination regression with parameterized values +- [#29198](https://github.com/prisma/prisma/pull/29198): Preserve `Prisma.skip` through query extension argument cloning +- [#25571](https://github.com/prisma/prisma/pull/25571): Enable batching of multiple queries inside interactive transactions +- [#29182](https://github.com/prisma/prisma/pull/29182): Add missing JSON value deserialization for JSONB parameter fields +- [#29218](https://github.com/prisma/prisma/pull/29218): Apply result extensions correctly for nested and fluent relations +- [prisma-engines#5777](https://github.com/prisma/prisma-engines/pull/5777): Allow missing config datasource URL and validate only when needed + +**Driver Adapters** + +- [#29192](https://github.com/prisma/prisma/pull/29192): `@prisma/adapter-ppg` now handles null values in type parsers for nullable columns + +**Prisma Schema Language** + +- [prisma-engines#5774](https://github.com/prisma/prisma-engines/pull/5774): Support `where` on field-level `@unique` for partial indexes +- [prisma-engines#5776](https://github.com/prisma/prisma-engines/pull/5776): Add object expression and object member support to the schema reformatter + +## Huge thanks to our community + +Many of the fixes in this release were contributed by our amazing community members. We are grateful for your continued support and contributions that help make Prisma better for everyone. + +## Enterprise support + +Thousands of teams use Prisma and many of them already tap into our Enterprise & Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance. + +With this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: [https://prisma.io/enterprise](https://prisma.io/enterprise). diff --git a/apps/site/content/changelog/2026-02-27.mdx b/apps/site/content/changelog/2026-02-27.mdx new file mode 100644 index 0000000000..2a80aa1daf --- /dev/null +++ b/apps/site/content/changelog/2026-02-27.mdx @@ -0,0 +1,48 @@ +--- +title: "Prisma ORM v7.4.2: bug fixes and quality improvements" +date: "2026-02-27" +version: "v7.4.2" +slug: "2026-02-27" +headline: "Prisma ORM v7.4.2: bug fixes and quality improvements" +tags: + - "Prisma ORM" +canonical: "/changelog#log2026-02-27" +share: + active: true + content: "Look at this page: " +source: + exportedAt: "2026-04-14T00:00:00.000Z" +--- + +## Prisma ORM v7.4.2: bug fixes and quality improvements + +Prisma ORM v7.4.2 is a patch release focused on bug fixes and quality improvements across Prisma Client, driver adapters, and the Schema Engine. + +## Fixes + +**Prisma Client** + +- [#29243](https://github.com/prisma/prisma/pull/29243): Fix a case-insensitive `IN` and `NOT IN` filter regression +- [#29262](https://github.com/prisma/prisma/pull/29262): Fix a query plan mutation issue that resulted in broken cursor queries +- [prisma-engines#5784](https://github.com/prisma/prisma-engines/pull/5784): Fix an array parameter wrapping issue in push operations +- [#29268](https://github.com/prisma/prisma/pull/29268): Fix `Uint8Array` serialization in nested JSON fields +- [#29251](https://github.com/prisma/prisma/pull/29251): Fix an issue with MySQL joins that relied on non-strict equality + +**Driver Adapters** + +- [#29238](https://github.com/prisma/prisma/pull/29238): `@prisma/adapter-mariadb` now checks for a binary collation when detecting text columns +- [#29246](https://github.com/prisma/prisma/pull/29246): Correct `relationJoins` compatibility checks for MariaDB 8.x versions + +**Schema Engine** + +- [prisma-engines#5780](https://github.com/prisma/prisma-engines/pull/5780): Fix partial index predicate comparison on PostgreSQL and MSSQL + +## Huge thanks to our community + +Many of the fixes in this release were contributed by our amazing community members. We are grateful for your continued support and contributions that help make Prisma better for everyone. + +## Enterprise support + +Thousands of teams use Prisma and many of them already tap into our Enterprise & Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance. + +With this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: [https://prisma.io/enterprise](https://prisma.io/enterprise). diff --git a/apps/site/content/changelog/2026-03-11.mdx b/apps/site/content/changelog/2026-03-11.mdx new file mode 100644 index 0000000000..c610b114ff --- /dev/null +++ b/apps/site/content/changelog/2026-03-11.mdx @@ -0,0 +1,82 @@ +--- +title: "Prisma ORM v7.5.0: nested transaction savepoints and Studio updates" +date: "2026-03-11" +version: "v7.5.0" +slug: "2026-03-11" +headline: "Prisma ORM v7.5.0: nested transaction savepoints and Studio updates" +tags: + - "Prisma ORM" +canonical: "/changelog#log2026-03-11" +share: + active: true + content: "Look at this page: " +source: + exportedAt: "2026-04-14T00:00:00.000Z" +--- + +## Prisma ORM v7.5.0: nested transaction savepoints and Studio updates + +## ORM + +### Nested transaction rollbacks via savepoints + +Prisma ORM v7.5.0 adds support for nested transaction rollback behavior for SQL databases through savepoints. + +This lets Prisma track transaction ID and nesting depth so it can reuse an existing open transaction in the underlying engine. It also enables using `$transaction` from an interactive transaction client while making sure inner nested transactions are rolled back when the outer transaction fails. + +- [#21678](https://github.com/prisma/prisma/pull/21678): Added support for nested transaction rollbacks via savepoints + +### Bug fixes + +**Driver Adapters** + +- [#29285](https://github.com/prisma/prisma/pull/29285): `adapter-mariadb` now uses the binary MySQL protocol to fix lossy number conversions +- [#29277](https://github.com/prisma/prisma/pull/29277): Made `@types/pg` a direct dependency of `adapter-pg` for a better TypeScript experience + +**Prisma Client** + +- [#29286](https://github.com/prisma/prisma/pull/29286): Resolved `Prisma.DbNull` serializing as an empty object in some bundled environments like Next.js +- [#29274](https://github.com/prisma/prisma/pull/29274): Fixed DateTime fields returning `Invalid Date` with `unixepoch-ms` timestamps in some cases +- [#29327](https://github.com/prisma/prisma/pull/29327): Fixed a cursor-based pagination issue with `@db.Date` columns + +**Schema Engine** + +- [#5790](https://github.com/prisma/prisma-engines/pull/5790), [#5795](https://github.com/prisma/prisma-engines/pull/5795): Preserve manual partial indexes when the `partialIndexes` preview feature is disabled +- [#5788](https://github.com/prisma/prisma-engines/pull/5788): Improve partial index predicate comparison for quoted vs unquoted identifiers +- [#5792](https://github.com/prisma/prisma-engines/pull/5792): Exclude partial unique indexes from DMMF `uniqueFields` and `uniqueIndexes` + +## Studio + +Prisma Studio continues to gain features in v7.5.0 based on feedback since the Prisma ORM v7 launch. + +### Multi-cell selection and full table search + +You can now select multiple cells while viewing your database, and you can search across a table for specific values in addition to finding a specific table. + +![Multi-cell selection and full table search](/changelog/image-e3d2aa3d-ae03-47f0-a5d6-3530675864f7-gif-multi-cell-selection-and-search.gif) + +### More intuitive filtering + +Filtering is now easier to use and includes support for raw SQL filters. In Prisma Console, AI-generated filters are also available. + +![More intuitive filtering](/changelog/image-ba20f670-3770-4dcf-869f-673519bd847c-gif-more-intuitive-filtering.gif) + +![AI-generated filters](/changelog/image-4bd1c328-2429-4fb1-948d-d8d841900f22-gif-ai-generated-filters.gif) + +### Cmd+K command palette + +Studio now includes a `Cmd+K` command palette so you can perform most actions from the keyboard. + +![Cmd+K command palette](/changelog/image-691b7a6e-c677-480c-addc-db42fc2aa9a5-gif-cmd-k-command-palette.gif) + +### Run raw SQL queries + +There is now a dedicated SQL tab in the sidebar that lets you run raw SQL queries directly against your data. + +![Run raw SQL queries](/changelog/image-9f3cf91f-23d3-49f1-9cd7-661752186432-gif-run-raw-sql-queries.gif) + +## Enterprise support + +Thousands of teams use Prisma and many of them already tap into our Enterprise & Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance. + +With this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: [https://prisma.io/enterprise](https://prisma.io/enterprise). diff --git a/apps/site/content/changelog/2026-03-27.mdx b/apps/site/content/changelog/2026-03-27.mdx new file mode 100644 index 0000000000..777f61bc43 --- /dev/null +++ b/apps/site/content/changelog/2026-03-27.mdx @@ -0,0 +1,88 @@ +--- +title: "Prisma ORM v7.6.0: prisma postgres link and Studio dark mode" +date: "2026-03-27" +version: "v7.6.0" +slug: "2026-03-27" +headline: "Prisma ORM v7.6.0: prisma postgres link and Studio dark mode" +tags: + - "Prisma ORM" + - "Prisma Postgres" +canonical: "/changelog#log2026-03-27" +share: + active: true + content: "Look at this page: " +source: + exportedAt: "2026-04-14T00:00:00.000Z" +--- + +## Prisma ORM v7.6.0: prisma postgres link and Studio dark mode + +## ORM + +### Features + +**CLI** + +- [#29352](https://github.com/prisma/prisma/pull/29352): Added a new `prisma postgres link` command that connects a local project to a Prisma Postgres database. + +This is the first command in a new `prisma postgres` command group for managing Prisma Postgres databases directly from the CLI. + +**Driver Adapters** + +- [#29395](https://github.com/prisma/prisma/pull/29395): `@prisma/adapter-pg` adds a `statementNameGenerator` option for custom prepared statement naming and `pg` statement caching +- [#29287](https://github.com/prisma/prisma/pull/29287): `@prisma/adapter-pg` now supports passing connection strings directly to the constructor +- [#29392](https://github.com/prisma/prisma/pull/29392): `@prisma/adapter-mariadb` adds a `useTextProtocol` option to toggle between text and binary protocols + +### Bug fixes + +**Prisma Client** + +- [#29382](https://github.com/prisma/prisma/pull/29382): Disabled caching of `createMany` queries to avoid cache bloat and potential Node.js crashes in bulk operations +- [#28724](https://github.com/prisma/prisma/pull/28724): Made `NowGenerator` lazy to avoid synchronous `new Date()` calls, fixing Next.js dynamic usage errors in cached components +- [#29346](https://github.com/prisma/prisma/pull/29346): Fixed missing export of `Get GroupByPayload` type in the new `prisma-client` generator + +**CLI** + +- [#29377](https://github.com/prisma/prisma/pull/29377): Added streaming parsing with automatic fallback for very large Prisma schemas that can hit V8 string limits + +**Driver Adapters** + +- [#29390](https://github.com/prisma/prisma/pull/29390): Relaxed the `@types/pg` version constraint to `^8.16.0` +- [#29307](https://github.com/prisma/prisma/pull/29307): Corrected `ColumnNotFound` error handling so column names are extracted from both quoted and unquoted PostgreSQL messages +- [#29392](https://github.com/prisma/prisma/pull/29392): Disabled `mariadb` statement caching by default to address a reported leak + +## Prisma Studio + +Prisma Studio keeps improving in v7.6.0 with several highly requested features. + +### Dark mode + +Dark mode is back in Prisma Studio. + +