Skip to content

Bump to version 8.0.0-rc.1 - #29918

Merged
wmadden-electric merged 7 commits into
mainfrom
release/8.0.0-rc.1
Aug 7, 2026
Merged

Bump to version 8.0.0-rc.1#29918
wmadden-electric merged 7 commits into
mainfrom
release/8.0.0-rc.1

Conversation

@wmadden-electric

@wmadden-electric wmadden-electric commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Linked issue

Refs TML-3170 — this is the release that starts the v8 RC line the pipeline work in #29899 prepared.

Summary

0.17.08.0.0-rc.1. This is the one-time transition onto the v8 release-candidate line: there are no further 0.x minors, and subsequent releases advance the counter (8.0.0-rc.2, rc.3, …). Policy: docs/oss/versioning.md.

Merging this PR ships the release. The push to main carries the bumped root version, the Publish to npm workflow detects the change and publishes 8.0.0-rc.1 under dist-tag latest, and a matching GitHub Release — marked pre-release, because the version is on the RC line — is created with docs/releases/v8.0.0-rc.1.md as its body verbatim. No separate dispatch step.

Review surface

docs/releases/v8.0.0-rc.1.md is the human-review surface — it becomes the public Release body. It covers the RC-line transition (including that npm update moves nobody onto the RC, since ^0.x ranges can't match a pre-release), two breaking changes, one feature, and four fixes drawn from the 14 PRs merged since v0.17.0.

What each commit does

Commit What it does
chore(release): bump to 8.0.0-rc.1 pnpm bump-version across 113 manifests plus the lockfile. Version fields and internal workspace:<version> specifiers only.
docs(release): add release notes for v8.0.0-rc.1 The notes file and the mirrored CHANGELOG.md entry.
chore(release): relabel the in-flight upgrade recipes 0.17-to-8.0 See below.
docs(release): ground the aggregate example in the real ORM surface Corrects a before/after snippet that used a non-existent accessor.

Notes for the reviewer

  • The in-flight upgrade recipes were relabelled 0.17-to-0.180.17-to-8.0. They were authored when the next release was expected to be 0.18.0; the step users actually take is now 0.178.0, which is also what check:upgrade-coverage requires once the bump crosses a major. The recipe contents are unchanged apart from the to: frontmatter, and the links in the notes and changelog were repointed to match. Both upgrade skills build their chain by one-minor arithmetic, which can't express this step, so each gained a line saying the directories present are the source of truth.
  • Verify the two breaking-change entries against your own read of the PRs. The driver-SPI split (#29907) is listed as breaking on the grounds that SqlQueryable is exported and anyone implementing or wrapping a SQL driver must change; the ticket describes it as substrate-only with no ORM-visible behavior change, and the entry says so explicitly. If the custom-driver audience isn't considered real yet, that entry can be demoted to Features.
  • Six PRs were deliberately omitted from the notes as not user-facing: roadmap/project-shaping docs (#29916, #29891, #29909), test-only (#29912, #29908), and JSDoc-only (#29893). The last of those corrects update()/delete() docs that read as if they batch — no behavior changed, but say the word and it can be added as a documentation line under Fixes.

Testing performed

  • pnpm check:release-notes --mode pr, pnpm check:upgrade-coverage --mode pr, pnpm check:publish-deps — all pass.
  • pnpm test:scripts — 368 tests, 0 failures.
  • Bump diff audited: every changed file is a package.json or pnpm-lock.yaml; the lockfile diff is specifier: workspace:<old> → workspace:<new> lines only, with no external-resolution churn.
  • The two code snippets in the notes were checked against the source: the SqlQueryable before/after matches driver-types.ts at v0.17.0 and at HEAD, and the include-reducer result shape matches the assertions in test/integration/test/sql-orm-client/include.test.ts.

Skill update

n/a — internal only. No user-facing CLI/API surface changes in the bump itself; the two upgrade skills' chain-construction note is a docs correction that follows from the relabel.

Checklist

  • All commits are signed off (git commit -s) per the DCO.
  • I read CONTRIBUTING.md and the change is scoped to one logical concern.
  • Tests are updated (n/a — release bump plus release notes; no behavioural delta).
  • The PR title follows the release convention from docs/oss/versioning.md.
  • The Skill update section above is filled in.

Summary by CodeRabbit

  • New Features

    • Introduced the Prisma 8.0.0 release candidate with codec-based aggregate results, including bigint and exact decimal values.
    • Added clearer upgrade paths for stable releases and release candidates.
    • Consolidated Prisma 8 skill installation and guidance.
  • Bug Fixes

    • Fixed generated TypeScript keys and literals, nested relation aliases, many-to-many aggregates, and prepared-statement retry errors.
  • Documentation

    • Added release notes and upgrade guidance, including breaking changes, contract regeneration requirements, and the updated SQL query interface.

Update: the transition machinery is now RC-aware

Review of the first pass caught that the upgrade-instructions machinery was keyed on major.minor, and the whole RC line lives inside one minor. Every RC transition collapsed to the same wrong label:

prev → head before after
0.17.0 → 8.0.0-rc.1 0.17-to-8.0 0.17-to-8.0.0-rc.1
8.0.0-rc.1 → 8.0.0-rc.2 8.0-to-8.1 8.0.0-rc.1-to-8.0.0-rc.2
8.0.0-rc.1 → 8.0.0-rc.7 8.0-to-8.1 8.0.0-rc.1-to-8.0.0-rc.7
8.0.0-rc.7 → 8.0.0 final 8.0-to-8.1 8.0.0-rc.7-to-8.0

This was not cosmetic. A version bump rewrites every examples/** and packages/3-extensions/** manifest, so the coverage rule fires on every release — meaning every future RC release PR would have failed the same way this one first did, and the only way to satisfy it would have been to create a directory named for a minor bump that never happens. Users upgrading rc.1 → rc.5 would also have found no recipes, which is exactly when they need them, since RC releases may carry breaking changes.

A version's transition segment is now major.minor for a stable release and the full major.minor.patch-rc.N on the RC line. The in-flight directory while main sits on rc.N is 8.0.0-rc.N-to-8.0.0-rc.N+1, which is precisely the coverage directory the rc.N → rc.N+1 release PR then requires — the same self-consistent relationship minors already had. Stable-to-stable behavior is byte-identical, asserted against the historical labels. A reversed RC range now throws, matching the stable path.

The in-flight recipes on this branch were relabelled to 0.17-to-8.0.0-rc.1 to match, and both upgrade skills' chain guidance now states the real rule (steps come from the directories present; on the RC line a step is one RC, not one minor).

Verification after the change

  • pnpm test:scripts — 385 tests, 0 failures.
  • pnpm check:upgrade-coverage --mode pr — pass.
  • node scripts/check-upgrade-coverage.mjs --mode publish --prev v0.17.0 --head release/8.0.0-rc.1 — pass (this is the check that runs on main after merge).
  • pnpm check:release-notes --mode pr, node scripts/validate-skills.mjs — pass.

One more for the reviewer

The recipe bodies still carried the pre-v8 numbering in their headings and prose ("0.17 → 0.18", references to 0.18 as the release introducing the aggregate change — a version that was never published). Those were rewritten to 8.0.0-rc.1, since the recipes are consumer-facing and the directory was being renamed around them.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
The in-flight recipes were written when the next release was expected
to be 0.18.0. This release is the transition onto the v8 RC line, so
the step users actually take is 0.17 to 8.0 — rename both directories,
correct their `to:` frontmatter, and repoint the recipe links in the
release notes and changelog.

Both upgrade skills build their chain by one-minor arithmetic, which
cannot express this step; note that the directories present are the
source of truth for what the steps are.

Refs: TML-3170
Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
The before/after snippet used an accessor shape that does not exist
(db.public.Group). Use the collection + include-reducer form the
integration tests actually exercise.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
@wmadden-electric
wmadden-electric requested a review from a team as a code owner August 7, 2026 09:37
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: df06275e-7ebf-4cc4-ac1f-ddfd4e26930e

📥 Commits

Reviewing files that changed from the base of the PR and between 1a9cf75 and 330eb04.

📒 Files selected for processing (6)
  • CHANGELOG.md
  • docs/releases/v8.0.0-rc.1.md
  • scripts/check-upgrade-coverage.mjs
  • scripts/check-upgrade-coverage.test.mjs
  • skills/prisma-8-extension-upgrade/SKILL.md
  • skills/prisma-next-upgrade/SKILL.md

📝 Walkthrough

Walkthrough

The pull request prepares the monorepo for v8.0.0-rc.1. It updates release documentation, RC upgrade coverage logic, skill instructions, package versions, workspace dependencies, and test manifests.

Changes

Release documentation and upgrade guidance

Layer / File(s) Summary
Release notes and upgrade instructions
CHANGELOG.md, docs/releases/v8.0.0-rc.1.md, skills/...
Documents RC versioning, aggregate result changes, the SqlQueryable interface split, skill installation, fixes, and the 0.17 to 8.0.0-rc.1 upgrade.

Release-candidate coverage handling

Layer / File(s) Summary
RC transition parsing and validation
scripts/check-upgrade-coverage.mjs, scripts/check-upgrade-coverage.test.mjs
Adds RC counters, full RC transition labels, reversed-range validation, single-step RC chains, and corresponding tests.

Workspace version alignment

Layer / File(s) Summary
Package and workspace versions
package.json, apps/*, examples/*, packages/*
Updates package versions and internal workspace references from 0.17.0 to 8.0.0-rc.1.
Test package versions
test/e2e/*, test/integration/*, test/utils/package.json
Updates E2E, integration, fixture, and utility package versions and workspace references.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant PackageManifests
  participant UpgradeCoverage
  participant UpgradeSkills
  participant ReleaseDocs
  PackageManifests->>ReleaseDocs: Publish v8.0.0-rc.1 version and change documentation
  UpgradeCoverage->>UpgradeSkills: Resolve RC transition directories
  UpgradeSkills->>ReleaseDocs: Apply RC upgrade instructions
  UpgradeCoverage->>PackageManifests: Validate RC package and upgrade coverage
Loading

Possibly related PRs

Suggested labels: lgtm

Suggested reviewers: aqrln, tensordreams, wmadden

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: bumping the project to version 8.0.0-rc.1.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/8.0.0-rc.1

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

pkg-pr-new Bot commented Aug 7, 2026

Copy link
Copy Markdown

Open in StackBlitz

prisma-next

npm i https://pkg.pr.new/prisma-next@29918

@prisma/orm-extension-arktype-json

npm i https://pkg.pr.new/@prisma/orm-extension-arktype-json@29918

@prisma/orm-extension-middleware-cache

npm i https://pkg.pr.new/@prisma/orm-extension-middleware-cache@29918

@prisma/orm-extension-paradedb

npm i https://pkg.pr.new/@prisma/orm-extension-paradedb@29918

@prisma/orm-extension-pgvector

npm i https://pkg.pr.new/@prisma/orm-extension-pgvector@29918

@prisma/orm-extension-postgis

npm i https://pkg.pr.new/@prisma/orm-extension-postgis@29918

@prisma/orm-extension-supabase

npm i https://pkg.pr.new/@prisma/orm-extension-supabase@29918

@prisma/orm-family-mongo

npm i https://pkg.pr.new/@prisma/orm-family-mongo@29918

@prisma/orm-family-sql

npm i https://pkg.pr.new/@prisma/orm-family-sql@29918

@prisma/orm-framework

npm i https://pkg.pr.new/@prisma/orm-framework@29918

@prisma/orm-mongo

npm i https://pkg.pr.new/@prisma/orm-mongo@29918

@prisma/orm-postgres

npm i https://pkg.pr.new/@prisma/orm-postgres@29918

@prisma/orm-sqlite

npm i https://pkg.pr.new/@prisma/orm-sqlite@29918

@prisma/orm-target-mongo

npm i https://pkg.pr.new/@prisma/orm-target-mongo@29918

@prisma/orm-target-postgres

npm i https://pkg.pr.new/@prisma/orm-target-postgres@29918

@prisma/orm-target-sqlite

npm i https://pkg.pr.new/@prisma/orm-target-sqlite@29918

@prisma/orm-toolchain

npm i https://pkg.pr.new/@prisma/orm-toolchain@29918

commit: 1a9cf75

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

size-limit report 📦

Path Size
postgres / no-emit 167 KB (0%)
postgres / emit 145.83 KB (0%)
mongo / no-emit 100.4 KB (0%)
mongo / emit 90.25 KB (0%)
cf-worker / no-emit 191.61 KB (0%)
cf-worker / emit 168.08 KB (0%)

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
packages/3-extensions/pgvector/package.json (1)

46-48: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Remove the package-local vitest dependency.

Internal packages must use the root-level Vitest installation. Remove "vitest": "catalog:" from this manifest.

Based on learnings: “do not declare vitest in package.json devDependencies for internal packages.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/3-extensions/pgvector/package.json` around lines 46 - 48, Remove the
package-local "vitest": "catalog:" entry from the devDependencies in the package
manifest, leaving the root-level Vitest installation as the only dependency
source.

Source: Learnings

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CHANGELOG.md`:
- Around line 9-11: Update the release summary in CHANGELOG.md lines 9-11 and
docs/releases/v8.0.0-rc.1.md lines 1-3 together so both accurately reflect the
four fix bullets, using the same corrected wording in each file.

In `@docs/releases/v8.0.0-rc.1.md`:
- Line 19: Add the same sentence after the contract note in
docs/releases/v8.0.0-rc.1.md at line 19 and CHANGELOG.md at line 27, stating
that an undeclared aggregate operation/input codec pair is rejected before
execution with ORM.AGGREGATE_UNSUPPORTED and must not be used as a runtime
fallback.

In `@skills/prisma-next-upgrade/SKILL.md`:
- Around line 65-66: Update the default-target wording in
skills/prisma-next-upgrade/SKILL.md:53 and
skills/prisma-next-upgrade/SKILL.md:65-66 to describe npm dist-tags.latest as
including release candidates, or change the lookup to a stable-only source.
Apply the same correction in skills/prisma-8-extension-upgrade/SKILL.md:50 and
skills/prisma-8-extension-upgrade/SKILL.md:62-63, keeping the documented
upgrade-chain guidance unchanged.

---

Nitpick comments:
In `@packages/3-extensions/pgvector/package.json`:
- Around line 46-48: Remove the package-local "vitest": "catalog:" entry from
the devDependencies in the package manifest, leaving the root-level Vitest
installation as the only dependency source.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: e2f3cc0a-a942-40de-83e4-2eb447b06c29

📥 Commits

Reviewing files that changed from the base of the PR and between 7991937 and 0209403.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (118)
  • CHANGELOG.md
  • apps/lsp-playground/package.json
  • apps/telemetry-backend/package.json
  • docs/releases/v8.0.0-rc.1.md
  • examples/bundle-size/package.json
  • examples/bundle-size/src/mongo/package.json
  • examples/bundle-size/src/postgres/package.json
  • examples/mongo-blog-leaderboard/package.json
  • examples/mongo-demo/package.json
  • examples/multi-extension-monorepo/package.json
  • examples/paradedb-demo/package.json
  • examples/prisma-8-cloudflare-worker/package.json
  • examples/prisma-8-demo-sqlite/package.json
  • examples/prisma-8-demo/package.json
  • examples/prisma-8-postgis-demo/package.json
  • examples/react-router-demo/package.json
  • examples/retail-store/package.json
  • examples/supabase/package.json
  • package.json
  • packages/0-config/tsconfig/package.json
  • packages/0-config/tsdown/package.json
  • packages/0-shared/extension-author-tools/package.json
  • packages/0-shared/publish-surface/package.json
  • packages/1-framework/0-foundation/contract/package.json
  • packages/1-framework/0-foundation/utils/package.json
  • packages/1-framework/1-core/config/package.json
  • packages/1-framework/1-core/errors/package.json
  • packages/1-framework/1-core/framework-components/package.json
  • packages/1-framework/1-core/operations/package.json
  • packages/1-framework/1-core/ts-render/package.json
  • packages/1-framework/2-authoring/contract/package.json
  • packages/1-framework/2-authoring/ids/package.json
  • packages/1-framework/2-authoring/psl-parser/package.json
  • packages/1-framework/2-authoring/psl-printer/package.json
  • packages/1-framework/3-tooling/cli-telemetry/package.json
  • packages/1-framework/3-tooling/cli/package.json
  • packages/1-framework/3-tooling/config-loader/package.json
  • packages/1-framework/3-tooling/emitter/package.json
  • packages/1-framework/3-tooling/language-server/package.json
  • packages/1-framework/3-tooling/migration/package.json
  • packages/1-framework/3-tooling/vite-plugin-contract-emit/package.json
  • packages/2-mongo-family/1-foundation/mongo-codec/package.json
  • packages/2-mongo-family/1-foundation/mongo-contract/package.json
  • packages/2-mongo-family/1-foundation/mongo-value/package.json
  • packages/2-mongo-family/2-authoring/contract-psl/package.json
  • packages/2-mongo-family/2-authoring/contract-ts/package.json
  • packages/2-mongo-family/3-tooling/emitter/package.json
  • packages/2-mongo-family/3-tooling/mongo-schema-ir/package.json
  • packages/2-mongo-family/4-query/query-ast/package.json
  • packages/2-mongo-family/5-query-builders/orm/package.json
  • packages/2-mongo-family/5-query-builders/query-builder/package.json
  • packages/2-mongo-family/6-transport/mongo-lowering/package.json
  • packages/2-mongo-family/6-transport/mongo-wire/package.json
  • packages/2-mongo-family/7-runtime/package.json
  • packages/2-mongo-family/9-family/package.json
  • packages/2-sql/1-core/contract/package.json
  • packages/2-sql/1-core/errors/package.json
  • packages/2-sql/1-core/operations/package.json
  • packages/2-sql/1-core/schema-ir/package.json
  • packages/2-sql/2-authoring/contract-psl/package.json
  • packages/2-sql/2-authoring/contract-ts/package.json
  • packages/2-sql/3-tooling/emitter/package.json
  • packages/2-sql/4-lanes/query-builder/package.json
  • packages/2-sql/4-lanes/relational-core/package.json
  • packages/2-sql/4-lanes/sql-builder/package.json
  • packages/2-sql/5-runtime/package.json
  • packages/2-sql/9-family/package.json
  • packages/3-extensions/arktype-json/package.json
  • packages/3-extensions/middleware-cache/package.json
  • packages/3-extensions/mongo/package.json
  • packages/3-extensions/paradedb/package.json
  • packages/3-extensions/pgvector/package.json
  • packages/3-extensions/postgis/package.json
  • packages/3-extensions/postgres/package.json
  • packages/3-extensions/sql-orm-client/package.json
  • packages/3-extensions/sqlite/package.json
  • packages/3-extensions/supabase/package.json
  • packages/3-mongo-target/1-mongo-target/package.json
  • packages/3-mongo-target/2-mongo-adapter/package.json
  • packages/3-mongo-target/3-mongo-driver/package.json
  • packages/3-targets/3-targets/postgres/package.json
  • packages/3-targets/3-targets/sqlite/package.json
  • packages/3-targets/6-adapters/postgres-codec-testkit/package.json
  • packages/3-targets/6-adapters/postgres/package.json
  • packages/3-targets/6-adapters/sqlite-codec-testkit/package.json
  • packages/3-targets/6-adapters/sqlite/package.json
  • packages/3-targets/7-drivers/postgres/package.json
  • packages/3-targets/7-drivers/sqlite/package.json
  • packages/9-public/@prisma/orm-extension-arktype-json/package.json
  • packages/9-public/@prisma/orm-extension-middleware-cache/package.json
  • packages/9-public/@prisma/orm-extension-paradedb/package.json
  • packages/9-public/@prisma/orm-extension-pgvector/package.json
  • packages/9-public/@prisma/orm-extension-postgis/package.json
  • packages/9-public/@prisma/orm-extension-supabase/package.json
  • packages/9-public/@prisma/orm-family-mongo/package.json
  • packages/9-public/@prisma/orm-family-sql/package.json
  • packages/9-public/@prisma/orm-framework/package.json
  • packages/9-public/@prisma/orm-mongo/package.json
  • packages/9-public/@prisma/orm-postgres/package.json
  • packages/9-public/@prisma/orm-sqlite/package.json
  • packages/9-public/@prisma/orm-target-mongo/package.json
  • packages/9-public/@prisma/orm-target-postgres/package.json
  • packages/9-public/@prisma/orm-target-sqlite/package.json
  • packages/9-public/@prisma/orm-toolchain/package.json
  • packages/9-public/prisma-next/package.json
  • skills/prisma-8-extension-upgrade/SKILL.md
  • skills/prisma-8-extension-upgrade/upgrades/0.17-to-8.0/instructions.md
  • skills/prisma-next-upgrade/SKILL.md
  • skills/prisma-next-upgrade/upgrades/0.17-to-8.0/instructions.md
  • test/e2e/framework/package.json
  • test/e2e/framework/test/fixtures/package.json
  • test/e2e/framework/test/sqlite/fixtures/package.json
  • test/integration/package.json
  • test/integration/test/cli-journeys/package.json
  • test/integration/test/fixtures/cli/cli-e2e-test-app/package.json
  • test/integration/test/fixtures/cli/cli-integration-test-app/package.json
  • test/integration/test/fixtures/cli/cli-test-app/package.json
  • test/utils/package.json

Comment thread CHANGELOG.md Outdated
Comment thread docs/releases/v8.0.0-rc.1.md Outdated
Comment thread skills/prisma-next-upgrade/SKILL.md Outdated
parseVersion() discarded the pre-release suffix, so every upgrade-instructions
transition directory was keyed on major.minor. The whole v8 release-candidate
line lives inside the 8.0.0 minor, so every RC transition collapsed onto the
same label: an rc.1 -> rc.2 release asked for `8.0-to-8.1`, a directory named
for a minor bump that never happens on the RC line. Since a version bump
rewrites every package.json under examples/ and packages/3-extensions/, the
coverage rule fires on every release, so every RC release PR would have failed.

A version now carries an `rc` counter (null for stable versions and for any
other pre-release suffix such as -dev.N), and the name a version contributes to
a transition directory is its minor when stable and its full version when it is
a release candidate. So the chain across the RC line reads
`0.17-to-8.0.0-rc.1`, `8.0.0-rc.1-to-8.0.0-rc.2`, ... , `8.0.0-rc.N-to-8.0`.
RC counters are never chained arithmetically: one release is one step. Two
stable versions produce byte-identical labels to before.

The in-flight directory while main sits on rc.N is `8.0.0-rc.N-to-8.0.0-rc.N+1`,
which is exactly the directory the rc.N -> rc.N+1 release PR requires - the same
relationship minors already had.

Renames the in-flight recipes to 0.17-to-8.0.0-rc.1 in both upgrade skills and
repoints the release-notes and CHANGELOG links.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
…wards

The stable path already throws when head is behind prev, so refs passed
out of order fail loudly. The RC path silently produced a backwards
label (8.0.0-rc.4-to-8.0.0-rc.2). Apply the same rule.

Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/check-upgrade-coverage.mjs`:
- Around line 229-238: Update the RC range validation in the version-comparison
flow around versionSegment so major, minor, and patch are compared before RC
counters, with the counter compared only when the base versions match; preserve
chronological ordering across differing bases. Add regression cases in
scripts/check-upgrade-coverage.test.mjs: one where a later base resets to a
lower RC counter and one where an earlier base has a higher RC counter, covering
both affected sites.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: 26ed2474-24eb-44b1-8199-985c888bdf9e

📥 Commits

Reviewing files that changed from the base of the PR and between 0209403 and 1a9cf75.

📒 Files selected for processing (9)
  • CHANGELOG.md
  • docs/releases/v8.0.0-rc.1.md
  • scripts/check-upgrade-coverage.mjs
  • scripts/check-upgrade-coverage.test.mjs
  • skills-contrib/record-upgrade-instructions/SKILL.md
  • skills/prisma-8-extension-upgrade/SKILL.md
  • skills/prisma-8-extension-upgrade/upgrades/0.17-to-8.0.0-rc.1/instructions.md
  • skills/prisma-next-upgrade/SKILL.md
  • skills/prisma-next-upgrade/upgrades/0.17-to-8.0.0-rc.1/instructions.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • skills/prisma-8-extension-upgrade/SKILL.md
  • CHANGELOG.md
  • docs/releases/v8.0.0-rc.1.md

Comment thread scripts/check-upgrade-coverage.mjs
…n guard

- Correct the summary fix count in the notes and changelog, and say
  that an aggregate the target does not declare is rejected before
  execution with ORM.AGGREGATE_UNSUPPORTED rather than only typed away.
- Both upgrade skills said `dist-tags.latest` resolves the latest
  stable; on the RC line latest tracks 8.0.0-rc.N, so say so.
- Order the reversed-range guard by full semver precedence: the RC
  counter resets on each base version, so 8.0.1-rc.1 is newer than
  8.0.0-rc.9 and must not be read as reversed.

Refs: TML-3170
Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@wmadden-electric
wmadden-electric added this pull request to the merge queue Aug 7, 2026
Merged via the queue into main with commit a76a6c5 Aug 7, 2026
8 of 11 checks passed
@wmadden-electric
wmadden-electric deleted the release/8.0.0-rc.1 branch August 7, 2026 10:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants