Prisma Client is an auto-generated, type-safe and modern JavaScript/TypeScript ORM for Node.js that's tailored to your data. Supports PostgreSQL, CockroachDB, MySQL, MariaDB, SQL Server, SQLite & MongoDB databases.
Last release 4 days ago
01 Sep 2026
Ships fairly regularly
a new release about every 1 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
7 years old
10657 releases · first in 2020
One column per quarter.
Today, we are excited to share the 6.15.0 stable release 🎉
🌟 Star this repo for notifications about new releases, bug fixes & features — or follow us on X!
Prisma ORM now includes built-in safety checks that protect against destructive commands when triggered by AI coding assistants. The CLI can recognize when it is being executed by popular AI agents such as Claude Code, Gemini CLI, Qwen Code, Cursor, Aider and Replit.
If a command like prisma migrate reset --force is attempted, Prisma ORM will prompt for explicit confirmation before proceeding.
This feature ensures that irreversible operations which drop and recreate the database are not executed automatically by an AI tool. Prisma ORM is the first ORM to provide this level of protection, making it safer to use AI-assisted development while working with your databases.
📚 Learn more in the docs.
prisma-client: runtime improvements and schema flexibilityWe simplified Prisma ORM by making the runtime options for the Prisma Client more consistent and easier to understand. Previously there were several overlapping aliases which created confusion. With this release we simplified the inputs while keeping support for all the major environments you might be targeting.
Changes include:
node has been removed, use runtime = "nodejs" insteaddeno-deploy has been removed, use runtime = "deno" insteadvercel has been replaced by the new runtime = "vercel-edge"edge-light is now just an alias for vercel-edgenodejs, deno, and bun now share the same internal code path, while still keeping their separate input values for clarityThe updated list of supported runtimes is now:
nodejs, deno, bun, workerd (alias cloudflare), vercel-edge (alias edge-light), and react-native.
In addition, we fixed an issue where running prisma generate would fail if your schema contained no models. This is now supported with the new prisma-client generator, just like it already worked with the older prisma-client-js generator.
For example, the following schema will now generate a client without errors:
generator client {
provider = "prisma-client"
output = "../generated/client"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
Running prisma generate with this schema will succeed and create the client in ./generated/client.
📚 Learn more in the docs.
Fluid compute is a new compute model from Vercel that combines the flexibility of serverless with the stability of servers, making it ideal for dynamic workloads such as streaming data and AI APIs.
A common challenge in traditional serverless platforms is that when functions are suspended, database connection pools can’t close idle connections. This leads to leaked connections that stay open until the database times them out, which can exhaust the pool.
Vercel provides the attachDatabasePool utility to solve this problem. It ensures idle connections in the pool are properly released before a function is suspended, preventing connection leaks.
You can use this utility together with Prisma’s driver adapters to safely manage database connections in Fluid Compute:
import { Pool } from "pg";
import { attachDatabasePool } from "@vercel/functions";
import { PrismaPg } from "@prisma/adapter-pg";
import { PrismaClient } from "./generated/prisma/client";
const pool = new Pool({ connectionString: process.env.POSTGRES_URL });
attachDatabasePool(pool);
const prisma = new PrismaClient({
adapter: new PrismaPg(pool),
});
📚 Learn more in the docs.
The Prisma Postgres Management API allows you to programmatically provision and manage Prisma Postgres instances. It’s the perfect way to spin up a database in your CI/CD workflow, see our GitHub Action examples for creating and deleting if you’re curious about this use case.
It also enables developers to offer databases to their own users! For example, did you know that Co.dev (YC23), a popular “low-code AI app builder” is using the Management API to provision Prisma Postgres instances to people building apps with their platform?
We’re excited to share that the Management API is now fully ready for production. With it moving into GA, we also added another piece of functionality where you can now create new projects without a default database.
We’re looking forward to see what you’re going to build with it!
📚 Learn more in the docs.
Prisma Postgres can now be used directly in your Pipedream workflows 🎉
With this integration, you can connect Prisma Postgres to over 2,800+ apps supported on Pipedream, enabling powerful automations and data workflows. For example, you can:
This makes it easier than ever to use Prisma Postgres in your automation pipelines, without needing to manage custom scripts or infrastructure.
📚 Learn more on the Pipedream integration page.
<img width="1624" height="994" alt="Screenshot 2025-08-26 at 3 15 19 PM" src="https://github.com/user-attachments/assets/f0d98f8f-362d-4887-baeb-019ed9625c66" />
--json flag for npx create-dbThe npx create-db command lets you spin up a temporary, production-ready Prisma Postgres database that you can later claim for continued use. With this release, you can now add the --json flag to return the database details in JSON format.
This makes it straightforward to programmatically use the connection details, whether you are building custom APIs or integrating database provisioning into your workflows.
📚 Learn more in the docs.
Direct connections enable you to connect to your database using any ORM library or tool of your choice (e.g. Drizzle ORM, Kysely but also database GUIs like Postico or TablePlus).
In this release, we’ve improved the robustness of direct TCP connections and are close to bringing it to General Availability.
📚 Learn more in the docs.
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.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Today, we are excited to share the 6.14.0 stable release 🎉
🌟 Star this repo for notifications about new releases, bug fixes & features — or follow us on X!
@unique attributes for SQL views (Preview)Last release, we improved the robustness of SQL views defined in the Prisma schema. Views are virtual tables that don't allows for defining unique constraints, indexes or foreign keys in the underlying database.
However, as an application developer, it can be convenient to also define relationships involving views or paginate them using cursors. We've received this feedback from several people who had been using views in that way with Prisma ORM, so in this release we're re-introducing the @unique attribute for views. This attribute enables:
findUnique queries, cursor-based pagination & implicit ordering for viewsHere's an example schema using @unique and defining a relationship from a model to a view:
model User {
id Int @id @default(autoincrement())
email String @unique
posts Post[]
stats UserPostStats? @relation(fields: [email], references: [userEmail])
}
model Post {
id Int @id @default(autoincrement())
title String
published Boolean @default(false)
createdAt DateTime @default(now())
authorId Int?
author User? @relation(fields: [authorId], references: [id])
}
view UserPostStats {
userEmail String @unique
totalPosts BigInt?
publishedPosts BigInt?
unpublishedPosts BigInt?
latestPostDate DateTime? @db.Timestamp(6)
user User?
}
<details><summary>Expand to view the SQL code for this view</summary>
CREATE OR REPLACE VIEW "UserPostStats" AS
SELECT
u.email AS "userEmail",
u.name AS "userName",
COUNT(p.id) AS "totalPosts",
COUNT(CASE WHEN p.published = true THEN 1 END) AS "publishedPosts",
COUNT(CASE WHEN p.published = false THEN 1 END) AS "unpublishedPosts",
MAX(p."createdAt") AS "latestPostDate"
FROM "User" u
LEFT JOIN "Post" p ON u.id = p."authorId"
GROUP BY u.id, u.email, u.name;
</details>
You can now query this view and its relationship using include:
const userPostStats = await prisma.userPostStats.findMany({
include: {
user: true,
}
})
📚 Learn more in the docs.
prisma-client generator and the queryCompiler Preview feature (aka “Prisma Client without Rust engines”). Both will become the default in the upcoming Prisma 7 release and we're working hard on bringing these features into General Availability. You can try them out with your favorite stack with our ready-to-run examples.prisma.$use method), which was deprecated since v4.16.0. Use Prisma Client extensions instead.metrics Preview feature (which will be removed in Prisma 7)In this release, we also addressed some type performance issues that led to slower editors and lagging auto-complete. If you're curious about the details, you can check the description and changes in this PR.
We recently released an API for programmatically managing Prisma Postgres instances that's perfect for CI/CD workflows and scripting.
In this release, we made it more robust and are bringing it closer to its General Availability release.
If you use OAuth to authorize third-party applications to act on your behalf in the Prisma Console, you can now revoke any app's access at any time. The Prisma Console shows a list of your authorized (connected) apps, and you can easily remove one to immediately block further access.
Last release was huge, so just in case you missed it, here's the TLDR of what we put out last time:
prisma.config.ts) is Generally Available – Native way to configure schema paths, migrations, seeds, and more; no need for earlyAccess flag anymore.@@schema.pgvector, pg_search, pg_stat_statements, citext, pg_trgm, fuzzystrmatch, and unaccent. If you don't see the extension you need, you can request it here. Extensions only work on new instances, if you want to use any of them on your existing instance, reach out to us.npx create-db – Instantly spin up a new Postgres database—no authentication required.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version