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 2 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.
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
We’re excited to share the 5.0.0 release today 🎉
Prisma 5.0.0 contains a lot of changes that improve Prisma’s performance, especially in serverless environments. If you want to learn more about the performance improvements, we wrote a blog post that sums up all the changes we made: Prisma 5: Faster by Default.
As this is a major release, it includes a few breaking changes that might affect a small group of our users. Before upgrading, we recommend that you check out our upgrade guide to understand the impact on your application.
🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟
Here’s a summary of the changes:
jsonProtocol: improves communication between Prisma Client and the query engine, makes Prisma faster by default.fieldReference: adds support for comparing columns of the same table.extendedWhereUnique: adds support for non-unique columns inside where clauses for queries that operate on unique records.rejectOnNotFound propertycockroachdb provider is now required when connecting to a CockroachDB databaseruntime/index.js from the generated Prisma ClientbeforeExit hook from the library engineprisma2 executableexperimentalFeatures generator property in the Prisma schemamigration-engine to schema-engineWe’re thrilled to announce that the jsonProtocol Preview feature is now Generally Available. You can now remove the Preview feature flag from your schema after upgrading. We made the JSON-based wire protocol the default protocol used for communication between Prisma Client and the query engine.
We introduced this feature in version 4.11.0 to improve Prisma’s performance. Previously, Prisma used a GraphQL-like protocol to communicate between Prisma Client and the query engine. Applications with larger schemas had higher CPU and memory consumption compared to smaller schemas which created a performance bottleneck.
The JSON-based wire protocol improves efficiency when Prisma Client is communicating with the query engine.
We took the opportunity to remove some array shortcuts to make our typings more consistent and logical. These shortcuts were a way to add a single element as a value to an array-based operator instead of wrapping a single element in an array. We will now require array values for the following:
OR operator shortcutsin and notIn operator shortcutspath field shortcutHere’s an example query using the OR operator shortcut for a single element;
await prisma.user.findMany({
where: {
- OR: { email: '[email protected]' }
+ OR: [{ email: '[email protected]' }]
}
})
We recommend taking a look at the upgrade guide to learn how you can update your queries to work in Prisma 5.
We’re excited to announce that the fieldReference Preview feature is now stable and Generally Available. This means you can use this feature without the Preview feature flag in your Prisma schema.
We first introduced this feature in 4.5.0 to add the ability to compare columns on the same table. For example, the following query returns records where the quantity value is less than the warnQuantity of a product:
await prisma.product.findMany({
where: {
quantity: { lte: prisma.product.fields.warnQuantity }
},
})
To learn more about this feature, refer to our documentation.
We’re excited to announce the extendedWhereUnique Preview feature is now Generally Available. This means you can use the feature without the Preview feature flag in the Prisma schema.
We first introduced this feature in version 4.5.0 to add support for non-unique columns inside where clauses for queries that operate on unique records, such as findUnique, update, and delete, which was previously not possible.
For example, consider the following model:
model Article {
id Int @id @default(autoincrement())
content String
version Int
}
You can filter on non-unique columns such as the version field as follows:
await prisma.article.findUnique({
where: {
id: 5,
version: 1 // filter on the `version` field was not available before Prisma 4.5.0
},
});
To learn more about this feature, refer to our documentation.
The minimum version of Node.js Prisma supports is 16.13.0. If you're using an earlier version of Node.js, you will need to upgrade your Node.js version.
Refer to our system requirements for the minimum versions Prisma requires.
The minimum version of TypeScript Prisma supports is 4.7. If your project is using an earlier version of TypeScript, you will need to upgrade your TypeScript version.
Refer to our system requirements for the minimum versions Prisma requires.
The minimum version of PostgreSQL Prisma supports is version 9.6. If you’re either using 9.4 or 9.5, you will need to update your PostgreSQL version to at least 9.6.
Refer to our system requirements for the minimum database versions Prisma requires.
We upgraded the embedded version of SQLite from 3.35.4 to 3.41.2. We do not anticipate any breaking changes or changes needed in projects using SQLite. However, if you’re using SQLite, especially with raw queries that might go beyond Prisma's functionality, make sure to check the SQLite changelog.
rejectOnNotFound propertyIn version 5.0.0, we removed the rejectOnNotFound parameter from Prisma Client that was deprecated in version 4.0.0. We removed this feature to provide better type-safety using the findUniqueOrThrow and findFirstOrThrow methods as well have a consistent API.
If you are using the rejectOnNotFound parameter we recommend either:
findFirstOrThrow or findUniqueOrThrow methods if enabled at a query-levelfindFirstOrThrow and findUniqueOrThrow model methods with your custom error handling if enabled at the client-levelWe recommend taking a look at the upgrade guide for more information on how to adapt your application if you’re using rejectOnNotFound.
cockroachdb provider is now required when connecting to a CockroachDB databasePrior to adding explicit support for CockroachDB with the cockroachdb provider in 3.9.0, it was possible to use the PostgreSQL provider when working with CockroachDB databases.
We’re now making it mandatory to use the CockroachDB connector when working with CockroachDB databases. CockroachDB and PostgreSQL have a few differences such as the available native types which impact the generated migrations.
If you were using the PostgreSQL connector to work with CockroachDB, take a look at the upgrade guide to learn how you can update your connector.
runtime/index.js file from Prisma ClientWith Prisma 5, we removed the runtime/index.js file from Prisma Client. If you were using APIs from runtime/index.js, such as Decimal , PrismaClientKnownRequestError, NotFoundError, PrismaClientUnknownRequestError, we recommend updating your imports:
- import { Decimal } from '@prisma/client/runtime'
+ import { Prisma } from '@prisma/client'
// Usage update of Prisma Client's utilities
- Decimal
+ Prisma.Decimal
We recommend taking a look at the upgrade guide to learn how you can migrate to Prisma 5
beforeExit hook from the library query engineWe removed the beforeExit hook from the default library Query Engine. We recommend using the built-in Node.js exit events.
-prisma.$on('beforeExit', () => { /* your code */ })
// Replacements
process.on('beforeExit', () => { /* your code */ })
process.on('exit', exitHandler)
process.on('SIGINT', exitHandler)
process.on('SIGTERM', exitHandler)
process.on('SIGUSR2', exitHandler)
We recommend taking a look at the upgrade guide to learn how you can migrate to Prisma 5.
prisma2 executableWhen we released Prisma 2, the prisma2 executable was used to differentiate it from Prisma 1. In a later release, the prisma2 CLI took over the prisma executable name.
The prisma2 executable has been deprecated for a while and will now be removed. If you’re using prisma2 in your scripts, replace it with prisma.
We removed the following deprecated flags in the Prisma CLI:
--preview-feature: used in the prisma db execute, prisma db seed, and prisma migrate diff commands--experimental and --early-access-feature: used in the prisma migrate commands such as prisma migrate dev--force: for prisma db push. The --force flag was replaced by --accept-data-loss in version 2.17.0--experimental-reintrospection and --clean: for prisma db pullIn the event you’re using one of these flags, we recommend removing the flags.
experimentalFeatures generator propertyIn this release, we removed the experimentalFeatures property that used to be in the generator property in the Prisma schema but has been renamed to previewFeatures for a long time now. If you’re still using this property, you can either manually rename it to previewFeatures or use the VS Code action to rename it if you’re using the latest version of the Prisma VS Code extension.
migration-engine to schema-engineIn this release, we renamed the migration-engine, responsible for running introspection and migration commands, to schema-engine . For the majority of our users, no changes will be required. However, if you explicitly include or exclude the engine files you will need to update your code references. Refer to the upgrade guide for more information.
create call<Model>RelationFilterInput does not take nullability into accountOR broke after opting in to jsonProtocol feature.jsonProtocol)jsonProtocol GA binaries.prisma.sh/all_commits/rejectOnNotFoundruntime/index.js bundle from clientprisma dev commandphotonResolver and provider=photonjs handlingfieldReference GAextendedWhereUnique GAprisma2 "executable"$extend in factory function when compilerOptions.composite is truequery type to neverThe package "path" wasn't found on the file system but is built into nodeundefined explicitly passed to select/includeprovider = "postgresql" an errorexperimentalFeatures generator propertydb pull: Remove the version checker from introspectiondoctor commandexperimentalFeatures generator propertyexperimentalFeaturesHuge thanks to @michaelpoellath, @RobertCraigie, @Coder246, @RDIL, @oohwooh, @rqres, @zhiyan114, @spudly, @hayes, @boennemann, @DongGunYoon for helping!
Learn about the latest release and other news from the Prisma community by joining us for another "What's new in Prisma" live stream.
The stream takes place on YouTube on Thursday, July 13 at 5 pm Berlin | 8 am 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
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version