Skip to content

chore(deps): bump express and @types/express - #198

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

chore(deps): bump express and @types/express#198
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 Aug 29, 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 Pull requests that update a dependency file javascript Pull requests that update javascript code labels Aug 29, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/multi-b251156d90 branch from 49c2a8e to 95ccc20 Compare August 30, 2026 23:43
@Bccorb

Bccorb commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Checked this against current main. It is not a dependency bump, it is an Express 5
migration, and merging it would break the server at startup.

Installed express@5.2.1 and @types/express@5.0.6 on a branch off main:

1. req.query is a getter with no setter in Express 5.
defineRoute's request validation assigns to it
(src/lib/defineRoute.ts, the validate middleware):

req.query = query.parse(req.query) as typeof req.query;

Under Express 5 that throws for every route carrying a query schema:

TypeError: Cannot set property query of #<IncomingMessage> which has only a getter

2. The console wildcard no longer parses. path-to-regexp v8 requires a named
wildcard, so mountAdminDashboard throws while registering
(src/lib/adminDashboard.ts:87):

app.get('/console/*', ...)
-> Missing parameter name at index 10: /console/*

SERVE_ADMIN_DASHBOARD defaults to enabled, so a deployment with a dashboard
build would fail to boot.

3. 26 type errors, from @types/express v5 changing params and query
typing:

15  src/controllers/organizations.ts
 6  src/controllers/admin.ts
 2  src/controllers/oauthProviders.ts
 2  src/controllers/oauth.ts
 1  src/controllers/magicLinks.ts

The PR also conflicts on package-lock.json with main now.

None of this shows up in the PR's own checks because the failing paths are either
runtime (both of the first two) or were passing against a much older base.

Leaving this open rather than merging. It wants its own issue and a deliberate
migration: rework the validation middleware to stop assigning to req.query,
rename the wildcard, and work through the controller typings.

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 @github

dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are up-to-date now, so this is no longer needed.

@Bccorb

Bccorb commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Superseded by #232, merged as 1dca9f7. Same target versions (express 5.2.1, @types/express 5.0.6), plus the four code changes Express 5 actually required: the req.query getter breaking query schema validation, the query parser default moving from extended to simple, req.body arriving undefined when absent, and path-to-regexp v8 rejecting the bare wildcard in the SPA fallback route. main is already on those versions, so there is nothing left here to merge.

@Bccorb Bccorb closed this Aug 31, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 31, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/multi-b251156d90 branch August 31, 2026 12:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant