Skip to content

Releases: expressjs/express

5.0.0

Choose a tag to compare

@wesleytodd wesleytodd released this 10 Sep 04:51

Express v5.0.0

🎉 Express v5 is finally here! 🎉

After years of development, the long-awaited Express v5 has been officially released. This version focuses on simplifying the codebase, improving security, and dropping support for older Node.js versions to enable better performance and maintainability.

For detailed information, please check out the official Express v5 release blog post.

Most relevant details

Major Changes in v5

  • Node.js version support: Dropped support for Node.js versions before v18.
  • Routing changes: Updated to path-to-regexp@8.x, removing sub-expression regex patterns for security reasons (ReDoS mitigation).
  • Promise support: Middleware can now return rejected promises, caught by the router as errors.
  • body-parser changes: Several improvements including the ability to customize urlencoded body depth and defaulting extended to false.
  • Deprecated API methods removed: Removed old, deprecated API method signatures from Express v3/v4.

For a complete list of breaking changes and API deprecations, see the migration guide.

Security Updates

This release includes important security fixes, including improvements to prevent ReDoS attacks and mitigation for CVE-2024-45590. Full details can be found in the security release notes.

Migration

Be sure to check out our migration guide for instructions on how to update your applications from Express v4 to v5.

Security Guidance

For best practices, we recommend reviewing the Threat Model which outlines Express' approach to securing your applications, including tips for user input validation and other critical aspects.

What's Changed

New Contributors

Full Changelog: v5.0.0-beta.3...v5.0.0

4.20.0

Choose a tag to compare

@UlisesGascon UlisesGascon released this 10 Sep 02:06
21df421

What's Changed

Important

  • 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

Other Changes

New Contributors

Full Changelog: 4.19.1...4.20.0

v5.0.0-beta.3

v5.0.0-beta.3 Pre-release
Pre-release

Choose a tag to compare

@wesleytodd wesleytodd released this 25 Mar 14:59

4.19.2

Choose a tag to compare

@wesleytodd wesleytodd released this 25 Mar 14:32

5.0.0-beta.2

5.0.0-beta.2 Pre-release
Pre-release

Choose a tag to compare

@wesleytodd wesleytodd released this 25 Mar 14:59

What's Changed

New Contributors

Full Changelog: v5.0.0-beta.1...5.0.0-beta.2

4.19.1

Choose a tag to compare

@wesleytodd wesleytodd released this 25 Mar 14:31

What's Changed

Full Changelog: 4.19.0...4.19.1

4.19.0

Choose a tag to compare

@wesleytodd wesleytodd released this 20 Mar 16:43

What's Changed

New Contributors

Full Changelog: 4.18.3...4.19.0

4.18.3

Choose a tag to compare

@UlisesGascon UlisesGascon released this 29 Feb 11:44
4.18.3
1b51eda

Main Changes

  • 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

Other Changes

New Contributors

Full Changelog: 4.18.2...4.18.3

4.18.2

Choose a tag to compare

@dougwilson dougwilson released this 08 Oct 20:12
  • 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

4.18.1

Choose a tag to compare

@dougwilson dougwilson released this 29 Apr 19:32
  • Fix hanging on large stack of sync routes