π Help us spread the word about Prisma by starring the repo or tweeting about the release. π
Request for feedback for Preview features
We would appreciate your feedback on a handful of Preview features to help us move them to General Availability soon. The Preview features include:
- PostgreSQL extensions
- Extended where unique
- Field reference support
- Order by Nulls
- Count by filtered relation
You can test them by enabling the Preview feature in your Prisma schema and giving them a try already in your Prisma schema, e.g., PostgreSQL extensions, or regenerating Prisma Client and trying them in your queries.
Highlights
Improved Prisma Client startup performance
For the last couple of months, we've been working hard to improve the performance of Prisma Client. We also published a blog post on how How We Sped Up Serverless Cold Starts with Prisma by 9x, which we recommend you give it a read.
This release continues with the same theme by making the size of the generated Prisma Client smaller. We have roughly halved the size of Prisma Client's dependencies.
More Introspection Stopgaps
In 4.13.0, we introduced the first 6 Introspection Stopgaps. Introspection Stopgaps surface the existence of these features in your database and link to our documentation on how to manually work around the Prisma Schema with unsupported database features (βStopgapsβ as we will remove them as soon as we implement full support for these features).
In this release, we added 3 more stopgaps for the following features:
- Check Constraints (MySQL + PostgreSQL)
- Exclusion Constraints
- MongoDB $jsonSchema
On introspecting a database using any of these features, you will get a warning from the Prisma CLI and a comment in your Prisma schema where the feature is being used. The warning will also contain a link to instructions on how to manually use the feature.
Fixes and improvements
Prisma Client
- Generator output
client
leads toError: ENOENT: no such file or directory, open '.../node_modules/@prisma/client/schema.prisma'
- DeprecationWarning: Implicit coercion to integer for exit code is deprecated
thread 'tokio-runtime-worker' panicked at 'internal error: entered unreachable code: No unsupported field should reach that path', query-engine\connectors\sql-query-connector\src\model_extensions\scalar_field.rs:70:44
- jsonProtocol:
in
argument of filter types does not accept scalars jsonProtocol
should report errors as nicely as before- Generated client with custom path containing string
client
:ENOENT: no such file or directory, open 'D:\<projectpath>\node_modules\.prisma\client\schema.prisma
- Can't find the schema when the project path contains the same name as the generated client folder
Prisma Migrate
- Build all glibc Linux binaries with CentOS 7
- Remove
Please create an issue ...
inMigrateEngine.ts
- Do not introspect exclusion constraints as Gist indexes
- Introspection warnings: move rendering from
DbPull.ts
to the engine - views: don't create local
views
folder on introspection if no views are found - RelationMode autocomplete uses incorrect casing
Language tools (e.g. VS Code)
Credits
Huge thanks to @RobertCraigie, @KhooHaoYit, @art049, @luxaritas, @mrazauskas for helping!
πΊ Join us for another "What's new in Prisma" live stream
Learn about the latest release and other news from the Prisma community by joining us for another "What's new in Prisma" live stream.
The stream takes place on YouTube on Thursday, May 11 at 5 pm Berlin | 8 am San Francisco.