Prisma 5.13.0stable Released Apr 23, 2024
Impact Score: 5/10

Prisma 5.13.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.

Compatibility not verified — check source notes
$ npm install --save-dev --save-exact [email protected]
📄 .MD
⚡ Executive Summary (TL;DR)

Prisma 5.13.0. Source highlight: Today, we are excited to share the `5.13.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.

📄 View Raw Release Notes (Original Developer Log)
Today, we are excited to share the `5.13.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.13.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps%3A%2F%2Fgithub.com%2Fprisma%2Fprisma%2Freleases%2Ftag%2F5.13.0) about the release.** ## Highlights ### `omit` fields from Prisma Client queries (Preview) We’re excited to announce Preview support for the `omit` option within the Prisma Client query options. The [highly-requested](https://github.com/prisma/prisma/issues/5042) `omit` feature now allows you to exclude fields that you don’t want to retrieve from the database on a ***per-query basis*.** By default, when a query returns records, the result includes all scalar fields of the models defined in the Prisma schema. [`select`](https://www.prisma.io/docs/orm/reference/prisma-client-reference#select) can be used to return specific fields, while `omit` can now be used to exclude specific fields. `omit` lives at the same API level and works on all of the same [Prisma Client model queries](https://www.prisma.io/docs/orm/reference/prisma-client-reference#model-queries) as `select`. Note, however, that `omit` and `select` are mutually exclusive. In other words, you can’t use both in the same query. To get started using `omit`, enable the `omitApi` Preview feature in your Prisma schema: ```prisma // schema.prisma generator client { provider = "prisma-client-js" previewFeatures = ["omitApi"] } ``` Be sure to re-generate Prisma Client afterwards: ```bash npx prisma generate ``` Here is an example of using `omit`: ```ts // Includes all fields except password await prisma.user.findMany({ omit: { password: true }, }) ``` Here is an example of using `omit` with `include`: ```ts // Includes all user fields except user's password and title of user's posts await prisma.user.findMany({ omit: { password: true }, include: { posts: { omit: { title: true }, }, }, }) ``` <details> <summary>Expand to view the example Prisma schema</summary> ```prisma model User { id Int @id @default(autoincrement()) email String @unique name String? password String posts Post[] } model Post { id Int @id @default(autoincrement()) title String author User @relation(fields: [authorId], references: [id]) authorId Int } ``` </details> Many users have requested a global implementation of `omit`. This request will be accommodated in the future. In the meantime, you can follow the issue [here](https://github.com/prisma/prisma/issues/5042). **📣 Share your feedback:** [`omitApi` Preview feature](https://github.com/prisma/prisma/discussions/23924) **📚 Documentation:** [`omit` - Prisma Client API Reference](https://www.prisma.io/docs/orm/reference/prisma-client-reference#omit-preview) ## Fixes and improvements ### Prisma Migrate - [Nicer Datamodel Type validation](https://github.com/prisma/prisma/issues/15174) ### Prisma Client - [MySQL `upsert()`: `Internal error: Attempted to serialize empty result.`](https://github.com/prisma/prisma/issues/17982) - [Mysql `upsert()` fails with "Attempted to serialize empty result."](https://github.com/prisma/prisma/issues/18285) - [Interactive Transaction API timing out after upgrading from 4.7.0 and above](https://github.com/prisma/prisma/issues/18393) - [MySQL and SQLite `upsert()`: `Internal error: Attempted to serialize empty result.`](https://github.com/prisma/prisma/issues/19868) - [MySQL `upsert()`: `Internal error: Attempted to serialize empty result.`](https://github.com/prisma/prisma/issues/20042) - [MongoDB `upsert()`: `Internal error: Attempted to serialize empty result.`](https://github.com/prisma/prisma/issues/20527) - [MongoDB `upsert()`: `Internal error: Attempted to serialize empty result`](https://github.com/prisma/prisma/issues/21612) - [Relation mode + `upsert()`: `Internal error: Attempted to serialize empty result.`](https://github.com/prisma/prisma/issues/22562) - [`Internal error: Attempted to serialize empty result.` on `upsert()` for `update` case in different databases (when using `relationMode=prisma` explicitly or implicitly [MongoDB])](https://github.com/prisma/prisma/issues/22916) - [Postgres `upsert(): Internal error: Attempted to serialize empty result` when `relationMode = "prisma"` is used](https://github.com/prisma/prisma/issues/23359) - [`✘ [ERROR] near "��": syntax error at offset 0` when running `wrangler d1 migrations apply` with Prisma generated migration (on Windows, using Powershell)](https://github.com/prisma/prisma/issues/23702) ## Credits Huge thanks to @ospfranco, @pranayat, @yubrot, @skyzh, @anuraaga, @yehonatanz, @arthurfiorette, @elithrar, @tockn, @Kuhave, @obiwac for helping!