Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions apps/site/content/changelog/2026-02-11.mdx
Original file line number Diff line number Diff line change
@@ -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).
49 changes: 49 additions & 0 deletions apps/site/content/changelog/2026-02-19.mdx
Original file line number Diff line number Diff line change
@@ -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).
48 changes: 48 additions & 0 deletions apps/site/content/changelog/2026-02-27.mdx
Original file line number Diff line number Diff line change
@@ -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).
82 changes: 82 additions & 0 deletions apps/site/content/changelog/2026-03-11.mdx
Original file line number Diff line number Diff line change
@@ -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).
88 changes: 88 additions & 0 deletions apps/site/content/changelog/2026-03-27.mdx
Original file line number Diff line number Diff line change
@@ -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.

<video src="/changelog/image-214149dd-5dd3-4295-9fa3-0da3f8d28197-mp4-dark-mode.mp4" controls muted loop playsInline />

### Copy as Markdown

You can now copy one or more rows as either CSV or Markdown.

### Multi-cell editing

It is now possible to edit multiple cells while inspecting your database. If you make changes, Studio will prompt you to either save or discard them.

### Back relations

Prisma Studio now links to related records when your data references another table, making it easier to inspect relationships and move between connected data.

<video src="/changelog/image-4977a926-413b-495f-b651-b7554eefea04-mp4-back-relations.mp4" controls muted loop playsInline />

### Generative SQL with AI

Instead of manually writing SQL, you can now use natural language and AI in Studio to generate the SQL statements you need when inspecting your database.

<video src="/changelog/image-e57c0afb-c3ed-471b-b55a-42395a134863-mp4-generative-sql.mp4" controls muted loop playsInline />

## 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).
Loading
Loading