[Snyk] Upgrade @prisma/client from 5.17.0 to 5.21.1 #888
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Snyk has created this PR to upgrade @prisma/client from 5.17.0 to 5.21.1.
ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
The recommended version is 259 versions ahead of your current version.
The recommended version was released on a month ago.
Release notes
Package name: @prisma/client
Today, we are excited to share the
5.21.0
release 🎉🌟 Help us spread the word about Prisma by starring the repo ☝️ or posting on X about the release.
Highlights
Better support for tracing in MongoDB
The
tracing
Preview feature now has full support for MongoDB with previously missing functionality now implemented. This is a part of the ongoing effort to stabilize this Preview feature and release it in General Availability.tracing
is a Preview feature that enables built-in support for OpenTelemetry instrumentation inside the Prisma Client and provides deep insights into the performance and timing of your queries. See our documentation for more information.For an easy to use and zero-configuration tracing instrumentation tool with a dashboard that provides an overview of your queries, statistics, and AI-powered recommendations, try Prisma Optimize.
WebAssembly engine size decrease for edge functions
Due to recent changes, some users experienced a steep increase of the bundle size in Prisma 5.20 when using the
driverAdapters
Preview feature, going over the 1 MB limit on the free tier of Cloudflare Workers. This has now been fixed.Fixes and improvements
Prisma Engines
Credits
Huge thanks to @ austin-tildei, @ LucianBuzzo, @ mcuelenaere, @ pagewang0, @ key-moon, @ pranayat, @ yubrot, @ skyzh for helping!
🌟 Help us spread the word about Prisma by starring the repo or posting on X about the release. 🌟
Highlights
strictUndefinedChecks
in PreviewWith Prisma ORM 5.20.0, the Preview feature
strictUndefinedChecks
will disallow any value that is explicitlyundefined
and will be a runtime error. This change is direct feedback from this GitHub issue and follows our latest proposal on the same issue.To demonstrate the change, take the following code snippet:
In Prisma ORM 5.19.0 and below, this could result in unintended behavior. In Prisma ORM 5.20.0, if the
strictUndefinedChecks
Preview feature is enabled, you will get a runtime error instead:We have also introduced the
Prisma.skip
symbol, which will allow you to get the previous behavior if desired.From Prisma ORM 5.20.0 onward, we recommend enabling
strictUndefinedChecks
, along with the TypeScript compiler optionexactOptionalPropertyTypes
, which will help catch cases of undefined values at compile time. Together, these two changes will help protect your Prisma queries from potentially destructive behavior.strictUndefinedChecks
will be a valid Preview feature for the remainder of Prisma ORM 5. With our next major version, this behavior will become the default and the Preview feature will be “graduated” to Generally Available.If you have any questions or feedback about
strictUndefinedChecks
, please ask/comment in our dedicated Preview feature GitHub discussion.typedSql
bug fixThank you to everyone who has tried out our
typedSql
Preview feature and provided feedback! This release has a quick fix for typescript files generated when Prisma Schema enums had hyphens.Fixes and improvements
Prisma
not available
.generate
when typedSql is enabled and enum contains hyphens.@prisma/internals
didn't listts-toolbelt
in dependencies.$extends
prevents model comments from being passed to TypeScriptPrisma Engines
Credits
Huge thanks to @ mcuelenaere, @ pagewang0, @ key-moon, @ pranayat, @ yubrot, @ thijmenjk, @ mydea, @ HRM, @ haaawk, @ baileywickham, @ brian-dlee, @ nickcarnival, @ eruditmorina, @ nzakas, and @ gutyerrez for helping!
Today, we are issuing the
5.19.1
patch release.What's Changed
We've fixed the following issues:
Full Changelog: 5.19.0...5.19.x, prisma/prisma-engines@5.19.0...5.19.x
Today, we are excited to share the
5.19.0
stable release 🎉🌟 Help us spread the word about Prisma by starring the repo or posting on X about the release. 🌟
Highlights
Introducing TypedSQL
TypedSQL is a brand new way to interact with your database from Prisma Client. After enabling the
typedSql
Preview feature, you’re able to write SQL queries in a newsql
subdirectory of yourprisma
directory. These queries are then checked by Prisma during using the new--sql
flag ofprisma generate
and added to your client for use in your code.To get started with TypedSQL:
Make sure that you have the latest version of
prisma
and@ prisma/client
installed:Enable the
typedSql
Preview feature in your Prisma Schema.Create a
sql
subdirectory of yourprisma
directory.You can now add
.sql
files to thesql
directory! Each file can contain one sql query and the name must be a valid JS identifier. For this example, say you had the filegetUsersWithPosts.sql
with the following contents:Import your SQL query into your code with the
@ prisma/client/sql
import:import { getUsersWithPosts } from '@prisma/client/sql'
const prisma = new PrismaClient()
const usersWithPostCounts = await prisma.$queryRawTyped(getUsersWithPosts)
console.log(usersWithPostCounts)
There’s a lot more to talk about with TypedSQL. We think that the combination of the high-level Prisma Client API and the low-level TypedSQL will make for a great developer experience for all of our users.
To learn more about behind the “why” of TypedSQL be sure to check out our announcement blog post.
For docs, check out our new TypedSQL section.
Bug fixes
Driver adapters and D1
A few issues with our
driverAdapters
Preview feature and Cloudflare D1 support were resolved via prisma/prisma-engines#4970 and #24922max
,min
,eq
, etc in queries when using Cloudflare D1.BigInt
IDs whenrelationMode="prisma"
was enabled and Cloudflare D1 was being used.Joins
some
clauses when therelationJoins
Preview feature was enabled.MongoDB
The MongoDB driver for Rust (that our query engine users under the hood) had behavior that prioritized IPv4 connections over IPv6 connections. In IPv6-only environments, this could lead to significant "cold starts" where the query engine had to wait for IPv4 to fail before the driver would try IPv6.
With help from the MongoDB team, this has been resolved. The driver will now try IPv4 and IPv6 connections in parallel and then move forward with the first response. This should prevent cold start issues that have been seen with MongoDB in Prisma Accelerate.
Thank you to the MongoDB team!
Join us
Looking to make an impact on Prisma in a big way? We're now hiring engineers for the ORM team!
prisma-engines
Rust codebase. TypeScript knowledge (or, again, a desire to learn) is a plus.Credits
Huge thanks to @ mcuelenaere, @ pagewang0, @ Druue, @ key-moon, @ Jolg42, @ pranayat, @ ospfranco, @ yubrot, @ skyzh for helping!
🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟
Highlights
Native support for UUIDv7
Previous to this release, the Prisma Schema function
uuid()
did not accept any arguments and created a UUIDv4 ID. While sufficient in many cases, UUIDv4 has a few drawbacks, namely that it is not temporally sortable.UUIDv7 attempts to resolve this issue, making it easy to temporally sort your database rows by ID!
To support this, we’ve updated the
uuid()
function in Prisma Schema to accept an optional, integer argument. Right now, the only valid values are4
and7
, with4
being the default.id String @id @default(uuid()) // defaults to 4
name String
}
model User {
id String @id @default(uuid(4)) // same as above, but explicit
name String
}
model User {
id String @id @default(uuid(7)) // will use UUIDv7 instead of UUIDv4
name String
}
Bug squashing
We’ve squashed a number of bugs this release, special thanks to everyone who helped us! A few select highlights are:
prismaSchemaFolder
.Json[]
fields will now return[]
instead ofnull
when accessed through a join using therelationJoins
Preview feature.Fixes and improvements
Prisma
Language tools (e.g. VS Code)
Share your feedback about Prisma ORM
We want to know how you like working with Prisma ORM in your projects! Please take our 2min survey and let us know what you like or where we can improve 🙏
Credits
Huge thanks to @ mcuelenaere, @ pagewang0, @ Druue, @ key-moon, @ Jolg42, @ pranayat, @ ospfranco, @ yubrot, @ skyzh, @ haaawk for helping!