Impact Score: 5/10
Prisma 5.10.0 — Release Notes & Engineering Impact
Source available — automated, not human-reviewed
Component: prisma · Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
⚡ Executive Summary (TL;DR)
Prisma 5.10.0. Source highlight: Today, we are excited to share the `5.10.0` stable release 🎉
Who Does This Impact? (Role-Based Analysis)
💻 Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
📊 Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
⚙️ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
✨ New Features & Capabilities (2)
- called `Option::unwrap()` on a `None` value when using the relationJoins preview feature with driver adapters
- `relationJoins` preview feature: called `Option::unwrap()` on a `None` value
🔧 Bug Fixes & Patches (1)
- [[5.9.0 Bug] `Prisma.TransactionClient` appears to be missing types](https://github.com/prisma/prisma/issues/22870)
📄 View Raw Release Notes (Original Developer Log)
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](https://twitter.com/intent/post?text=Check%20out%20the%20latest%20%40prisma%20release%20v5.10.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps%3A%2F%2Fgithub.com%2Fprisma%2Fprisma%2Freleases%2Ftag%2F5.10.0) about the release.**
## Highlights
### Optimized relation queries in MySQL (Preview)
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:
```prisma
// 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:
```ts
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.
- Prisma ORM uses correlated sub-queries for MySQL (as opposed to `LATERAL` JOINs which are used on PostgreSQL).
### Configure transaction options in the `PrismaClient` constructor
This feature enables you to configure the following transaction options on a global level via the `PrismaClient` constructor:
- `isolationLevel`: Sets the [transaction isolation level](https://www.prisma.io/docs/orm/prisma-client/queries/transactions#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:
```ts
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`](https://github.com/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](https://www.prisma.io/docs/orm/prisma-client/queries/transactions#transactions-options).
### New `P2037` code for “Too many database connections opened” errors
We introduced a new error code for “Too many database connections opened” errors: `P2037`. You can find all error codes in our [documentation](https://www.prisma.io/docs/orm/reference/error-reference#prisma-client-query-engine).
### Access the Prisma Data Platform via Prisma CLI
Now available in Early Access, you can manage your workspace and configure [Prisma Accelerate](https://www.prisma.io/docs/accelerate) and [Prisma Pulse](https://www.prisma.io/docs/pulse) directly from the terminal.
Visit our [docs](https://www.prisma.io/docs/platform/platform-cli/commands) to learn more about the integration and try it out for yourself!
## Fixes and improvements
### Prisma Client
- [called `Option::unwrap()` on a `None` value when using the relationJoins preview feature with driver adapters](https://github.com/prisma/prisma/issues/22294)
- [[5.9.0 Bug] `Prisma.TransactionClient` appears to be missing types](https://github.com/prisma/prisma/issues/22870)
- [Error after Upgrading from 5.8.1 to 5.9.0](https://github.com/prisma/prisma/issues/22875)
- [[5.9.0] `@prisma/client` in Next.js middleware](https://github.com/prisma/prisma/issues/22877)
- [[v5.9.0] `$extends` always return `any`](https://github.com/prisma/prisma/issues/22884)
- [Prisma edge runtime error](https://github.com/prisma/prisma/issues/22886)
- [[5.9.0] All queries result in any type](https://github.com/prisma/prisma/issues/22888)
- [`Error: Prisma Client is unable to run in an edge runtime. As an alternative, try Accelerate: https://pris.ly/d/accelerate.`](https://github.com/prisma/prisma/issues/22889)
- [[5.9.0] Error: Prisma Client is unable to run in an edge runtime. As an alternative, try Accelerate: https://pris.ly/d/accelerate.](https://github.com/prisma/prisma/issues/22893)
- [v5.9.0 / Don't generate type. And the error from the previous version is still there](https://github.com/prisma/prisma/issues/22896)
- [[5.9.0] Getting strange types after generating](https://github.com/prisma/prisma/issues/22903)
- [relationJoins: "The column `t3.bookGenreTitle` does not exist in the current database"](https://github.com/prisma/prisma/issues/22926)
- [Missing export @prisma/client/generator-build](https://github.com/prisma/prisma/issues/22927)
- [`relationJoins` preview feature: called `Option::unwrap()` on a `None` value](https://github.com/prisma/prisma/issues/22971)