---
name: Prisma
slug: prisma
type: github
source_url: https://github.com/prisma/prisma
organization: Prisma
organization_slug: prisma
total_releases: 196
latest_version: 7.8.0
latest_date: 2026-04-22
last_updated: 2026-06-25
tracking_since: 2020-06-09
canonical: https://releases.sh/prisma/prisma
organization_url: https://releases.sh/prisma
---

<Summary type="rolling" window-days="90" release-count="8">
Prisma 7 pushed hard on performance and runtime efficiency over this period. The team introduced query result caching in 7.4.0 to eliminate repeated compilation overhead on the event loop, then complemented it with tunable compiler builds in 7.3.0 that let developers trade speed for bundle size. On the adapter front, 7.6.0 expanded driver-specific ergonomics—the pg adapter gained connection string support and custom prepared statement naming, while mariadb toggled between text and binary protocols to fix number precision. Nested transaction rollbacks via savepoints arrived in 7.5.0, enabling proper cleanup when outer transactions fail.
</Summary>

<Summary type="monthly" period="February 2026" release-count="3">
February brought refinement to query handling and adapter support. Prisma shipped 7.4.0 with a new caching layer for the WebAssembly query compiler to reduce event loop contention under high concurrency, addressing the trade-off introduced when the compiler moved onto the JavaScript main thread in version 7. Two patch releases followed, fixing cursor pagination regressions, query plan mutations affecting cursor queries, case-insensitive filter behavior, and compatibility issues in MariaDB and PostgreSQL adapters.
</Summary>

<Release version="7.8.0" date="April 22, 2026" published="2026-04-22T14:19:23.000Z" url="https://github.com/prisma/prisma/releases/tag/7.8.0">
Today, we are excited to share the `7.8.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)!**

# Highlights

## ORM

### Features

**Prisma Client**

- Added a `queryPlanCacheMaxSize` option to the `PrismaClient` constructor for fine-grained control over the query plan cache. Pass `0` to disable the cache entirely, or omit it to use the default cache size. A larger value can improve performance in applications that execute many unique queries, while a smaller one can reduce memory usage. (#29503)

### Bug Fixes

**Prisma Client**

- Fixed an equality filter panic and incorrect `::jsonb` cast when filtering on PostgreSQL JSON list columns. Queries using `where: { jsonListField: { equals: [...] } }` no longer panic with a type mismatch or emit invalid SQL. (prisma/prisma-engines#5804)
- Fixed case-insensitive JSON field filtering (`mode: insensitive`), allowing `where: { jsonField: { equals: "...", mode: "insensitive" } }` to work correctly. (prisma/prisma-engines#5806)
- Fixed incorrect parameterization of enum values that have a custom database name set via `@map`. (#29422)
- Fixed a database parameter limit check (`P2029`), which could incorrectly reject or miss over-limit queries. (#29422)
- Fixed a regression that caused missing SQL Server `VARCHAR` casts for parameterized values. (prisma/prisma-engines#5801)

Schema Engine

- Fixed a misleading error message in `prisma migrate diff` that referenced the `--shadow-database-url` CLI flag, which was removed in Prisma 7. (#29455)
- Fixed `prisma migrate dev` (and shadow database migration replay in general) failing with `CREATE INDEX CONCURRENTLY cannot run inside a transaction block` when a migration contained concurrent index creation statements on PostgreSQL. (prisma/prisma-engines#5799)
- Fixed PostgreSQL introspection silently dropping sequence defaults when the database returns the schema-qualified form `pg_catalog.nextval('sequence_name'::regclass)` instead of the bare `nextval(...)`. Columns backed by sequences now correctly appear as `@default(autoincrement())` in the Prisma schema in all cases. (prisma/prisma-engines#5802)

**Driver Adapters**

- **@prisma/adapter-d1**: Savepoint operations (`createSavepoint`, `rollbackToSavepoint`, `releaseSavepoint`) now silently no-op with debug logging instead of executing SQL statements, consistent with how the D1 adapter already treats top-level transactions. (#29499)

## Open roles at Prisma

Interested in joining Prisma? We're growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [Careers page](https://www.prisma.io/careers#current) and find the role that's right for you.

## 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.
</Release>

<Release version="7.7.0" date="April 7, 2026" published="2026-04-07T16:00:33.000Z" url="https://github.com/prisma/prisma/releases/tag/7.7.0">
Today, we are excited to share the `7.7.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)!**

# Highlights

## ORM

### `prisma bootstrap` command

