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.
β‘ 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.