Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 16, 2024

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
@apollo/server (source) ^4.13.0^5.4.0 age confidence dependencies major
@as-integrations/next ^3.2.0^4.1.0 age confidence dependencies major
@prisma/client (source) ^5.22.0^7.3.0 age confidence dependencies major
@types/node (source) ^22.19.10^24.10.12 age confidence devDependencies major
@vitejs/plugin-react (source) ^4.7.0^5.1.4 age confidence devDependencies major
actions/cache v4v5 age confidence action major
actions/checkout v4v6 age confidence action major
actions/setup-node v4v6 age confidence action major
dotenv ^16.6.1^17.2.4 age confidence devDependencies major
is-ci ^3.0.1^4.1.0 age confidence devDependencies major
jsdom ^25.0.1^28.0.0 age confidence devDependencies major
lefthook ^1.13.6^2.1.0 age confidence devDependencies major
magic-sdk (source) ^28.21.1^33.4.0 age confidence dependencies major
prisma (source) ^5.22.0^7.3.0 age confidence devDependencies major
tailwind-merge ^2.6.1^3.4.0 age confidence dependencies major
tailwindcss (source) ^3.4.19^4.1.18 age confidence dependencies major
ultracite (source) ^6.5.1^7.1.5 age confidence devDependencies major

Release Notes

apollographql/apollo-server (@​apollo/server)

v5.4.0

Compare Source

Minor Changes
  • d25a5bd Thanks @​phryneas! - ⚠️ SECURITY @apollo/server/standalone:

    The default configuration of startStandaloneServer was vulnerable to denial of service (DoS) attacks through specially crafted request bodies with exotic character set encodings.

    In accordance with RFC 7159, we now only accept request bodies encoded in UTF-8, UTF-16 (LE or BE), or UTF-32 (LE or BE).
    Any other character set will be rejected with a 415 Unsupported Media Type error.
    Note that the more recent JSON RFC, RFC 8259, is more strict and will only allow UTF-8.
    Since this is a minor release, we have chosen to remain compatible with the more permissive RFC 7159 for now.
    In a future major release, we may tighten this restriction further to only allow UTF-8.

    If you were not using startStandaloneServer, you were not affected by this vulnerability.

    Generally, please note that we provide startStandaloneServer as a convenience tool for quickly getting started with Apollo Server.
    For production deployments, we recommend using Apollo Server with a more fully-featured web server framework such as Express, Koa, or Fastify, where you have more control over security-related configuration options.

v5.3.0

Compare Source

Minor Changes
  • #​8062 8e54e58 Thanks @​cristunaranjo! - Allow configuration of graphql execution options (maxCoercionErrors)

    const server = new ApolloServer({
      typeDefs,
      resolvers,
      executionOptions: {
        maxCoercionErrors: 50,
      },
    });
  • #​8014 26320bc Thanks @​mo4islona! - Expose graphql validation options.

    const server = new ApolloServer({
      typeDefs,
      resolvers,
      validationOptions: {
        maxErrors: 10,
      },
    });

v5.2.0

Compare Source

Minor Changes
  • #​8161 51acbeb Thanks @​jerelmiller! - Fix an issue where some bundlers would fail to build because of the dynamic import for the optional peer dependency on @yaacovcr/transform introduced in @apollo/server 5.1.0. To provide support for the legacy incremental format, you must now provide the legacyExperimentalExecuteIncrementally option to the ApolloServer constructor.

    import { legacyExecuteIncrementally } from '@​yaacovcr/transform';
    
    const server = new ApolloServer({
      // ...
      legacyExperimentalExecuteIncrementally: legacyExecuteIncrementally,
    });

    If the legacyExperimentalExecuteIncrementally option is not provided and the client sends an Accept header with a value of multipart/mixed; deferSpec=20220824, an error is returned by the server.

v5.1.0

Compare Source

Minor Changes
  • #​8148 80a1a1a Thanks @​jerelmiller! - Apollo Server now supports the incremental delivery protocol (@defer and @stream) that ships with graphql@17.0.0-alpha.9. To use the current protocol, clients must send the Accept header with a value of multipart/mixed; incrementalSpec=v0.2.

    Upgrading to 5.1 will depend on what version of graphql you have installed and whether you already support the incremental delivery protocol.

