Prisma 6.2.0stable Released Jan 07, 2025
Impact Score: 5/10

Prisma 6.2.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 6.2.0. Source highlight: Today we're releasing Prisma ORM version 6.2.0 πŸŽ‰

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're releasing Prisma ORM version 6.2.0 πŸŽ‰ 🌟 **Help us spread the word about Prisma by starring the repo or [tweeting](https://twitter.com/intent/tweet?text=Check%20out%20the%20latest%20@prisma%20release%20v6.2.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/6.2.0) about the release.** 🌟 We have a number of new features in this version, including support for `json` and `enum` fields in SQLite, a new `updateManyAndReturn` function, support for ULID values, as well as the promotion of the `omit` feature from Preview to Generally Availability. ## Highlights ### Excluding fields via `omit` is now production-ready Our [number one](https://github.com/prisma/prisma/issues/5042) requested feature is out of Preview and Generally Available. In 6.2.0, you no longer need to add `omitApi` to your list of Preview features: ```diff generator client { provider = "prisma-client-js" - previewFeatures = ["omitApi"] } ``` As a refresher: `omit` allows you to exclude certain fields from being returned in the results of your Prisma Client queries. You can either do this locally, on a _per-query_ level: ```ts const result = await prisma.user.findMany({ omit: { password: true, }, }); ``` Or globally, to ensure a field is excluded from _all_ queries of a certain model: ```ts const prisma = new PrismaClient({ omit: { user: { password: true } } }) // The password field is excluded in all queries, including this one const user = await prisma.user.findUnique({ where: { id: 1 } }) ``` For more information on `omit`, be sure to [check our documentation](https://www.prisma.io/docs/orm/prisma-client/queries/excluding-fields). ### `json` and `enum` fields in SQLite Previous to this version, you could not define [`json`](https://github.com/prisma/prisma/issues/3786) and [`enum`](https://github.com/prisma/prisma/issues/2219) fields in your Prisma schema when using SQLite. The respective GitHub issues have been among the most popular ones in our repo, so with our [new approach to open-source governance](https://www.prisma.io/blog/prisma-orm-manifesto), we finally got to work and implemented these. Working with JSON and Enum fields works similarly to other database providers, here’s an example: ```prisma datasource db { provider = "sqlite" url = "file:./dev.db" } model User { id Int @id @default(autoincrement()) name String role Role data Json } enum Role { Customer Admin } ``` ### Support for auto-generated ULID values Similar to `cuid2` support released in ORM version 6.0.0, we are now adding support for [Universally Unique Lexicographically Sortable Identifiers](https://github.com/ulid/spec) (or short: ULIDs πŸ˜„) in version 6.2.0. A ULID value is a 26-character alphanumeric string, e.g. `01GZ0GZ3XARH8ZP44A7TQ2W4ZD`. With this new feature, you can now create records with auto-generated ULID values for `String` fields: ```prisma model User { id String @id @default(ulid()) } ``` ### New batch function: `updateManyAndReturn` `updateMany` allows you to update many records in your database, but it only returns the count of the affected rows, not the resulting rows themselves. With `updateManyAndReturn` you are now able to achieve this: ```ts const users = await prisma.user.updateManyAndReturn({ where: { email: { contains: 'prisma.io', } }, data: { role: 'ADMIN' } }) ``` This call to `updateManyAndReturn` will now return the actual records that have been updated in the query: ```js [{ id: 22, name: 'Alice', email: '[email protected]', profileViews: 0, role: 'ADMIN', coinflips: [] }, { id: 23, name: 'Bob', email: '[email protected]', profileViews: 0, role: 'ADMIN', coinflips: [] }] ``` Please note that like `createManyAndReturn`, `updateManyAndReturn` is only supported in PostgreSQL, CockroachDB, and SQLite. ### Fixed runtime error in Node.js v23 While not [_officially_ supported](https://www.prisma.io/docs/orm/reference/system-requirements#software-requirements), we understand that a lot of you like to be on the latest Node.js version β€” so we fixed an error that only occurred on Node.js 23. Happy coding ✌️ ## Prisma is hiring 🀝 Join us at Prisma to work on the [most popular TypeScript ORM](https://www.prisma.io/blog/how-prisma-orm-became-the-most-downloaded-orm-for-node-js) and other exciting products like [the first serverless database built on unikernels](https://www.prisma.io/blog/announcing-prisma-postgres-early-access?utm_source=website&utm_medium=postgres-page)! We currently have two open roles in our Engineering team: - [Senior Software Engineer (Prisma ORM)](https://ats.rippling.com/en-GB/prisma-careers/jobs/2398ed90-0c4a-478f-b69f-ab213df03b61) - [Senior Software Engineer (Prisma Data Platform)](https://ats.rippling.com/en-GB/prisma-careers/jobs/6b65e19a-8166-483c-8d44-222d05e16295) If these don’t fit, you can still check out our [jobs page](https://www.prisma.io/careers) and send a general application.