From 61e6d5d7feae5e5b60529647d598eabf91612966 Mon Sep 17 00:00:00 2001 From: Ankur Datta <64993082+ankur-arch@users.noreply.github.com> Date: Mon, 3 Aug 2026 12:12:06 +0200 Subject: [PATCH 1/2] docs(site): add changelog entry 2026-08-02 Covers merged PRs 2026-07-27 to 2026-08-02 across the loggy-core repos (the 2026-07-25..26 weekend had no merges). Highlights: Prisma 8 expression/partial/unique index authoring, Prisma Compute GitHub import for every workspace, one recommended docs getting-started path. Co-Authored-By: Claude Fable 5 --- apps/site/content/changelog/2026-08-02.mdx | 107 +++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 apps/site/content/changelog/2026-08-02.mdx diff --git a/apps/site/content/changelog/2026-08-02.mdx b/apps/site/content/changelog/2026-08-02.mdx new file mode 100644 index 0000000000..ae0a822cd8 --- /dev/null +++ b/apps/site/content/changelog/2026-08-02.mdx @@ -0,0 +1,107 @@ +--- +title: "Author expression and partial indexes in Prisma 8 and import GitHub repositories to Prisma Compute" +date: "2026-08-02" +version: "2026-08-02" +slug: "2026-08-02" +headline: "Author expression and partial indexes in Prisma 8 and import GitHub repositories to Prisma Compute" +tags: + - "Prisma" + - "Prisma 8" + - "Prisma Compute" + - "Prisma Postgres" + - "Prisma ORM" +canonical: "/changelog#log2026-08-02" +metaDescription: "Prisma 8 makes expression, partial, and unique indexes authorable in schema and TypeScript, Prisma Compute opens GitHub repository import to every workspace, and Prisma ORM stops wrapping single-statement writes in transactions." +share: + active: true + content: "Look at this page: " +--- +Prisma 8 can now author expression, partial, and unique indexes in both Prisma Schema Language and TypeScript, and `contract infer` reads indexes and row-level security policies from an existing database at full fidelity. The legacy `@db.*` attributes are removed in favor of storage types in type position. + +Prisma Compute now imports GitHub repositories in every workspace: connect a repository, review the generated setup pull request, and deploy, including apps that live in a subdirectory of a pnpm or yarn workspace. + +Prisma ORM no longer wraps single-statement `updateMany` and `createMany` calls in a transaction, which fixes both operations on driver adapters without transaction support. New guides cover agent-and-database safety, searchable encryption, Object Store buckets, and moving a local database to Prisma Postgres. + +## Highlights + +### New · Author expression, partial, and unique indexes in Prisma 8 + +Indexes over expressions had to live as raw SQL outside the schema, invisible to the toolchain. Prisma 8 now accepts expression, partial (`where`), and unique indexes in both Prisma Schema Language and TypeScript, plans byte-exact DDL for them, and verifies the result. Renaming an index plans exactly one `ALTER INDEX … RENAME`; editing its expression plans the rebuild. + +```prisma +model User { + id Int @id + email String + + @@index(expression: "lower(email)", name: "users_email_lower", type: "btree") +} +``` + +The same index in TypeScript is `constraints.index({ expression: "lower(email)", name: "users_email_lower", type: "btree" })`. + +> **Note:** Prisma 8 (previously announced as Prisma Next) is in Early Access. Scope and behavior may still change. This release also removes the `@db.*` attributes, listed under breaking changes below. + +Shipped in [prisma/prisma-next#1048](https://github.com/prisma/prisma-next/pull/1048). + +### New · Import a GitHub repository to Prisma Compute from any workspace + +Deploying an existing GitHub repository to Prisma Compute (Public Beta) was gated to selected workspaces. The import flow is now on for everyone: connect a repository from the Prisma Console and a setup pull request adds the app configuration; merging it provisions the app and starts the first deploy. While the setup pull request is open, the Prisma Console now shows that phase and the preview deploys from the setup branch, instead of reporting the repository as not connected. + +```json +{ "app": { "name": "orders-api", "root": "backend", "framework": "bun" } } +``` + +The committed configuration names the directory to build, so an app in a subdirectory of a monorepo builds from the right root. + +### Docs · Follow one getting-started path through the Prisma stack + +The docs entry pages presented Prisma ORM, Prisma Postgres, and Prisma Compute as three unrelated first commands. The rebuilt landing pages now recommend one journey: scaffold with Prisma 8, store data in Prisma Postgres, and deploy on Prisma Compute. Every flow gets a quick path, a guided path, and a copyable agent prompt. Prisma 7, the current GA release, stays one click away and is labeled as such. + +Start at the [Prisma docs](https://www.prisma.io/docs). Shipped in [prisma/web#8106](https://github.com/prisma/web/pull/8106). + +## Prisma 8 + +Prisma 8 pairs the new index authoring with full-fidelity inference from existing databases. + +- **Improved** · Prisma 8 `contract infer` now reads expression, partial, and unique indexes and row-level security policies (permissive and restrictive, as `@@rls` blocks) from an existing database. Inferring a database the toolchain has never seen, emitting the contract, and verifying it reports zero issues and plans zero operations. ([prisma/prisma-next#1052](https://github.com/prisma/prisma-next/pull/1052)) + +## Breaking changes + +> **Breaking:** Prisma 8 no longer supports the `@db.*` native-type attributes; storage types are written in type position instead. To migrate, replace each `@db.*` attribute with its type-position constructor: `String @db.Uuid` becomes `Uuid`, and `String @db.VarChar(191)` becomes `VarChar(191)`. Each removed attribute produces a diagnostic naming its replacement. ([prisma/prisma-next#1054](https://github.com/prisma/prisma-next/pull/1054)) + +## Fixes and improvements + +**Prisma Compute** + +- **Fixed** · Prisma Compute builds now install dependencies in the configured app directory and detect the package manager from the repository root, so apps in a subdirectory of a pnpm or yarn workspace deploy instead of failing on a missing `package.json` or an `EUNSUPPORTEDPROTOCOL` install error. +- **Improved** · Prisma Compute addresses with no deployed app now show a branded not-found page naming the address, so an address awaiting its first deploy is distinguishable from a dead link. + +**Prisma Console** + +- **Fixed** · Prisma Console account deletion no longer fails for workspaces that ever connected a GitHub repository. +- **Fixed** · The Prisma Console sidebar now truncates long resource names, shows the full name on hover, and scrolls vertically instead of overflowing. + +**Prisma Postgres** + +- **Fixed** · Prisma Postgres databases transferred between workspaces through the Vercel Marketplace no longer stay suspended under the previous workspace's plan limit, and their usage now counts against the new workspace. +- **Fixed** · Vercel Marketplace flexible-billing invoices no longer fail on proration line items. + +**Management API** + +- **Improved** · `GET /v1/databases/{databaseId}/usage` is now rate limited, and rate-limited responses include retry guidance instead of failing without direction under burst traffic. + +**Prisma ORM** + +- **Fixed** · Prisma ORM `updateMany` and `createMany` no longer wrap their single SQL statement in a transaction, so both operations work on driver adapters without transaction support, such as the Neon HTTP adapter, and skip the extra `BEGIN`/`COMMIT` round trips. ([prisma/prisma-engines#5840](https://github.com/prisma/prisma-engines/pull/5840)) + +## Guides and articles + +- [Don't Let Your AI Agent Delete Your Production Database](https://www.prisma.io/blog/stop-your-ai-agent-dropping-your-database): how coding agents end up dropping production data and the safeguards to put between an agent and your database. +- [Search encrypted data with Prisma 8 and CipherStash](https://www.prisma.io/blog/search-encrypted-data-with-prisma-next-and-cipherstash): CipherStash's searchable encryption now works with Prisma, querying encrypted columns through expression indexes. +- [Give Your Agent File Storage: Object Store Buckets](https://www.prisma.io/blog/object-store-buckets): the launch post for Object Store buckets, walking the full lifecycle from `POST /v1/buckets` to serving objects with an S3 client, as one runnable script. +- [From Local Development to Production with Prisma Postgres](https://www.prisma.io/blog/from-local-to-production-with-prisma-postgres): a five-step checklist for moving an app from local Postgres to hosted Prisma Postgres, covering the pooled and direct connection split and migration replay. +- [Migrate a MongoDB project from Prisma ORM v6 to Prisma 8](https://www.prisma.io/docs/guides/next/upgrade-prisma-orm/mongodb): setup, schema conversion, client API changes, queries, transactions, and raw operations, with a production cutover checklist. + +--- + +*Need help applying these changes in production? [Prisma Enterprise Support](https://prisma.io/enterprise) can help with schema design, performance, security, and compliance.* From c77a5200cda6b17c22632ed3c654c874fbd29bf0 Mon Sep 17 00:00:00 2001 From: Ankur Datta <64993082+ankur-arch@users.noreply.github.com> Date: Mon, 3 Aug 2026 13:55:10 +0200 Subject: [PATCH 2/2] Readability pass on the 2026-08-02 entry per editorial feedback Outcome-first rewrite: every highlight and summary paragraph leads with what the reader can now do, mechanics follow, snippets come after the explanation. Long combined sentences split; setup-PR state moved from the import highlight into a Prisma Compute section item. Co-Authored-By: Claude Fable 5 --- apps/site/content/changelog/2026-08-02.mdx | 58 +++++++++++++--------- 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/apps/site/content/changelog/2026-08-02.mdx b/apps/site/content/changelog/2026-08-02.mdx index ae0a822cd8..19287f7cb3 100644 --- a/apps/site/content/changelog/2026-08-02.mdx +++ b/apps/site/content/changelog/2026-08-02.mdx @@ -1,9 +1,9 @@ --- -title: "Author expression and partial indexes in Prisma 8 and import GitHub repositories to Prisma Compute" +title: "Author expression and partial indexes in Prisma 8 and import any GitHub repository to Prisma Compute" date: "2026-08-02" version: "2026-08-02" slug: "2026-08-02" -headline: "Author expression and partial indexes in Prisma 8 and import GitHub repositories to Prisma Compute" +headline: "Author expression and partial indexes in Prisma 8 and import any GitHub repository to Prisma Compute" tags: - "Prisma" - "Prisma 8" @@ -16,17 +16,19 @@ share: active: true content: "Look at this page: " --- -Prisma 8 can now author expression, partial, and unique indexes in both Prisma Schema Language and TypeScript, and `contract infer` reads indexes and row-level security policies from an existing database at full fidelity. The legacy `@db.*` attributes are removed in favor of storage types in type position. +You can now author expression, partial, and unique indexes directly in Prisma 8, in Prisma Schema Language or TypeScript. Prisma 8 also reads an existing database's indexes and row-level security policies into a contract. The legacy `@db.*` attributes are removed; see breaking changes below. -Prisma Compute now imports GitHub repositories in every workspace: connect a repository, review the generated setup pull request, and deploy, including apps that live in a subdirectory of a pnpm or yarn workspace. +You can now import any GitHub repository to Prisma Compute from any workspace, including apps that live in a subdirectory of a monorepo. -Prisma ORM no longer wraps single-statement `updateMany` and `createMany` calls in a transaction, which fixes both operations on driver adapters without transaction support. New guides cover agent-and-database safety, searchable encryption, Object Store buckets, and moving a local database to Prisma Postgres. +Prisma ORM `updateMany` and `createMany` now work on driver adapters without transaction support. New guides cover agent safety, searchable encryption, Object Store buckets, and moving a local database to Prisma Postgres. ## Highlights ### New · Author expression, partial, and unique indexes in Prisma 8 -Indexes over expressions had to live as raw SQL outside the schema, invisible to the toolchain. Prisma 8 now accepts expression, partial (`where`), and unique indexes in both Prisma Schema Language and TypeScript, plans byte-exact DDL for them, and verifies the result. Renaming an index plans exactly one `ALTER INDEX … RENAME`; editing its expression plans the rebuild. +You can now define expression, partial (`where`), and unique indexes in your Prisma 8 schema. Until now these indexes lived in raw SQL outside the schema, where migrations could not create, rename, or verify them. + +Declare the index in Prisma Schema Language or TypeScript. Prisma 8 generates the exact DDL, applies it, and verifies it. Renaming an index plans a single `ALTER INDEX` statement; editing its expression plans the rebuild. ```prisma model User { @@ -43,19 +45,21 @@ The same index in TypeScript is `constraints.index({ expression: "lower(email)", Shipped in [prisma/prisma-next#1048](https://github.com/prisma/prisma-next/pull/1048). -### New · Import a GitHub repository to Prisma Compute from any workspace +### New · Import any GitHub repository to Prisma Compute + +You can now import any GitHub repository to Prisma Compute (Public Beta) from any workspace. Until now the import flow was limited to selected workspaces. -Deploying an existing GitHub repository to Prisma Compute (Public Beta) was gated to selected workspaces. The import flow is now on for everyone: connect a repository from the Prisma Console and a setup pull request adds the app configuration; merging it provisions the app and starts the first deploy. While the setup pull request is open, the Prisma Console now shows that phase and the preview deploys from the setup branch, instead of reporting the repository as not connected. +Connect a repository in the Prisma Console. Prisma opens a setup pull request that adds the app configuration. Merge it, and your app deploys. + +Apps in a subdirectory of a monorepo build correctly: the configuration names the directory to build. ```json { "app": { "name": "orders-api", "root": "backend", "framework": "bun" } } ``` -The committed configuration names the directory to build, so an app in a subdirectory of a monorepo builds from the right root. - ### Docs · Follow one getting-started path through the Prisma stack -The docs entry pages presented Prisma ORM, Prisma Postgres, and Prisma Compute as three unrelated first commands. The rebuilt landing pages now recommend one journey: scaffold with Prisma 8, store data in Prisma Postgres, and deploy on Prisma Compute. Every flow gets a quick path, a guided path, and a copyable agent prompt. Prisma 7, the current GA release, stays one click away and is labeled as such. +The Prisma docs now recommend a single getting-started path: scaffold with Prisma 8, store data in Prisma Postgres, deploy on Prisma Compute. Each flow has a quick path, a guided path, and a copyable agent prompt. Prisma 7, the current GA release, stays one click away. Start at the [Prisma docs](https://www.prisma.io/docs). Shipped in [prisma/web#8106](https://github.com/prisma/web/pull/8106). @@ -63,44 +67,50 @@ Start at the [Prisma docs](https://www.prisma.io/docs). Shipped in [prisma/web#8 Prisma 8 pairs the new index authoring with full-fidelity inference from existing databases. -- **Improved** · Prisma 8 `contract infer` now reads expression, partial, and unique indexes and row-level security policies (permissive and restrictive, as `@@rls` blocks) from an existing database. Inferring a database the toolchain has never seen, emitting the contract, and verifying it reports zero issues and plans zero operations. ([prisma/prisma-next#1052](https://github.com/prisma/prisma-next/pull/1052)) +- **Improved** · `contract infer` now captures expression, partial, and unique indexes and row-level security policies (permissive and restrictive, as `@@rls` blocks) from an existing database. The emitted contract verifies with zero issues and plans zero operations. ([prisma/prisma-next#1052](https://github.com/prisma/prisma-next/pull/1052)) + +## Prisma Compute + +Prisma Compute makes the repository import flow visible while setup is in progress. + +- **Improved** · While a setup pull request is open, the Prisma Console shows its status and the preview deploys from the setup branch. It no longer reports the repository as not connected. ## Breaking changes -> **Breaking:** Prisma 8 no longer supports the `@db.*` native-type attributes; storage types are written in type position instead. To migrate, replace each `@db.*` attribute with its type-position constructor: `String @db.Uuid` becomes `Uuid`, and `String @db.VarChar(191)` becomes `VarChar(191)`. Each removed attribute produces a diagnostic naming its replacement. ([prisma/prisma-next#1054](https://github.com/prisma/prisma-next/pull/1054)) +> **Breaking:** Prisma 8 removes the `@db.*` native-type attributes. Write storage types in type position instead: `String @db.Uuid` becomes `Uuid`, and `String @db.VarChar(191)` becomes `VarChar(191)`. Each removed attribute produces a diagnostic naming its replacement. ([prisma/prisma-next#1054](https://github.com/prisma/prisma-next/pull/1054)) ## Fixes and improvements **Prisma Compute** -- **Fixed** · Prisma Compute builds now install dependencies in the configured app directory and detect the package manager from the repository root, so apps in a subdirectory of a pnpm or yarn workspace deploy instead of failing on a missing `package.json` or an `EUNSUPPORTEDPROTOCOL` install error. -- **Improved** · Prisma Compute addresses with no deployed app now show a branded not-found page naming the address, so an address awaiting its first deploy is distinguishable from a dead link. +- **Fixed** · Apps in a subdirectory of a pnpm or yarn workspace now deploy. Builds install dependencies in the configured app directory and detect the package manager from the repository root, instead of failing on a missing `package.json` or an `EUNSUPPORTEDPROTOCOL` error. +- **Improved** · Prisma Compute addresses with no deployed app now show a branded not-found page instead of a bare 404. **Prisma Console** - **Fixed** · Prisma Console account deletion no longer fails for workspaces that ever connected a GitHub repository. -- **Fixed** · The Prisma Console sidebar now truncates long resource names, shows the full name on hover, and scrolls vertically instead of overflowing. +- **Fixed** · Long resource names no longer break the Prisma Console sidebar. Names truncate, show in full on hover, and the list scrolls. **Prisma Postgres** -- **Fixed** · Prisma Postgres databases transferred between workspaces through the Vercel Marketplace no longer stay suspended under the previous workspace's plan limit, and their usage now counts against the new workspace. +- **Fixed** · Prisma Postgres databases transferred through the Vercel Marketplace no longer stay suspended under the previous workspace's plan limit. Their usage now counts against the new workspace. - **Fixed** · Vercel Marketplace flexible-billing invoices no longer fail on proration line items. **Management API** -- **Improved** · `GET /v1/databases/{databaseId}/usage` is now rate limited, and rate-limited responses include retry guidance instead of failing without direction under burst traffic. +- **Improved** · `GET /v1/databases/{databaseId}/usage` is now rate limited. Rate-limited responses include retry guidance. **Prisma ORM** -- **Fixed** · Prisma ORM `updateMany` and `createMany` no longer wrap their single SQL statement in a transaction, so both operations work on driver adapters without transaction support, such as the Neon HTTP adapter, and skip the extra `BEGIN`/`COMMIT` round trips. ([prisma/prisma-engines#5840](https://github.com/prisma/prisma-engines/pull/5840)) +- **Fixed** · Prisma ORM `updateMany` and `createMany` now work on driver adapters without transaction support, such as the Neon HTTP adapter. Their single SQL statement is no longer wrapped in `BEGIN`/`COMMIT`, which also removes two round trips. ([prisma/prisma-engines#5840](https://github.com/prisma/prisma-engines/pull/5840)) ## Guides and articles -- [Don't Let Your AI Agent Delete Your Production Database](https://www.prisma.io/blog/stop-your-ai-agent-dropping-your-database): how coding agents end up dropping production data and the safeguards to put between an agent and your database. -- [Search encrypted data with Prisma 8 and CipherStash](https://www.prisma.io/blog/search-encrypted-data-with-prisma-next-and-cipherstash): CipherStash's searchable encryption now works with Prisma, querying encrypted columns through expression indexes. -- [Give Your Agent File Storage: Object Store Buckets](https://www.prisma.io/blog/object-store-buckets): the launch post for Object Store buckets, walking the full lifecycle from `POST /v1/buckets` to serving objects with an S3 client, as one runnable script. -- [From Local Development to Production with Prisma Postgres](https://www.prisma.io/blog/from-local-to-production-with-prisma-postgres): a five-step checklist for moving an app from local Postgres to hosted Prisma Postgres, covering the pooled and direct connection split and migration replay. -- [Migrate a MongoDB project from Prisma ORM v6 to Prisma 8](https://www.prisma.io/docs/guides/next/upgrade-prisma-orm/mongodb): setup, schema conversion, client API changes, queries, transactions, and raw operations, with a production cutover checklist. +- [Don't Let Your AI Agent Delete Your Production Database](https://www.prisma.io/blog/stop-your-ai-agent-dropping-your-database): how coding agents end up dropping production data, and the safeguards to put between an agent and your database. +- [Search encrypted data with Prisma 8 and CipherStash](https://www.prisma.io/blog/search-encrypted-data-with-prisma-next-and-cipherstash): query encrypted columns through expression indexes with CipherStash's Prisma support. +- [Give Your Agent File Storage: Object Store Buckets](https://www.prisma.io/blog/object-store-buckets): the Object Store buckets launch post, walking the full lifecycle from `POST /v1/buckets` to serving objects with an S3 client. +- [From Local Development to Production with Prisma Postgres](https://www.prisma.io/blog/from-local-to-production-with-prisma-postgres): a five-step checklist for moving an app from local Postgres to hosted Prisma Postgres. +- [Migrate a MongoDB project from Prisma ORM v6 to Prisma 8](https://www.prisma.io/docs/guides/next/upgrade-prisma-orm/mongodb): schema conversion, client API changes, and a production cutover checklist. ---