v5.0.0

Compare Source

BREAKING CHANGES

Apollo Server v5 has very few breaking API changes. It is a small upgrade focused largely on adjusting which versions of Node.js and Express are supported.

Read our migration guide for more details on how to update your app.

  • Dropped support for Node.js v14, v16, and v18, which are no longer under long-term support from the Node.js Foundation. Apollo Server 5 supports Node.js v20 and later; v24 is recommended. Ensure you are on a non-EOL version of Node.js before upgrading Apollo Server.
  • Dropped support for versions of the graphql library older than v16.11.0. (Apollo Server 4 supports graphql v16.6.0 or later.) Upgrade graphql before upgrading Apollo Server.
  • Express integration requires a separate package. In Apollo Server 4, you could import the Express 4 middleware from @apollo/server/express4, or you could import it from the separate package @as-integrations/express4. In Apollo Server 5, you must import it from the separate package. You can migrate your server to the new package before upgrading to Apollo Server 5. (You can also use @as-integrations/express5 for a middleware that works with Express 5.)
  • Usage Reporting, Schema Reporting, and Subscription Callback plugins now use the Node.js built-in fetch implementation for HTTP requests by default, instead of the node-fetch npm package. If your server uses an HTTP proxy to make HTTP requests, you need to configure it in a slightly different way. See the migration guide for details.
  • The server started with startStandaloneServer no longer uses Express. This is mostly invisible, but it does set slightly fewer headers. If you rely on the fact that this server is based on Express, you should explicitly use the Express middleware.
  • The experimental support for incremental delivery directives @defer and @stream (which requires using a pre-release version of graphql v17) now explicitly only works with version 17.0.0-alpha.2 of graphql. Note that this supports the same incremental delivery protocol implemented by Apollo Server 4, which is not the same protocol in the latest alpha version of graphql. As this support is experimental, we may switch over from "only alpha.2 is supported" to "only a newer alpha or final release is supported, with a different protocol" during the lifetime of Apollo Server 5.
  • Apollo Server is now compiled by the TypeScript compiler targeting the ES2023 standard rather than the ES2020 standard.
  • Apollo Server 5 responds to requests with variable coercion errors (eg, if a number is passed in the variables map for a variable declared in the operation as a String) with a 400 status code, indicating a client error. This is also the behavior of Apollo Server 3. Apollo Server 4 mistakenly responds to these requests with a 200 status code by default; we recommended the use of the status400ForVariableCoercionErrors: true option to restore the intended behavior. That option now defaults to true.
  • The unsafe precomputedNonce option to landing page plugins (which was only non-deprecated for 8 days) has been removed.
Patch Changes

There are a few other small changes in v5:

  • #​8076 5b26558 Thanks @​valters! - Fix some error logs to properly call logger.error or logger.warn with this set. This fixes errors or crashes from logger implementations that expect this to be set properly in their methods.

  • #​7515 100233a Thanks @​trevor-scheer! - ApolloServerPluginSubscriptionCallback now takes a fetcher argument, like the usage and schema reporting plugins. The default value is Node's built-in fetch.

  • Updated dependencies [100233a]:

apollo-server-integrations/apollo-server-integration-next (@​as-integrations/next)

v4.1.0

Compare Source

Minor Changes

v4.0.0

Compare Source

Major Changes
  • #​264 2572fca Thanks @​karl-run! - Add support for Apollo Server 5

    This release drops support for Apollo Server 4, and since Apollo Server 5 drops support for Node.js 18
    we're also dropping support for Node.js 18.

prisma/prisma (@​prisma/client)

v7.3.0

Compare Source

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 new compilerBuild option for the client generator block in schema.prisma with two options: fast and small. 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, the fast mode 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-mssql to 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 the better-sqlite3 adapter. We’ve bumped the version that powers @prisma/better-sqlite3 and have pinned the version to prevent any unexpected issues. If you are using @prisma/better-sqlite3 , please upgrade to v7.3.0.

  • #​29002: Revert @map enums 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 @map function. 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 using relationJoins with BigInt fields in Prisma 7, JavaScript's JSON.parse loses precision for integers larger than Number.MAX_SAFE_INTEGER (2^53 - 1). This happens because PostgreSQL's JSONB_BUILD_OBJECT returns 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 ::text inside JSONB_BUILD_OBJECT calls, similar to how MONEY is 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.

v7.2.0

Compare Source

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

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

Highlights

ORM

  • #​28830: feat: add sqlcommenter-query-insights plugin
    • Adds a new SQL commenter plugin to support query insights metadata.
  • #​28860: feat(migrate): add -url param for db pull, db push, migrate dev
    • Adds a -url flag to key migrate commands to make connection configuration more flexible.
  • #​28895: feat(config): allow undefined URLs in e.g. prisma generate
    • Allows certain workflows (such as prisma generate) to proceed even when URLs are undefined.
  • #​28903: feat(cli): customize prisma init based on the JS runtime (Bun vs others)
    • Makes prisma init tailor generated setup depending on whether the runtime is Bun or another JavaScript runtime.
  • #​28846: fix(client-engine-runtime): make DataMapperError a UserFacingError
    • Ensures DataMapperError is surfaced as a user-facing error for clearer, more actionable error reporting.
  • #​28849: fix(adapter-{pg,neon,ppg}): handle 22P02 error in Postgres
    • Improves Postgres adapter error handling for invalid-text-representation errors (22P02).
  • #​28913: fix: fix byte upserts by removing legacy byte array representation
    • Fixes byte upsert behavior by removing a legacy byte-array representation path.
  • #​28535: fix(client,internals,migrate,generator-helper): handle multibyte UTF-8 characters split across chunk boundaries in byline
    • Prevents issues when multibyte UTF-8 characters are split across chunk boundaries during line processing.
  • #​28911: fix(cli): make prisma version --json emit JSON only to stdout
    • Ensures machine-readable JSON output is emitted cleanly to stdout without extra noise.

VS Code Extension

  • #​1950: fix: TML-1670 studio connections
    • Resolves issues related to Studio connections, improving reliability for VS Code or language-server integrations.

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.

v7.1.0

Compare Source

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

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

This release brings quality of life improvements and fixes various bugs.

Prisma ORM

  • #​28735: pnpm monorepo issues with prisma client runtime utils
    Resolves issues in pnpm monorepos where users would report TypeScript issues related to @prisma/client-runtime-utils.

  • #​28769:  implement sql commenter plugins for Prisma Client
    This PR implements support for SQL commenter plugins to Prisma Client. The feature will allow users to add metadata to SQL queries as comments following the sqlcommenter format.

    Here’s two related PRs that were also merged:

    • #​28796: implement query tags for SQL commenter plugin
    • #​28802: add traceContext SQL commenter plugin
  • #​28737: added error message when constructing client without configs
    This commit adds an additional error message when trying to create a new PrismaClient instance without any arguments.
    Thanks to @​xio84 for this community contribution!

  • #​28820: mark @opentelemetry/api as external in instrumentation
    Ensures @opentelemetry/api is treated as an external dependency rather than bundled.
    Since it is a peer dependency, this prevents applications from ending up with duplicate copies of the package.

  • #​28694: allow env() helper to accept interface-based generics
    Updates the env() helper’s type definition so it works with interfaces as well as type aliases.
    This removes the previous constraint requiring an index signature and resolves TS2344 errors when using interface-based env types. Runtime behavior is unchanged.
    Thanks to @​SaubhagyaAnubhav for this community contribution!

Read Replicas extension

  • #​53: Add support for Prisma 7
    Users of the read-replicas extension can now use the extension in Prisma v7. You can update by installing:

    npm install @​prisma/extension-read-replicas@latest

    For folks still on Prisma v6, install version 0.4.1:

    npm install @​prisma/extension-read-replicas@0.4.1

For more information, visit the repo

SQL comments

We're excited to announce SQL Comments support in Prisma 7.1.0! This new feature allows you to append metadata to your SQL queries as comments, making it easier to correlate queries with application context for improved observability, debugging, and tracing.

