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
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
Today, we are issuing the 5.10.1 patch release.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Today, we are excited to share the 5.10.0 stable release 🎉
🌟 Help us spread the word about Prisma by starring the repo ☝️ or posting on X about the release.
This release brings the optimizations for relation queries from the previous releases to MySQL as well! This means that by enabling the relationJoins Preview feature with the mysql database provider, you now also get access to the relationLoadStrategy option in relation queries that let you choose whether you want to merged relations on the application- or database-level.
If you enable the relationJoins Preview feature, you can choose between the join and query options:
join (default): Sends a single query to the database and joins the data on the database-level.query: Sends multiple queries to the database and joins the data on the application-level.To get started, enable the Preview feature in your Prisma schema:
// schema.prisma
generator client {
provider = "prisma-client-js"
previewFeatures = ["relationJoins"]
}
Be sure to re-generate Prisma Client afterwards:
npx prisma generate
And finally, specify the relation loading strategy for your relation query via the relationLoadStrategy option as follows:
await prisma.user.findMany({
relationLoadStrategy: 'join', // or 'query'
include: {
posts: true,
},
})
Note that in the example above, the relationLoadStrategy could be omitted altogether because join is used as the default value.
A few notes about relationLoadStrategy support on MySQL:
relationLoadStrategy is supported for MySQL v8.0.14 and higher. MariaDB is not supported.LATERAL JOINs which are used on PostgreSQL).PrismaClient constructorThis feature enables you to configure the following transaction options on a global level via the PrismaClient constructor:
isolationLevel: Sets the transaction isolation level. By default, this is set to the value currently configured in your database.timeout: The maximum amount of time the interactive transaction can run before being canceled and rolled back. The default value is 5 seconds.maxWait: The maximum amount of time Prisma Client will wait to acquire a transaction from the database. The default value is 2 seconds.Here is an example of how you can set this value globally for all transactions:
const prisma = new PrismaClient({
transactionOptions: {
isolationLevel: 'ReadCommitted',
timeout: 1_000, // 1 sec
maxWait: 2_000 // 2 sec
}
})
Thanks a lot to our fantastic community member @tockn, who took the initiative to implement this feature in Prisma ORM 🎉
Note that you can still override the global values by setting them on a particular transaction.
P2037 code for “Too many database connections opened” errorsWe introduced a new error code for “Too many database connections opened” errors: P2037. You can find all error codes in our documentation.
Now available in Early Access, you can manage your workspace and configure Prisma Accelerate and Prisma Pulse directly from the terminal.
Visit our docs to learn more about the integration and try it out for yourself!
Option::unwrap() on a None value when using the relationJoins preview feature with driver adaptersPrisma.TransactionClient appears to be missing types@prisma/client in Next.js middleware$extends always return anyError: Prisma Client is unable to run in an edge runtime. As an alternative, try Accelerate: https://pris.ly/d/accelerate.t3.bookGenreTitle does not exist in the current database"relationJoins preview feature: called Option::unwrap() on a None valueNothing 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
Nothing published for this version
Nothing published for this version
Nothing published for this version