A new `prisma bootstrap` command ([#29374](https://github.com/prisma/prisma/pull/29374), [#29424](https://github.com/prisma/prisma/pull/29424)) sequences the full [Prisma Postgres](https://prisma.io/postgres) setup into a single interactive flow. It detects the current project state and runs only the steps that are needed:

1. **Init or scaffold** — In an empty directory, offers a choice of 10 starter templates (Next.js, Express, Hono, Fastify, Nuxt, SvelteKit, Remix, React Router 7, Astro, NestJS) from [prisma-examples](https://github.com/prisma/prisma-examples). In an existing project without a schema, runs `prisma init`.
2. **Link** — Authenticates via the browser and connects to a Prisma Postgres database. Skips if already linked.
3. **Install dependencies** — Detects the package manager and offers to install missing `@prisma/client`, `prisma`, and `dotenv`.
4. **Migrate** — Runs `prisma migrate dev` if the schema contains models.
5. **Generate** — Runs `prisma generate`.
6. **Seed** — Runs `prisma db seed` if a seed script is configured.

Each side-effecting step prompts for confirmation. Re-running the command skips already-completed steps.

**Basic usage**

```terminal
npx prisma@latest bootstrap
```

**With a starter template**

```terminal
npx prisma@latest bootstrap --template nextjs
```

**Non-interactive (CI)**

```terminal
npx prisma@latest bootstrap --api-key "$PRISMA_API_KEY" --database "db_abc123"
```

## Open roles at Prisma

Interested in joining Prisma? We're growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [Careers page](https://www.prisma.io/careers#current) and find the role that's right for you.

## 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.
</Release>

<Release version="6.19.3" date="April 1, 2026" published="2026-04-01T11:23:29.000Z" url="https://github.com/prisma/prisma/releases/tag/6.19.3">
Today, we are issuing a 6.19.3 patch release in the Prisma 6 release line. It updates the `effect` dependency to resolve a security vulnerability.

Changes:
https://github.com/prisma/prisma/pull/29416
</Release>

<Release version="7.6.0" date="March 27, 2026" published="2026-03-27T14:11:00.000Z" url="https://github.com/prisma/prisma/releases/tag/7.6.0">
Today, we are excited to share the `7.6.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)!**

# Highlights

## ORM

### Features

**CLI**

- Added a `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. (#29352)

**Driver Adapters**

- **@prisma/adapter-pg**: Added a `statementNameGenerator` option that accepts a custom prepared statement name generator to allow users to leverage `pg` statement caching (#29395)
- **@prisma/adapter-pg**: Added support for usage of connection strings directly in the constructor for improved ergonomics (#29287)
- **@prisma/adapter-mariadb**: Added a `useTextProtocol` option in the constructor to toggle between text and binary protocols (#29392)

### **Bug Fixes**

**Prisma Client**

- Disabled caching of `createMany` queries to avoid cache bloat and potential Node.js crashes in bulk operations (#29382)
- Made `NowGenerator` lazy to avoid synchronous `new Date()` calls, fixing Next.js "dynamic usage" errors in cached components (#28724)
- Fixed missing export of `Get<Model>GroupByPayload` type in the new `prisma-client` generator, making it accessible for TypeScript usage (#29346)

**CLI**

- Added streaming parsing with automatic fallback to handle Prisma schemas that produce extremely large intermediate strings (>500MB) that hit V8's string limits (#29377)

**Driver Adapters**

- **@prisma/adapter-pg**: Relaxed the `@types/pg` version constraint to `^8.16.0` for compatibility with newer PostgreSQL type definitions (#29390)
- **@prisma/adapter-pg**: Corrected error handling for `ColumnNotFound` errors to correctly extract column names from both quoted and unquoted PostgreSQL error messages (#29307)
- **@prisma/adapter-mariadb**: Modified the adapter to disable `mariadb` statement caching by default to address a reported leak (#29392)

## Prisma Studio

We’re continuing our work to improve Prisma Studio with more features being added. 

**Dark Mode**

Need we say more? You’ve all asked for it, and it’s back. 

https://github.com/user-attachments/assets/214149dd-5dd3-4295-9fa3-0da3f8d28197
 

**Copy as markdown**

Now, you can copy one or more rows as either CSV or Markdown

<img width="1888" height="672" alt="CleanShot 2026-03-11 at 16 04 09@2x" src="https://github.com/user-attachments/assets/402b4c77-08ac-4c2d-b61a-0135eb42a9af" />



**Multi-cell editing**

This is big one, something that folks have been asking for. Now, it’s possible to edit multiple cells while inspecting your database. If you make any changes, you’ll be prompted to either save or discard them. This makes manually adding new rows much easier to accomplish.

**Back relations**

If your data references another table, Prisma Studio now links to the related records, making it easy to inspect them. This makes traversing your database much simpler.


https://github.com/user-attachments/assets/4977a926-413b-495f-b651-b7554eefea04



**Generative SQL with AI**

If you need to inspect your database, instead of manually writing the SQL you may need, you can use natural language and AI to generate the appropriate SQL statements. 


https://github.com/user-attachments/assets/e57c0afb-c3ed-471b-b55a-42395a134863



## Open roles at Prisma

Interested in joining Prisma? We’re growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [Careers page](https://www.prisma.io/careers#current) and find the role that’s right for you. 

## 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.

</Release>

<Release version="7.5.0" date="March 11, 2026" published="2026-03-11T14:57:08.000Z" url="https://github.com/prisma/prisma/releases/tag/7.5.0">
Today, we are excited to share the `7.5.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)!**


# Highlights

## ORM

### Features

- **Added support for nested transaction rollbacks via savepoints (**[#21678](https://github.com/prisma/prisma/pull/21678))
    
    Adds support for **nested transaction rollback behavior** for SQL databases: if an outer transaction fails, the inner nested transaction is rolled back as well. Implements this by tracking **transaction ID + nesting depth** so Prisma can reuse an existing open transaction in the underlying engine, and it also enables using **`$transaction` from an interactive transaction client**.
    

### Bug fixes

**Driver Adapters**

- Made the  `adapter-mariadb` use the binary MySQL protocol to fix an issue with lossy number conversions ([#29285](https://github.com/prisma/prisma/pull/29285))
- Made `@types/pg` a direct dependency of `adapter-pg` for better TypeScript experience out-of-the-box ([#29277](https://github.com/prisma/prisma/pull/29277))

**Prisma Client**

- Resolved `Prisma.DbNull` serializing as empty object in some bundled environments like Next.js ([#29286](https://github.com/prisma/prisma/pull/29286))
- Fixed DateTime fields returning `Invalid Date` with `unixepoch-ms` timestamps in some cases ([#29274](https://github.com/prisma/prisma/pull/29274))
- Fixed a cursor-based pagination issue with `@db.Date` columns ([#29327](https://github.com/prisma/prisma/pull/29327))

**Schema Engine**

- Manual partial indexes are now preserved when `partialIndexes` preview feature is disabled, preventing unnecessary drops and additions in migrations ([#5790](https://github.com/prisma/prisma-engines/pull/5790), [#5795](https://github.com/prisma/prisma-engines/pull/5795))
- Enhanced partial index predicate comparison to handle quoted vs unquoted identifiers correctly, eliminating needless recreate cycles ([#5788](https://github.com/prisma/prisma-engines/pull/5788))
- Excluded partial unique indexes from DMMF `uniqueFields` and `uniqueIndexes` to prevent incorrect `findUnique` input type generation ([#5792](https://github.com/prisma/prisma-engines/pull/5792))



## Studio

With the launch of Prisma ORM v7, we also introduced a rebuilt version of Prisma Studio. With the feedback we’ve gathered since the release, we’ve added some high requested features to help make Studio a better experience.

**Multi-cell Selection & Full Table Search**

This release brings the ability to select multiple cells when viewing your database. In addition to being able to select multiple cells, you can also search across your database. You can search for a specific table or for specific cells within that table. 

![Adobe Express - CleanShot 2026-03-04 at 21 15 08-2](https://github.com/user-attachments/assets/e3d2aa3d-ae03-47f0-a5d6-3530675864f7)


**More intuitive filtering**

Filtering is now easier to use, and includes an option for raw SQL filters.

![CleanShot 2026-03-11 at 11 26 35](https://github.com/user-attachments/assets/ba20f670-3770-4dcf-869f-673519bd847c)


And if you are using Studio in Console, you can use ai generated filters:
![CleanShot 2026-03-11 at 11 28 18](https://github.com/user-attachments/assets/4bd1c328-2429-4fb1-948d-d8d841900f22)



**Cmd+k Command Palette**

You can now use the keyboard to perform most actions in Studio with the new cmd+k command palette
![CleanShot 2026-03-11 at 11 30 35](https://github.com/user-attachments/assets/691b7a6e-c677-480c-addc-db42fc2aa9a5)



**Run raw SQL queries**

Another feature we’ve included in Prisma Studio is the ability to run raw SQL queries against your data. There’s a new “SQL” tab in the sidebar that will bring you to page where you can perform any queries against your data. Below, we’re getting all the rows in the “Todo” table. 

![Adobe Express - Screen Recording 2026-03-10 at 2 30 52 PM-2](https://github.com/user-attachments/assets/9f3cf91f-23d3-49f1-9cd7-661752186432)


## Open roles at Prisma

Interested in joining Prisma? We’re growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [[Careers page](https://www.prisma.io/careers#current)](https://www.prisma.io/careers#current) and find the role that’s right for you. 

## 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.
</Release>

<Release version="7.4.2" date="February 27, 2026" published="2026-02-27T16:38:01.000Z" url="https://github.com/prisma/prisma/releases/tag/7.4.2">
Today, we are issuing a 7.4.2 patch release focused on bug fixes and quality improvements.

## 🛠 Fixes

**Prisma Client**
- Fix a case-insensitive `IN` and `NOT IN` filter regression (https://github.com/prisma/prisma/pull/29243)
- Fix a query plan mutation issue that resulted in broken cursor queries (https://github.com/prisma/prisma/pull/29262)
- Fix an array parameter wrapping issue in push operations (https://github.com/prisma/prisma-engines/pull/5784)
- Fix `Uint8Array` serialization in nested JSON fields (https://github.com/prisma/prisma/pull/29268)
- Fix an issue with MySQL joins that relied on non-strict equality (https://github.com/prisma/prisma/pull/29251)

**Driver Adapters**
- **@prisma/adapter-mariadb**: Update text column detection to check for a binary collation (https://github.com/prisma/prisma/pull/29238)
- **@prisma/adapter-mariadb**: Correct `relationJoins` compatibility check for MariaDB 8.x versions (https://github.com/prisma/prisma/pull/29246)

**Schema Engine**
- Fix partial index predicate comparison on PostgreSQL and MSSQL (https://github.com/prisma/prisma-engines/pull/5780)

## 🙏 Huge thanks to our community

Many of the fixes in this release were contributed by our amazing community members. We're grateful for your continued support and contributions that help make Prisma better for everyone!
</Release>

<Release version="7.4.1" date="February 19, 2026" published="2026-02-19T17:58:06.000Z" url="https://github.com/prisma/prisma/releases/tag/7.4.1">
Today, we are issuing a 7.4.1 patch release focused on bug fixes and quality improvements.

## 🛠 Fixes

**Prisma Client**
- Fix cursor-based pagination regression with parameterised values (https://github.com/prisma/prisma/pull/29184)
- Preserve `Prisma.skip` through query extension argument cloning (https://github.com/prisma/prisma/pull/29198)  
- Enable batching of multiple queries inside interactive transactions (https://github.com/prisma/prisma/pull/25571)
- Add missing JSON value deserialization for JSONB parameter fields (https://github.com/prisma/prisma/pull/29182)
- Apply result extensions correctly for nested and fluent relations (https://github.com/prisma/prisma/pull/29218)
- Allow missing config datasource URL and validate only when needed (https://github.com/prisma/prisma-engines/pull/5777)

**Driver Adapters**
- **@prisma/adapter-ppg**: Handle null values in type parsers for nullable columns (https://github.com/prisma/prisma/pull/29192)

**Prisma Schema Language**
- Support `where` argument on field-level `@unique` for partial indexes (https://github.com/prisma/prisma-engines/pull/5774)
- Add object expression and object member support to schema reformatter (https://github.com/prisma/prisma-engines/pull/5776)

## 🙏 Huge thanks to our community

Many of the fixes in this release were contributed by our amazing community members. We're grateful for your continued support and contributions that help make Prisma better for everyone!

</Release>

<Release version="7.4.0" date="February 11, 2026" published="2026-02-11T17:09:25.000Z" url="https://github.com/prisma/prisma/releases/tag/7.4.0">
Today, we are excited to share the `7.4.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)!**

# Highlights

## ORM

### Caching in Prisma Client

Today’s release is a big one, as we introduce a new caching layer into Prisma ORM. But why the need for a caching layer? 

In Prisma 7, the query compiler runs as a WebAssembly module directly on the JavaScript main thread. While this simplified the architecture by eliminating the separate engine process, it introduced a trade-off: every query now synchronously blocks the event loop during compilation. 

For individual queries, compilation takes between 0.1ms and 1ms, which is barely noticeable in isolation. But under high concurrency this overhead adds up and creates event loop contention that affects overall application throughput. 

For instance, say we have a query that is run over and over, but is a similar shape: 

```tsx
// 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' } })
```

Prior to v7.4.0, this would be reevaluated ever time the query is run. Now, Prisma Client will extract the user-provided values and replaces them with typed placeholders, producing a normalized query shape:

```
prisma.user.findUnique({ where: { email: %1 } })   // cache key
                                         ↑
                              %1 = 'alice@prisma.io'  (or 'bob@prisma.io')
```

This normalized shape is used as a cache key. On the first call, the query is compiled as usual and the resulting plan is stored in an LRU cache. On every subsequent call with the same query shape, regardless of the actual values, the cached plan is reused instantly without invoking the compiler.

We have more details on the impact of this change and some deep dives into Prisma architecture in an upcoming blog post!

### Partial Indexes (Filtered Indexes) Support

We're excited to announce **Partial Indexes** support in Prisma! This powerful community-contributed feature allows you to create indexes that only include rows matching specific conditions, significantly reducing index size and improving query performance.

Partial indexes are available behind the `partialIndexes` preview feature for PostgreSQL, SQLite, SQL Server, and CockroachDB, with full migration and introspection support.

**Basic usage**

Enable the preview feature in your schema:

```groovy
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["partialIndexes"]
}
```

**Raw SQL syntax**

For maximum flexibility, use the `raw()` function with database-specific predicates:

```groovy
model User {
  id       Int     @id
  email    String
  status   String

  @@unique([email], where: raw("status = 'active'"))
  @@index([email], where: raw("deletedAt IS NULL"))
}
```

**Type-safe object syntax**

For better type safety, use the object literal syntax for simple conditions:

```groovy
model Post {
  id        Int      @id
  title     String
  published Boolean

  @@index([title], where: { published: true })
  @@unique([title], where: { published: { not: false } })
}
```

### Bug Fixes

Most of these fixes are **community contributions** - thank you to our amazing contributors!

- [**prisma/prisma-engines#5767**](https://github.com/prisma/prisma-engines/pull/5767): Fixed an issue with PostgreSQL migration scripts that prevented usage of `CREATE INDEX CONCURRENTLY` in migrations
- [**prisma/prisma-engines#5752**](https://github.com/prisma/prisma-engines/pull/5752): Fixed BigInt precision loss in JSON aggregation for MySQL and CockroachDB by casting BigInt values to text (from community member [polaz](https://github.com/polaz))
- [**prisma/prisma-engines#5750**](https://github.com/prisma/prisma-engines/pull/5750): Fixed connection failures with non-ASCII database names by properly URL-decoding database names in connection strings
- [**#29155**](https://github.com/prisma/prisma/pull/29155): Fixed silent transaction commit errors in PlanetScale adapter by ensuring COMMIT failures are properly propagated
- [**#29141**](https://github.com/prisma/prisma/pull/29141): Resolved race condition errors (EREQINPROG) in SQL Server adapter by serializing commit/rollback operations using mutex synchronization
- [**#29158**](https://github.com/prisma/prisma/pull/29158): Fixed MSSQL connection string parsing to properly handle curly brace escaping for passwords containing special characters

## Open roles at Prisma

Interested in joining Prisma? We’re growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [Careers page](https://www.prisma.io/careers#current) and find the role that’s right for you. 

## 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.

</Release>

<Release version="7.3.0" date="January 21, 2026" published="2026-01-21T16:09:13.000Z" url="https://github.com/prisma/prisma/releases/tag/7.3.0">
Today, we are excited to share the `7.3.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)!**


## ORM

- [#28976](https://github.com/prisma/prisma/pull/28976): Fast and Small Query Compilers
We've been working on various performance-related bugs since the initial ORM 7.0 release. With 7.3.0, we're introducing a new `compilerBuild` option for the client generator block in `schema.prisma` with two options: `fast` and `small`. This allows you to swap the underlying Query Compiler engine based on your selection, one built for speed (with an increase in size), and one built for size (with the trade off for speed).  By default, the `fast` mode is used, but this can be set by the user:

```groovy
generator client {
  provider = "prisma-client"
  output   = "../src/generated/prisma"
  compilerBuild = "fast" // "fast" | "small"
}
```

We still have more in progress for performance, but this new `compilerBuild` option is our first step toward addressing your concerns!

- [#29005](https://github.com/prisma/prisma/pull/29005): Bypass the Query Compiler for Raw Queries
Raw queries (`$executeRaw`, `$queryRaw`) can now skip going through the query compiler and query interpreter infrastructure. They can be sent directly to the driver adapter, removing additional overhead. 

- [#28965](https://github.com/prisma/prisma/pull/28965): Update MSSQL to v12.2.0
This community PR updates the `@prisma/adapter-mssql` to use MSSQL v12.2.0. Thanks [Jay-Lokhande](https://github.com/Jay-Lokhande)! 

- [#29001](https://github.com/prisma/prisma/pull/29001): Pin better-sqlite3 version to avoid SQLite bug
An underlying bug in SQLite 3.51.0 has affected the `better-sqlite3` adapter. We’ve bumped the version that powers `@prisma/better-sqlite3` and have pinned the version to prevent any unexpected issues. If you are using `@prisma/better-sqlite3` , please upgrade to v7.3.0.

- [#29002](https://github.com/prisma/prisma/pull/29002): Revert `@map` enums to v6.19.0 behavior
In the initial release of v7.0, we made a change with Mapped Enums where the generated enum would get its value from the value passed to the `@map` function. This was a breaking change from v6 that caused issues for many users. We have reverted this change for the time being, as many different diverging approaches have emerged from the community discussion.

- [prisma-engines#5745](https://github.com/prisma/prisma-engines/pull/5745): Cast BigInt to text in JSON aggregation
When using `relationJoins` with BigInt fields in Prisma 7, JavaScript's `JSON.parse` loses precision for integers larger than `Number.MAX_SAFE_INTEGER` (2^53 - 1). This happens because PostgreSQL's `JSONB_BUILD_OBJECT` returns BigInt values as JSON numbers, which JavaScript cannot represent precisely.

    ```
    // Original BigInt ID: 312590077454712834
    // After JSON.parse: 312590077454712830 (corrupted!)
    ```

    This PR cast BigInt columns to `::text` inside `JSONB_BUILD_OBJECT` calls, similar to how `MONEY` is already cast to `::numeric`.
    
    ```
    -- Before
    JSONB_BUILD_OBJECT('id', "id")
    
    -- After
    JSONB_BUILD_OBJECT('id', "id"::text)
    ```

This ensures BigInt values are returned as JSON strings, preserving full precision when parsed in JavaScript.

## Open roles at Prisma

Interested in joining Prisma? We’re growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [[Careers page](https://www.prisma.io/careers#current)](https://www.prisma.io/careers#current) and find the role that’s right for you. 

## 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.

</Release>

<Release version="6.19.2" date="January 13, 2026" published="2026-01-13T12:09:19.000Z" url="https://github.com/prisma/prisma/releases/tag/6.19.2">
Today, we are issuing a 6.19.2 patch release in the Prisma 6 release line. It fixes an issue with Prisma Accelerate support in some edge runtime configurations when the `@prisma/client/edge` entrypoint is not being used.

Changes:
* https://github.com/prisma/prisma/pull/28934
</Release>

<Release version="7.2.0" date="December 17, 2025" published="2025-12-17T15:12:49.000Z" url="https://github.com/prisma/prisma/releases/tag/7.2.0">
Today, we are excited to share the `7.2.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)!**

## Highlights

## ORM

- [#28830](https://github.com/prisma/prisma/pull/28830): feat: add `sqlcommenter-query-insights` plugin
    - Adds a new SQL commenter plugin to support query insights metadata.
- [#28860](https://github.com/prisma/prisma/pull/28860): feat(migrate): add `-url` param for `db pull`, `db push`, `migrate dev`
    - Adds a `-url` flag to key migrate commands to make connection configuration more flexible.
- [#28895](https://github.com/prisma/prisma/pull/28895): feat(config): allow undefined URLs in e.g. `prisma generate`
    - Allows certain workflows (such as `prisma generate`) to proceed even when URLs are undefined.
- [#28903](https://github.com/prisma/prisma/pull/28903): feat(cli): customize `prisma init` based on the JS runtime (Bun vs others)
    - Makes `prisma init` tailor generated setup depending on whether the runtime is Bun or another JavaScript runtime.
- [#28846](https://github.com/prisma/prisma/pull/28846): fix(client-engine-runtime): make `DataMapperError` a `UserFacingError`
    - Ensures `DataMapperError` is surfaced as a user-facing error for clearer, more actionable error reporting.
- [#28849](https://github.com/prisma/prisma/pull/28849): fix(adapter-{pg,neon,ppg}): handle 22P02 error in Postgres
    - Improves Postgres adapter error handling for invalid-text-representation errors (`22P02`).
- [#28913](https://github.com/prisma/prisma/pull/28913): fix: fix byte upserts by removing legacy byte array representation
    - Fixes byte upsert behavior by removing a legacy byte-array representation path.
- [#28535](https://github.com/prisma/prisma/pull/28535): fix(client,internals,migrate,generator-helper): handle multibyte UTF-8 characters split across chunk boundaries in byline
    - Prevents issues when multibyte UTF-8 characters are split across chunk boundaries during line processing.
- [#28911](https://github.com/prisma/prisma/pull/28911): fix(cli): make `prisma version --json` emit JSON only to stdout
    - Ensures machine-readable JSON output is emitted cleanly to stdout without extra noise.

## VS Code Extension

- [#1950](https://github.com/prisma/language-tools/pull/1950): fix: TML-1670 studio connections
    - Resolves issues related to Studio connections, improving reliability for VS Code or language-server integrations.


## Open roles at Prisma

Interested in joining Prisma? We’re growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [[Careers page](https://www.prisma.io/careers#current)](https://www.prisma.io/careers#current) and find the role that’s right for you. 

## 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.
</Release>

<Release version="6.19.1" date="December 11, 2025" published="2025-12-11T12:30:10.000Z" url="https://github.com/prisma/prisma/releases/tag/6.19.1">
Today, we are issuing a patch release for Prisma 6 that includes a fix for a [diffing bug introduced in Prisma 6.13.1](https://github.com/prisma/prisma/issues/28240), which led to incorrectly reported empty diffs.

## Changes
* https://github.com/prisma/prisma-engines/pull/5706
</Release>

<Release version="7.1.0" date="December 3, 2025" published="2025-12-03T13:43:25.000Z" url="https://github.com/prisma/prisma/releases/tag/7.1.0">
Today, we are excited to share the `7.1.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)!**

This release brings quality of life improvements and fixes various bugs.

## Prisma ORM

- [#28735](https://github.com/prisma/prisma/pull/28735): **pnpm monorepo issues with prisma client runtime utils**
  Resolves issues in pnpm monorepos where users would report TypeScript issues related to `@prisma/client-runtime-utils`.

- [#28769](https://github.com/prisma/prisma/pull/28769):  **implement sql commenter plugins for Prisma Client**
  This PR implements support for SQL commenter plugins to Prisma Client. The feature will allow users to add metadata to SQL queries as comments following the [sqlcommenter format](https://google.github.io/sqlcommenter/).

  Here’s two related PRs that were also merged:

  - [#28796](https://github.com/prisma/prisma/pull/28796): **implement query tags for SQL commenter plugin**
  - [#28802](https://github.com/prisma/prisma/pull/28802): **add `traceContext` SQL commenter plugin**

- [#28737](https://github.com/prisma/prisma/pull/28737): **added error message when constructing client without configs**
  This commit adds an additional error message when trying to create a new PrismaClient instance without any arguments.
  Thanks to @xio84 for this community contribution!

- [#28820](https://github.com/prisma/prisma/pull/28820): **mark `@opentelemetry/api` as external in instrumentation**
  Ensures `@opentelemetry/api` is treated as an external dependency rather than bundled.
  Since it is a peer dependency, this prevents applications from ending up with duplicate copies of the package.

- [#28694](https://github.com/prisma/prisma/pull/28694): **allow `env()` helper to accept interface-based generics**
  Updates the `env()` helper’s type definition so it works with interfaces as well as type aliases.
  This removes the previous constraint requiring an index signature and resolves TS2344 errors when using interface-based env types. Runtime behavior is unchanged.
  Thanks to @SaubhagyaAnubhav for this community contribution!

## Read Replicas extension

- [#53](https://github.com/prisma/extension-read-replicas/pull/53): **Add support for Prisma 7**
  Users of the read-replicas extension can now use the extension in Prisma v7. You can update by installing:

  ```bash
  npm install @prisma/extension-read-replicas@latest
  ```

  For folks still on Prisma v6, install version `0.4.1`:
  ```bash
  npm install @prisma/extension-read-replicas@0.4.1
  ```

For more information, [visit the repo](https://github.com/prisma/extension-read-replicas)

## SQL comments

We're excited to announce **SQL Comments** support in Prisma 7.1.0! This new feature allows you to append metadata to your SQL queries as comments, making it easier to correlate queries with application context for improved observability, debugging, and tracing.

SQL comments follow the [sqlcommenter format](https://google.github.io/sqlcommenter/) developed by Google, which is widely supported by database monitoring tools. With this feature, your SQL queries can include rich metadata:

```sql
SELECT "id", "name" FROM "User" /*application='my-app',traceparent='00-abc123...-01'*/
```

### Basic usage

Pass an array of SQL commenter plugins to the new `comments` option when creating a `PrismaClient` instance:

```tsx
import { PrismaClient } from './generated/prisma/client';
import { PrismaPg } from '@prisma/adapter-pg';
import { queryTags } from '@prisma/sqlcommenter-query-tags';
import { traceContext } from '@prisma/sqlcommenter-trace-context';

const adapter = new PrismaPg({
  connectionString: `${process.env.DATABASE_URL}`,
});

const prisma = new PrismaClient({
  adapter,
  comments: [queryTags(), traceContext()],
});
```

### Query tags

The `@prisma/sqlcommenter-query-tags` package lets you add arbitrary tags to queries within an async context:

```tsx
import { queryTags, withQueryTags } from '@prisma/sqlcommenter-query-tags';

const prisma = new PrismaClient({
  adapter,
  comments: [queryTags()],
});

// Wrap your queries to add tags
const users = await withQueryTags(
  { route: '/api/users', requestId: 'abc-123' },
  () => prisma.user.findMany(),
);
```

Resulting SQL:

```sql
SELECT ... FROM "User" /*requestId='abc-123',route='/api/users'*/
```

Use `withMergedQueryTags` to merge tags with outer scopes:

```tsx
import {
  withQueryTags,
  withMergedQueryTags,
} from '@prisma/sqlcommenter-query-tags';

await withQueryTags({ requestId: 'req-123', source: 'api' }, async () => {
  await withMergedQueryTags(
    { userId: 'user-456', source: 'handler' },
    async () => {
      // Queries here have: requestId='req-123', userId='user-456', source='handler'
      await prisma.user.findMany();
    },
  );
});
```

### Trace context

The `@prisma/sqlcommenter-trace-context` package adds W3C Trace Context (`traceparent`) headers for distributed tracing correlation:

```tsx
import { traceContext } from '@prisma/sqlcommenter-trace-context';

const prisma = new PrismaClient({
  adapter,
  comments: [traceContext()],
});
```

When tracing is enabled and the span is sampled:

```sql
SELECT * FROM "User" /*traceparent='00-0af7651916cd43dd8448eb211c80319c-b9c7c989f97918e1-01'*/
```

> Note: Requires @prisma/instrumentation to be configured. The traceparent is only added when tracing is active and the span is sampled.

### Custom plugins

Create your own plugins to add custom metadata:

```tsx
import type { SqlCommenterPlugin } from '@prisma/sqlcommenter';

const applicationTags: SqlCommenterPlugin = (context) => ({
  application: 'my-service',
  environment: process.env.NODE_ENV ?? 'development',
  operation: context.query.action,
  model: context.query.modelName,
});

const prisma = new PrismaClient({
  adapter,
  comments: [applicationTags],
});
```

### Framework integration

SQL comments work seamlessly with popular frameworks, e.g., **Hono**:

```tsx
import { createMiddleware } from 'hono/factory';
import { withQueryTags } from '@prisma/sqlcommenter-query-tags';

app.use(
  createMiddleware(async (c, next) => {
    await withQueryTags(
      {
        route: c.req.path,
        method: c.req.method,
        requestId: c.req.header('x-request-id') ?? crypto.randomUUID(),
      },
      () => next(),
    );
  }),
);
```

Additional framework examples for **Express**, **Koa**, **Fastify**, and **NestJS** are available in the documentation.

For complete documentation, see [SQL Comments](https://www.prisma.io/docs/orm/prisma-client/observability-and-logging/sql-comments). We'd love to hear your feedback on this feature! Please open an issue on [GitHub](https://github.com/prisma/prisma) or join the discussion in our [Discord community](https://pris.ly/discord).

## Open roles at Prisma

Interested in joining Prisma? We’re growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [Careers page](https://www.prisma.io/careers#current) and find the role that’s right for you.

## 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.
</Release>

<Release version="7.0.1" date="November 25, 2025" published="2025-11-25T14:48:37.000Z" url="https://github.com/prisma/prisma/releases/tag/7.0.1">
Today, we are issuing a 7.0.1 patch release focused on quality of life improvements, and bug fixes.

## 🛠 Fixes

- **Prisma Studio**:
  - Support Deno >= 1.4 <2.2 and Bun >= 1 (via https://github.com/prisma/prisma/pull/28583)
  - Fix collisions between user and internal Studio columns when querying (via https://github.com/prisma/prisma/pull/28677)
  - Warn when SQLite file doesn't exist (via https://github.com/prisma/prisma/pull/28711/commits/c33a1ea9e5a94e6a5c876bc4567915cc5f354658)
  - Fix https://github.com/prisma/studio/issues/1363 (via https://github.com/prisma/prisma/pull/28711/commits/07224d4651d043f4b08735eeaa144aa9d75f9fe3)
  - Sort tables alphabetically (via https://github.com/prisma/prisma/pull/28702)

- **Prisma CLI**
  - Fix potential vulnerabilities in installed dependencies (via https://github.com/prisma/prisma/pull/28592)
  - Fix https://github.com/prisma/prisma/issues/28240, an exit code regression affecting `prisma migrate diff` (via https://github.com/prisma/prisma-engines/pull/5699)
  - Show informative message when `prisma db seed` is run, but no `migrations.seed` command is specified in the Prisma config file (via https://github.com/prisma/prisma/pull/28711)
  - Relax `engines` check in `package.json`, to let Node.js 25+ users adopt Prisma, although Node.js 25+ isn't considered stable yet (via https://github.com/prisma/prisma/pull/28600). Thanks @Sajito!

- **Prisma Client**
  - Restore `cockroachdb` support in `prisma-client-js` generator, after it was accidentally not shipped in Prisma 7.0.0 (via https://github.com/prisma/prisma/pull/28690)

- **@prisma/better-sqlite3**
  - Bump underlying version of `better-sqlite3` to `^12.4.5`, fixing https://github.com/prisma/prisma/issues/28624 (via https://github.com/prisma/prisma/pull/28625). Thank you @bhbs!
</Release>

<Release version="7.0.0" date="November 19, 2025" published="2025-11-19T14:04:05.000Z" url="https://github.com/prisma/prisma/releases/tag/7.0.0">
Today, we are excited to share the `7.0.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — and [follow us on X](https://pris.ly/x)!**

# Highlights

Over the past year we focused on making it simpler and faster to build applications with Prisma, no matter what tools you use or where you deploy, with exceptional developer experience at it’s core. This release makes many features introduced over the past year as the new defaults moving forward. 

## Prisma ORM

### ESM Prisma Client as the default

The Rust-free/ESM Prisma Client has been in the works for some time now, all the way [back to v6.16.0](https://www.prisma.io/docs/orm/more/upgrade-guides/upgrading-versions/upgrading-to-prisma-6), with early iterations being available for developers to adopt. Now with version 7.0, we’re making this the default for all new projects. With this, developers are able to get: 

- ~90% smaller bundle sizes
- Up to 3x faster queries
- Significantly simpler deployments

Adopting the new client is as simple as swapping the `prisma-client-js` provider for `prisma-client` in your main `schema.prisma` :

```diff
// schema.prisma
generator client {
- provider = "prisma-client-js"
+ provider = "prisma-client"
}
```

### Prisma Client changes

In v7, we've moved to requiring users pass either an adapter or `accelerteUrl` when creating a new instance of `PrismaClient`. 

For Driver Adapters

```tsx
import { PrismaClient } from './generated/prisma/client';
import { PrismaPg } from '@prisma/adapter-pg';

const adapter = new PrismaPg({ 
  connectionString: process.env.DATABASE_URL 
});
const prisma = new PrismaClient({ adapter });
```

For other databases:

```tsx
// If using SQLite
import { PrismaBetterSqlite3 } from '@prisma/adapter-better-sqlite3';
const adapter = new PrismaBetterSqlite3({
  url: process.env.DATABASE_URL || 'file:./dev.db'
})

// If using MySql
import { PrismaMariaDb } from '@prisma/adapter-mariadb';
const adapter = new PrismaMariaDb({
  host: "localhost",
  port: 3306,
  connectionLimit: 5
});
```

We’ve also removed support for additional options when configuring your Prisma Client

- `new PrismaClient({ datasources: .. })` support has been removed
- `new PrismaClient({datasourceUrl: ..})` support has been removed
- `new PrismaClient()` support has been removed
- `new PrismaClient({})` support has been removed

For Prisma Accelerate users:
```tsx
import { PrismaClient } from "./generated/prisma/client"
import { withAccelerate } from "@prisma/extension-accelerate"

const prisma = new PrismaClient({
  accelerateUrl: process.env.DATABASE_URL,
}).$extends(withAccelerate()) 
```

### Generated Client and types move out of `node_modules`
When running `prisma generate`, the generated Client runtime and project types will now **require** a `output` path to be set in your project’s main `schema.prisma`. We recommend that they be generated inside of your project’s `src` directory to ensure that your existing tools are able to consume them like any other piece of code you might have. 

```groovy
// schema.prisma
generator client {
  provider = "prisma-client"
  // Generate my Client and Project types 
  output   = "../src/generated/prisma"
}
```

Update your code to import `PrismaClient` from this generated output:

```tsx
// Import from the generated prisma client
import { PrismaClient } from './generated/prisma/client';
```

For developers who still need to stay on the `prisma-client-js` but are using the new `output` option, theres’s a new required package, `@prisma/client-runtime-utils` , which needs to be installed:

```bash
# for prisma-client-js users only
npm install @prisma/client-runtime-utils
```

### Removal of implicit Prisma commands
In previous releases, Prisma would run `generate` and `seed` in various situations:

- post-install hook would run `prisma generate`
- `prisma migrate` would run `prisma generate` and `prisma seed`

This behaviour has been removed in favor of explicitly requiring commands to be run by users.

### Removal of `prisma generate` flags

For `prisma generate` , we’ve removed a few flags that were no longer needed: 

- `prisma generate --data-proxy`
- `prisma generate --accelerate`
- `prisma generate --no-engine`
- `prisma generate --allow-no-models`


### Removal of `prisma db` flags

For `prisma db`, we’ve removed the following flag: 

- `prisma db pull --local-d1`
This parameter no longer exists but equivalent functionality can be implemented by defining a config file with a connection string for the local D1 database. We provide a helper function listLocalDatabases in the D1 adapter to simplify the migration:

```ts
import { defineConfig } from '@prisma/config'
import { listLocalDatabases } from '@prisma/adapter-d1'

export default defineConfig({
  datasource: {
    url: `file://${listLocalDatabases().pop()}`,
  },
})
```


### Removal of `prisma migrate` flags

For `prisma migrate diff`, we’ve removed the following flags: 

- `prisma --[from/to]-schema-datamodel`
  - This is now replaced with just `--[from/to]-schema`. The usage is otherwise the same.
- `prisma --[from/to]-url`, `prisma --[from/to]-schema-datasource`
  - These are now replaced with `--[from/to]-config-datasource`. The user is expected to populate the datasource in the config file and use the new flag. We no longer support diffing two different URLs/datasources, since only one config can be used at a time.
- `prisma --[from/to]-local-d1`
  - These are now replaced with `--[from/to]-config-datasource`. The user is expected to populate the datasource in the config file and use the new flag with a minor complication due to the fact that it needs to reference the local D1 database. Our `listLocalDatabases` helper function can be used for that, analogously to the `db pull --local-d1` example above (where the user sets the datasource URL to `file://${listLocalDatabases().pop()}`)

### MongoDB support in Prisma 7
Currently, MongoDB is not supported in Prisma 7. For folks using MongoDB, please stay on Prisma v6. We aim to add support for MongoDB in a future release.

### Driver Adapter naming updates

We’ve standardized our naming conventions for the various driver adapters internally. The following driver adapters have been updated: 

- `PrismaBetterSQLite3` ⇒ `PrismaBetterSqlite3`
- `PrismaD1HTTP` ⇒ `PrismaD1Http`
- `PrismaLibSQL` ⇒ `PrismaLibSql`
- `PrismaNeonHTTP` ⇒ `PrismaNeonHttp`

### Schema and config file updates

As part of a larger change in how the Prisma CLI reads your project configuration, we’ve updated what get’s set the schema, and what gets set in the `prisma.config.ts` . Also as part of this release, `prisma.config.ts` is now required for projects looking to perform introspection and migration.
 
**Schema changes**

- `datasource.url` is now configured in the config file
- `datasource.shadowDatabaseUrl` is now configured in the config file
- `datasource.directUrl` has been made unnecessary and has removed
- `generator.runtime=”react-native”` has been removed

For early adopters of the config file, a few things have been removed with this release

- `engine: 'js'| 'classic'` has been removed
- `adapter` has been removed

A brief before/after:

```groovy
// schema.prisma
datasource db {
  provider = "postgresql"
  url = ".."
  directUrl = ".."
  shadowDatabaseUrl = ".."
}
```

```tsx
// ./prisma.config.ts
export default defineConfig({
  datasource: {
    url: '..',
    shadowDatabaseUrl: '..',
  }
})
```

### Explicit loading of environment variables

As part of the move to Prisma config, we’re no longer automatically loading environment variables when invoking the Prisma CLI. Instead, developers can utilize libraries like `dotenv` to manage their environment variables and load them as they need. This means you can have dedicated local environment variables or ones set only for production. This removes any accidental loading of environment variables while giving developers full control.

### Removed support for `prisma` keyword in `package.json`

In previous releases, users could configure their schema entry point and seed script in a `prisma` block in the `package.json` of their project. With the move to `prisma.config.ts`, this no longer makes sense and has been removed. To migrate, use the Prisma config file instead:

```json
{
  "name": "my-project",
  "version": "1.0.0",
  "prisma": {
    "schema": "./custom-path-to-schema/schema.prisma",
    "seed": "tsx ./prisma/seed.ts"
  }
}
```

```tsx
import 'dotenv/config'
import { defineConfig, env } from "prisma/config";
export default defineConfig({
  schema: "prisma/schema.prisma",
  migrations: {
      seed: "tsx prisma/seed.ts"
  },
  datasource: {...},
});
```

### Removed Client Engines:

We’ve removed the following client engines:

- `LibraryEngine` (`engineType = "library"`, the Node-API Client)
- `BinaryEngine` (`engineType = "binary"`, the long-running executable binary)
- `DataProxyEngine` and `AccelerateEngine` (Accelerate uses a new `RemoteExecutor` now)
- `ReactNativeEngine`

### Deprecated metrics feature has been removed

We deprecated the previewFeature `metrics` some time ago, and have removed it fully for version 7. If you need metrics related data available, you can use the underlying driver adapter itself, like the Pool metric from the Postgres driver.  

### Miscellaneous

- [#28493](https://github.com/prisma/prisma/pull/28493): Stop shimming `WeakRef` in Cloudflare Workers. This will now avoid any unexpected memory leaks.
- [#28297](https://github.com/prisma/prisma/pull/28297): Remove hardcoded URL validation. Users are now required to make sure they don’t include sensitive information in their config files.
- [#28273](https://github.com/prisma/prisma/pull/28273): Removed Prisma v1 detection
- [#28343](https://github.com/prisma/prisma/pull/28343): Remove undocumented `--url` flag from `prisma db pull`
- [#28286](https://github.com/prisma/prisma/pull/28286): Remove deprecated `prisma introspect` command.
- [#28480](https://github.com/prisma/prisma/pull/28480): Rename `/wasm`  to `/edge`
    - This change only affects `prisma-client-js`
    - Before:
        - `/edge` → meant “for Prisma Accelerate”
        - `/wasm` → meant “for Edge JS runtimes (e.g., Cloudflare, Vercel Edge)”
    - After:
        - `/edge` → means “for Edge JS runtimes (e.g., Cloudflare, Vercel Edge)”
- The following Prisma-specific environment variables have been removed
    - `PRISMA_CLI_QUERY_ENGINE_TYPE`
    - `PRISMA_CLIENT_ENGINE_TYPE`
    - `PRISMA_QUERY_ENGINE_BINARY`
    - `PRISMA_QUERY_ENGINE_LIBRARY`
    - `PRISMA_GENERATE_SKIP_AUTOINSTALL`
    - `PRISMA_SKIP_POSTINSTALL_GENERATE`
    - `PRISMA_GENERATE_IN_POSTINSTALL`
    - `PRISMA_GENERATE_DATAPROXY`
    - `PRISMA_GENERATE_NO_ENGINE`
    - `PRISMA_CLIENT_NO_RETRY`
    - `PRISMA_MIGRATE_SKIP_GENERATE`
    - `PRISMA_MIGRATE_SKIP_SEED`

### Mapped enums

If [you followed along on twitter](https://x.com/prisma/status/1988970132690071600), you will have seen that we teased a highly-request user feature was coming to v7.0. That highly-requested feature is…. mapped emuns! We now support the `@map` attribute for enum members, which can be used to set their expected runtime values

```groovy
enum PaymentProvider {
  MixplatSMS    @map("mixplat/sms")
  InternalToken @map("internal/token")
  Offline       @map("offline")

  @@map("payment_provider")
}
```

```tsx
export const PaymentProvider: {
  MixplatSMS: 'mixplat/sms'
  InternalToken: 'internal/token'
  Offline: 'offline'
}
```

## New Prisma Studio comes to the CLI

We launched a new version of Prisma Studio to our Console and VS Code extension a while back, but the Prisma CLI still shipped with the older version. 

Now, with v7.0, we’ve updated the Prisma CLI to include the new Prisma Studio. Not only are you able to inspect your database, but you get rich visualization to help you understand connected relationships in your database. It’s customizable, much smaller, and can inspect remote database by passing a `--url` flag. This new version of Prisma Studio is not tied to the Prisma ORM, and establishes a new foundation for what comes next.

Currently, the new studio only supports Postgres, MySQL, and SQLite, with support for other databases coming in a future release.

For issues related to Prisma Studio, please direct them to the [Studio repo on github](https://github.com/prisma/studio).

![ScreenRecording2025-11-18at7 40 46PM-ezgif com-video-to-gif-converter](https://github.com/user-attachments/assets/0509b554-cbc6-48cc-adc5-ba491759895c)


## Prisma Postgres

[Prisma Postgres](https://www.prisma.io/postgres) is our managed Postgres service, designed with the same philosophy of great DX that has guided Prisma for close to a decade. It works great with serverless, it’s fast, and with simple pricing and a generous free tier. Here’s what’s new:

### Connection Pooling Changes with Prisma Accelerate

With support for connection pooling being added natively to Prisma Postgres, Prisma Accelerate now serves as a dedicated caching layer. If you were using Accelerate for the connection pooling features, don’t worry! Your existing connection string via Accelerate will continue to work, and you can switch to the new connection pool when you’re ready.

### Simplified connection flow

We've made connecting to Prisma Postgres even simpler. Now, when you go to connect to a database, you’ll get new options to enable connection pooling, or to enable Prisma Accelerate for caching. Below, you’ll get code snippets for getting things configured in your project right away.

![Clipboard-20251119-110343-691](https://github.com/user-attachments/assets/172b43ee-70b3-43c7-a3ca-2cc12873d1a4)


### Serverless driver

For those who want to connect to Prisma Postgres but are deploying to environments like Cloudflare Workers, we have a new version of the serverless client library to support these runtimes.

- Compatible with Cloudflare Workers, Vercel Edge Functions, Deno Deploy, AWS Lambda, and Bun
- Stream results row-by-row to handle large datasets with constant memory usage
- Pipeline multiple queries over a single connection, reducing latency by up to 3x
- SQL template literals with automatic parameterization and full TypeScript support
- Built-in transactions, batch operations, and extensible type system

[Check out the serverless driver docs](https://www.prisma.io/docs/postgres/database/serverless-driver) for more details

## Open roles at Prisma

Interested in joining Prisma? We’re growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [Careers page](https://www.prisma.io/careers#current) and find the role that’s right for you. 

## 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.

</Release>

<Release version="6.19.0" date="November 5, 2025" published="2025-11-05T13:19:16.000Z" url="https://github.com/prisma/prisma/releases/tag/6.19.0">
Today, we are excited to share the `6.19.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)**

# Highlights

This release brings a lot of bug fixes and improvements to both the ORM and Prisma Postgres. 

## [Prisma ORM](https://www.prisma.io/orm)

Prisma ORM is the most popular ORM in the TypeScript ecosystem. Today’s release brings a bunch of new bug fixes and overall improvements:

- [#5675](https://github.com/prisma/prisma-engines/pull/5675): When dropping a model from a schema, do not append the default schema to the migration.
- [#5656](https://github.com/prisma/prisma-engines/pull/5656): Align naming conventions for fields and relation fields
- [#28341](https://github.com/prisma/prisma/pull/28341): Add biome ignore comments to generated client files. This was a community contribution from [@lonelyevil](https://github.com/lonelyevil), thank you!


## [Prisma Postgres](https://www.prisma.io/postgres)

[Prisma Postgres](https://www.prisma.io/postgres) is our fully managed Postgres service, designed with the same philosophy of great DX that has guided Prisma for close to a decade. With this release, we are introducing the following improvements:

### Connection pooling with Prisma Postgres

We added support for direct connections in 6.17, opening Prisma Postgres up to working with any tool in the wider Postgres ecosystem. Now, you can confirm that connection to support connection pooling by appending the query parameter `pool=true` to the connection string. 

```
postgres://555555..../postgres?sslmode=require&pool=true
```

## VS Code extension

A frequently requested feature is to be able to use a [local Prisma Postgres database](https://www.prisma.io/docs/postgres/database/local-development) within our VS Code Extension without having to log in. In this release, we’re happy to share that this is now supported! Now you can work on your project without having to connect to the database remotely.

<img width="1920" height="816" alt="Screenshot 2025-10-31 at 3 56 59 PM" src="https://github.com/user-attachments/assets/8fe7b8ea-6190-42ea-a9e0-160a7164dc5b" />

[#1924](https://github.com/prisma/language-tools/pull/1924): previewFeatures = "" suggestion results in "[]" value

### Preparing for Prisma v7

Prisma v7 is almost here, and we’ve been making many of the feature in it available ahead of its release. If you haven’t been keeping your version of `prisma`, `@prisma/client` up to date, now is the time to do so before the release. Many of the changes we’ve introduced over the 6.x release cycle will become the default in v7.

- Unified Prisma Config for project configuration
- Move from `prisma-client-js` `prisma-client`
- New `engine` and `datasource` keys in `prisma.config.ts`

## Open roles at Prisma

Interested in joining Prisma? We’re growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [Careers page](https://www.prisma.io/careers#current) and find the role that’s right for you. 

## 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.

</Release>

<Release version="6.18.0" date="October 22, 2025" published="2025-10-22T10:30:44.000Z" url="https://github.com/prisma/prisma/releases/tag/6.18.0">
Today, we are excited to share the `6.18.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)!**

# Prisma ORM

Prisma ORM is the most popular ORM in the TypeScript ecosystem. Today’s release brings a bunch of new bug fixes and overall improvements:

- `prisma init` now creates a `prisma.config.ts` automatically

When creating a new project with 6.18.0, `prisma init` will now create a `prisma.config.ts` file automatically. This prepares new applications for the future of Prisma 7. Some fields that have been historically set in the `schema.prisma` file are now able to be set in the `prisma.config.ts`, and we encourage people to migrate over to the new structure before the release of version 7, where this file will become a requirement. 

- Support for defining your `datasource` in `prisma.config.ts`

If you’re adopting the new `prisma.config.ts` setup in your projects, version 6.18.0 brings the ability to set your datasource directly in your config file. Once this is in your config file, any datasource set in your `schema.prisma` will be ignored.  To set the datasource, we also must include the new `engine` key which we can set to `"classic"` , which will be required for Prisma v7

```tsx
import { defineConfig, env } from "prisma/config";
export default defineConfig({
    // The Rust-compiled schema engine 
    engine: "classic",
    datasource: {
        url: env('DATABASE_URL'),
    }
});
```

- https://github.com/prisma/prisma/pull/28291 Support multiple Prisma instances with different providers
- https://github.com/prisma/prisma/pull/28305 Add `env` helper function
- https://github.com/prisma/prisma/pull/28266 Add support for `js` or `classic` as engine types in `prisma.config`
- https://github.com/prisma/prisma/pull/28139 Map `Bytes` to `Uint8Array` depending on Typescript version

### Preparing for Prisma v7

While it has been mentioned a few times already, many of the changes in this release are here to prepare folks for the upcoming release of Prisma v7. It’s worth repeating that these changes and the migration to `prisma.config.ts` will be required for Prisma v7, so we’re releasing this as opt-in features for developers. But come Prisma v7, they will be the new way of configuring your project.

# [Prisma Postgres](https://www.prisma.io/postgres)

[Prisma Postgres](https://www.prisma.io/postgres) is our fully managed Postgres service designed with the same philosophy of great DX that has guided Prisma for close to a decade. With this release we are introducing the following improvements:

### Database Metric in Console

Inside of your database console, you can now view metrics on your database usage and interactions. You can get insights into the follow:

- Total egress
- Average response size
- Average query duration

In addition, you can also get insights into how to improve your query caching and gain better performance.  

## Open roles at Prisma

Interested in joining Prisma? We’re growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [Careers page](https://www.prisma.io/careers#current) and find the role that’s right for you. 

## 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.
</Release>

<Release version="6.17.1" date="October 10, 2025" published="2025-10-10T14:38:28.000Z" url="https://github.com/prisma/prisma/releases/tag/6.17.1">
Today, we are issuing a patch release to address a [regression in v6.17.0 that affected diffing of unsupported types](https://github.com/prisma/prisma/issues/28237), leading to unnecessary or incorrect changes when creating new migrations or running `db pull`. This update is recommended for all users who have any fields marked as `Unsupported` in their schema files.

## Changes
* https://github.com/prisma/prisma-engines/pull/5633
</Release>

<Release version="6.17.0" date="October 7, 2025" published="2025-10-07T17:59:53.000Z" url="https://github.com/prisma/prisma/releases/tag/6.17.0">
Today, we are excited to share the `6.17.0` stable release 🎉

**🌟 Star this repo for notifications about new releases, bug fixes & features — or [follow us on X](https://pris.ly/x)!**

## Prisma ORM

Prisma ORM is the most popular ORM in the TypeScript ecosystem. Today's release brings a number of bug fixes and improvements to Prisma ORM. 

### Bug fixes and improvements

- Added support for Entra ID (ActiveDirectory) authentication parameters for the MS SQL Server driver adapter. For example, you can use the `config` object to configure [DefaultAzureCredential](https://learn.microsoft.com/en-gb/azure/developer/javascript/sdk/authentication/credential-chains#use-defaultazurecredential-for-flexibility):
  ```ts
  import { PrismaMssql } from '@prisma/adapter-mssql'
  import { PrismaClient } from '@prisma/client'

  const config = {
    server: 'localhost',
    port: 1433,
    database: 'mydb',
    authentication: {
      type: 'azure-active-directory-default',
    },
    options: {
      encrypt: true,
    },
  }

  const adapter = new PrismaMssql(config)
  const prisma = new PrismaClient({ adapter })
  ```
  Learn more in this  [PR](https://github.com/prisma/prisma/pull/28156/files#diff-351f5d894309f058776099c378e3956271f34f34c04e2b54576045b9773ab61aR61-R62).
- Relaxed the support package range for `@opentelemetry/instrumentation` to be compatible with `">=0.52.0 <1"`. Learn more in this [PR](https://github.com/prisma/prisma/pull/28199/files).
- Added Codex CLI detection, ensuring dangerous Prisma operations are not executed by Codex without explicit user consent. Learn more in this [PR](https://github.com/prisma/prisma/pull/28159).
- Fixed JSON column handling when using a MariaDB database. Learn more in this [PR](https://github.com/prisma/prisma/pull/28211).
- Restored the original behaviour of group-by aggregations where they would refer to columns with explicit table names which fixes a regression that would result in ambiguous column errors. Learn more in this [PR](https://github.com/prisma/prisma-engines/pull/5629).

## Prisma Postgres

[Prisma Postgres](https://www.prisma.io/postgres) is our fully managed Postgres service designed with the same philosophy of great DX that has guided Prisma for close to a decade. With this release we are introducing the following improvements:

### New usage workspace metrics available in your Console Dashboard

The Dashboard in your [Prisma Console](https://console.prisma.io) account now displays new metrics about your Prisma Postgres usage:

- Key metrics
  - Estimated upcoming invoice
  - Total storage used
  - Total DBs
- Overall usage
  - Cumulative operations
  - Operations per day

### Using Prisma Postgres with any tool is ready for production

Previously, the only way to connect to Prisma Postgres was using Prisma ORM. That combination is great because it gives you connection pooling, global caching and overall an amazing DX.

That being said, we understand that preferences vary and some developers prefer to use plain SQL or lower-level query builders in their applications. As of this release, these ways for connecting to Prisma Postgres are now officially generally available and can be used in your production apps!

You can connect using Drizzle, Kysely, TypeORM, `psql`, or _any other_ Postgres-compatible library, database migration [tools like Atlas](https://atlasgo.io/) or interfaces like DBeaver, Postico, and more.

📚 Learn more in the [docs](https://www.prisma.io/docs/postgres/database/direct-connections).

## 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.
</Release>

<Release version="6.16.3" date="September 30, 2025" published="2025-09-30T14:17:29.000Z" url="https://github.com/prisma/prisma/releases/tag/6.16.3">
Today, we are issuing a 6.16.3 patch release focused on bug fixes.

## 🛠 Fixes

* **Prisma Client** (`prisma-client` generator): fixed missing JSON null type definitions (`JsonNull`, `DbNull`, `AnyNull`) in the `browser.ts` entrypoint. _(https://github.com/prisma/prisma/pull/28186)_

* **Prisma Migrate**: don't add the default schema (namespace) to the generated migrations unless it was specified explicitly in the schema file. This restores the pre-6.13.0 behaviour that was inadvertently changed with enabling multi-schema support by default. Users who rely on database schemas for multi-tenancy can now again use the same migration files for all of their schemas. _(https://github.com/prisma/prisma-engines/pull/5614)_

* **Prisma Client**: enabled negative `take` with `findFirst` again. _(https://github.com/prisma/prisma-engines/pull/5616 — contributed by @jay-l-e-e)_

* **Prisma Accelerate**: aligned the behaviour of the new Rust-free client with Query Engine to handle self-signed certificates consistently and ensure backward compatibility.  _(https://github.com/prisma/prisma/pull/28134)_

* **`@prisma/adapter-mariadb`**: fixed error event listeners leak. _(https://github.com/prisma/prisma/pull/28177 — contributed by @Tiaansu)_

## ⚠️ Known Limitation: JSON null types in browser builds

The fix introduces the missing types, but the singleton instances differ between the client and browser entrypoints of the generated client. This means that values like `Prisma.JsonNull` imported from browser cannot yet be assigned to fields expected from the client entrypoint, and vice versa. This results in confusing TypeScript errors if you mix them. A follow-up improvement is planned to unify these utility types across entrypoints.
</Release>

<Pagination cursor="2025-09-30T14:17:29.000Z|2026-03-31T14:07:51.961Z|rel_kVF3Q5c84wlDzEVATjBzs" next="https://releases.sh/prisma/prisma.md?cursor=2025-09-30T14%3A17%3A29.000Z%7C2026-03-31T14%3A07%3A51.961Z%7Crel_kVF3Q5c84wlDzEVATjBzs&limit=20" />
