Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 19, 2025

This PR contains the following updates:

Package Change Age Confidence
@prisma/client (source) 6.19.0 -> 7.0.1 age confidence
@prisma/instrumentation (source) 6.19.0 -> 7.0.1 age confidence
prisma (source) 6.19.0 -> 7.0.1 age confidence

Release Notes

prisma/prisma (@​prisma/client)

v7.0.1

Compare Source

Today, we are issuing a 7.0.1 patch release focused on quality of life improvements, and bug fixes.

🛠 Fixes

v7.0.0

Compare Source

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

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

Highlights

Over the past year we focused on making it simpler and faster to build applications with Prisma, no matter what tools you use or where you deploy, with exceptional developer experience at it’s core. This release makes many features introduced over the past year as the new defaults moving forward.

Prisma ORM

Rust-free Prisma Client as the default

The Rust-free Prisma Client has been in the works for some time now, all the way back to v6.16.0, with early iterations being available for developers to adopt. Now with version 7.0, we’re making this the default for all new projects. With this, developers are able to get:

  • ~90% smaller bundle sizes
  • Up to 3x faster queries
  • ESM-first Prisma Client
  • Significantly simpler deployments

Adopting the new Rust-free client is as simple as swapping the prisma-client-js provider for prisma-client in your main schema.prisma :

// schema.prisma
generator client {
-	provider = "prisma-client-js"
+ provider = "prisma-client"
}
Generated Client and types move out of node_modules

When running prisma generate, the generated Client runtime and project types will now require a output path to be set in your project’s main schema.prisma. We recommend that they be generated inside of your project’s src directory to ensure that your existing tools are able to consume them like any other piece of code you might have.

// schema.prisma
generator client {
  provider = "prisma-client"
  // Generate my Client and Project types 
  output   = "../src/generated/prisma"
}

Update your code to import PrismaClient from this generated output:

// Import from the generated prisma client
import { PrismaClient } from './generated/prisma/client';

For developers who still need to stay on the prisma-client-js but are using the new output option, theres’s a new required package, @prisma/client-runtime-utils , which needs to be installed:

# for prisma-client-js users only
npm install @​prisma/client-runtime-utils
prisma generate changes and post-install hook removal

For prisma generate , we’ve removed a few flags that were no longer needed:

  • prisma generate --data-proxy
  • prisma generate --accelerate
  • prisma generate --no-engine
  • prisma generate --allow-no-models

In previous releases, there was a post-install hook that we utilized to automatically generate your project’s Client and types. With modern package managers like pnpm, this actually has introduced more problems than it has solved. So we’ve removed this post-install hook and now require developers to explicitly call prisma generate .

As a part of those changes, we’ve also removed the implicit run of prisma db seed in-between migrate commands.

Prisma Client

As part of the move to a Rust-free Prisma Client, we moved away from embedding the drivers of the databases that we support. Now developers explicitly provide the driver adapters they need for their project, right in their source code. For PostgresSQL, simply install the @prisma/adapter-pg to your project, configure the connection string, and pass that the Prisma Client creation:

// Import from the generated prisma client
import { PrismaClient } from './generated/prisma/client';

// Driver Adapter for Postgres
import { PrismaPg } from '@​prisma/adapter-pg';

const adapter = new PrismaPg({
  connectionString: process.env.DATABASE_URL!,
});

export const prisma = new PrismaClient({ adapter });

For other databases:

// If using SQLite
import { PrismaBetterSqlite3 } from '@​prisma/adapter-better-sqlite3';
const adapter = new PrismaBetterSqlite3({
  url: process.env.DATABASE_URL || 'file:./dev.db'
})

// If using MySql
import { PrismaMariaDb } from '@​prisma/adapter-mariadb';
const adapter = new PrismaMariaDb({
  host: "localhost",
  port: 3306,
  connectionLimit: 5
});

We’ve also removed support for additional options when configuring your Prisma Client

  • new PrismaClient({ datasources: .. }) support has been removed
  • new PrismaClient({datasourceUrl: ..}) support has been removed