SQL comments follow the sqlcommenter format developed by Google, which is widely supported by database monitoring tools. With this feature, your SQL queries can include rich metadata:

SELECT "id", "name" FROM "User" /*application='my-app',traceparent='00-abc123...-01'*/
Basic usage

Pass an array of SQL commenter plugins to the new comments option when creating a PrismaClient instance:

import { PrismaClient } from './generated/prisma/client';
import { PrismaPg } from '@​prisma/adapter-pg';
import { queryTags } from '@​prisma/sqlcommenter-query-tags';
import { traceContext } from '@​prisma/sqlcommenter-trace-context';

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

const prisma = new PrismaClient({
  adapter,
  comments: [queryTags(), traceContext()],
});
Query tags

The @prisma/sqlcommenter-query-tags package lets you add arbitrary tags to queries within an async context:

import { queryTags, withQueryTags } from '@​prisma/sqlcommenter-query-tags';

const prisma = new PrismaClient({
  adapter,
  comments: [queryTags()],
});

// Wrap your queries to add tags
const users = await withQueryTags(
  { route: '/api/users', requestId: 'abc-123' },
  () => prisma.user.findMany(),
);

Resulting SQL:

SELECT ... FROM "User" /*requestId='abc-123',route='/api/users'*/

Use withMergedQueryTags to merge tags with outer scopes:

import {
  withQueryTags,
  withMergedQueryTags,
} from '@​prisma/sqlcommenter-query-tags';

await withQueryTags({ requestId: 'req-123', source: 'api' }, async () => {
  await withMergedQueryTags(
    { userId: 'user-456', source: 'handler' },
    async () => {
      // Queries here have: requestId='req-123', userId='user-456', source='handler'
      await prisma.user.findMany();
    },
  );
});
Trace context

The @prisma/sqlcommenter-trace-context package adds W3C Trace Context (traceparent) headers for distributed tracing correlation:

import { traceContext } from '@​prisma/sqlcommenter-trace-context';

const prisma = new PrismaClient({
  adapter,
  comments: [traceContext()],
});

When tracing is enabled and the span is sampled:

SELECT * FROM "User" /*traceparent='00-0af7651916cd43dd8448eb211c80319c-b9c7c989f97918e1-01'*/

Note: Requires @​prisma/instrumentation to be configured. The traceparent is only added when tracing is active and the span is sampled.

Custom plugins

Create your own plugins to add custom metadata:

import type { SqlCommenterPlugin } from '@​prisma/sqlcommenter';

const applicationTags: SqlCommenterPlugin = (context) => ({
  application: 'my-service',
  environment: process.env.NODE_ENV ?? 'development',
  operation: context.query.action,
  model: context.query.modelName,
});

const prisma = new PrismaClient({
  adapter,
  comments: [applicationTags],
});
Framework integration

SQL comments work seamlessly with popular frameworks, e.g., Hono:

import { createMiddleware } from 'hono/factory';
import { withQueryTags } from '@​prisma/sqlcommenter-query-tags';

app.use(
  createMiddleware(async (c, next) => {
    await withQueryTags(
      {
        route: c.req.path,
        method: c.req.method,
        requestId: c.req.header('x-request-id') ?? crypto.randomUUID(),
      },
      () => next(),
    );
  }),
);

Additional framework examples for Express, Koa, Fastify, and NestJS are available in the documentation.

For complete documentation, see SQL Comments. We'd love to hear your feedback on this feature! Please open an issue on GitHub or join the discussion in our Discord community.

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.

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.

v6.19.2

Compare Source

Today, we are issuing a 6.19.2 patch release in the Prisma 6 release line. It fixes an issue with Prisma Accelerate support in some edge runtime configurations when the @prisma/client/edge entrypoint is not being used.

Changes:

v6.19.1

Compare Source

v6.19.0

Compare Source

v6.18.0

Compare Source

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

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

Prisma ORM

Prisma ORM is the most popular ORM in the TypeScript ecosystem. Today’s release brings a bunch of new bug fixes and overall improvements:

  • prisma init now creates a prisma.config.ts automatically

When creating a new project with 6.18.0, prisma init will now create a prisma.config.ts file automatically. This prepares new applications for the future of Prisma 7. Some fields that have been historically set in the schema.prisma file are now able to be set in the prisma.config.ts, and we encourage people to migrate over to the new structure before the release of version 7, where this file will become a requirement.

  • Support for defining your datasource in prisma.config.ts

If you’re adopting the new prisma.config.ts setup in your projects, version 6.18.0 brings the ability to set your datasource directly in your config file. Once this is in your config file, any datasource set in your schema.prisma will be ignored. To set the datasource, we also must include the new engine key which we can set to "classic" , which will be required for Prisma v7

import { defineConfig, env } from "prisma/config";
export default defineConfig({
    // The Rust-compiled schema engine 
    engine: "classic",
    datasource: {
        url: env('DATABASE_URL'),
    }
});
  • #​28291 Support multiple Prisma instances with different providers
  • #​28305 Add env helper function
  • #​28266 Add support for js or classic as engine types in prisma.config
  • #​28139 Map Bytes to Uint8Array depending on Typescript version
Preparing for Prisma v7

While it has been mentioned a few times already, many of the changes in this release are here to prepare folks for the upcoming release of Prisma v7. It’s worth repeating that these changes and the migration to prisma.config.ts will be required for Prisma v7, so we’re releasing this as opt-in features for developers. But come Prisma v7, they will be the new way of configuring your project.

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:

Database Metric in Console

Inside of your database console, you can now view metrics on your database usage and interactions. You can get insights into the follow:

  • Total egress
  • Average response size
  • Average query duration

In addition, you can also get insights into how to improve your query caching and gain better performance.

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.

v6.17.1

Compare Source

Today, we are issuing a patch release to address a regression in v6.17.0 that affected diffing of unsupported types, leading to unnecessary or incorrect changes when creating new migrations or running db pull. This update is recommended for all users who have any fields marked as Unsupported in their schema files.


Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), 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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

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

@deepsource-io
Copy link
Contributor

deepsource-io bot commented Dec 16, 2024

Here's the code health analysis summary for commits 4855595..926972a. View details on DeepSource ↗.

Analysis Summary

AnalyzerStatusSummaryLink
DeepSource JavaScript LogoJavaScript✅ SuccessView Check ↗

💡 If you’re a repository administrator, you can configure the quality gates from the settings.

@renovate renovate bot force-pushed the renovate/major-external-major branch 4 times, most recently from c2033ad to 29c8dca Compare December 23, 2024 04:45
@renovate renovate bot force-pushed the renovate/major-external-major branch from 29c8dca to 3287226 Compare December 30, 2024 04:05
@renovate renovate bot force-pushed the renovate/major-external-major branch 7 times, most recently from 98a5b5e to 2c31797 Compare January 13, 2025 01:11
@renovate renovate bot force-pushed the renovate/major-external-major branch 6 times, most recently from 340629c to 67037b6 Compare January 20, 2025 05:40
@renovate renovate bot force-pushed the renovate/major-external-major branch 5 times, most recently from 045a25a to 02b8067 Compare January 28, 2025 17:12
@renovate renovate bot force-pushed the renovate/major-external-major branch 4 times, most recently from 30ec0e1 to 5d36c6d Compare January 31, 2025 20:40
@renovate renovate bot force-pushed the renovate/major-external-major branch 6 times, most recently from ddf36b6 to 7b14568 Compare January 21, 2026 17:12
@renovate renovate bot force-pushed the renovate/major-external-major branch 6 times, most recently from 0ec54dd to c8dde6e Compare January 30, 2026 00:59
@renovate renovate bot force-pushed the renovate/major-external-major branch 15 times, most recently from 99b8962 to f29f29d Compare February 8, 2026 01:51
@renovate renovate bot force-pushed the renovate/major-external-major branch from f29f29d to 01d3dc2 Compare February 9, 2026 06:02
@renovate renovate bot force-pushed the renovate/major-external-major branch from 01d3dc2 to 926972a Compare February 10, 2026 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant