v8.0.0-rc.1-dev.9
chore(sql-contract-ts): generate contract.json JSON schema from arkty…
chore(sql-contract-ts): generate contract.json JSON schema from arkty…
docs(adr): ADR 245 — errors structured at origin; one ok discriminato…
Route migration/db commands through the control-api seam (TML-3173) (…
refactor(errors): explicit codes on the generic error path, cause sup…
feat(sql): rename check constraints in place when only their prefix c…
Linked issue Refs TML-3163 — slice 06 of the Codec JSON projections project. This unblocks TML-3165, whose aggregate defaults consume the new codec IDs. This PR makes integer representation a per-column contract choice without changing the lossless BigInt default. model Meter { id Int @id peak BigIntNumber lifetime UnboundedInt } peak reads and writes as a JavaScript number, throwing outside ±(2^5…
feat(sql): declare every CHECK constraint in the contract, named by i…
fix(driver-postgres): direct-driver transaction integrity + supabase …
Linked issue n/a — small change At a glance const upsertByteRow = () => db.public.TestByteId.upsert({ create: { bytes: byteId }, update: {}, conflictOn: { bytes: byteId }, }); await upsertByteRow(); await upsertByteRow(); The second upsert previously raised ORM.MUTATION_ROW_MISSING because its Bytes conflict value was not encoded through the column codec during the reload query. Decision This PR f…
v8.0.0-rc.1 This is the first release on the v8 release-candidate line: releases are now versioned 8.0.0-rc.N instead of 0.x minors. It also makes every aggregate read back through the codec its target declares — count() returns a bigint — splits the SQL driver interface into a row-streaming call and a statistics call, and fixes four defects in query planning, emit, and driver error reporting. The…
docs(roadmap): reconcile statuses with code and Linear; drop stale ta…
Linked issue n/a — no ticket for this project batch. At a glance const result = await raw.execute( raw.raw .collection('User') .aggregate([{ $group: { _id: '$age', total: { $sum: 1 } } }, { $sort: { _id: -1 } }]) .build(), ); expect(result).toEqual([ { _id: 60, total: 2 }, { _id: 45, total: 1 }, { _id: 20, total: 1 }, ]); This is one of the final runnable ports needed to account for the complete P…
Linked issue n/a — no Linear ticket At a glance const connectionUri = replSet.getUri(dbName); await pushContract(connectionUri, options.contractJson); client = new MongoClient(connectionUri); Mongo Prisma-port suites now provision their emitted contract before exercising runtime writes. Decision This PR provisions every fresh Mongo Prisma-port database through Prisma Next’s Mongo migration planner…
Shaping PR for the CLI-consolidation project: one prisma CLI and one prisma.config.ts across Prisma 8, Composer, and the platform, before launch. Direction agreed Will/Luan 2026-08-05; this PR lands the artifacts for validation. What this adds Four documents under projects/consolidate-clis/: spec.md — goals, scope, and settled design: host package prisma in prisma/prisma-cli; ORM and Composer as o…
Linked issue Refs TML-3171 Fixes prisma/prisma-next#980 At a glance person.following.some((followed) => followed.following.some((nested) => nested.name.eq('Dex')), ) This depth-two self-relation predicate previously reused the physical people table reference across scopes, allowing the inner source to shadow the correlated parent. Summary Self-relation predicates now preserve their lexical SQL sco…
Linked issue n/a — this repairs main after #29889 (which fixed prisma/prisma-next#981) squash-merged against a stale base. At a glance On current main, at f4b46f0f24: $ pnpm test --filter @internal/sql-contract-emitter FAIL test/emitter-hook.aggregate-types.test.ts Tests 5 failed | 3 passed (8) $ pnpm fixtures:check M test/integration/test/sql-orm-client/fixtures/non-identifier-names/generated/con…
Quote non-identifier column, table, and model names in contract.d.ts …
Linked issue n/a — small change At a glance Before, every skill install picked up whatever matched a wildcard on its subpath: skills add prisma/prisma-next/skills#v0.16.0 --agent cursor claude-code codex windsurf --skill '*' -y skills add prisma/prisma-next/skills/upgrade --agent cursor claude-code codex windsurf --skill '*' -y skills add prisma/prisma-next/skills/extension-author --agent cursor c…
docs(projects): shape sql-check-constraint-unification (spec + plan) …
docs(sql-orm-client): update()/delete() JSDoc states single-row seman…
feat: target-declared aggregate codecs; count() returns bigint (TML-3…
fix(sql-orm-client): route M:N scalar includes through junctions (#29…
v0.17.0 This is the namespace release: Prisma Next now publishes as 17 packages under the @prisma scope, and an application depends on exactly one database facade. It also completes the structured error-code scheme across every plane, makes relation-loading lossless for big numbers and temporal values, and gives every SQL index and RLS policy an exact, migratable name. Breaking changes One @prisma…
Linked issue n/a — docs-only refresh of the RC1 roadmap. At a glance -<details><summary>⏳ <b>Values read through relation-loading bypass their type codecs — big numbers silently corrupt, date columns throw</b> · critical path</summary> +<details><summary>✅ <b>Values read through relation-loading bypass their type codecs — big numbers silently corrupt, date columns throw</b> · landed</summary> The…
chore: public-package-surface project close-out, publish retry harden…
Linked issue n/a — small documentation change At a glance | `update` | ✅ | ✅ | — | ... | +| Empty-data `update` returns the matched row | ❌ | 🟡 | — | ... | Previously, broad green feature rows could hide narrower compatibility gaps demonstrated by faithful Prisma functional-test ports. Summary This PR records eight known Prisma compatibility gaps as atomic scorecard capabilities and links each una…
Follow-up to #29884, which merged before the roadmap edit could ride along. Marks the §5 package-namespace restructure task as landed, rewriting the body to what actually shipped: a single @prisma scope with 17 published packages (ADR 242), internals private and bundled — so the planned second namespace and its deprecation sweep became unnecessary — plus the CI enforcement (publishability by direc…
7.10.0-dev.49
7.10.0-dev.48
7.10.0-dev.47