You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bump to version 8.0.0-rc.9: fix the prisma package's product pins (#221)
prisma@8.0.0-rc.8 crashes on every invocation: the wrapper package's own
dependency list still pinned @prisma/orm-toolchain@8.0.0-rc.4 and
@prisma/composer-cli@0.11.0, so the published bin resolved the old ORM
family keys and the mount table's lookups came back undefined ("Cannot
read properties of undefined (reading 'needs')"). Only packages/cli's
pins were bumped in #218; the conformance sandbox masked the divergence
by hoisting the good version from @prisma/cli's manifest, which a real
`npm install prisma` does not do.
This aligns packages/prisma's pins with packages/cli (composer-cli
0.12.0, orm-toolchain 8.0.0-rc.5) and bumps to 8.0.0-rc.9. The check
gaps (no pin-equality check across the two manifests; the tarball
bin-start not exercising a prisma-only install) are recorded in the
deferred ledger.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Signed-off-by: willbot <w.a.madden+machine@gmail.com>
Signed-off-by: Will Madden <madden@prisma.io>
Copy file name to clipboardExpand all lines: .drive/projects/prisma-cli-v8/deferred.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -471,3 +471,8 @@ The agent-skills project (skills sync/list, `prisma init`, the staleness notice;
471
471
-**Windows CI: `skills-sync.test.ts` timed out once at the 5s default** (run 32474645762) with a teardown ENOTEMPTY from cleanup racing the timed-out test. If it recurs, raise the suite's per-test timeout on Windows rather than chasing the race.
472
472
-**`isLikelyGlobalNpmEntrypoint` (update-check.ts) matches only `prisma-cli` install paths**, so a globally-installed `prisma` gets the docs-link fallback instead of a concrete update command; `selectUpdateInstruction` still names `@prisma/cli`. Newly conspicuous after the CLI_NAME → prisma rename.
473
473
-**The feedback client's user-agent changed from `prisma-cli/<version>` to `prisma/<version>`** — wire-visible; whoever reads that dashboard should know.
474
+
## Left open by the rc.8 broken release (2026-08-24)
475
+
476
+
-**`prisma@8.0.0-rc.8` on npm is broken and immutable.** The `prisma` wrapper package carries its own copies of the product pins, and the grammar-cleanup branch bumped only `packages/cli/package.json` — so the published `prisma` bin resolved `@prisma/orm-toolchain@8.0.0-rc.4`, whose old family keys make the mount table's lookups undefined and every invocation crash ("Cannot read properties of undefined (reading 'needs')"). rc.9 fixes it. Consider `npm deprecate prisma@8.0.0-rc.8` (needs a maintainer's npm auth; CI publishes via OIDC and has no deprecate step).
477
+
-~~**The release checks did not catch a `prisma` bin that crashes on install.**~~ Closed (2026-08-24, on the rc.9 PR): worse than hoisting — check 3b never installed or started the wrapper's bin at all, only the shell's. Three guards now exist: `packages/cli/tests/manifest-pins.test.ts` (every PR: the wrapper's dependencies must deep-equal the shell's), the tarball check's new `sibling-pin-mismatch` finding (pack time: shared dependency names across packed manifests must carry identical specifiers), and per-package sandboxes in check 3b (every bin-bearing package installs and starts from its own tree). Each guard was proven against the planted rc.8 defect.
478
+
-**Two manifests hand-carry the same pins.**`update-product-versions.mjs` rewrites both, and three checks now fail on divergence (see the closed entry above), so the class cannot ship again. Deriving one manifest from the other at pack time would remove the duplication itself — still a design call, no longer urgent.
Copy file name to clipboardExpand all lines: packages/cli-conformance/package.json
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
{
2
2
"name": "@repo/cli-conformance",
3
3
"private": true,
4
-
"version": "8.0.0-rc.8",
4
+
"version": "8.0.0-rc.9",
5
5
"description": "Reusable conformance checks for the engine's consumers: import purity over built output, config-section validators that never throw, and verification of the tarballs a registry would receive. Depends on no package it checks.",
// biome-ignore lint/performance/noAwaitInLoops: sandboxes install one at a time so a failure names its package and concurrent npm installs cannot confound each other
// biome-ignore lint/performance/noAwaitInLoops: bins start one at a time so a failure names its bin and concurrent processes cannot confound each other's exit
302
360
construn=awaitio.startBin({
303
-
sandboxDir: input.sandboxDir,
361
+
sandboxDir,
304
362
binName,
305
363
relPath,
306
364
argv: ["--version"],
@@ -310,7 +368,7 @@ async function binFindings(
310
368
findings.push(
311
369
finding(
312
370
"bin-failed",
313
-
input.shellPackage,
371
+
packageName,
314
372
`bin ${binName} timed out instead of exiting`,
315
373
run.stderr,
316
374
),
@@ -319,7 +377,7 @@ async function binFindings(
319
377
findings.push(
320
378
finding(
321
379
"bin-failed",
322
-
input.shellPackage,
380
+
packageName,
323
381
`bin ${binName} exited ${run.exitCode} on plain node`,
0 commit comments