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 6 days ago
27 Aug 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
10653 releases · first in 2020
One column per quarter.
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
Nothing published for this version
Nothing published for this version
Today, we are excited to share the 2.20.0 stable release 🎉
🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟
This highly requested feature is now in Preview. You can now count the number of related records by passing _count to the select or include options and then specifying which relation counts should be included in the resulting objects via another select.
For example, counting the number of posts that an user has written:
const users = await prisma.user.findMany({
include: {
_count: {
select: { posts: true },
},
},
})
The structure of the returned User objects is as follows:
{
id: 1,
email: '[email protected]',
name: 'Alice',
_count: { posts: 2 }
}
You can enable this featrues with the selectRelationCount feature flag:
generator client {
provider = "prisma-client-js"
previewFeatures = ["selectRelationCount"]
}
There may be some rough edges during the Preview period. If you run into any problems, you can reach us in this issue.
Node-API is now in PreviewNode-API is a new technique for binding Prisma's Rust-based query engine directly to Prisma Client. This reduces the communication overhead between the Node.js and Rust layers when resolving Prisma Client's database queries.
You can enable this feature with the napi feature flag:
generator client {
provider = "prisma-client-js"
previewFeatures = ["napi"]
}
Enabling the Node-API will not affect your workflows in any way, the experience of using Prisma will remain exactly the same.
The Node-API has different runtime characteristics than the current communication layer between Node.js and Rust.
There may be some rough edges during the Preview period. If you run into any problems, you can reach us in this issue.
push operation available for arrays on PostgreSQLPostgreSQL supports array data structures (sometimes also called scalar lists). As an example, consider the permissions field on the following User model:
model User {
id Int @id @default(autoincrement())
permissions String[]
}
As of this release, you can append a new item to existing lists atomically with the push command:
await prisma.user.update({
where: { id: 42 },
data: {
permission: {
push: "chat:read",
},
},
})
Learn more in this issue.
groupBy and createMany are now Generally AvailableFor the pioneers among you, you can now remove the groupBy and createMany from your Preview features:
generator client {
provider = "prisma-client-js"
- previewFeatures = ["groupBy", "createMany"]
}
Learn more in our documentation about groupBy and createMany.
BigInt, Decimal and BytesPrisma Client Go continues to get more powerful every release. With this release, we've added support for more native database types: BigInt, Decimal and Bytes:
var views db.BigInt = 1
bytes := []byte("abc")
dec := decimal.NewFromFloat(1.23456789)
created, err := client.User.CreateOne(
db.User.Picture.Set(bytes),
db.User.Balance.Set(dec),
db.User.Views.Set(views),
).Exec(ctx)
@prisma/cli package has reached its end of lifeFor all you holdovers, you've seen warnings like this for a couple months now:
warn @prisma/cli has been renamed to prisma.
Please uninstall @prisma/cli: npm remove @prisma/cli
And install prisma: npm i prisma
It's now time to upgrade. Follow the instructions and switch over to the new prisma package today:
npm remove @prisma/cli
npm install -D prisma
Thanks to this change, running npx prisma will now always invoke the right Prisma CLI, no matter what your local setup looks like.
yarn remove @prisma/cli
yarn add -D prisma
.aggregate will change to return null in 2.21.0Subscribe to this issue for updates on how to prepare your code.
Schema is inconsistent error messageprisma format cli commandprisma migrate set field as unique automaticallypush method to scalar list update input in addition to setResult::unwrap() on an Err value: FieldNotFound { name: "origin", model: "Field not found in record Record { values: [Int(1011), String("https://woman.mynavi.jp/article/190924-7/")], parent_id: None }. Field names are: ["id", "link"], looking for: "origin"" }SKIP_GENERATE from Client postinstall script to PRISMA_SKIP_POSTINSTALL_GENERATEWe fixed two security issues:
Big thanks to @erik-krogh (Erik Krogh Kristensen) and @Ry0taK for reporting these issues.
Huge thanks to @endor, @iBluemind, @matthewmueller, @paularah, @Iamshankhadeep for helping!
Learn about the latest release and other news from the Prisma community by joining us for another "What's new in Prisma" livestream.
The stream takes place on Youtube on Thursday, April 01 at 5pm Berlin | 8am San Francisco.
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