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 3 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
Release timeline
10653 releases since 2020One column per quarter.
Releases
- 5.1.0-dev.3219 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.3119 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.3019 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.2919 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.2818 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.2718 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.2618 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.2518 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.2418 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.2318 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.2218 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.2118 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.1918 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.1818 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.1718 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.1618 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.1518 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.1418 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.1318 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.1218 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.1118 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.1018 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.918 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.817 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.715 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.614 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.512 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.412 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.312 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.212 Jul 2023pre-release
Nothing published for this version
- 5.1.0-dev.111 Jul 2023pre-release
Nothing published for this version
- 5.0.011 Jul 2023
Release notes
Open source →We’re excited to share the
5.0.0release today 🎉Prisma
5.0.0contains 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. 🌟
Highlights
Here’s a summary of the changes:
- Preview features moved to General Availability
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 insidewhereclauses for queries that operate on unique records.
- General improvements and breaking changes
- Dependency version changes
- Minimum Node.js version change to 16.13.0
- Minimum TypeScript version change to 4.7
- Minimum PostgreSQL version change to 9.6
- Prisma Client embedded SQLite version upgrade to 3.41.2
- Main Changes
- Removal of
rejectOnNotFoundproperty - Removal of some array shortcuts
cockroachdbprovider is now required when connecting to a CockroachDB database- Removed
runtime/index.jsfrom the generated Prisma Client
- Removal of
- Other Changes
- Removal of deprecated flags in the Prisma CLI
- Removal of the
beforeExithook from the library engine - Removal of deprecated
prisma2executable - Removal of deprecated
experimentalFeaturesgenerator property in the Prisma schema - Renamed
migration-enginetoschema-engine
- Dependency version changes
A JSON-based protocol that improves Prisma’s performance
We’re thrilled to announce that the
jsonProtocolPreview 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.
Removal of array shortcuts
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:
ORoperator shortcutsinandnotInoperator shortcuts- PostgreSQL JSON
pathfield shortcut - Scalar list shortcuts
- MongoDB Composite types list shortcuts
Here’s an example query using the
ORoperator 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.
Support for comparing multiple columns
We’re excited to announce that the
fieldReferencePreview 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
quantityvalue is less than thewarnQuantityof a product:await prisma.product.findMany({ where: { quantity: { lte: prisma.product.fields.warnQuantity } }, })To learn more about this feature, refer to our documentation.
Support for filtering non-unique columns in queries for a unique record
We’re excited to announce the
extendedWhereUniquePreview 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
whereclauses for queries that operate on unique records, such asfindUnique,update, anddelete, 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
versionfield 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.
Minimum Node.js version change to 16.13.0
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.
Minimum TypeScript version change to 4.7
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.
Minimum PostgreSQL version change to 9.6
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.
Prisma Client embedded SQLite version upgrade
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.
Removal of
rejectOnNotFoundpropertyIn version 5.0.0, we removed the
rejectOnNotFoundparameter from Prisma Client that was deprecated in version 4.0.0. We removed this feature to provide better type-safety using thefindUniqueOrThrowandfindFirstOrThrowmethods as well have a consistent API.If you are using the
rejectOnNotFoundparameter we recommend either:- Replacing your queries with the
findFirstOrThroworfindUniqueOrThrowmethods if enabled at a query-level - Using a Prisma Client extension to overload the
findFirstOrThrowandfindUniqueOrThrowmodel methods with your custom error handling if enabled at the client-level
We recommend taking a look at the upgrade guide for more information on how to adapt your application if you’re using
rejectOnNotFound.cockroachdbprovider is now required when connecting to a CockroachDB databasePrior to adding explicit support for CockroachDB with the
cockroachdbprovider 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.
Removal of the generated
runtime/index.jsfile from Prisma ClientWith Prisma 5, we removed the
runtime/index.jsfile from Prisma Client. If you were using APIs fromruntime/index.js, such asDecimal,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.DecimalWe recommend taking a look at the upgrade guide to learn how you can migrate to Prisma 5
Removal of the
beforeExithook from thelibraryquery engineWe removed the
beforeExithook from the defaultlibraryQuery 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.
Removal of deprecated
prisma2executableWhen we released Prisma 2, the
prisma2executable was used to differentiate it from Prisma 1. In a later release, theprisma2CLI took over theprismaexecutable name.The
prisma2executable has been deprecated for a while and will now be removed. If you’re usingprisma2in your scripts, replace it withprisma.Removal of deprecated flags in the Prisma CLI
We removed the following deprecated flags in the Prisma CLI:
--preview-feature: used in theprisma db execute,prisma db seed, andprisma migrate diffcommands--experimentaland--early-access-feature: used in theprisma migratecommands such asprisma migrate dev--force: forprisma db push. The--forceflag was replaced by--accept-data-lossin version 2.17.0--experimental-reintrospectionand--clean: forprisma db pull
In the event you’re using one of these flags, we recommend removing the flags.
Removal of deprecated
experimentalFeaturesgenerator propertyIn this release, we removed the
experimentalFeaturesproperty that used to be in the generator property in the Prisma schema but has been renamed topreviewFeaturesfor a long time now. If you’re still using this property, you can either manually rename it topreviewFeaturesor use the VS Code action to rename it if you’re using the latest version of the Prisma VS Code extension.Renamed
migration-enginetoschema-engineIn this release, we renamed the
migration-engine, responsible for running introspection and migration commands, toschema-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.Fixes and improvements
Prisma Client
- Getting a string '(array)' in the generator config instead of the expected value when array is used
- Misleading error message from
createcall - Client extensions incorrect typings when defined both specific model and all models methods
- UncheckedUpdateManyInput types lead to conflicting names
<Model>RelationFilterInputdoes not take nullability into account- Full text search query with
ORbroke after opting in tojsonProtocolfeature. - Prisma Client: remove list shorthands (for
jsonProtocol) - Remove outdated preview feature aliases (transactionApi, aggregateApi)
- Prisma Client generator: remove creation of a package.json
- Prisma Client: make
jsonProtocolGA - Only upload engines files to
binaries.prisma.sh/all_commits/ - Prisma Client: remove "beforeExit" hook from LibraryEngine/DataProxyEngine
- Prisma Client: remove
rejectOnNotFound - Prisma Client: remove
runtime/index.jsbundle from client - Prisma CLI: remove non-existing
prisma devcommand - Prisma Client: remove legacy
photonResolverandprovider=photonjshandling - Prisma Client: make
fieldReferenceGA - Prisma Client: make
extendedWhereUniqueGA - Remove backward compatibility for Prisma Client < 2.20 and Prisma CLI >= 2.20
- Prisma CLI: remove
prisma2"executable" - Query in findMany in prisma extends returns a wrong type
- Can't specify $queryRawUnsafe return type after extending prisma client
- FindMany returns wrong type after extending prisma client
- 4.16.x cannot wrap
$extendin factory function whencompilerOptions.compositeistrue - 4.16: (MongoDB) Generated types for list composites are incorrect
- Prisma Client Extensions: $allModels: { $allOperations } sets
querytype tonever - Prisma Schema Type inside a Type not generating a right Payload
- Field references are not available on extended clients
- Prisma Client fluent API does not work with extends anymore on 4.16.1
- Prisma not generating correct payload for types in models for MongoDB for 4.16.1
- Prisma requires to install bun when generating client library
- Getting wrong types with prisma client extensions
- Prisma Client: updating to 4.16.0 or 4.16.1 breaks Cloudflare worker, it errors with
The package "path" wasn't found on the file system but is built into node - Result types are incorrectly inferred when
undefinedexplicitly passed toselect/include - Migrating to release: 4.16.2 throws typescript error: "TS1005: '?' expected".
Prisma Migrate
- Make connecting to a cockroachdb database with
provider = "postgresql"an error - Remove the deprecated
experimentalFeaturesgenerator property - Remove support for PostgreSQL 9.4 and 9.5
- Upgrade embedded SQLite version
- Drop support for Node.js v14
db pull: Remove the version checker from introspection- Prisma CLI: remove undocumented
doctorcommand - Rename migration-engine to schema-engine
- Prisma CLI: remove deprecated flags, arguments and "old migrate" logic
- Remove obsolete
experimentalFeaturesgenerator property - Remove usage / mention of
experimentalFeatures
Language tools (e.g. VS Code)
Credits
Huge thanks to @michaelpoellath, @RobertCraigie, @Coder246, @RDIL, @oohwooh, @rqres, @zhiyan114, @spudly, @hayes, @boennemann, @DongGunYoon for helping!
📺 Join us for another "What's new in Prisma" live stream
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.
- Preview features moved to General Availability
- 4.17.0-integration-test-dataproxy.55 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-test-dataproxy.45 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-test-dataproxy.35 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-test-dataproxy.24 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-test-dataproxy.14 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-refactor-copy-file.25 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-node-drivers-prisma-playground.222 Jun 2023pre-release
Nothing published for this version
- 4.17.0-integration-node-drivers-prisma-playground.120 Jun 2023pre-release
Nothing published for this version
- 4.17.0-integration-generator-config-types.17 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-internals-vercel-pkg-win-resolve-binary.55 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-internals-vercel-pkg-win-resolve-binary.45 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-internals-vercel-pkg-win-resolve-binary.35 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-internals-vercel-pkg-win-resolve-binary.25 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-internals-vercel-pkg-win-resolve-binary.15 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-deno.110 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-cloudflare-default-index.36 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-cloudflare-default-index.26 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-cloudflare-default-index.16 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-client-oom-default-selection.811 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-client-oom-default-selection.711 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-client-oom-default-selection.611 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-client-oom-default-selection.511 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-client-oom-default-selection.411 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-client-oom-default-selection.311 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-client-oom-default-selection.210 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-client-oom-default-selection.110 Jul 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-client-extension-backwards-compat.122 Jun 2023pre-release
Nothing published for this version
- 4.17.0-integration-fix-client-default-export-default-index.17 Jul 2023pre-release
Nothing published for this version