What prisma/orm shipped
Written by FoxPlug from public releases; not affiliated with Prisma. An automatic summary of the public release, pull request and commit data of github.com/prisma/orm. Prisma did not write it and does not use or endorse FoxPlug. Every line links to the public change it describes.
Get a weekly update like this for your product, free
Week of September 21, 2026
What shipped
- Mutation default generators now run once in the framework for both SQL and MongoDB databases. Pull request #30406
prisma contract printcommand writes a configured contract as Prisma 8 PSL that reads back identically. Pull request #30315prisma6Schemareads a Prisma 6 MongoDB schema.prisma file as a contract source without rewriting. Pull request #30405- MongoDB schemas can declare automatic timestamps with
temporal.createdAt()andtemporal.updatedAt(). Pull request #30403 - MongoDB schemas now support Int64, Decimal128, Binary, and Json field types with target-owned codecs. Pull request #30396
- ORM orderBy can now sort by a related row's column, relation counts, and control null placement. Pull request #30402
- PSL schemas can span multiple files using glob patterns and the
// use prisma-8directive. Pull request #30379 - MongoDB ORM keeps included relations in queries when select() and include() are combined. Pull request #30170
- Postgres RLS policies are now dropped before DDL changes that reference them to avoid migration errors. Pull request #30232
- A Prisma 7 project can run
orm initonce to set up Prisma 8 alongside it. Pull request #30291
Why it matters
This week shipped MongoDB feature parity for timestamps and advanced types, multi-file schema support for better project organization, and improvements to the Prisma 7 to 8 migration path. Enhanced ORM query capabilities and fixes to composite foreign keys and identifier length handling improve reliability for production use.
Changelog entry
- Mutation default generators run once in the framework for SQL and MongoDB Pull request #30406
prisma contract printwrites the configured contract as Prisma 8 PSL Pull request #30315prisma6Schemareads Prisma 6 MongoDB schema.prisma as contract source Pull request #30405- MongoDB:
temporal.createdAt()andtemporal.updatedAt()for automatic timestamps Pull request #30403 - MongoDB: Int64, Decimal128, Binary, and Json field types with target-owned codecs Pull request #30396
- ORM orderBy: sort by related row columns, relation counts, and null placement Pull request #30402
- Multi-file schema support with glob patterns and
// use prisma-8directive Pull request #30379 - MongoDB ORM: keep included relations in $project when select() and include() are combined Pull request #30170
- Postgres: drop RLS policies before DDL changes to avoid migration errors Pull request #30232
- SQL ORM: use every key column in includes, nested writes, and multi-table variants Pull request #30107
- CLI: Prisma 7 projects can run
orm initto set up Prisma 8 alongside Pull request #30291 - MongoDB: accept multi-host connection strings and mask credentials in CLI output Pull request #30354
- SQL: reject LIMIT or OFFSET that is not a non-negative integer Pull request #30133
- Postgres: measure identifier length in bytes, not characters Pull request #30127
v8.0.0-rc.12-dev ships MongoDB timestamps, Int64/Decimal128/Binary/Json types, multi-file schemas, advanced orderBy, and Prisma 7 migration improvements.
v8.0.0-rc.12-dev continues building out MongoDB feature parity with timestamps and rich type support, adds multi-file schema organization, enhances ORM querying with related-row sorting, and improves the Prisma 7 to 8 upgrade path. Fixes ensure composite keys and PostgreSQL identifiers work correctly.
Week of September 14, 2026
What shipped
- Models without @@map now name their tables verbatim as written instead of applying case transformations, and the planner rejects the silent rename. Pull request #30317
- Raw SQL column defaults are now written as sql
...tagged literals instead of dbgenerated("..."). Pull request #30325 - The TypeScript sql tag now resolves \$ so raw defaults can contain ${ without escaping. Pull request #30347
- The ORM now supports prepared row reads with specialized decoding. Pull request #30260
- Prepared aggregate and grouped queries are now available. Pull request #30309
- Postgres Date codec and field presets for timestamp handling via temporal.createdAtJsDate() and similar are now available. Pull request #30288
- Repeated same-name namespace blocks in a single PSL file now contribute declarations to one logical namespace. Pull request #30343
- The contract infer command now prints nullable list columns correctly as Type[]? instead of Type[]. Pull request #30313
- Upgrade instructions can now be added in separate folders per change to avoid merge conflicts. Pull request #30311
- Prisma 7 users can now point Prisma 8 at their existing schema.prisma instead of running contract infer and hand-fixing it. Pull request #30287
Why it matters
This week brings table naming alignment with authored schema, modernizes SQL defaults syntax, and ships prepared query support for better performance. The changes improve the upgrade path from Prisma 7 and reduce friction in schema definition and inference.
Changelog entry
- Models without @@map now name their tables verbatim instead of applying case transformations; the planner rejects silent renames. Pull request #30317
- Raw SQL column defaults are now written as sql
...tagged literals instead of @default(dbgenerated(...)). Pull request #30325 - The TypeScript sql tag now resolves \$ so raw defaults can contain ${ without escaping. Pull request #30347
- The ORM now supports prepared row reads with specialized decoding. Pull request #30260
- Prepared aggregate and grouped queries are available. Pull request #30309
- Postgres Date codec and temporal field presets (createdAtJsDate, updatedAtJsDate) are now available. Pull request #30288
- The contract infer command now prints nullable list columns as Type[]? instead of Type[]. Pull request #30313
- Repeated same-name namespace blocks in a PSL file now contribute declarations to one logical namespace. Pull request #30343
- PSL now tracks source provenance by syntax root for internal groundwork toward multifile support. Pull request #30335
- Prisma 7 users can now point Prisma 8 at their existing schema.prisma without running contract infer and hand-fixing. Pull request #30287
[13][5][24] Prisma 8 now uses verbatim table names by default, writes SQL defaults as sql literals, and supports prepared queries for faster row reads.
[13][5][24][25] This week Prisma 8 aligns table names with what you write (no more silent case transforms), modernizes SQL column defaults from dbgenerated() to sql literals, and ships prepared queries for optimized row reads and includes. [16] The contract infer command now correctly prints nullable arrays. [18] Prisma 7 users can upgrade by pointing at their existing schema instead of hand-fixing inferred output.