Prisma 5.16.0stable Released Jun 25, 2024
⚠️ Breaking Change Impact Score: 7/10

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

Breaking-change evidence from the source

  • To continue improving our multi-file schema support, **we have a few breaking changes** to the `prismaSchemaFolder` feature:
  • In order to improve our full-text search implementation **we have made a breaking change** to the `fullTextSearch` Preview feature.
Read the original context β†—
Source flags breaking changes β€” review applicability
$ npm install --save-dev --save-exact [email protected]
πŸ“„ .MD
⚑ Executive Summary (TL;DR)

Prisma 5.16.0. Source highlight: 🌟 **Help us spread the word about Prisma by starring the repo or tweeting about the 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.

⚠️ Breaking Changes & Deprecations (2)

  • To continue improving our multi-file schema support, **we have a few breaking changes** to the `prismaSchemaFolder` feature:
  • In order to improve our full-text search implementation **we have made a breaking change** to the `fullTextSearch` Preview feature.

✨ New Features & Capabilities (1)

  • When using relative paths in Prisma Schema files with the `prismaSchemaFolder` feature, a path is now relative to the file it is defined in rather than relative to the `prisma/schema` folder. This means that if you have a generator block in `/project/prisma/schema/config/generator.prisma` with an `output` of `./foo` the output will be resolved to `/project/prisma/schema/config/foo` rather than `/project/prisma/foo`. The path to a SQLite file will be resolved in the same manner.
πŸ“„ View Raw Release Notes (Original Developer Log)
🌟 **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%20v5.16.0%20%F0%9F%9A%80%0D%0A%0D%0Ahttps://github.com/prisma/prisma/releases/tag/5.16.0) about the release.** 🌟 ## **Highlights** ### Omit model fields globally With Prisma ORM 5.16.0 we’re more than happy to announce that we’re expanding the `omitApi` Preview feature to also include the ability to **omit fields globally**. When the Preview feature is enabled, you’re able to define fields to omit when instantiating Prisma Client. ```tsx const prisma = new PrismaClient({ omit: { user: { // make sure that password is never queried. password: true, }, }, }); ``` You’re also able to omit fields from multiple models and multiple fields from the same model ```tsx const prisma = new PrismaClient({ omit: { user: { // make sure that password and internalId are never queried. password: true, internalId: true, }, post: { secretkey: true, }, }, }); ``` With both local and global `omit`, you now have the flexibility to completely remove sensitive fields while also tailoring individual queries. If you need the ability to generally omit a field except in a specific query, you can also overwrite a global omit locally ```tsx const prisma = new PrismaClient({ omit: { user: { // password is omitted globally. password: true, }, }, }); const userWithPassword = await prisma.user.findUnique({ omit: { password: false }, // omit now false, so password is returned where: { id: 1 }, }); ``` ### Changes to `prismaSchemaFolder` In `5.15.0` we released the `prismaSchemaFolder` Preview feature, allowing you to create multiple Prisma Schema files in a `prisma/schema` directory. We’ve gotten [a lot of great feedback](https://github.com/prisma/prisma/discussions/24413) and are really excited with how the community has been using the feature. To continue improving our multi-file schema support, **we have a few breaking changes** to the `prismaSchemaFolder` feature: - When using relative paths in Prisma Schema files with the `prismaSchemaFolder` feature, a path is now relative to the file it is defined in rather than relative to the `prisma/schema` folder. This means that if you have a generator block in `/project/prisma/schema/config/generator.prisma` with an `output` of `./foo` the output will be resolved to `/project/prisma/schema/config/foo` rather than `/project/prisma/foo`. The path to a SQLite file will be resolved in the same manner. - We realized that during migration many people would have `prisma/schema` as well as `prisma/schema.prisma`. Our initial implementation looked for a `.prisma` file first and would ignore the `schema` folder if it exists. This is now an error. ### Changes to `fullTextSearch` In order to improve our full-text search implementation **we have made a breaking change** to the `fullTextSearch` Preview feature. Previously, when the feature was enabled we updated the `<Model>OrderByWithRelationInput` TypeScript type with the `<Model>OrderByWithRelationAndSearchRelevanceInput` type. However, we have noted that there are no cases where relational ordering is needed but search relevance is not. Thus, we have decided to remove the `<Model>OrderByWithRelationAndSearchRelevanceInput` naming and only use the `<Model>OrderByWithRelationInput` naming. ## Fixes and improvements ### Prisma - [Wrong Parameterized Types Sent for SQL Server Queries](https://github.com/prisma/prisma/issues/17565) - [`Prisma has no exported member named OrderByWithRelationInput. Did you mean OrderByWithAggregationInput?`](https://github.com/prisma/prisma/issues/21017) - [[Driver Adapters]: missing provider compatibility validation](https://github.com/prisma/prisma/issues/21864) - [Disable "Start using Prisma Client" hint logs on `prisma generate`](https://github.com/prisma/prisma/issues/22513) - [Deploying prisma to CloudFlare pages using Nuxt/Nitro and node-postgres (pg) is using the wrong(vercel) wasm path](https://github.com/prisma/prisma/issues/23500) - [`@prisma/adapter-pg` modifies node-postgres global type parsers](https://github.com/prisma/prisma/issues/23505) - [@prisma/adapter-d1 is failing with an import error when called inside vitest tests](https://github.com/prisma/prisma/issues/23911) - [`db pull` fails with `[libs\user-facing-errors\src\quaint.rs:136:18] internal error: entered unreachable code` on invalid credentials](https://github.com/prisma/prisma/issues/24268) ### Language tools (e.g. VS Code) - [Make prisma-fmt logs to work with language server](https://github.com/prisma/language-tools/issues/1193) - [Spans and positions get shifted out of sync when schema includes multibyte characters](https://github.com/prisma/language-tools/issues/1308) - [VSCode extension panics when opening an empty prisma schema](https://github.com/prisma/language-tools/issues/1760) ### Prisma Engines - [[DA]Β Planetscale engine tests: one2m_mix_required_writable_readable](https://github.com/prisma/prisma-engines/issues/4482) - [[DA]Β Planetscale engine tests: apply_number_ops](https://github.com/prisma/prisma-engines/issues/4485) ## Credits Huge thanks to @key-moon, @pranayat, @yubrot, @skyzh, @brian-dlee, @mydea, @nickcarnival, @eruditmorina, @nzakas, @gutyerrez, @avallete, @ceddy4395, @Kayoshi-dev, @yehonatanz for helping!