Here you’ll find all improvements and updates we’ve made to our products.
We’re really excited about Prisma ORM 6.1.0 as our tracing
Preview feature is now stable! There are a few changes needed if you are using the tracing
feature, make sure you check out the release notes for all the details.
Another huge announcement for the ORM: we have published a Manifesto describing our view of the ORM and how we will tackle governance moving forward. You should read the whole document, but to spoil it a little bit: expect quarterly roadmaps, a leaner and meaner ORM, and an easier path for collaboration and contribution.
Following up our announcement of Prisma Postgres and then moving Prisma Postgres to free for the Early Access period, we now have Prisma Studio available for Prisma Postgres! Prisma Studio, embedded directly in the Prisma Console, allows you to view and edit your data online.
Prisma Optimize keeps getting better, with two new recommendations to help improve your database’s health:
💸 Improve efficiency by avoiding @db.Money
⏰ Avoid @db.timestamp(0) and @db.timestamptz(0)
because of time rounding errors.
We released a live activity view of Prisma Accelerate queries around the world! It’s awesome to see developers around the world using Prisma Accelerate to scale their projects.
The Prisma team has been hard at work writing as well as building.
Advanced Database Schema Management with Atlas. Interested in leveling up your migration and schema management flows? Check out how Atlas can work with Prisma ORM to make your team’s lives even easier.
Type-safe raw SQL… in Prisma?! Watch as Ryan describes how to use the TypedSQL feature of Prisma ORM when you need a little bit more control over your SQL queries.
Prisma Postgres in 100 seconds. Inspired by the one and only Fireship, Nikolas runs down why Prisma Postgres is simply amazing… all in under 100 seconds.
As we wrap up this installment of the Changelog (and 2024!), the Prisma team wants to thank our community. In addition to the ORM Manifesto where we re-commit ourselves to the community, we also are celebrating 40,000 stars on our GitHub repo. We’ve come a long way, but this is only the beginning for Prisma and we couldn’t be happier having you along with us.
Prisma 6 is here, bringing improvements for future-proofing and enhanced performance. We've updated the minimum supported versions of TypeScript and Node.js and significantly improved full-text search capabilities by promoting the fullTextIndex
and fullTextSearch
features to General Availability.
Our new serverless PostgreSQL database, Prisma Postgres, remains free during its Early Access phase! Learn more about this on our blog.
We're also gathering feedback on connecting to Prisma Postgres from your favorite database management tools, like TablePlus or PgAdmin. Let us know what you think here: pris.ly/i-want-tcp.
If you've tried Prisma Postgres and have suggestions for improving it to better suit your use case, please provide your feedback here: pris.ly/ppg-feedback.
At Prisma, we're always striving to enhance your development experience. If you've recently worked with Prisma ORM or Prisma’s commercial offerings, we'd love to hear from you! Your insights are invaluable in shaping the future of our tools.
👉 Share your thoughts in this quick 2-minute survey.
Our biggest news yet: Prisma now offers a managed PostgreSQL service! Entering Early Access, Prisma Postgres is a pay-as-you-go, serverless Postgres offering that offers competitive pricing and no cold starts!
We’re confident that the technology powering Prisma Postgres is the path forward for database offerings. So much so that we’ve gone in depth on our blog on how we brought Prisma Postgres to life.
We’re continuing to improve the Prisma ORM experience with Prisma ORM 5.22.0. In this release we focused on improving the tracing
Preview feature and fix annoying bugs in metrics and connection pooling.
More info available in our release notes!
Every so often we get to work with others in making great examples that show off what is possible when you use Prisma. We’re super happy to show off a recent collaboration with trigger.dev that allows you to create a powerful, scalable, video processing pipeline.
We also have heard from the community that when checking out our tools for the first time, it can be confusing on where to start. To help that, we’ve begun creating starter projects that show how to get started with a specific product. Today we’d like to highlight our Optimize starter project available via try-prisma
!
With this release, Prisma Optimize brings two new recommendations to help you enhance the performance of your database operations. Explore the new insights and take full advantage of our optimization engine to streamline your development experience.
Resolve repeated queries with caching
Prevent over-fetching with specific selects
Did you know that Prisma is GDPR, HIPAA, ISO 27001 and SOC-2 Type II compliant? It was a ton of work but we did it! And now, we’ve made it easier to stay on top of compliance and certification requirements. You can now view detailed compliance documentation, certifications, and audit logs directly in your Workspace Settings. This addition simplifies governance and helps you ensure that your organization meets the necessary standards for security and data protection. For further information into our certifications please refer to our Trust Center: https://trust.prisma.io/
Our blog just got a facelift! In addition to the brand new look and feel, we’ve introduced search to help you find posts faster. Whether you’re looking for product updates, tutorials, or community stories, our improved blog experience makes it easier than ever to stay informed.
Check out the new landing page: https://www.prisma.io/blog
Prisma ORM 5.21.0 brings some bug fixes and needed enhancements so that we can move our tracing
Preview feature to GA.
More info in our release notes!
We're growing! If you’re passionate about developer tooling and want to contribute to the future of databases, we want to hear from you. Prisma is currently hiring across multiple teams, including engineering, developer advocacy, and product. Visit our careers page to learn more and see if there's a role that fits your skills.
Prisma Optimize is now in GA, offering AI-powered tools to analyze and improve database query performance. It identifies problematic queries, provides actionable insights like reducing excessive rows or adding indexes, and allows you to track performance improvements in real-time.
For more details, read the announcement blog post.
Now, you can cache query results longer and invalidate them when your data changes. This helps you keep your data fresh while maintaining peak performance.
This highly requested feature allows you to configure query limits based on your pricing plan to handle longer database query durations or retrieve larger response sizes.
👉 Explore the details in our docs
strictUndefinedChecks
feature in Preview!With Prisma ORM 5.20.0, the Preview feature strictUndefinedChecks
will disallow any value that is explicitly undefined
and will be a runtime error. This change is direct feedback from this GitHub issue and follows our latest proposal on the same issue.
If you want to read and learn more, take a look at our latest release notes!
🤝 We teamed up with Inngest to demonstrate how you can build powerful, extensible, real-time workflows using Prisma Pulse and Inngest together.
Thousands of developers use Prisma for our popular TypeScript ORM, seamless connection pooling, advanced caching, real-time event streaming, and insightful query optimizations.
👉 Discover how our products work together to enable type safety, productivity, and flexibility in our blog post
We're excited to introduce TypedSQL
in Prisma ORM, a new feature that brings type safety to your raw SQL queries. With TypedSQL
, you can write raw SQL in .sql
files and enjoy the benefits of type-checking and auto-completion, all within your Prisma projects.
Simply use the prisma generate --sql
command to integrate these queries and execute them using the $queryRawTyped
function. This update bridges the gap between the flexibility of raw SQL and the safety of Prisma, making your development process smoother and more reliable.
To learn more and get started with TypedSQL, read our docs and check our latest blog post and video!
We're excited to introduce auto-scaling for Prisma Accelerate, a feature designed to scale your applications seamlessly based on demand.
With this new capability, Prisma Accelerate automatically adjusts resources to ensure optimal performance, whether you're dealing with a sudden traffic spike or steady growth. This means less manual intervention and more focus on building your application. We're committed to making your development experience as smooth as possible, and auto-scaling is a big step in that direction.
Learn more about how connection pooling helps your applications and some best practices for setting the connection limit in our blog post.
Prisma Pulse now supports static IPs, enhancing security by allowing you to control access to your Prisma Data Platform with fixed IP addresses. This feature ensures that only trusted networks can interact with your data, providing an extra layer of protection for your applications. It's all about giving you more control and peace of mind when managing your data.
Check our latest post and go to the platform console to get started.
Prisma Pulse is now a fully supported integration for Postgres databases on Neon. Get started today by reading our guide.
Prisma ORM was released for production in 2021 and recently became the most downloaded database library on npm! We wouldn’t be here without your amazing support 💜
Check out our latest blog post where we reflect on our journey and share what's next for Prisma.
🎉 You can now use the latest version of UUIDs with Prisma ORM, providing even more flexibility and future-proofing for your applications.
To support this, we’ve updated the uuid()
function in Prisma Schema to accept an optional integer argument. Right now, the only valid values are 4
and 7
, with 4
being the default.
More details in our latest release notes.
🛠 Resolved Pulse .stream()
API Event Loss
We’ve fixed an issue where the Pulse .stream()
API would unexpectedly stop receiving events, requiring a manual disconnect and reconnect. This was due to a race condition in the Pulse backend, which has now been identified and corrected. Your event streams should now be more reliable and uninterrupted.
🚀 Enhanced Error Feedback during Pulse Setup
We’ve improved the error messages you receive during the Pulse setup. Previously, users with certain unsupported database configurations encountered generic error messages. Now, Pulse provides clearer, more instructional feedback to help you resolve these issues more efficiently.
🔍 Dive into our latest example apps with Nuxt.js, SolidStart, and SvelteKit and learn how to implement Prisma Accelerate and apply effective cache strategies to speed up data retrieval.
Check out the code example for your preferred framework
Performance is an important topic for us at Prisma!
📊 That’s why we created open-source benchmarks that compare Prisma ORM, Drizzle ORM, and TypeORM using PostgreSQL databases hosted on AWS RDS, Supabase, and Neon.
Read more about our methodology, see a summary of the results, and learn how to ensure your Prisma ORM queries are at optimal speed.
Prisma Accelerate and Prisma Pulse are now available on the AWS Marketplace!
Simplify your infrastructure management with seamless integration and unified billing.
Discover how to get started with Prisma on AWS today in our blog post.
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 🙏
We’ve changed the response format of queryRaw
to decrease its average size, which reduces serialization CPU overhead. Here’s a peek at the results measuring before and after the improvements.
When querying large data sets, we expect you to see improved memory usage and up to 2x performance improvements, as you can clearly see in the graphs. We are very excited to introduce these improvements in our latest 5.17.0 release!
In 5.17, we introduced some quality of life improvements for our VS Code extension, which makes interacting with it so much better!
Some of the additions were:
Find out more in our latest release notes.
Already building with Prisma ORM? Explore how Prisma Accelerate and Prisma Pulse help you develop faster, more scalable applications with real-time features your users are looking for in our new docs page: Going Beyond Prisma ORM.
We take a look at common problems that arise as you're building applications, and how Accelerate and Pulse take your application to the next level after the Prisma ORM.
Solin, a leading fitness marketplace for creators, has improved its platform by integrating Prisma Accelerate. This story highlights how Prisma Accelerate has contributed to Solin's success by enhancing performance and reliability with its scalable connection pool and global database cache.
Check out our blog post and learn more about their architecture and the fantastic results they have obtained with Accelerate!
As we run on AWS & Cloudflare, we collect extensive latency data between them. We think you'll find this data as interesting as we do, so we’re excited to share our 1st annual Cloud Connectivity report!
Read the report here and dive into all the nitty gritty about latency with us.
In 5.13.0, we introduced Preview support for the omit
option within the Prisma Client query options. Now, we’re more than happy to announce that we’re expanding the omitApi
Preview feature to also include the ability to omit fields globally.
Here's an example how you’re able to define fields to omit when instantiating Prisma Client either locally or globally:
Read more in our latest blog post.
prismaSchemaFolder preview feature
To continue improving our multi-file schema support, we have a few breaking changes to the prismaSchemaFolder
feature:
When using relative paths in Prisma Schema files with the prismaSchemaFolder feature, a path is now relative to the file it is defined in rather than relative to the prisma/schema folder.
We realized that during migration many people would have prisma/schema
as well as prisma/schema.prisma
. Our initial implementation looked for a .prisma
file first and would ignore the schema
folder if it exists. This is now an error.
With the new Google authentication option, the choice is yours when signing in on http://console.prisma.io.
Stay tuned for more authentication options!
Prisma has successfully implemented processes and controls required for SOC2 Type II, HIPAA, GDPR, and ISO 27001:2022 certifications. These accomplishments demonstrate our commitment to providing secure and reliable software solutions for developers working with databases.
Read more in our blog post.
Simplify setting up Prisma ORM in your Nuxt app and explore Prisma Studio in Nuxt Dev tools. Read more in our blog post.
Built something awesome with Prisma? 🌟 Show it off with these badges, perfect for your readme or website. Learn more about embedding the badges.
Pulse makes it easy to build event-driven apps by letting you react to changes in your database. Thanks to its new event persistence feature, all database change events are now guaranteed to be delivered at least once and in the right order!
Interested in learning more and trying Pulse for yourself? Dive into our blog post and get started!
We are excited to introduce a new Preview feature in Prisma ORM: the ability to organize your Prisma Schema into multiple files. This highly requested feature is now available in our 5.15.0 release!
Learn how it works in our latest blog post, and try it out yourself. Happy coding!
Have you considered building React Native apps using Prisma and Expo? Well, Prisma ORM now provides Early Access support for React Native and Expo, fulfilling a popular community request!
Check out our blog post and public repo to get started!
We are happy to announce the launch of the Prisma Insider Program! Get early access to features, provide invaluable feedback, and play a key role in the development of Prisma’s commercial products.
👉 Check the details in our blog post. Follow this link to apply and tell us why you’d be a great fit for the Prisma Insider Program.
Connection pooling is crucial to ensure your data-driven app can handle massive loads without failure. Our blog post explores how connection pooling can save your e‑commerce platform during peak traffic, such as Black Friday.
Find out how caching database queries can save you time and complexity and make your app run smoother and faster.
📚 Learn about the benefits of caching, when to use it, and how easy it is to set up with Prisma Accelerate in our blog post.
Ever wondered what SQL the Prisma ORM generates under the hood? Want to understand the performance of your app and deliver a better and faster experience for your users? With Prisma Optimize you can!
🎥 Watch our video walkthrough using dub.co as a case study.
Read the announcement blog post for instructions on how to get started and optimize your own application.
createManyAndReturn()
In our 5.14.0 release, we made available a new, top-level Prisma Client query: createManyAndReturn()
. It works similarly to createMany()
but uses a RETURNING
clause in the SQL query to retrieve the records that were just created.
Here’s an example of creating multiple posts and then immediately returning those posts.
Read more in our release notes
Previously, Prisma ORM suffered from performance issues when using the in
operator or when including related models in queries against a MongoDB database.
With 5.14.0, Prisma ORM now rewrites queries to use a combination of $or
and $eq
operators, leading to dramatic performance increases for queries that include in
operators or relation loading.
See the closed public issues in our release notes.
Curious to see how Prisma ORM performs with popular DB providers?
We’ve worked with Vercel to add ORMs to their open-source database latency benchmarks.
🚀 Run the test and see for yourself!
Explore Pulse’s features and use cases in our updated documentation and follow our get-started guide to set up Pulse in minutes.
In our Platform docs, we’ve refined the descriptions of Workspaces, Projects, and Environments and our billing information to make managing your projects and understanding your costs even easier.
Learn how Prisma products interoperate at each stage to enhance your data-driven application development process.
👉 Read up on the Prisma BFG framework
As of 1 May 2024, we've transitioned from our community Slack to our Discord server. Join us over there to showcase your projects, get community support, or simply meet & chat with your fellow devs.
See you on Discord!
Prisma Accelerate introduces Static IP support, enabling secure connections to your database with predictable IPs for controlled access and minimized exposure. This allows connections from Accelerate to databases requiring trusted IP access.
Learn more in our blog post, and try it out.
omit
Fields From Prisma Client Queries (In Preview)We’re excited to announce Preview support for the omit
option within the Prisma Client query options. The highly-requested omit
feature now allows you to exclude fields that you don’t want to retrieve from the database on a per-query basis.
Here is an example of using omit
:
Many users have requested a global implementation of omit
. This request will be accommodated in the future. In the meantime, you can follow the issue here.
Read more in our latest release notes
The same docs that you know and love, but now built with Docusaurus! 🦖
👉 Enjoy an improved dark/light mode, search, layout, and Kapa AI experience.
Visit our Docs or peek under the hood at https://github.com/prisma/docs
Exciting news! 5.12.0 release brings Preview support for Cloudflare D1 with Prisma ORM 🥳
D1 is Cloudflare's native serverless database and was initially launched in 2022. It's based on SQLite and can be used when deploying applications with Cloudflare. Cloudflare has recently announced launching D1 in GA and we couldn't be happier to be adding support and working with them on this new milestone.
Read more in our latest blog post.
createMany()
for SQLiteBringing support for createMany()
in SQLite has been a long-awaited and highly requested feature ⭐
createMany()
is a method on Prisma Client, released back in version 2.16.0, that lets you insert multiple records into your database at once. This can be really useful when seeding your database or inserting bulk data.
Read more in our latest release notes.
We have refined our subscription management for a better UX experience.
Here are some cool new additions and improvements:
• We've added support for more payment methods and you can now manage your Tax Ids
• You can now see your invoice history and download past invoices.
Try it out at console.prisma.io
• Improved our getting started docs for Prisma Pulse and Railway
• Improved our troubleshooting guide for Prisma Accelerate, so you can more easily resolve common issues you might run into.
• We’ll be at Epic Web Conference on April 11th, find us if you’re there!
• Plus, you can now follow our updates on our brand new WhatsApp channel. Join and get the Changelog news delivered straight to you.
We're thrilled to announce that Pulse has reached General Availability! This marks a significant milestone in our journey to redefine how developers interact with database-event driven compute.
Pulse is managed database-event infrastructure that simplifies database-event driven compute, making it easy to power real-time functionality, like chat, notifications, data broadcast, and more.
Pricing? Start for free with our usage-based pricing, designed to scale flexibly with your project.
👉 Check out our announcement blog post and documentation to learn more and get started.
Platform Environments is a new feature of the Prisma Data Platform that lets users create different setups within one project. This helps smoothen out the app development process, from testing to going live.
Also, now you can access the Prisma Data Platform using the Prisma CLI, making it easier to manage your resources and workflow (currently in Early Access).
👉 Learn more in our blog post, and take it for a spin.
Prisma ORM now supports edge functions, allowing developers to access their databases using Prisma ORM from platforms such as Vercel Edge Functions, Vercel Edge Middleware, Cloudflare Workers, and Cloudflare Pages.
Edge functions improve app performance by reducing request latency and improving response times.
With the release of Prisma v5.11.0, developers can now use Prisma ORM with their favorite Node.js database drivers in edge functions, and the query engine's size has been reduced to fit the limited runtime environment.
If you want to understand what this exciting functionality brings as a whole, take a look at our blog post and go try it.
👉 Share your feedback with us via Twitter or Discord
create
operationsWith Prisma ORM, you can create multiple new records in nested queries, for example:
In previous versions, Prisma ORM would translate this into multiple SQL INSERT
queries, each requiring its own roundtrip to the database. As of this release, these nested create
queries are optimized and the INSERT
queries are sent to the database in bulk in a single roundtrip.
👉 Read more in our 5.11.0 release notes.
At Prisma, we deeply value the talented creators, educators, and builders in our community and we’ve long wanted to reward their contributions.
We’re excited to launch the Prisma Partner Network with tailored opportunities for affiliates, tech partners, and resellers.
In our real-world interview series, we talk with founders who developed OSS projects using Prisma. Explore our recent chats:
🎥 Umami - The open source Google Analytics alternative
Did you ever feel that Google Analytics is too bloated and that its UI and workflows are too complex? Discover how Umami offers a simple yet powerful alternative analytics tool.
🎥 Dub.co: Aiming for a billion with Prisma
Steven Tey shares his journey from leaving Vercel to launching his startup. Learn how Dub.co began as a passion project, its technology stack, and an in-depth look at its codebase.