Skip to content

Update dependency express to v4.22.1#14

Merged
koki-develop merged 1 commit intomasterfrom
renovate/express-4.x
Jan 2, 2026
Merged

Update dependency express to v4.22.1#14
koki-develop merged 1 commit intomasterfrom
renovate/express-4.x

Conversation

@renovate
Copy link

@renovate renovate bot commented Dec 31, 2025

This PR contains the following updates:

Package Change Age Confidence
express (source) 4.17.34.22.1 age confidence

Release Notes

expressjs/express (express)

v4.22.1

Compare Source

v4.22.0

Compare Source

v4.21.2

Compare Source

What's Changed

Full Changelog: expressjs/express@4.21.1...4.21.2

v4.21.1

Compare Source

What's Changed

Full Changelog: expressjs/express@4.21.0...4.21.1

v4.21.0

Compare Source

What's Changed

New Contributors

Full Changelog: expressjs/express@4.20.0...4.21.0

v4.20.0

Compare Source

==========

  • deps: serve-static@​0.16.0
    • Remove link renderization in html while redirecting
  • deps: send@​0.19.0
    • Remove link renderization in html while redirecting
  • deps: body-parser@​0.6.0
    • add depth option to customize the depth level in the parser
    • IMPORTANT: The default depth level for parsing URL-encoded data is now 32 (previously was Infinity)
  • Remove link renderization in html while using res.redirect
  • deps: path-to-regexp@​0.1.10
    • Adds support for named matching groups in the routes using a regex
    • Adds backtracking protection to parameters without regexes defined
  • deps: encodeurl@~2.0.0
    • Removes encoding of \, |, and ^ to align better with URL spec
  • Deprecate passing options.maxAge and options.expires to res.clearCookie
    • Will be ignored in v5, clearCookie will set a cookie with an expires in the past to instruct clients to delete the cookie

v4.19.2

Compare Source

==========

  • Improved fix for open redirect allow list bypass

v4.19.1

Compare Source

==========

  • Allow passing non-strings to res.location with new encoding handling checks

v4.19.0

Compare Source

==========

  • Prevent open redirect allow list bypass due to encodeurl
  • deps: cookie@​0.6.0

v4.18.3

Compare Source

==========

  • Fix routing requests without method
  • deps: body-parser@​1.20.2
    • Fix strict json error message on Node.js 19+
    • deps: content-type@~1.0.5
    • deps: raw-body@​2.5.2
  • deps: cookie@​0.6.0
    • Add partitioned option

v4.18.2

Compare Source

===================

  • Fix regression routing a large stack in a single route
  • deps: body-parser@​1.20.1
    • deps: qs@​6.11.0
    • perf: remove unnecessary object clone
  • deps: qs@​6.11.0

v4.18.1

Compare Source

===================

  • Fix hanging on large stack of sync routes

v4.18.0

Compare Source

===================

  • Add "root" option to res.download
  • Allow options without filename in res.download
  • Deprecate string and non-integer arguments to res.status
  • Fix behavior of null/undefined as maxAge in res.cookie
  • Fix handling very large stacks of sync middleware
  • Ignore Object.prototype values in settings through app.set/app.get
  • Invoke default with same arguments as types in res.format
  • Support proper 205 responses using res.send
  • Use http-errors for res.format error
  • deps: body-parser@​1.20.0
    • Fix error message for json parse whitespace in strict
    • Fix internal error when inflated body exceeds limit
    • Prevent loss of async hooks context
    • Prevent hanging when request already read
    • deps: depd@​2.0.0
    • deps: http-errors@​2.0.0
    • deps: on-finished@​2.4.1
    • deps: qs@​6.10.3
    • deps: raw-body@​2.5.1
  • deps: cookie@​0.5.0
    • Add priority option
    • Fix expires option to reject invalid dates
  • deps: depd@​2.0.0
    • Replace internal eval usage with Function constructor
    • Use instance methods on process to check for listeners
  • deps: finalhandler@​1.2.0
    • Remove set content headers that break response
    • deps: on-finished@​2.4.1
    • deps: statuses@​2.0.1
  • deps: on-finished@​2.4.1
    • Prevent loss of async hooks context
  • deps: qs@​6.10.3
  • deps: send@​0.18.0
    • Fix emitted 416 error missing headers property
    • Limit the headers removed for 304 response
    • deps: depd@​2.0.0
    • deps: destroy@​1.2.0
    • deps: http-errors@​2.0.0
    • deps: on-finished@​2.4.1
    • deps: statuses@​2.0.1
  • deps: serve-static@​1.15.0
    • deps: send@​0.18.0
  • deps: statuses@​2.0.1
    • Remove code 306
    • Rename 425 Unordered Collection to standard 425 Too Early

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/express-4.x branch from 84fc3a4 to 2e0467b Compare January 2, 2026 02:26
@github-actions
Copy link

github-actions bot commented Jan 2, 2026

Renovate PR Review Results

⚖️ Safety Assessment: ✅ Safe

🔍 Release Content Analysis

Major Security Fix: CVE-2024-47764 - Fixed in Express 4.21.1, addressing a Resource Injection vulnerability in cookie parsing that could lead to Reflected XSS through malicious cookie manipulation.

Key Changes from 4.17.3 to 4.22.1:

  • Body Parser depth limit: Default depth for URL-encoded data parsing changed from Infinity to 32 (security improvement)
  • Cookie dependency: Updated from 0.4.2 to 0.7.2 (addresses CVE-2024-47764)
  • Path-to-regexp: Updated to 0.1.12 with backtracking protection and named matching groups support
  • Deprecations: res.clearCookie maxAge/expires options deprecated, "back" magic string in redirects deprecated
  • HTTP Status: Removed code 306, renamed status 425 to standard "Too Early"
  • Enhanced security: Multiple dependency updates addressing security vulnerabilities

Breaking Changes: None that affect this codebase's usage patterns

🎯 Impact Scope Investigation

Express Usage Analysis:

  • api/src/index.js:4: Basic Express server initialization with standard middleware
  • api/src/api/v2.js:1: Router creation using express.Router()
  • Usage Patterns: Standard Express API server with JSON/URLencoded body parsing, WebSocket support via express-ws

Body Parser Impact:

  • Current usage: body_parser.urlencoded({ extended: true }) and body_parser.json()
  • Depth limit change (Infinity → 32) is unlikely to affect typical API usage
  • No deeply nested URL-encoded data processing detected

Cookie Usage: No direct cookie manipulation found in the codebase - Express handles this transparently

Dependencies: No conflicts detected with express-ws 5.0.2 or other dependencies

💡 Recommended Actions

Immediate:

  • Safe to merge - This is primarily a security update with backward compatibility
  • The body parser depth limit change enhances security without breaking existing functionality
  • CVE-2024-47764 fix is critical for security

Post-merge Verification:

  • Run existing API tests to ensure functionality remains intact
  • Monitor for any unexpected behavior in URL-encoded data processing (unlikely)

Future Considerations:

  • Consider migrating from body-parser to built-in Express middleware (express.json(), express.urlencoded()) as body-parser is now built into Express
  • Review any custom cookie handling if implemented in the future

🔗 Reference Links

Generated by koki-develop/claude-renovate-review

@koki-develop koki-develop merged commit b89d927 into master Jan 2, 2026
2 checks passed
@koki-develop koki-develop deleted the renovate/express-4.x branch January 2, 2026 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant