Today, we are excited to share the 7.3.0 stable release 🎉
🌟 Star this repo for notifications about new releases, bug fixes & features — or follow us on X!
ORM
- #28976: Fast and Small Query Compilers
We've been working on various performance-related bugs since the initial ORM 7.0 release. With 7.3.0, we're introducing a newcompilerBuildoption for the client generator block inschema.prismawith two options:fastandsmall. This allows you to swap the underlying Query Compiler engine based on your selection, one built for speed (with an increase in size), and one built for size (with the trade off for speed). By default, thefastmode is used, but this can be set by the user:
generator client {
provider = "prisma-client"
output = "../src/generated/prisma"
compilerBuild = "fast" // "fast" | "small"
}We still have more in progress for performance, but this new compilerBuild option is our first step toward addressing your concerns!
-
#29005: Bypass the Query Compiler for Raw Queries
Raw queries ($executeRaw,$queryRaw) can now skip going through the query compiler and query interpreter infrastructure. They can be sent directly to the driver adapter, removing additional overhead. -
#28965: Update MSSQL to v12.2.0
This community PR updates the@prisma/adapter-mssqlto use MSSQL v12.2.0. Thanks Jay-Lokhande! -
#29001: Pin better-sqlite3 version to avoid SQLite bug
An underlying bug in SQLite 3.51.0 has affected thebetter-sqlite3adapter. We’ve bumped the version that powers@prisma/better-sqlite3and have pinned the version to prevent any unexpected issues. If you are using@prisma/better-sqlite3, please upgrade to v7.3.0. -
#29002: Revert
@mapenums to v6.19.0 behavior
In the initial release of v7.0, we made a change with Mapped Enums where the generated enum would get its value from the value passed to the@mapfunction. This was a breaking change from v6 that caused issues for many users. We have reverted this change for the time being, as many different diverging approaches have emerged from the community discussion. -
prisma-engines#5745: Cast BigInt to text in JSON aggregation
When usingrelationJoinswith BigInt fields in Prisma 7, JavaScript'sJSON.parseloses precision for integers larger thanNumber.MAX_SAFE_INTEGER(2^53 - 1). This happens because PostgreSQL'sJSONB_BUILD_OBJECTreturns BigInt values as JSON numbers, which JavaScript cannot represent precisely.// Original BigInt ID: 312590077454712834 // After JSON.parse: 312590077454712830 (corrupted!)This PR cast BigInt columns to
::textinsideJSONB_BUILD_OBJECTcalls, similar to howMONEYis already cast to::numeric.-- Before JSONB_BUILD_OBJECT('id', "id") -- After JSONB_BUILD_OBJECT('id', "id"::text)
This ensures BigInt values are returned as JSON strings, preserving full precision when parsed in JavaScript.
Open roles at Prisma
Interested in joining Prisma? We’re growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our [Careers page](https://www.prisma.io/careers#current) and find the role that’s right for you.
Enterprise support
Thousands of teams use Prisma and many of them already tap into our Enterprise & Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance.
With this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: https://prisma.io/enterprise.