PackageTrack

npm · #3659

@prisma/client

7.10.0prisma/prisma

Prisma Client is an auto-generated, type-safe and modern JavaScript/TypeScript ORM for Node.js that's tailored to your data. Supports PostgreSQL, CockroachDB, MySQL, MariaDB, SQL Server, SQLite & MongoDB databases.

Release timeline

10652 releases since 2020
2020202120222023202420252026

Releases

  1. 6.16.2-dev.116 Sept 2025pre-release

    Nothing published for this version

  2. 6.16.111 Sept 2025
    Release notes

    Today, we are issuing a 6.16.1 patch release.

    Bug fixes

    • In Prisma ORM 6.16.0, the driverAdapters and queryCompiler features were stabilized, but leftover code in the prisma-client-ts generator required them to still be specified in edge runtimes. This has now been fixed, runtimes like workerd and vercel-edge no longer require these preview features.
    Open source →
  3. 6.16.010 Sept 2025
    Release notes

    Today, we are excited to share the 6.16.0 stable release 🎉

    🌟 Star this repo for notifications about new releases, bug fixes & features — or follow us on X!

    Prisma ORM

    This section contains all the updates made in Prisma ORM v6.16.0.

    Rust-free ORM and driver adapters are Generally Available

    Eight months ago, we published our ORM manifesto with the first hint that we're going to remove the Rust-based query engine from Prisma ORM:

    We're addressing this by migrating Prisma's core logic from Rust to TypeScript and redesigning the ORM to make customization and extension easier.

    After a lot of hard work and feedback from the community, we're incredibly excited to share that the migration has been completed and you can now use Prisma ORM without its Rust engine in your production apps. 🎉 This is a major milestone in the history of Prisma ORM and comes with a lot of benefits:

    • Reduced bundle size by ~90%
    • Faster queries (check out our latest benchmarks)
    • Lower CPU footprint
    • Less deployment complexity
    • Easier to make open-source contributions

    … and overall a much better DX since you don't need to worry about the extra binary in your generated Prisma Client code any more.

    While the Rust-free ORM will become the default in Prisma ORM v7 soon, for now you still need to opt-into using it:

    1. Configure the generator block in your Prisma schema:
      generator client {
        provider   = "prisma-client" // (or "prisma-client-js") 
        output     = "../src/generated/prisma"
        engineType = "client"
      }
      
      Note: If you tried the Rust-free ORM before, you can now also drop the queryCompiler and driverAdapter feature flags from the previewFeatures array. And if you used binaryTargets, you can also get rid of these.
    2. Install the driver adapter for your database, e.g. to use pg for PostgreSQL:
      npm install @prisma/adapter-pg
      
    3. Finally, you can instantiate PrismaClient using the PrismaPg driver adapter as follows:
      import { PrismaClient } from './generated/prisma'
      import { PrismaPg } from '@prisma/adapter-pg'
      
      const adapter = new PrismaPg({ connectionString: env.DATABASE_URL })
      const prisma = new PrismaClient({ adapter })
      
      // ... send queries using `prisma` like before
      

    📚 To learn more and see instructions for all other supported databases, check out the documentation.

    The Rust-free version of Prisma ORM has been thoroughly tested with the prisma-client generator (see below), not with prisma-client-js. Use the old generator at your discretion.

    New ESM-first prisma-client generator is Generally Available

    Another major milestone has been achieved in this release: The new, flexible and ESM-first prisma-client generator is ready for production too. Here's a quick overview of its main benefits:

    • No more magic generation into node_modules; generated code is fully under control by the developer
    • ESM-compatible by default
    • Flexible configuration for specific runtimes (Node.js, Deno, Bun, Cloudflare, …)
    generator client {
      // Required
      provider = "prisma-client"
      output   = "../src/generated/prisma"
    
      // Optional
      engineType             = "client"
      runtime                = "nodejs"
      moduleFormat           = "esm"
      generatedFileExtension = "ts"
      importFileExtension    = "ts"
    }
    

    In addition to making it production-ready, we also made some changes to the prisma-client generator:

    • removed Prisma.validator; you can use TypeScript native satisfies keyword instead
    • created a new ./generared/prisma/browser entrypoint for importing types in browser environments

    If you want to try out the new generator with your favorite framework, check out one of our ready-to-run examples (e.g. for Next.js, Nuxt or React Router).

    📚 Learn more in the docs.

    Type check performance optimizations

    Runtime performance is not the only performance category that matters. In fact, when it comes to DX, type checking performance is equally important: if your TypeScript types become too complex and the compiler needs to do too much work (e.g. inferring types), it may slow down your editor, lead to laggy auto-completion or prevent jump-to-definition from working.

    We've worked with TypeScript expert David Blass to find ways for improving the type checking performance in Prisma ORM and created benchmarks comparing the type checking performance with Drizzle.

    You can read about the results here: Why Prisma ORM Checks Types Faster Than Drizzle

    Deprecating the postgresqlExtensions Preview feature

    We're deprecating the postgresqlExtensions Preview feature. Note that this doesn't mean that you can't use extensions with Prisma ORM any more. Instead of setting the Preview feature, you can install extensions manually with a customized migration via the --create-only flag:

    npx prisma migrate dev --name add-extension --create-only
    

    You can then install an extension with plain SQL in the newly created, empty migration file:

    CREATE EXTENSION IF NOT EXISTS "pgcrypto";
    

    Prisma Postgres

    Prisma Postgres is our fully managed Postgres service designed with the same philosophy of great DX that has guided Prisma for close to a decade. With this release we are introducing the following improvements:

    Manage OAuth apps in Prisma Console

    In Prisma Console, you can now manage all of the 3rd party applications that you've granted access to perform actions on behalf of yourself in your Prisma Console account. Find the 🧩 Integrations tab in the sidenav to see which applications currently have access.

    Rust-free Prisma ORM with Prisma Accelerate and Prisma Postgres

    With this release, the Rust-free Prisma ORM (Query Compiler) can now be used together with Prisma Postgres and also Prisma Accelerate. This means you can take advantage of connection pooling and caching while using the new TypeScript-based ORM architecture.

    To enable it, update your Prisma schema:

    generator client {
      provider   = "prisma-client"
      output     = "../src/generated/prisma"
      engineType = "client"
    }
    

    We'd love for you to try this out and share your feedback as we prepare for General Availability. Please open an issue on GitHub if you encounter any problems or have suggestions.

    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.

    Open source →
  4. 6.16.0-integration-push-prynymnkvlrn.44 Sept 2025pre-release

    Nothing published for this version

  5. 6.16.0-integration-push-prynymnkvlrn.32 Sept 2025pre-release

    Nothing published for this version

  6. 6.16.0-integration-push-prynymnkvlrn.22 Sept 2025pre-release

    Nothing published for this version

  7. 6.16.0-integration-push-prynymnkvlrn.128 Aug 2025pre-release

    Nothing published for this version

  8. 6.16.0-integration-feat-prisma-client-default-runtime.29 Sept 2025pre-release

    Nothing published for this version

  9. 6.16.0-integration-feat-prisma-client-default-runtime.127 Aug 2025pre-release

    Nothing published for this version

  10. 6.16.0-integration-feat-orm-1375-web-client-ts.31 Sept 2025pre-release

    Nothing published for this version

  11. 6.16.0-integration-feat-orm-1375-web-client-ts.21 Sept 2025pre-release

    Nothing published for this version

  12. 6.16.0-integration-feat-orm-1375-web-client-ts.130 Aug 2025pre-release

    Nothing published for this version

  13. 6.16.0-integration-feat-orm-1074-package-dev-export.42 Sept 2025pre-release

    Nothing published for this version

  14. 6.16.0-integration-feat-orm-1074-package-dev-export.32 Sept 2025pre-release

    Nothing published for this version

  15. 6.16.0-integration-feat-orm-1074-package-dev-export.22 Sept 2025pre-release

    Nothing published for this version

  16. 6.16.0-integration-feat-orm-1074-package-dev-export.12 Sept 2025pre-release

    Nothing published for this version

  17. 6.16.0-integration-engines-6-16-0-1-fix-migrations-schema-engine-wasm-2a89d0928d9a8bdfc9582be9c7234e271b0f8e24.228 Aug 2025pre-release

    Nothing published for this version

  18. 6.16.0-integration-engines-6-16-0-1-fix-migrations-schema-engine-wasm-2a89d0928d9a8bdfc9582be9c7234e271b0f8e24.127 Aug 2025pre-release

    Nothing published for this version

  19. 6.16.0-dev.379 Sept 2025pre-release

    Nothing published for this version

  20. 6.16.0-dev.369 Sept 2025pre-release

    Nothing published for this version

  21. 6.16.0-dev.359 Sept 2025pre-release

    Nothing published for this version

  22. 6.16.0-dev.349 Sept 2025pre-release

    Nothing published for this version

  23. 6.16.0-dev.339 Sept 2025pre-release

    Nothing published for this version

  24. 6.16.0-dev.329 Sept 2025pre-release

    Nothing published for this version

  25. 6.16.0-dev.319 Sept 2025pre-release

    Nothing published for this version

  26. 6.16.0-dev.308 Sept 2025pre-release

    Nothing published for this version

  27. 6.16.0-dev.295 Sept 2025pre-release

    Nothing published for this version

  28. 6.16.0-dev.285 Sept 2025pre-release

    Nothing published for this version

  29. 6.16.0-dev.275 Sept 2025pre-release

    Nothing published for this version

  30. 6.16.0-dev.265 Sept 2025pre-release

    Nothing published for this version

  31. 6.16.0-dev.255 Sept 2025pre-release

    Nothing published for this version

  32. 6.16.0-dev.244 Sept 2025pre-release

    Nothing published for this version

  33. 6.16.0-dev.234 Sept 2025pre-release

    Nothing published for this version

  34. 6.16.0-dev.224 Sept 2025pre-release

    Nothing published for this version

  35. 6.16.0-dev.214 Sept 2025pre-release

    Nothing published for this version

  36. 6.16.0-dev.204 Sept 2025pre-release

    Nothing published for this version

  37. 6.16.0-dev.193 Sept 2025pre-release

    Nothing published for this version

  38. 6.16.0-dev.182 Sept 2025pre-release

    Nothing published for this version

  39. 6.16.0-dev.172 Sept 2025pre-release

    Nothing published for this version

  40. 6.16.0-dev.162 Sept 2025pre-release

    Nothing published for this version

  41. 6.16.0-dev.152 Sept 2025pre-release

    Nothing published for this version

  42. 6.16.0-dev.142 Sept 2025pre-release

    Nothing published for this version

  43. 6.16.0-dev.132 Sept 2025pre-release

    Nothing published for this version

  44. 6.16.0-dev.122 Sept 2025pre-release

    Nothing published for this version

  45. 6.16.0-dev.111 Sept 2025pre-release

    Nothing published for this version

  46. 6.16.0-dev.101 Sept 2025pre-release

    Nothing published for this version

  47. 6.16.0-dev.91 Sept 2025pre-release

    Nothing published for this version

  48. 6.16.0-dev.81 Sept 2025pre-release

    Nothing published for this version

  49. 6.16.0-dev.71 Sept 2025pre-release

    Nothing published for this version

  50. 6.16.0-dev.628 Aug 2025pre-release

    Nothing published for this version

  51. 6.16.0-dev.528 Aug 2025pre-release

    Nothing published for this version

  52. 6.16.0-dev.428 Aug 2025pre-release

    Nothing published for this version

  53. 6.16.0-dev.328 Aug 2025pre-release

    Nothing published for this version

  54. 6.16.0-dev.228 Aug 2025pre-release

    Nothing published for this version

  55. 6.16.0-dev.127 Aug 2025pre-release

    Nothing published for this version

  56. 6.15.027 Aug 2025
    Release notes

    Today, we are excited to share the 6.15.0 stable release 🎉

    🌟 Star this repo for notifications about new releases, bug fixes & features — or follow us on X!

    Highlights

    AI safety guardrails for destructive commands

    Prisma ORM now includes built-in safety checks that protect against destructive commands when triggered by AI coding assistants. The CLI can recognize when it is being executed by popular AI agents such as Claude Code, Gemini CLI, Qwen Code, Cursor, Aider and Replit.

    If a command like prisma migrate reset --force is attempted, Prisma ORM will prompt for explicit confirmation before proceeding.

    This feature ensures that irreversible operations which drop and recreate the database are not executed automatically by an AI tool. Prisma ORM is the first ORM to provide this level of protection, making it safer to use AI-assisted development while working with your databases.

    📚 Learn more in the docs.

    prisma-client: runtime improvements and schema flexibility

    We simplified Prisma ORM by making the runtime options for the Prisma Client more consistent and easier to understand. Previously there were several overlapping aliases which created confusion. With this release we simplified the inputs while keeping support for all the major environments you might be targeting.

    Changes include:

    • node has been removed, use runtime = "nodejs" instead
    • deno-deploy has been removed, use runtime = "deno" instead
    • vercel has been replaced by the new runtime = "vercel-edge"
    • edge-light is now just an alias for vercel-edge
    • nodejs, deno, and bun now share the same internal code path, while still keeping their separate input values for clarity
    • The VS Code extension has been updated to reflect these changes

    The updated list of supported runtimes is now:

    nodejs, deno, bun, workerd (alias cloudflare), vercel-edge (alias edge-light), and react-native.

    In addition, we fixed an issue where running prisma generate would fail if your schema contained no models. This is now supported with the new prisma-client generator, just like it already worked with the older prisma-client-js generator.

    For example, the following schema will now generate a client without errors:

    generator client {
      provider = "prisma-client"
      output   = "../generated/client"
    }
    
    datasource db {
      provider = "postgresql"
      url      = env("DATABASE_URL")
    }
    

    Running prisma generate with this schema will succeed and create the client in ./generated/client.

    📚 Learn more in the docs.

    Using Prisma ORM with Vercel Fluid

    Fluid compute is a new compute model from Vercel that combines the flexibility of serverless with the stability of servers, making it ideal for dynamic workloads such as streaming data and AI APIs.

    A common challenge in traditional serverless platforms is that when functions are suspended, database connection pools can’t close idle connections. This leads to leaked connections that stay open until the database times them out, which can exhaust the pool.

    Vercel provides the attachDatabasePool utility to solve this problem. It ensures idle connections in the pool are properly released before a function is suspended, preventing connection leaks.

    You can use this utility together with Prisma’s driver adapters to safely manage database connections in Fluid Compute:

    import { Pool } from "pg";
    import { attachDatabasePool } from "@vercel/functions";
    import { PrismaPg } from "@prisma/adapter-pg";
    import { PrismaClient } from "./generated/prisma/client";
    
    const pool = new Pool({ connectionString: process.env.POSTGRES_URL });
    attachDatabasePool(pool);
    
    const prisma = new PrismaClient({
      adapter: new PrismaPg(pool),
    });
    

    📚 Learn more in the docs.

    Other news

    Prisma Postgres Management API is Generally Available

    The Prisma Postgres Management API allows you to programmatically provision and manage Prisma Postgres instances. It’s the perfect way to spin up a database in your CI/CD workflow, see our GitHub Action examples for creating and deleting if you’re curious about this use case.

    It also enables developers to offer databases to their own users! For example, did you know that Co.dev (YC23), a popular “low-code AI app builder” is using the Management API to provision Prisma Postgres instances to people building apps with their platform?

    We’re excited to share that the Management API is now fully ready for production. With it moving into GA, we also added another piece of functionality where you can now create new projects without a default database.

    We’re looking forward to see what you’re going to build with it!

    📚 Learn more in the docs.

    Prisma Postgres is now available on Pipedream

    Prisma Postgres can now be used directly in your Pipedream workflows 🎉

    With this integration, you can connect Prisma Postgres to over 2,800+ apps supported on Pipedream, enabling powerful automations and data workflows. For example, you can:

    • Automatically spin up a new Prisma Postgres database when a customer signs up in Stripe.
    • Connect Prisma Postgres with Slack, Notion, Airtable, or any other app in the Pipedream ecosystem

    This makes it easier than ever to use Prisma Postgres in your automation pipelines, without needing to manage custom scripts or infrastructure.

    📚 Learn more on the Pipedream integration page.

    <img width="1624" height="994" alt="Screenshot 2025-08-26 at 3 15 19 PM" src="https://github.com/user-attachments/assets/f0d98f8f-362d-4887-baeb-019ed9625c66" />

    New --json flag for npx create-db

    The npx create-db command lets you spin up a temporary, production-ready Prisma Postgres database that you can later claim for continued use. With this release, you can now add the --json flag to return the database details in JSON format.

    This makes it straightforward to programmatically use the connection details, whether you are building custom APIs or integrating database provisioning into your workflows.

    📚 Learn more in the docs.

    Direct connections to Prisma Postgres are coming close to GA

    Direct connections enable you to connect to your database using any ORM library or tool of your choice (e.g. Drizzle ORM, Kysely but also database GUIs like Postico or TablePlus).

    In this release, we’ve improved the robustness of direct TCP connections and are close to bringing it to General Availability.

    📚 Learn more in the docs.

    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.

    Open source →
  57. 6.15.0-integration-query-plan-caching.125 Aug 2025pre-release

    Nothing published for this version

  58. 6.15.0-integration-push-pprzzpqvmyuv.119 Aug 2025pre-release

    Nothing published for this version

  59. 6.15.0-integration-fix-prisma-client-dirname-aws-lambda.320 Aug 2025pre-release

    Nothing published for this version

  60. 6.15.0-integration-fix-prisma-client-dirname-aws-lambda.219 Aug 2025pre-release

    Nothing published for this version