- The prisma-8 skill ships inside @prisma/orm-postgres, @prisma/orm-sqlite, and @prisma/orm-mongo npm tarballs with package name and version stamping
- The CLI engine exports its CI detector
- PostgreSQL temporal columns now read as Temporal values or text instead of Date, with explicit codec representations: bare PSL spellings like Date, Timestamp, Timestamptz, Time select Temporal-backed codecs, while DateString, TimestampString, TimestamptzString, TimeString select text representations
- The engine peer dependency moves to @prisma/cli-engine@0.2.2
- The CLI engine now evaluates prisma.config.ts correctly through pnpm symlink layouts that are not realpath'd
- Previous PostgreSQL temporal column codecs (pg/date@1, pg/timestamp@1, pg/timestamptz@1, pg/time@1, sql/timestamp@1, and field.timestamp()) are removed with no aliases
- prisma orm init no longer installs agent skills via GitHub fetch, with agent-skills setup now belonging to the family-level prisma init command
- The --skip-skills flag for prisma orm init is removed
- The skill-install failure exit code 6 is retired
From prisma
PostgreSQL temporal columns move from Date to explicit Temporal-or-text representations, the prisma-8 agent skill ships inside the ORM packages a project installs, prisma orm init hands agent-skills setup to the family-level prisma init, and the toolchain releases against @prisma/cli-engine@0.2.2 — the engine that evaluates prisma.config.ts correctly under pnpm symlink layouts.
The upgrade recipe for this hop: the user recipe.
Breaking changes
-
PostgreSQL temporal columns read as
Temporalvalues or text, neverDate— each ofdate,timestamp(p),timestamptz(p)andtime(p)now has two representation-explicit codecs: aTemporal-backed one (the bare PSL spellingsDate,Timestamp,Timestamptz,Timeselect it) and a text one (DateString,TimestampString,TimestamptzString,TimeString). The previous codecs (pg/date@1,pg/timestamp@1,pg/timestamptz@1,pg/time@1,sql/timestamp@1/field.timestamp()) are removed with no aliases. Pick a representation per column, re-emit every contract, and provide a globalTemporalimplementation (e.g.import 'temporal-polyfill/full/global') wherever a Temporal-backed column is read. See the migration recipe. (#30073)Before:
occurredAt Timestamptz // read as DateAfter (read as
Temporal.Instant):occurredAt TimestamptzOr, to keep PostgreSQL's text unchanged:
occurredAt TimestamptzString -
prisma orm initno longer installs agent skills — the GitHub fetch (npx skills add) is removed and nothing replaces it insideorm init: agent-skills setup belongs to the family-levelprisma initcommand, which init's next-steps now point to. The--skip-skillsflag is removed with the behavior it opted out of, and the skill-install failure exit (code 6) is retired. Scaffolding is otherwise unchanged. (#30097) -
The engine peer moves to
@prisma/cli-engine@0.2.2—@prisma/orm-toolchaindeclares the unified CLI's engine as an exact peer, and this release peers 0.2.2 (up from 0.2.0). Installs assembled by the unifiedprismaCLI resolve one engine as before; a host that pins the engine itself must move to 0.2.2. The new engine evaluatesprisma.config.tsthrough pnpm symlink layouts that are not realpath'd (prisma/prisma-cli#222) and exports its CI detector (prisma/prisma-cli#224).
Features
- The prisma-8 skill travels in the npm tarballs —
skills/prisma-8/ships inside@prisma/orm-postgres,@prisma/orm-sqlite, and@prisma/orm-mongo, stamped with the package name and version soprisma skills synccan copy it into agent harness directories and detect staleness from the installed packages rather than fetching from GitHub. The two upgrade skills fold into the prisma-8 router as its "upgrading" branch. (#30096)