3.21.0
expressjs/express3.21.0Jun 19, 2015by dougwilson
AI Summary
Express 3.21.0 is primarily a dependency update release, upgrading various middleware packages to their latest versions including connect@2.30.0, etag@~1.7.0, send@0.13.0, and fresh@0.3.0. The release focuses on performance improvements across dependencies and includes some behavioral changes to ETag generation.
Key Highlights
- Updated connect middleware framework to v2.30.0 with updated dependencies
- Major etag@~1.7.0 update with performance improvements including MD5-only ETags and removal of base64 padding
- Added weak ETag matching support in fresh@0.3.0
- send@0.13.0 improvements including Date header support and http-errors integration
- Multiple performance optimizations including strict mode enablement and reduced allocations
Breaking Changes
- ETag generation now uses MD5 instead of CRC32 for non-Stats ETags
- ETags no longer include base64 padding, shortening their length
- Weak ETags over 1KB now use MD5 instead of MD4
New Features
- Weak ETag matching support added
- Node.js HTTP servers can now set Date response header
- Standard errors now use http-errors package
- Status messages now use statuses package instead of http module
Full Release Notes
- deps: basic-auth@1.0.2 - perf: enable strict mode - perf: hoist regular expression - perf: parse with regular expressions - perf: remove argument reassignment - deps: connect@2.30.0 - deps: body-parser@~1.13.1 - deps: bytes@2.1.0 - deps: compression@~1.5.0 - deps: cookie@0.1.3 - deps: cookie-parser@~1.3.5 - deps: csurf@~1.8.3 - deps: errorhandler@~1.4.0 - deps: express-session@~1.11.3 - deps: finalhandler@0.4.0 - deps: fresh@0.3.0 - deps: morgan@~1.6.0 - deps: serve-favicon@~2.3.0 - deps: serve-index@~1.7.0 - deps: serve-static@~1.10.0 - deps: type-is@~1.6.3 - deps: cookie@0.1.3 - perf: deduce the scope of try-catch deopt - perf: remove argument reassignments - deps: escape-html@1.0.2 - deps: etag@~1.7.0 - Always include entity length in ETags for hash length extensions - Generate non-Stats ETags using MD5 only (no longer CRC32) - Improve stat performance by removing hashing - Improve support for JXcore - Remove base64 padding in ETags to shorten - Support "fake" stats objects in environments without fs - Use MD5 instead of MD4 in weak ETags over 1KB - deps: fresh@0.3.0 - Add weak `ETag` matching support - deps: mkdirp@0.5.1 - Work in global strict mode - deps: send@0.13.0 - Allow Node.js HTTP server to set `Date` response header - Fix incorrectly removing `Content-Location` on 304 response - Improve the default redirect response headers - Send appropriate headers on default error response - Use `http-errors` for standard emitted errors - Use `statuses` instead of `http` module for status messages - deps: escape-html@1.0.2 - deps: etag@~1.7.0 - deps: fresh@0.3.0 - deps: on-finished@~2.3.0 - perf: enable strict mode - perf: remove unnecessary array allocations