Driver Adapter naming updates

We’ve standardized our naming conventions for the various driver adapters internally. The following driver adapters have been updated:

  • PrismaBetterSQLite3PrismaBetterSqlite3
  • PrismaD1HTTPPrismaD1Http
  • PrismaLibSQLPrismaLibSql
  • PrismaNeonHTTPPrismaNeonHttp
Schema and config file updates

As part of a larger change in how the Prisma CLI reads your project configuration, we’ve updated what get’s set the schema, and what gets set in the prisma.config.ts . Also as part of this release, prisma.config.ts is now required for projects looking to perform introspection.

Schema changes

  • datasource.url is now configured in the config file
  • datasource.shadowDatabaseUrl is now configured in the config file
  • datasource.directUrl has been made unnecessary and has removed
  • generator.runtime=”react-native” has been removed

For early adopters of the config file, a few things have been removed with this release

  • engine: 'js'| 'classic' has been removed
  • adapter has been removed

A brief before/after:

// schema.prisma
datasource db {
  provider = "postgresql"
  url = ".."
  directUrl = ".."
  shadowDatabaseUrl = ".."
}
// ./prisma.config.ts
export default defineConfig({
  datasource: {
    url: '..',
    shadowDatabaseUrl: '..',
  }
})
Explicit loading of environment variables

As part of the move to Prisma config, we’re no longer automatically loading environment variables when invoking the Prisma CLI. Instead, developers can utilize libraries like dotenv to manage their environment variables and load them as they need. This means you can have dedicated local environment variables or ones set only for production. This removes any accidental loading of environment variables while giving developers full control.

Removed support for prisma keyword in package.json

In previous releases, users could configure their schema entry point and seed script in a prisma block in the package.json of their project. With the move to prisma.config.ts, this no longer makes sense and has been removed. To migrate, use the Prisma config file instead:

{
  "name": "my-project",
  "version": "1.0.0",
  "prisma": {
    "schema": "./custom-path-to-schema/schema.prisma",
    "seed": "tsx ./prisma/seed.ts"
  }
}
import 'dotenv/config'
import { defineConfig, env } from "prisma/config";
export default defineConfig({
  schema: "prisma/schema.prisma",
  migrations: {
      seed: "tsx prisma/seed.ts"
  },
  datasource: {...},
});
Removed Client Engines:

We’ve removed the following client engines:

  • LibraryEngine (engineType = "library", the Node-API Client)
  • BinaryEngine (engineType = "binary", the long-running executable binary)
  • DataProxyEngine and AccelerateEngine (Accelerate uses a new RemoteExecutor now)
  • ReactNativeEngine
Deprecated metrics feature has been removed

We deprecated the previewFeature metrics some time ago, and have removed it fully for version 7. If you need metrics related data available, you can use the underlying driver adapter itself, like the Pool metric from the Postgres driver.

Miscellaneous
  • #​28493: Stop shimming WeakRef in Cloudflare Workers. This will now avoid any unexpected memory leaks.
  • #​28297: Remove hardcoded URL validation. Users are now required to make sure they don’t include sensitive information in their config files.
  • #​28273: Removed Prisma v1 detection
  • #​28343: Remove undocumented --url flag from prisma db pull
  • #​28286: Remove deprecated prisma introspect command.
  • #​28480: Rename /wasm to /edge
    • This change only affects prisma-client-js
    • Before:
      • /edge → meant “for Prisma Accelerate”
      • /wasm → meant “for Edge JS runtimes (e.g., Cloudflare, Vercel Edge)”
    • After:
      • /edge → means “for Edge JS runtimes (e.g., Cloudflare, Vercel Edge)”
  • The following Prisma-specific environment variables have been removed
    • PRISMA_CLI_QUERY_ENGINE_TYPE
    • PRISMA_CLIENT_ENGINE_TYPE
    • PRISMA_QUERY_ENGINE_BINARY
    • PRISMA_QUERY_ENGINE_LIBRARY
    • PRISMA_GENERATE_SKIP_AUTOINSTALL
    • PRISMA_SKIP_POSTINSTALL_GENERATE
    • PRISMA_GENERATE_IN_POSTINSTALL
    • PRISMA_GENERATE_DATAPROXY
    • PRISMA_GENERATE_NO_ENGINE
    • PRISMA_CLIENT_NO_RETRY
    • PRISMA_MIGRATE_SKIP_GENERATE
    • PRISMA_MIGRATE_SKIP_SEED
Mapped enums

If you followed along on twitter, you will have seen that we teased a highly-request user feature was coming to v7.0. That highly-requested feature is…. mapped emuns! We now support the @map attribute for enum members, which can be used to set their expected runtime values

enum PaymentProvider {
  MixplatSMS    @​map("mixplat/sms")
  InternalToken @​map("internal/token")
  Offline       @​map("offline")

  @​@​map("payment_provider")
}
export const PaymentProvider: {
  MixplatSMS: 'mixplat/sms'
  InternalToken: 'internal/token'
  Offline: 'offline'
}
Prisma Accelerate changes

We’ve changed how to configure Prisma ORM to use Prisma Accelerate. In conjunction with some more Prisma Postgres updates (more on that later), you now use the new accelerateUrl option when instantiating the Prisma Client.

import { PrismaClient } from "./generated/prisma/client"
import { withAccelerate } from "@​prisma/extension-accelerate"

const prisma = new PrismaClient({
  accelerateUrl: process.env.DATABASE_URL,
}).$extends(withAccelerate()) 

New Prisma Studio comes to the CLI

We launched a new version of Prisma Studio to our Console and VS Code extension a while back, but the Prisma CLI still shipped with the older version.

Now, with v7.0, we’ve updated the Prisma CLI to include the new Prisma Studio. Not only are you able to inspect your database, but you get rich visualization to help you understand connected relationships in your database. It’s customizable, much smaller, and can inspect remote database by passing a --url flag. This new version of Prisma Studio is not tied to the Prisma ORM, and establishes a new foundation for what comes next.

ScreenRecording2025-11-18at7 40 46PM-ezgif com-video-to-gif-converter

Prisma Postgres

Prisma Postgres is our managed Postgres service, designed with the same philosophy of great DX that has guided Prisma for close to a decade. It works great with serverless, it’s fast, and with simple pricing and a generous free tier. Here’s what’s new:

Connection Pooling Changes with Prisma Accelerate

With support for connection pooling being added natively to Prisma Postgres, Prisma Accelerate now serves as a dedicated caching layer. If you were using Accelerate for the connection pooling features, don’t worry! Your existing connection string via Accelerate will continue to work, and you can switch to the new connection pool when you’re ready.

Simplified connection flow

We've made connecting to Prisma Postgres even simpler. Now, when you go to connect to a database, you’ll get new options to enable connection pooling, or to enable Prisma Accelerate for caching. Below, you’ll get code snippets for getting things configured in your project right away.

Clipboard-20251119-110343-691

Serverless driver

For those who want to connect to Prisma Postgres but are deploying to environments like Cloudflare Workers, we have a new version of the serverless client library to support these runtimes.

  • Compatible with Cloudflare Workers, Vercel Edge Functions, Deno Deploy, AWS Lambda, and Bun
  • Stream results row-by-row to handle large datasets with constant memory usage
  • Pipeline multiple queries over a single connection, reducing latency by up to 3x
  • SQL template literals with automatic parameterization and full TypeScript support
  • Built-in transactions, batch operations, and extensible type system

Check out the serverless driver docs for more details

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 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.


Configuration

📅 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the deps label Nov 19, 2025
@renovate renovate bot force-pushed the renovate/major-prisma branch from dda9cac to 0a4c430 Compare November 24, 2025 09:44
@renovate renovate bot force-pushed the renovate/major-prisma branch from 0a4c430 to 8feef89 Compare November 25, 2025 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant