Skip to content

deps: stop re-raising two impossible majors; move node to 24 LTS - #92

Merged
thomas-lg merged 1 commit into
mainfrom
deps/pin-incompatible-majors
Aug 31, 2026
Merged

thomas-lg merged 1 commit into
mainfrom
deps/pin-incompatible-majors

Conversation

@thomas-lg

Copy link
Copy Markdown
Owner

Follow-up to clearing the Dependabot backlog. Two unrelated bits of hygiene that both came out of it.

1. Ignore two majors that can never be taken

Both were re-opened weekly, and both were closed again today with the build output on the PR:

Both are now ignored at semver-major only, with the reason and the actual error in a comment so the next person doesn't re-litigate it. Minor/patch updates still flow.

2. Node 22 → 24 (LTS), in all four places at once

#77 proposed node 25, which is non-LTS and outside the range frontend/package.json declares:

"engines": { "node": "^20.19.0 || ^22.12.0 || ^24.0.0" }

Closed in favour of 24, which is the current LTS and inside that range.

The more useful part is that this moves all four references together — the Dockerfile, both node-version entries in ci.yml, the devcontainer's node feature, and the README. Before this, the image, CI, and the devcontainer were each independently pinned to 22 with nothing keeping them in step, which is how #77 would have silently left the production image on a different major from CI.

Verification

The docker-build job builds the Dockerfile and the frontend job runs the production build plus all seven vitest projects — both now on node 24, so the required checks are the verification. Worth a "Rebuild Container" locally to confirm the devcontainer picks up 24.

Dependabot re-opened the same two dead NuGet majors every week, and both were
just closed again with the build output attached:

- SixLabors.ImageSharp 4.x fails the build demanding a paid license key.
- Microsoft.OpenApi 3.x makes IOpenApiMediaType.Example read-only, which the
  Microsoft.AspNetCore.OpenApi source generator still assigns to (CS0200) --
  the same reason 2.7.5 was pinned in 85ea04b. Only an ASP.NET Core release
  built against OpenApi 3.x can unblock it.

Both are now ignored at semver-major so they stop generating weekly noise.

Separately, the node 22 -> 25 bump was closed: 25 is non-LTS and outside the
engines range in frontend/package.json. This moves to 24 (LTS, inside that
range) and does it in all four places at once -- Dockerfile, ci.yml, the
devcontainer feature, and the README -- since the previous state had the image
on 22, CI on 22 and the devcontainer on 22 with nothing keeping them in step.
@thomas-lg
thomas-lg merged commit e5b82f7 into main Aug 31, 2026
10 checks passed
@thomas-lg
thomas-lg deleted the deps/pin-incompatible-majors branch August 31, 2026 18:30
thomas-lg added a commit that referenced this pull request Aug 31, 2026
…nt (#104)

Dependabot's first run under the new grouping offered node 24-slim -> 26-slim.
CI passed -- npm's engines check is only a warning, and only the Dockerfile
moved -- but taking it would ship an image built on node 26 while ci.yml and the
devcontainer still test on 24, re-introducing exactly the drift #92 removed. It
is also outside the engines range the project declares, and node 26 is still
Current rather than LTS.

node's major is therefore pinned, matching the typescript rule: it moves
deliberately with an Angular upgrade, across all four references at once.
Digest and minor updates keep flowing.

The Dockerfile comment claimed odd-numbered majors were what gets skipped; 26 is
even, so that was wrong. The real gate is the engines range plus LTS status.
thomas-lg added a commit that referenced this pull request Sep 13, 2026
Dependabot re-opened the same two dead NuGet majors every week, and both were
just closed again with the build output attached:

- SixLabors.ImageSharp 4.x fails the build demanding a paid license key.
- Microsoft.OpenApi 3.x makes IOpenApiMediaType.Example read-only, which the
  Microsoft.AspNetCore.OpenApi source generator still assigns to (CS0200) --
  the same reason 2.7.5 was pinned in 69f82dc. Only an ASP.NET Core release
  built against OpenApi 3.x can unblock it.

Both are now ignored at semver-major so they stop generating weekly noise.

Separately, the node 22 -> 25 bump was closed: 25 is non-LTS and outside the
engines range in frontend/package.json. This moves to 24 (LTS, inside that
range) and does it in all four places at once -- Dockerfile, ci.yml, the
devcontainer feature, and the README -- since the previous state had the image
on 22, CI on 22 and the devcontainer on 22 with nothing keeping them in step.
thomas-lg added a commit that referenced this pull request Sep 13, 2026
…nt (#104)

Dependabot's first run under the new grouping offered node 24-slim -> 26-slim.
CI passed -- npm's engines check is only a warning, and only the Dockerfile
moved -- but taking it would ship an image built on node 26 while ci.yml and the
devcontainer still test on 24, re-introducing exactly the drift #92 removed. It
is also outside the engines range the project declares, and node 26 is still
Current rather than LTS.

node's major is therefore pinned, matching the typescript rule: it moves
deliberately with an Angular upgrade, across all four references at once.
Digest and minor updates keep flowing.

The Dockerfile comment claimed odd-numbered majors were what gets skipped; 26 is
even, so that was wrong. The real gate is the engines range plus LTS status.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant