fix(deps): update prisma monorepo to v5 (major)#8
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR contains the following updates:
^4.14.0->^5.0.0^4.13.0->^5.0.0^4.13.0->^5.0.0^4.14.0->^5.0.0Release Notes
prisma/prisma (@prisma/client)
v5.10.2Compare Source
Today, we are issuing the
5.10.2patch release.Fix in Prisma CLI
Invalid charactererror persists on 5.10.1 in Prisma Studiov5.10.1Compare Source
Today, we are issuing the
5.10.1patch release.Fix in Prisma Client / Prisma CLI
v5.10.0Compare Source
Today, we are excited to share the
5.10.0stable release 🎉🌟 Help us spread the word about Prisma by starring the repo ☝️ or posting on X about the release.
Highlights
Optimized relation queries in MySQL (Preview)
This release brings the optimizations for relation queries from the previous releases to MySQL as well! This means that by enabling the
relationJoinsPreview feature with themysqldatabase provider, you now also get access to therelationLoadStrategyoption in relation queries that let you choose whether you want to merged relations on the application- or database-level.If you enable the
relationJoinsPreview feature, you can choose between thejoinandqueryoptions:join(default): Sends a single query to the database and joins the data on the database-level.query: Sends multiple queries to the database and joins the data on the application-level.To get started, enable the Preview feature in your Prisma schema:
Be sure to re-generate Prisma Client afterwards:
And finally, specify the relation loading strategy for your relation query via the
relationLoadStrategyoption as follows:Note that in the example above, the
relationLoadStrategycould be omitted altogether becausejoinis used as the default value.A few notes about
relationLoadStrategysupport on MySQL:relationLoadStrategyis supported for MySQL v8.0.14 and higher. MariaDB is not supported.LATERALJOINs which are used on PostgreSQL).Configure transaction options in the
PrismaClientconstructorThis feature enables you to configure the following transaction options on a global level via the
PrismaClientconstructor:isolationLevel: Sets the transaction isolation level. By default, this is set to the value currently configured in your database.timeout: The maximum amount of time the interactive transaction can run before being canceled and rolled back. The default value is 5 seconds.maxWait: The maximum amount of time Prisma Client will wait to acquire a transaction from the database. The default value is 2 seconds.Here is an example of how you can set this value globally for all transactions:
Thanks a lot to our fantastic community member
@tockn, who took the initiative to implement this feature in Prisma ORM 🎉Note that you can still override the global values by setting them on a particular transaction.
New
P2037code for “Too many database connections opened” errorsWe introduced a new error code for “Too many database connections opened” errors:
P2037. You can find all error codes in our documentation.Access the Prisma Data Platform via Prisma CLI
Now available in Early Access, you can manage your workspace and configure Prisma Accelerate and Prisma Pulse directly from the terminal.
Visit our docs to learn more about the integration and try it out for yourself!
Fixes and improvements
Prisma Client
Option::unwrap()on aNonevalue when using the relationJoins preview feature with driver adaptersPrisma.TransactionClientappears to be missing types@prisma/clientin Next.js middleware$extendsalways returnanyError: Prisma Client is unable to run in an edge runtime. As an alternative, try Accelerate: https://pris.ly/d/accelerate.t3.bookGenreTitledoes not exist in the current database"relationJoinspreview feature: calledOption::unwrap()on aNonevaluev5.9.1Compare Source
Today, we are issuing the
5.9.1patch release.Fixes in Prisma Client
In
5.9.0we have changed our conditional exports in@prisma/client. This resulted in broken types for TypesScript users using certain combinations ofmodule/moduleResolutionsettings. Additionally, it also caused a regression for Next.js users which have encountered invalid error messages from our side.You can now try out
5.9.1and let us know if you find a bug at https://pris.ly/prisma-prisma-bug-reportError: Prisma Client is unable to run in an edge runtime. As an alternative, try Accelerate: https://pris.ly/d/accelerate.#22889Note: many issues are duplicates.
v5.9.0Compare Source
Today, we are excited to share the
5.9.0stable release 🎉🌟 Help us spread the word about Prisma by starring the repo ☝️ or posting on X about the release.
This release brings a number of small improvements as we continue our work on larger features which you will hear more about in the coming weeks:
Highlights
Optimized result sets for more efficient queries
We continue our efforts of the performance of Prisma Client queries. In
5.1.0, we introduced theRETURNINGkeyword for several queries on PostrgeSQL and CockroachDB. We now expanded the use ofRETURNINGto SQLite and a broader range of queries for existing databases (e.g.deleteon PostgreSQL and MongoDB). You can learn more about the optimizations of the result sets in these PRs:SQL Server: Return proper error for unreachable database
When trying migrate/introspect a SQL server instance that’s unreachable, Prisma ORM now returns the correct
P1001error instead of failing without an error. Learn more in this PR: SQL Server: Migrate/Introspection engine doesn't return P1001 error for unreachable url.Fixes and improvements
Prisma Client
selectqueries on create/update/deletePrisma Migrate
ERROR: column "..." being dropped, try again laterwhen applying migrations with CRDB 23.1Language tools (e.g. VS Code)
Company news
Test edge functions support in Early Access
Today, the only way how to use Prisma ORM in edge functions (e.g. Cloudflare Workers or Vercel Edge Functions) is by using Prisma Accelerate. However, we are actively working on making Prisma ORM compatible with edge functions natively as well. If you want to become an early tester, you can apply for the private Early Accessing program by taking this survey.
We Transitioned Prisma Accelerate to IPv6 Without Anyone Noticing
Last year, AWS announced the decision to begin charging for IPv4 addresses beginning in February 2024. This move had a major impact on Prisma Accelerate, prompting us to go all-in on IPv6. Learn more in this technical deep dive into how we approached our IPv6 migration, lessons learned, and the outcome for users of Prisma Accelerate.
Credits
Huge thanks to @laplab, @Druue, @anuraaga, @onichandame, @LucianBuzzo, @RobertCraigie, @almeidx, @victorgdb, @tinola, @sampolahtinen, @AikoRamalho, @petradonka for helping!
v5.8.1Compare Source
Today, we are issuing the
5.8.1patch release.Fix in Prisma Client
v5.8.0Compare Source
🌟 Help us spread the word about Prisma by starring the repo or posting on X about the release. 🌟
Highlights
Happy New Year from your friends at Prisma! 🎊
In the last 4 weeks, we resolved some bugs on the ORM and made some progress on some exciting features that we’re not yet ready to announce. Stay tuned for the upcoming releases, in which we’ll be announcing new features. 😉
relationJoinsimprovements: Relation loading strategy per query (Preview)In version 5.7.0, we released
relationJoinsinto Preview. TherelationJoinsfeature enables support forJOINs for relation queries.This release adds support for the ability to specify the strategy used to fetch relational data per query when the Preview feature is enabled. This will enable you to choose the most efficient strategy for fetching relation data depending on your use case.
You can now load relation data using either of the following strategies:
join— usesJOINs to fetch relation dataquery— uses sub-queries to fetch relation dataWhen the
relationJoinsPreview feature is enabled, by default, the relation fetching strategy used isjoin. You can override the default behavior by using therelationLoadStrategyquery option.To get started, enable the Preview feature:
… and specify the relation loading strategy for your query as follows:
Try it out and share your feedback and create a bug report if you encounter any issues.
Survey: Edge functions support
We’re working on bringing Edge function support to Prisma ORM and we would appreciate your input by submitting a response to our survey. By filling out the survey, you will be considered for our Early Access cohort as soon as we have something for you to try out.
Fixes and improvements
Prisma Client
targetandtimestampare undefined ininfoevents in Data Proxy clienttimestampanddurationin query events with Data Proxycitextfields with neon database driver causes conversion errorPrisma Migrate
Environment is non-interactivewhenVERCELenv var is definedLanguage tools (e.g. VS Code)
Error validating field 'id' in model 'Post': MongoDB '@​default(auto())' fields must have 'ObjectId' native type.Credits
Huge thanks to @anuraaga, @onichandame, @LucianBuzzo, @RobertCraigie, @fqazi, @KhooHaoYit, @alencardc, @Oreilles, @tinola, @AikoRamalho, @luxaritas for helping!
Company news
🎉 A billion queries and counting: Prisma Accelerate
Prisma Accelerate, our global database cache has served over 1 billion queries since its General Availability launch.
We’d like to give a shoutout to our team and everyone who’s been with us on this journey. Stay tuned for some exciting products and features in the pipeline for 2024!
🔮 Prisma ORM Ecosystem
Are you building a cool tool, extension, generator, CLI tool or anything else, for Prisma ORM? Let us know.
We would like to learn about it and feature it on our Ecosystem page.
💼 We’re hiring
If you're interested in joining our growing team to help empower developers to build data-intensive applications, Prisma is the place for you. Check out our Careers page for open positions.
v5.7.1Compare Source
Today, we are issuing the
5.7.1patch release.This patch fixes multiple small problems in our
relationJoinspreview feature. If you ran into problems when testingrelationJoinsbefore, please give it another go with 5.7.1 and share your feedback or create a bug report if you encounter any issues.Fixes in Prisma Client
relationJoins: Int[] return as nullrelationJoins: fails when filtering includes by isNot: nullrelationJoins: "The table (not available) does not exist in the current database."relationJoins: PostgresError { code: "54023", message: "cannot pass more than 100 arguments to a function", severity: "ERROR", detail: None, column: None, hint: None }relationJoins: Inconsistent column data: Unexpected conversion failure from String to datetime. Reason: $trailing inputv5.7.0Compare Source
🌟 Help us spread the word about Prisma by starring the repo or posting on X (formerly Twitter) about the release.
Highlights
✨ In this release, we improved the SQL queries Prisma Client generates for you with two new Preview features, the driver adapters, and support for the database drivers we currently support. 5.7.0 will be the last release of the year. Stay tuned for the next one in January! ✨
Preview support for
JOINs for relation queries for PostgreSQL and CockroachDBWe’re excited to announce Preview support for
JOINs in Prisma Client when querying relations. Support forJOINs has been a long-standing feature request, and this release adds support for PostgreSQL and CockroachDB. The upcoming releases will expand support for other databases Prisma supports.To get started using
JOINs, enable the Preview feature in your Prisma schema:Run
prisma generateto regenerate Prisma Client and enable the Preview feature.Prisma Client will use a
JOINin your query to fetch relation data for a majority of the cases.Example queries
1-1 relation queries example
Prisma Client query
SQL
1-m relation queries example
Prisma Client query
SQL
m-n relation queries example
Prisma Client query
SQL
Share your feedback and create a bug report if you encounter any issues.
Prisma’s
distinctoption now uses SQL queries (Preview)From this release, Prisma Client’s
distinctoption now uses the native SQLDISTINCT ONfor unordered queries with PostgreSQL and CockroachDB. The upcoming releases will expand support for the other databases that Prisma supports.Prisma Client already supports querying for distinct records. However, Prisma Client took care of the post-processing for distinct records in memory.
To get started, enable the Preview feature in your Prisma schema:
Regenerate your Prisma Client to get started using the Preview feature.
Given the following Prisma Client query:
Before 5.7.0
Previously, Prisma Client handled the post-processing to select distinct records in-memory. Therefore, the following query was generated and executed against your database:
After 5.7.0
Share your feedback and create a bug report if you encounter any issues.
Improved support for Netlify using Node.js v20
In this release, we improved Prisma support when deploying to Netlify on Node.js v20. Previously, the Prisma Client could not resolve the location of the Query Engine after deploying to Netlify when using Node.js v20. If you run into this issue, we recommend updating to Prisma v5.7.0.
We recommend giving this comment on GitHub a read if you are not yet able to upgrade Prisma, to learn how to get around the error.
Fixes and improvements
Prisma Client
InterpretationError("Unable to convert expression result into a set of selection results", None)(starting with 5.2.0)TRUNCATEing the table on CockroachDB:placeholder $1 already has type string, cannot assign ColorPrisma Client could not locate the Query Engine for runtime "rhel-openssl-3.0.x")Prisma
Prisma Migrate
prisma debugcommand does not show env variables declared in.envfileCredits
Huge thanks to @anuraaga, @onichandame, @LucianBuzzo, @RobertCraigie, @fqazi, @KhooHaoYit, @alencardc, @Oreilles, @christianledgard, @skyzh, @alula, @AikoRamalho, @petradonka for helping!
Company news
💼 We’re hiring!
If you're interested in joining our growing team to help empower developers to build data-intensive applications, Prisma is the place for you.
We're hiring for the following roles:
v5.6.0Compare Source
🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟
Highlights
Driver adapters improvements (Preview)
In version 5.4.0, we released
driverAdaptersinto Preview. ThedriverAdaptersfeature enables Prisma Client to access your database using JavaScript or Serverless database drivers.In this release, we fixed many bugs for the existing driver adapters. We appreciate all the community feedback that has helped us improve this feature!
PlanetScale serverless driver adapter improvements
This release also introduces a small breaking change to the
@prisma/adapter-planetscalepackage to improve its stability and performance. The serverless driver adapter will now use a connection pool instead of a single connection from PlanetScale’s serverless driver.In case you’re using the
@prisma/adapter-planetscale, update your Prisma Client instance with the following:Request for feedback
We encourage you to try out the driver adapters and share your feedback to help us move it to General Availability in either of the following GitHub discussions:
Refer to our docs to learn more about driver adapters.
New
prisma debugcommandThis release introduces a new command:
prisma debug. The command provides debugging information such as environment variables that Prisma Client, Prisma Migrate, Prisma CLI, and Prisma Studio use. The command is also useful when creating a bug report as the information complements the output of theprisma -vcommand.You can learn more about the command in our docs.
Read replicas extension improvements
We also released version 0.3.0 of the
@prisma/extension-read-replicaspackage that contains the following improvements:A new
$replica()method that explicitly enables you to use a replica for your query.For example, by default, the
queryRawandexecuteRawmethods are forwarded to the primary database, as they could try to write to the database. You can use the$replica()method with either of the*Rawmethods to explicitly execute your query against a replica instead of your primary database.Validation for when there’s an empty list of replicas.
Webpack bundling fixes
We want to thank you, our community members, for your contributions! 🙏
You can find additional information on the changes in the extension’s release. You can learn more about the extension in the announcement blog post.
Package provenance
npm has introduced provenance statements to improve supply-chain security and transparency of packages. This allows developers to verify where and how packages are built.
Starting with the 5.6.0 release, all npm packages for Prisma ORM will be published with provenance statements. If you maintain a Prisma Client extension or generator, we encourage you to enable provenance statements when publishing to npm.
Fixes and improvements
Prisma Migrate
db pushwith invalid connection string: Connection string redacted, weird grammardb pull --url=...logs full connection string onP4001 The introspected database was emptyPrisma Client
prisma_pool_connections_idlereports misleading number@prisma/adapter-planetscalePrismaPlanetScaleadapter to the constructorError: sha256 checksum of https://binaries.prisma.sh/all_commits/475c616176945d72f4330c92801f0c5e6398dc0f/windows/query_en gine.dll.node.gz (zipped) should be 748d039badd0919d022fff7d554b66b6937b79035861a6ae9a80c5a95eee76f5 but is b867ad335ee6f58c6a38f665dd641c95e6adff3061f92b7613c62cae1c3362bbPrisma CLI
prisma debugCredits
Huge thanks to @onichandame, @LucianBuzzo, @RobertCraigie, @fqazi, @KhooHaoYit, @alencardc, @Oreilles, @christianledgard, @skyzh, @alula, @luxaritas, @Nasfame, @lukahartwig, @steebchen, @icanipa for helping!
Miscellaneous
Prisma Accelerate is now Generally Available
We're excited to share that Prisma Accelerate is now Generally Available. Prisma Accelerate is a global database cache that's available in over 280 locations and provides scalable connection pooling for serverless and edge applications.
Learn more in the announcement blog post. Sign up and try out Prisma Accelerate
💼 We’re hiring!
If you're interested in joining our growing team to help empower developers to build data-intensive applications, Prisma is the place for you.
We're hiring for an Engineering Manager: Prisma Data Platform.
v5.5.2Compare Source
Today, we are issuing the
5.5.2patch release.Fix in Prisma CLI
v5.5.1Compare Source
Today, we are issuing the
5.5.1patch release.Fix in Prisma Client
v5.5.0Compare Source
🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟
Highlights
Serverless database drivers improvements and request for feedback (Preview)
In version 5.4.0, we released
driverAdaptersinto Preview. ThedriverAdapterfeature enables Prisma Client to access your database using other JavaScript or Serverless database drivers such as Neon, PlanetScale, and Turso.The driver adapters allow Prisma Client to connect to your database using protocols besides TCP, such as HTTP (PlanetScale and Turso) and WebSockets (Neon). You can learn more about the Preview feature from the announcement blog post.
In this release, we focused our efforts on fixing bugs and improving the stability of the Preview feature.
We encourage you to try it out and share your feedback to help us move it to General Availability in either of the following GitHub discussions:
New flags for the
prisma initcommandThis release introduces 3 new flags you can provide when initializing Prisma in your project using the
prisma initcommand:--generator-provider: Defines the default generator to use--preview-features: Specifies the default Preview features to use in your project--output: Specifies the default output location for the generated clientFixes and improvements
Prisma CLI
Prisma Client
prisma.model.countdoes not typedistinctcorrectly….findMany()invocation: The columnj1.iddoes not exist in the current database.Credits
Huge thanks to @onichandame, @fqazi, @KhooHaoYit, @alencardc, @Oreilles, @christianledgard, @skyzh, @alula, @michaelpoellath, @lukahartwig, @steebchen, @icanipa, @jiashengguo, @stephenwade for helping!
💼 We're hiring!
If you're interested in joining our growing team to help empower developers to build data-intensive applications, Prisma is the place for you.
We're currently hiring for the following roles:
v5.4.2Compare Source
Today, we are issuing the
5.4.2patch release.Fix in Prisma Client
v5.4.1Compare Source
Today, we are issuing the
5.4.1patch release.Fix in Prisma Client
….findMany()invocation: The columnj1.iddoes not exist in the current database.Fix in
@prisma/adapter-planetscalev5.4.0Compare Source
🌟 Help us spread the word about Prisma by starring the repo or tweeting about the release. 🌟
Highlights
Preview support for PlanetScale and Neon serverless database drivers
We’re excited to announce Preview support for the Neon and PlanetScale serverless database drivers. The PlanetScale and Neon serverless database drivers allow Prisma to connect to your database using protocols besides TCP — HTTP (PlanetScale) or WebSockets (Neon).
To get started with the serverless database drivers, first enable the
driverAdaptersPreview feature flag in your Prisma schema:Next, to set up Prisma Client to use the serverless database drivers:
PlanetScale
Install the Prisma adapter for PlanetScale and PlanetScale serverless database driver, and undici:
Ensure you update the host value in your connection string to
aws.connect.psdb.cloud. You can learn more about this here.DATABASE_URL='mysql://johndoe:strongpassword@aws.connect.psdb.cloud/clear_nightsky?sslaccept=strict'Update your Prisma Client instance to use the PlanetScale database driver:
Neon
Install the Prisma adapter for Neon, Neon serverless database driver and undici (WebSockets):
Update your Prisma Client instance to use the Neon serverless database driver:
Let us know your feedback about the Neon or Planetscale serverless database drivers in the linked GitHub discussions. Create a bug report if you run into any issues.
Early Access support for Turso
Turso is an edge-hosted, distributed database that's based on libSQL, an open-source and open-contribution fork of SQLite, enabling you to bring data closer to your application and minimize query latency.
Since support for Turso is in Early Access, there may be some rough edges which we’re still working on it to improve the API and overall support. Additionally, it is behind the
driverAdaptersPreview feature flag. Enable it to get started using Turso in your project:Next, install the Prisma Client adapter for Turso and the
libSQLdatabase clientUpdate your Prisma Client instance:
You can learn more on how to use Prisma together with Turso in the announcement blog post.
Try it out! Let us know what you think and create a bug report if you run into any issues.
Query performance improvements
In our continued efforts to make Prisma Client faster, we identified and improved the performance of different types of queries.
Relation filters improvements
We made the following improvements to relation filters:
INNER JOINused in relation filter queries (Big thank you to @KhooHaoYit for helping out)LEFT JOIN's for to-one relations. Previously, Prisma made use of sub-queries to fetch data.Example Prisma Client query
Before 5.4.0
After 5.4.0
If you’re interested in more details on the relation query filter improvements, you can take a look at this pull request.
Enum improvements on PostgreSQL and CockroachDB
Previously, when an enum value was used in a query, our Postgres driver would make additional queries to resolve the enum types that were used.
In this release, we’re making improvements by casting enums to
TEXTto avoid the additional roundtrips when resolving the types.This change should have the most impact if you’re using
pgBounceror if you’re running Prisma in a serverless environment, where our Postgres driver can’t cache enum types information.Prisma schema
Prisma Client query
Before 5.4.0
After 5.4.0
Bulk delete improvements
We optimized the
deleteManyoperation by:SELECTqueries used to fetch data that would be used as input for theDELETEoperation. In some cases, this also improves index usage.Prisma Client query
Before 5.4.0
After 5.4.0
Upsert improvements
We improved the
upsertoperation (non-native database upsert) by removing a redundantSELECTquery:Prisma Client query
Before 5.4.0
After 5.4.0
Fixes and improvements
Prisma Client
SELECTmay be generated byupsert()deleteManyoptimisationConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.