Skip to content

build(deps): bump express and @types/express - #21

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/multi-b251156d90
Open

build(deps): bump express and @types/express#21
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/multi-b251156d90

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 8, 2026

Copy link
Copy Markdown
Contributor

Bumps express and @types/express. These dependencies needed to be updated together.
Updates express from 4.22.2 to 5.2.1

Release notes

Sourced from express's releases.

v5.2.1

What's Changed

[!IMPORTANT]
The prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.

Full Changelog: expressjs/express@v5.2.0...v5.2.1

v5.2.0

Important: Security

What's Changed

... (truncated)

Changelog

Sourced from express's changelog.

5.2.1 / 2025-12-01

  • Revert security fix for CVE-2024-51999 (GHSA-pj86-cfqh-vqx6)
    • The prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.

5.2.0 / 2025-12-01

  • Security fix for CVE-2024-51999 (GHSA-pj86-cfqh-vqx6)
  • deps: body-parser@^2.2.1
  • A deprecation warning was added when using res.redirect with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.

5.1.0 / 2025-03-31

  • Add support for Uint8Array in res.send()
  • Add support for ETag option in res.sendFile()
  • Add support for multiple links with the same rel in res.links()
  • Add funding field to package.json
  • perf: use loop for acceptParams
  • refactor: prefix built-in node module imports
  • deps: remove setprototypeof
  • deps: remove safe-buffer
  • deps: remove utils-merge
  • deps: remove methods
  • deps: remove depd
  • deps: debug@^4.4.0
  • deps: body-parser@^2.2.0
  • deps: router@^2.2.0
  • deps: content-type@^1.0.5
  • deps: finalhandler@^2.1.0
  • deps: qs@^6.14.0
  • deps: server-static@2.2.0
  • deps: type-is@2.0.1

5.0.1 / 2024-10-08

5.0.0 / 2024-09-10

  • remove:
    • path-is-absolute dependency - use path.isAbsolute instead
  • breaking:
    • res.status() accepts only integers, and input must be greater than 99 and less than 1000
      • will throw a RangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000. for inputs outside this range
      • will throw a TypeError: Invalid status code: ${code}. Status code must be an integer. for non integer inputs
    • deps: send@1.0.0

... (truncated)

Commits

Updates @types/express from 4.17.25 to 5.0.6

Commits

@dependabot dependabot Bot added dependencies Dependency updates (Dependabot) javascript Pull requests that update javascript code labels Jul 8, 2026
@dependabot
dependabot Bot requested a review from murdore as a code owner July 8, 2026 16:54
@dependabot dependabot Bot added dependencies Dependency updates (Dependabot) javascript Pull requests that update javascript code labels Jul 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

Single Commit Policy — COMPLIANT

Status: 1 commit | Valid format | No merge commits | Ready for merge

Commit details
  • Hash: 80b5e5eadeed526e83165b9787eb87d01fbc94b6
  • Message: build(deps): bump express and @types/express
  • Author: dependabot[bot]

Automated validation — dopamine single-commit enforcement

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/multi-b251156d90 branch from 81ffb9d to 4bc5958 Compare July 11, 2026 07:14
@murdore

murdore commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

⚠️ This isn't a clean bump — Express 5 is a breaking change that dopamine's own code hits.

src/server/dashboard-server.ts:66 registers app.get("*", ...) as the SPA fallback. Express 5 ships path-to-regexp v8, which rejects the bare * wildcard: app.get("*", ...) throws TypeError: Missing parameter name at index 1: * at route-registration time, crashing the dashboard server on startup (reproduced locally with express@5.2.1). CI is green because it builds/tests but never boots the running server, so this slips through.

Before merging: update the wildcard to Express 5 syntax, e.g. app.get("/*splat", ...) (see the Express 5 migration guide), and manually verify dashboard-server boots and the SPA fallback still serves index.html for unknown client routes under express@5.2.1.

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/multi-b251156d90 branch 3 times, most recently from d32f91d to 007c859 Compare July 19, 2026 08:53
Bumps [express](https://github.com/expressjs/express) and [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express). These dependencies needed to be updated together.

Updates `express` from 4.22.2 to 5.2.1
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](expressjs/express@v4.22.2...v5.2.1)

Updates `@types/express` from 4.17.25 to 5.0.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/express)

---
updated-dependencies:
- dependency-name: "@types/express"
  dependency-version: 5.0.6
  dependency-type: direct:development
  update-type: version-update:semver-major
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/multi-b251156d90 branch from 007c859 to 80b5e5e Compare July 29, 2026 18:58
@murdore

murdore commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Chase — this is still unresolved. Re-verified at current head 80b5e5eadeed526e83165b9787eb87d01fbc94b6 (this PR's diff is still scoped to package-lock.json/package.json only, no server-code changes):

src/server/dashboard-server.ts:66 on main is still:

app.get("*", async (req, res) => {

This is the exact Express 5 incompatibility flagged here two weeks ago (2026-07-16) — Express 5's path-to-regexp v8 throws TypeError: Missing parameter name at index 1: * at route-registration time for a bare * wildcard, crashing the server on startup. tsc/vitest passing doesn't catch this since nothing in CI boots the long-lived server process. No reply/fix commit since the original comment; flagging again since it'll ship broken if merged as-is. The fix is small: change the route to app.get("/*splat", ...) (Express 5 / path-to-regexp v8 named-wildcard syntax) alongside this bump.

@murdore

murdore commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Chase (3rd flag) — this is still unresolved and still real, re-verified just now.

  • Current head is still 80b5e5eadeed526e83165b9787eb87d01fbc94b6, diff still scoped to package.json/package-lock.json only — no server-code fix has landed.
  • main's package.json is still pinned at "express": "^4.19.0", confirming zero forward progress on the incompatibility since it was first flagged 2026-07-16.
  • Live-checked src/server/dashboard-server.ts on main just now — the bare wildcard is still there (now at line 158, drifted from the original line-66 citation as the file grew):
    app.get("*", async (req, res) => {
    Express 5 ships path-to-regexp v8, which rejects a bare * and throws TypeError: Missing parameter name at index 1: * at route-registration time — i.e. the dashboard server crashes on startup under this bump, reproduced locally with express@5.2.1. CI stays green (Build & Test, TypeScript Strict Check all passing above) because nothing in CI boots the long-lived server process.

Fix is small and already scoped in the first comment on this thread: change the SPA-fallback route to Express 5's named-wildcard syntax (app.get("/*splat", ...)) and manually verify the server boots + still serves index.html for unknown client routes under express@5.2.1, before merging this bump.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates (Dependabot) javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant