chore(deps): defer Prisma major updates pending coordinated upgrade ADR #39

Merged
julien merged 1 commits from chore/deps/defer-prisma-major into main 2026-05-06 19:31:49 +02:00
Owner

Summary

Renovate kept proposing Prisma 7 even though we deliberately downgraded to Prisma 6 in #3nestjs-prisma@0.27.0 is incompatible with Prisma 7's driver-adapter contract, and the upgrade is non-trivial enough to warrant its own ADR rather than a silent Renovate merge.

  • renovate.json — add enabled: false packageRule for matchUpdateTypes: ["major"] on prisma, @prisma/*, nestjs-prisma. Patch and minor bumps of the 6.x line keep flowing.

  • ADR-0006 — new "Prisma version pin: 6.x in v1" subsection records the narrowing of "latest stable major" to 6.x and the two triggers for revisiting:

    1. nestjs-prisma ships a release supporting Prisma 7, or
    2. We decide to drop nestjs-prisma for a hand-rolled PrismaModule.

    Either path needs its own ADR (schema, client instantiation, request-scoped lifecycle all to re-validate).

Test plan

  • Once merged, the open Prisma 7 PR can be closed (see closure comment below) and won't be recreated.
  • Next Renovate run confirms no Prisma-major PR is created (check the dependency dashboard issue).
  • Next patch/minor of Prisma 6.x still produces a normal grouped "Prisma" PR.
## Summary Renovate kept proposing Prisma 7 even though we deliberately downgraded to Prisma 6 in #3 — `nestjs-prisma@0.27.0` is incompatible with Prisma 7's driver-adapter contract, and the upgrade is non-trivial enough to warrant its own ADR rather than a silent Renovate merge. - **`renovate.json`** — add `enabled: false` packageRule for `matchUpdateTypes: ["major"]` on `prisma`, `@prisma/*`, `nestjs-prisma`. Patch and minor bumps of the 6.x line keep flowing. - **ADR-0006** — new "Prisma version pin: 6.x in v1" subsection records the narrowing of "latest stable major" to 6.x and the two triggers for revisiting: 1. `nestjs-prisma` ships a release supporting Prisma 7, or 2. We decide to drop `nestjs-prisma` for a hand-rolled `PrismaModule`. Either path needs its own ADR (schema, client instantiation, request-scoped lifecycle all to re-validate). ## Test plan - [ ] Once merged, the open Prisma 7 PR can be closed (see closure comment below) and won't be recreated. - [ ] Next Renovate run confirms no Prisma-major PR is created (check the dependency dashboard issue). - [ ] Next patch/minor of Prisma 6.x still produces a normal grouped "Prisma" PR.
julien added 1 commit 2026-05-06 19:28:52 +02:00
chore(deps): defer Prisma major updates pending coordinated upgrade ADR
CI / scan (pull_request) Failing after 2m47s
CI / commits (pull_request) Successful in 2m48s
CI / check (pull_request) Successful in 2m59s
CI / a11y (pull_request) Successful in 2m39s
CI / perf (pull_request) Failing after 3m26s
cd60b9b4e1
Renovate kept proposing Prisma 7 even though we deliberately
downgraded to Prisma 6 in PR #3 — `nestjs-prisma@0.27.0` is
incompatible with Prisma 7's driver-adapter contract, and the
upgrade is non-trivial enough (PrismaClient instantiation, request-
scoped lifecycle, schema validation) to warrant its own ADR rather
than a silent Renovate merge.

Add an `enabled: false` packageRule for `matchUpdateTypes: ["major"]`
on `prisma`, `@prisma/*`, `nestjs-prisma`. Patch and minor bumps of
the 6.x line keep flowing.

Document the pin and its triggers in ADR-0006:
- New "Prisma version pin: 6.x in v1" subsection — explains the
  current narrowing of "latest stable major" to 6.x and the two
  triggers for revisiting (nestjs-prisma catches up, or we drop the
  wrapper).
- §Confirmation updated to surface the pin and the Renovate rule.

The matching open PR proposing Prisma 7 will be closed manually on
Gitea; once this lands, Renovate stops re-creating it.
julien merged commit 8bb2d7b43f into main 2026-05-06 19:31:49 +02:00
julien deleted branch chore/deps/defer-prisma-major 2026-05-06 19:31:50 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: julien/apf_portal#39