4.20.0
expressjs/express4.20.0Sep 10, 2024by UlisesGascon
AI Summary
Important release with breaking changes to URL-encoded parsing depth and redirect behavior. The default depth level for parsing URL-encoded data is now 32 instead of Infinity.
Key Highlights
- Default depth level for parsing URL-encoded data changed from Infinity to 32
- Removed link renderization in HTML while using res.redirect
- Upgraded path-to-regexp to 0.1.10
- Upgraded merge-descriptors dependency
Breaking Changes
- URL-encoded body parsing depth defaults to 32 instead of Infinity - may affect deeply nested form data
- Link rendering in HTML redirects removed
New Features
- Security and performance improvements through depth limiting
Full Release Notes
## 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 * 4.19.2 Staging by @wesleytodd in https://github.com/expressjs/express/pull/5561 * remove duplicate location test for data uri by @wesleytodd in https://github.com/expressjs/express/pull/5562 * feat: document beta releases expectations by @marco-ippolito in https://github.com/expressjs/express/pull/5565 * Cut down on duplicated CI runs by @jonchurch in https://github.com/expressjs/express/pull/5564 * Add a Threat Model by @UlisesGascon in https://github.com/expressjs/express/pull/5526 * Assign captain of encodeurl by @blakeembrey in https://github.com/expressjs/express/pull/5579 * Nominate jonchurch as repo captain for `http-errors`, `expressjs.com`, `morgan`, `cors`, `body-parser` by @jonchurch in https://github.com/expressjs/express/pull/5587 * docs: update Security.md by @inigomarquinez in https://github.com/expressjs/express/pull/5590 * docs: update triage nomination policy by @UlisesGascon in https://github.com/expressjs/express/pull/5600 * Add CodeQL (SAST) by @UlisesGascon in https://github.com/expressjs/express/pull/5433 * docs: add UlisesGascon as triage initiative captain by @UlisesGascon in https://github.com/expressjs/express/pull/5605 * deps: encodeurl@~2.0.0 by @blakeembrey in https://github.com/expressjs/express/pull/5569 * skip QUERY method test by @jonchurch in https://github.com/expressjs/express/pull/5628 * ignore ETAG query test on 21 and 22, reuse skip util by @jonchurch in https://github.com/expressjs/express/pull/5639 * add support Node.js@22 in the CI by @mertcanaltin in https://github.com/expressjs/express/pull/5627 * doc: add table of contents, tc/triager lists to readme by @mertcanaltin in https://github.com/expressjs/express/pull/5619 * List and sort all projects, add captains by @blakeembrey in https://github.com/expressjs/express/pull/5653 * docs: add @UlisesGascon as captain for cookie-parser by @UlisesGascon in https://github.com/expressjs/express/pull/5666 * ✨ bring back query tests for node 21 by @ctcpip in https://github.com/expressjs/express/pull/5690 * [v4] Deprecate `res.clearCookie` accepting `options.maxAge` and `options.expires` by @jonchurch in https://github.com/expressjs/express/pull/5672 * skip QUERY tests for Node 21 only, still not supported by @jonchurch in https://github.com/expressjs/express/pull/5695 * 📝 update people, add ctcpip to TC by @ctcpip in https://github.com/expressjs/express/pull/5683 * remove minor version pinning from ci by @jonchurch in https://github.com/expressjs/express/pull/5722 * Fix link variable use in attribution section of CODE OF CONDUCT by @IamLizu in https://github.com/expressjs/express/pull/5762 * Replace Appveyor windows testing with GHA by @jonchurch in https://github.com/expressjs/express/pull/5599 * Add OSSF Scorecard badge by @UlisesGascon in https://github.com/expressjs/express/pull/5436 * update scorecard link by @bjohansebas in https://github.com/expressjs/express/pull/5814 * Nominate @IamLizu to the triage team by @UlisesGascon in https://github.com/expressjs/express/pull/5836 * deps: path-to-regexp@0.1.8 by @blakeembrey in https://github.com/expressjs/express/pull/5603 * docs: specify new instructions for `question` and `discuss` by @IamLizu in https://github.com/expressjs/express/pull/5835 * 4.x: Upgrade `merge-descriptors` dependency by @RobinTail in https://github.com/expressjs/express/pull/5781 * path-to-regexp@0.1.10 by @blakeembrey in https://github.com/expressjs/express/pull/5902 ## New Contributors * @marco-ippolito made their first contribution in https://github.com/expressjs/express/pull/5565 * @inigomarquinez made their first contribution in https://github.com/expressjs/express/pull/5590 * @mertcanaltin made their first contribution in https://github.com/expressjs/express/pull/5627 * @ctcpip made their first contribution in https://github.com/expressjs/express/pull/5690 * @bjohansebas made their first contribution in https://github.com/expressjs/express/pull/5814 **Full Changelog**: https://github.com/expressjs/express/compare/4.19.1...4.20.0