Repository navigation
routine 2026-10-08: ship #15, Nuxt 4.6.0, shell-quote advisory, Node 24 CI actions - #17
Merged
Merged
Conversation
Lands the roadmap's "Nuxt 4.6 after a soak" item, two and a half days after release. 4.6.0's security section covers the internal error route being reachable from outside, unhandled error data reaching the error page, and error-render recursion tracked by a client-controllable header. package.json, package-lock.json: nuxt ^4.6.0, then npm dedupe. ROADMAP.md: the item ticked, with what was checked. Typecheck, 236 tests, build, audit:runtime, check, a11y and a11y:browser clean; every route answers as on 4.5.2 with same-sized bodies; the image builds on node 24.21. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Only @nuxt/devtools' launch-editor depends on it, and devtools is disabled and never ships, so nothing reachable changes. It is a lockfile-only, in-range patch that clears a critical from npm audit. package-lock.json: shell-quote 1.10.0 -> 1.12.0. ROADMAP.md: the devtools upstream item records it, and the two advisories left (braces, node-forge) that have no patched release. Typecheck, build and audit:runtime clean; every route answers as before. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Research from this run: 5.4.0 changes client-side scroll and hash restoration defaults, which no server gate exercises. https://github.com/vuejs/router/releases/tag/v5.4.0 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
GitHub forces Node 20 actions onto Node 24 and annotates each run as
deprecated. Moved: actions/checkout v5, actions/setup-node v5,
docker/build-push-action v7, docker/setup-buildx-action v4,
docker/login-action v4, docker/metadata-action v6. None of their breaking
changes touch this repo: the inputs they removed are unused, and
setup-node's automatic cache needs a packageManager field package.json
does not have.
.github/workflows/{ci,release,links}.yml, ROADMAP.md.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Run started 09:13 CDT 2026-10-08. This was a rerun ("try again"). The previous run's lock was stale, and its PR #15 was green and clean but had never been merged, released or deployed.
0. Shipped the previous run's work (#15)
40c9ca4). CI was green: build, onion gateway, image builds.mainbefore deploying:/healthz,/,/projects200. All 8/projects/<slug>301. Every/aboutand/blog200./projects/no-such-project,/no-such-page,/api/projects/nope404. Every onion-marked/adminprobe 404./onion-frame503 (no gateway locally).nightly-2026-10-05-2(prerelease).basicautomation-site:previous. The container reportedhealthy.https://basicautomation.io/200, titlebasic automation — software for the productive./projects/skidbladnir/about200./healthz200: 16 live resolutions, 0 snapshot.cross-origin-opener-policy: same-originheader is live, andx-powered-byis gone.1. Nuxt 4.6.0 —
feat(deps)(9f8596c)Roadmap: "Move to Nuxt 4.6 once it has had a few days" →
[x].Files:
package.json,package-lock.json,ROADMAP.md.It has now had 2½ days in the wild, which meets the soak condition. There is no 4.6.1 yet. I read the open 4.6.0 regressions:
config.cjsmissing from the tarball forrequire(#36514), page-transition and scroll-reset edge cases, andnuxt/servertyping. None of them touch what this site uses. The security fixes (internal error route, error data, error-render recursion) are the reason to take it.Checks:
audit:runtime: 79 packages, clean.check: 19 pages, 74 URLs, no problems. Its one warning is the known upstream onyums anchor.a11y: 21 pages, clean.a11y:browser: 21 pages at 1280 and 390 px, no violations and no console errors.verify.shanswer exactly as on 4.5.2, and every page body is the same size./__nuxt_error?...probes answer 404 on 4.6 and on the live 4.5.2.2. shell-quote 1.12.0 —
fix(deps)(de23e0c)Files:
package-lock.json,ROADMAP.md(the devtools upstream item).npm auditflaggedshell-quote1.10.0 as critical (GHSA-pqg4-j6r4-53mv). Only devtools'launch-editorpulls it in, and devtools is disabled and never ships. 1.12.0 is in range, so this is a lockfile-only patch.bracesandnode-forgehave no patched release at all. Both are build or dev-server only, and the roadmap now records them.Checks: typecheck, build and
audit:runtimeclean; all routes answer as before.3. CI actions off the Node 20 runtime —
ci(latest commit)Files:
.github/workflows/{ci,release,links}.yml,ROADMAP.md(a Phase 3[x]).The first CI run of this PR annotated every job with GitHub's Node 20 deprecation. I moved each action to its first Node 24 major:
checkoutv5,setup-nodev5build-push-actionv7,setup-buildx-actionv4login-actionv4,metadata-actionv6I read each major's release notes. The breaking changes are the runtime, inputs this repo never set, and setup-node's automatic cache, which only applies with a
packageManagerfield that package.json lacks.Checks:
release.yml(login and metadata) first runs on this run's release; see the deploy section of this PR's merge.links.ymluses only checkout and setup-node, the same pairci.ymljust proved.Snapshot
npm run sync: crate download counts moved (66ee3fa).Research
[ ]saying to land it with a browser check. https://github.com/vuejs/router/releases/tag/v5.4.0package.jsonexports"require": "./config.cjs"butconfig.cjsis not in the tarball nuxt/nuxt#36514ubuntu-latestmoves to Ubuntu 26 from 2026-10-19 (CI annotation). Nothing here pins Ubuntu 24 specifics. Watch the first run after that date; no task was filed. [Ubuntu]ubuntu-latestlabel will use Ubuntu 26.04 in November 2026 actions/runner-images#14748Done vs open
[ ]was added (vue-router 5.4).basic-automation.github.io, and contrast.STOP REASON: no workable next item, about 30 min into the run (09:13 → 09:40 CDT), far short of the 4 h bar. Every remaining
[ ]is owner-gated, blocked, upstream or deliberately soaking (vue-router 5.4, one day old). The Skidbladnir screenshot is current (shot:check✓). I didn't make up work to fill the clock.Recommended next step
🤖 Generated with Claude Code