Prisma Client is an auto-generated, type-safe and modern JavaScript/TypeScript ORM for Node.js that's tailored to your data. Supports PostgreSQL, CockroachDB, MySQL, MariaDB, SQL Server, SQLite & MongoDB databases.
Last release 5 days ago
27 Aug 2026
Ships fairly regularly
a new release about every 1 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
7 years old
10653 releases · first in 2020
Release timeline
10653 releases since 2020One column per quarter.
Releases
- 3.11.0-dev.409 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.399 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.389 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.379 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.364 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.353 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.343 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.333 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.323 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.313 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.302 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.292 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.282 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.272 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.262 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.252 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.242 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.232 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.222 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.211 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.201 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.191 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.181 Mar 2022pre-release
Nothing published for this version
- 3.11.0-dev.1728 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.1625 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.1525 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.1425 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.1325 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.1225 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.1125 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.1024 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.924 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.824 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.723 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.623 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.523 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.423 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.323 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.223 Feb 2022pre-release
Nothing published for this version
- 3.11.0-dev.122 Feb 2022pre-release
Nothing published for this version
- 3.10.022 Feb 2022
Release notes
Open source →Today, we are excited to share the
3.10.0stable release 🎉🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟
Major improvements and new features
We are working towards a stable release of MongoDB and are shipping lots of improvements. All the new features and changes in this release therefore only apply to the MongoDB connector. Take a closer look if you are using the Preview of MongoDB as some of the changes are breaking.
Embedded documents support is now in Preview
We're super excited to announce that Prisma version
3.10.0supports reading and modifying embedded documents. Embedded documents will provide access to a newtypekeyword in your Prisma schema that you can use to define composite types.datasource db { provider = "mongodb" url = env("DATABASE_URL") } generator client { provider = "prisma-client-js" previewFeatures = ["mongoDb"] } model Product { id String @id @default(auto()) @map("_id") @db.ObjectId name String photos Photo[] } type Photo { height Int width Int url String }Given the schema above, you can now read and write to the embedded
photosarray:// Create a new product with an embedded list of photos const product = await prisma.product.create({ data: { name: "Forest Runners", // Create an embedded list of photos in the product photos: [ { height: 100, width: 200, url: "1.jpg" }, { height: 300, width: 400, url: "2.jpg" }, ], }, })Best of all, the query is entirely type-safe! This scratches the surface of what's possible with embedded documents. You can read further in our documentation.
If you run into anything, feel free to open an issue, and we’ll give you a hand!
Introspection of embedded documents is now enabled by default
We added Preview support for Introspection of embedded documents in version
3.4.0and are now activating it for all users. Runningprisma db pullagainst your MongoDB database will generatetypedefinitions within your Prisma schema.When introspecting your database, you can switch off the depth with
--composite-type-depth=0, or limit it with, for example,--composite-type-depth=2.Feel free to drop your feedback on the feature on GitHub.
@default(dbgenerated())is now replaced with@default(auto())The original purpose of
dbgeneratedis to support SQL expressions Prisma doesn’t understand yet. However, MongoDB doesn’t have a concept of default value expressions like SQL does. We took this opportunity to simplify how we handle the default values in MongoDB:model Post { - id String @id @default(dbgenerated()) @map("_id") @db.ObjectId + id String @id @default(auto()) @map("_id") @db.ObjectId }Many-to-Many relations now require a
referencesargumentPrisma version
3.10.0now enforces all arguments in a MongoDB many-to-many relation. This means a@relationattribute must definefieldsandreferencesarguments on both sides.The
fieldsargument must point to a scalar field in the same model, and this scalar field must be an array. Thereferencesarguments must point to a scalar field in the opposite model, and it must be a singular type of the same base type as the referencing array on the other side.model Post { id String @id @map("_id") @default(auto()) @db.ObjectId category_ids String[] @db.ObjectId - categories Category[] @relation(fields: [category_ids]) + categories Category[] @relation(fields: [category_ids], references: [id]) } model Category { id String @id @map("_id") @default(auto()) @db.ObjectId post_ids String[] @db.ObjectId - posts Post[] @relation(fields: [post_ids]) + posts Post[] @relation(fields: [post_ids], references: [id]) }@db.Array(ObjectId)is now updated to@db.ObjectIdWe've adjusted the Prisma schema format for scalar lists with native types (like lists of Object IDs). This will likely affect those with many-to-many relationships in MongoDB. We made this change to align MongoDB with our existing SQL databases better:
model Post { id String @id @default(auto()) @map("_id") @db.ObjectId - categoryIDs String[] @db.Array(ObjectId) + categoryIDs String[] @db.ObjectId categories Category[] @relation(fields: [categoryIDs], references: [id]) } model Category { id String @id @default(auto()) @map("_id") @db.ObjectId - postIDs String[] @db.Array(ObjectId) + postIDs String[] @db.ObjectId posts Post[] @relation(fields: [postIDs], references: [id]) }Fixes and improvements
Prisma Migrate
- Ability to create SQL table logic from schema without doing a "migrate"
- Improve error on default values when
@db.ObjectIdisn't present - Validator accepts arbitrary properties in
datasourceblocks - Programmatically create a MongoDB database
prisma init --urldoes not likemongodb+srv://- Test the error reporting backend with MongoDb
- Better Schema validation for MongoDB
Code 19and unformatted list output during Re-Introspection- MongoDB Introspection Multiple Types warning message in CLI output does not differentiate models and embedded documents
- MongoDB Introspection Embedded Documents do not require
id_special case - Introspection result
Unsupported("Unknown")causes schema validation to crash - Confidence Tooling run and result verification for embedded documents
- MongoDB Introspection connects to database even when failing with error message that should not require connection to database at all
- Change
@db.Array(ObjectId)to@db.ObjectId - Make sure
Unsupported(...)fields are not rejected on composite types - MongoDB PSL parsing should fail when using
@default(autoincrement()) - Error: [/root/build/libs/mongodb-schema-describer/src/lib.rs:35:41] called
Option::unwrap()on aNonevalue - MongoDB embedded documents Introspection does not give any names to fields with invalid names
- Embedded document
_idof typeObjectIdare introspected without native type@db.ObjectId - "experimental feature, needs to be enabled"
- MongoDB: On ID fields, replace
@default(dbgenerated())with@default(auto()) - Implement datamodel parser validations for two-way embedded many-to-many relations on MongoDB
- MongoDB: The connection string format and parameters are defined by mongo-rust-driver
prisma db pulldoesn't read.envfile and errors with Environment variable not found: DATABASE_URL- [MDB] Do not hardcode _id to ObjectId during Introspection
- [MDB] Schema validation error on valid composite type
- Turn on embedded document Introspection by default
Model "undefined", field: ...- MongoDB Introspection does not output how many embedded documents were introspected
- Sharded MongoDB connection string is not supported by Prisma Client
- Add mongodb 4.2 to tested versions on migrate & introspection
- Confirm sharded MongoDB connection string is supported by MongoDB Rust Driver
- MongoDB: Error when no database name supplied in connection string
Multiple data types found: Array(Array(Array(Double))): 86.2%, Array(Array(Array(Array(Double)))): 13.8% out of 195 sampled entries
Prisma Client
- Unable to use dbgenerated uuid_to_bin for ID field: "Could not figure out an ID in create"
- groupBy is not usable with $transaction
InteractiveTransaction: Middleware paramrunInTransactionset tofalse- MDBGA: Support MongoDB Atlas Serverless
- Incorrect Typescript type for QueryEvent.timestamp
- Using "then ()" in "interactive Transactions" initiates another transaction
- MDBE: Write usage guide on MongoDB Embedded Documents Support
- MongoDB first request takes ~45s on Windows
- Prisma Client:
.countdoes not work with where interactiveTransactionsfeature breaks long running transactions- Go through the existing iTX and explore what needs to be worked on
- Cannot extend PrismaClient class
- MongoDB: add test on TS side for ObjectId arrays
a_ids String[] @db.ObjectId - Prisma Client: Fluent API chaining not working for PascalCase columns in 3.9.1
- Interactive transaction: Sequential Prisma Client operations timeout but work when interactive transactions are disabled
- prisma v3.9.1: Get TypeError(read-only and non-configurable data property on the proxy target) when use jest.fn().mockReturnValue.
- Avoid shipping unused intermediary ESM files
- Unable to parse Connection String in Sharded MongoDB
- Prisma Client queries are executed multiple times in
3.9.1 - Send
prismaasdriverInfoto MongoDB - Fluent API is no longer supported at runtime for mutations
Credits
Huge thanks to @andyrichardson, @xnerhu, @Josh-a-e, @dusandz, @hyochan, @cesconix, @benkroeger, @YassinEldeeb, @chenkie for helping!
📺 Join us for another "What's new in Prisma" livestream
Learn about the latest release and other news from the Prisma community by joining us for another "What's new in Prisma" livestream.
The stream takes place on YouTube on Thursday, February 03 at 5 pm Berlin | 8 am San Francisco.
- 3.10.0-integration-path-generation-fix.118 Feb 2022pre-release
Nothing published for this version
- 3.10.0-integration-fix-extraneous-esm-files.28 Feb 2022pre-release
Nothing published for this version
- 3.10.0-integration-fix-extraneous-esm-files.18 Feb 2022pre-release
Nothing published for this version
- 3.10.0-integration-fix-10512.116 Feb 2022pre-release
Nothing published for this version
- 3.10.0-integration-composites.121 Feb 2022pre-release
Nothing published for this version
- 3.10.0-integration-8989-fixes-memory-leak.111 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.7322 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.7222 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.7121 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.7021 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.6921 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.6821 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.6721 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.6618 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.6518 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.6418 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.6318 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.6218 Feb 2022pre-release
Nothing published for this version
- 3.10.0-dev.6118 Feb 2022pre-release
Nothing published for this version