- Changes from 1.16.0
- deps:
- parseurl@^1.3.3
- excape-html@^1.0.3
- encodeurl@^2.0.0
- supertest@^6.3.4
- safe-buffer@^5.2.1
- nyc@^17.0.0
- mocha@^10.7.0
- Changes from 1.x
- deps: [email protected]
- Change
dotfiles
option default to'ignore'
- Drop support for Node.js 0.8
- Remove
hidden
option; usedotfiles
option instead - deps: [email protected]
- Use
mime-types
for file to content type mapping - deps: [email protected]
- Use
- Remove link renderization in html while redirecting
- deps: [email protected]
- Fix emitted 416 error missing headers property
- Limit the headers removed for 304 response
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- pref: ignore empty http tokens
- Set stricter CSP header in redirect response
- deps: [email protected]
- deps: range-parser@~1.2.1
- deps: parseurl@~1.3.3
- deps: [email protected]
- deps: http-errors@~1.7.2
- deps: [email protected]
- deps: [email protected]
- deps: statuses@~1.5.0
- perf: remove redundant
path.normalize
call
- Fix incorrect end tag in redirects
- deps: encodeurl@~1.0.2
- Fix encoding
%
as last character
- Fix encoding
- deps: [email protected]
- deps: depd@~1.1.2
- deps: encodeurl@~1.0.2
- deps: statuses@~1.4.0
- Fix regression when
root
is incorrectly set to a file - deps: [email protected]
- deps: [email protected]
- Add 70 new types for file extensions
- Add
immutable
option - Fix missing
</html>
in default error & redirects - Set charset as "UTF-8" for .js and .json
- Use instance methods on steam to check for listeners
- deps: [email protected]
- perf: improve path validation speed
- deps: [email protected]
- deps: [email protected]
- perf: improve
If-Match
token parsing
- perf: improve slash collapsing
- deps: parseurl@~1.3.2
- perf: reduce overhead for full URLs
- perf: unroll the "fast-path"
RegExp
- deps: [email protected]
- Fix handling of modified headers with invalid dates
- deps: etag@~1.8.1
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: depd@~1.1.1
- deps: http-errors@~1.6.2
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Fix issue when
Date.parse
does not returnNaN
on invalid date - Fix strict violation in broken environments
- Fix issue when
- Send complete HTML document in redirect response
- Set default CSP header in redirect response
- deps: [email protected]
- Fix false detection of
no-cache
request directive - Fix incorrect result when
If-None-Match
has both*
and ETags - Fix weak
ETag
matching to match spec - Remove usage of
res._headers
private field - Support
If-Match
andIf-Unmodified-Since
headers - Use
res.getHeaderNames()
when available - Use
res.headersSent
when available - deps: [email protected]
- deps: etag@~1.8.0
- deps: [email protected]
- deps: http-errors@~1.6.1
- Fix false detection of
- deps: [email protected]
- deps: http-errors@~1.5.1
- deps: [email protected]
- deps: statuses@~1.3.1
- Fix redirect error when
req.url
contains raw non-URL characters - deps: [email protected]
- Use status code 301 for redirects
- deps: [email protected]
- Add
acceptRanges
option - Add
cacheControl
option - Attempt to combine multiple ranges into single range
- Correctly inherit from
Stream
class - Fix
Content-Range
header in 416 responses when usingstart
/end
options - Fix
Content-Range
header missing from default 416 responses - Ignore non-byte
Range
headers - deps: http-errors@~1.5.0
- deps: range-parser@~1.2.0
- deps: statuses@~1.3.0
- perf: remove argument reassignment
- Add
- deps: [email protected]
- Fix invalid
Content-Type
header whensend.mime.default_type
unset
- Fix invalid
- deps: parseurl@~1.3.1
- perf: enable strict mode
- deps: escape-html@~1.0.3
- perf: enable strict mode
- perf: optimize string replacement
- perf: use faster string coercion
- deps: [email protected]
- deps: depd@~1.1.0
- deps: destroy@~1.0.4
- deps: escape-html@~1.0.3
- deps: range-parser@~1.0.3
- Add
fallthrough
option- Allows declaring this middleware is the final destination
- Provides better integration with Express patterns
- Fix reading options from options prototype
- Improve the default redirect response headers
- deps: [email protected]
- deps: [email protected]
- 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 ofhttp
module for status messages - deps: [email protected]
- deps: etag@~1.7.0
- deps: [email protected]
- deps: on-finished@~2.3.0
- perf: enable strict mode
- perf: remove unnecessary array allocations
- Allow Node.js HTTP server to set
- perf: enable strict mode
- perf: remove argument reassignment
- deps: [email protected]
- deps: debug@~2.2.0
- deps: depd@~1.0.1
- deps: etag@~1.6.0
- deps: [email protected]
- deps: on-finished@~2.2.1
- deps: [email protected]
- Throw errors early for invalid
extensions
orindex
options - deps: debug@~2.1.3
- Throw errors early for invalid
- deps: [email protected]
- Fix regression sending zero-length files
- deps: [email protected]
- Always read the stat size from the file
- Fix mutating passed-in
options
- deps: [email protected]
- Fix redirect loop in Node.js 0.11.14
- deps: [email protected]
- Fix root path disclosure
- deps: [email protected]
- deps: debug@~2.1.1
- deps: etag@~1.5.1
- deps: [email protected]
- deps: on-finished@~2.2.0
- Fix potential open redirect when mounted at root
- deps: [email protected]
- deps: on-finished@~2.1.1
- deps: [email protected]
- deps: debug@~2.1.0
- deps: depd@~1.0.0
- deps: etag@~1.5.0
- Fix potential open redirect when mounted at root
- Back-ported from v1.7.2
- Fix redirect loop when index file serving disabled
- deps: [email protected]
- deps: etag@~1.4.0
- deps: [email protected]
- deps: [email protected]
- deps: etag@~1.3.1
- deps: range-parser@~1.0.2
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Add
lastModified
option - Use
etag
to generateETag
header - deps: debug@~2.0.0
- Add
- deps: [email protected]
- Fix a path traversal issue when using
root
- Fix malicious path detection for empty string path
- Fix a path traversal issue when using
- deps: [email protected]
- deps: [email protected]
- Work around
fd
leak in Node.js 0.10 forfs.ReadStream
- Work around
- Fix parsing of weird
req.originalUrl
values - deps: parseurl@~1.3.0
- deps: [email protected]
- deps: [email protected]
- Add
extensions
option
- Add
- deps: [email protected]
- Fix serving index files without root dir
- deps: [email protected]
- Fix incorrect 403 on Windows and Node.js 0.11
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: parseurl@~1.2.0
- Cache URLs based on original value
- Remove no-longer-needed URL mis-parse work-around
- Simplify the "fast-path"
RegExp
- deps: [email protected]
- Add
dotfiles
option - deps: [email protected]
- deps: [email protected]
- Add
- deps: [email protected]
- Cap
maxAge
value to 1 year - deps: [email protected]
- Cap
- deps: parseurl@~1.1.3
- faster parsing of href-only URLs
- Add
setHeaders
option - Include HTML link in redirect response
- deps: [email protected]
- Accept string for
maxAge
(converted byms
)
- Accept string for
- deps: [email protected]
- Do not throw un-catchable error on file open race condition
- Use
escape-html
for HTML escaping - deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- fix "event emitter leak" warnings
- deps: [email protected]
- deps: [email protected]
- use
escape-html
for escaping - deps: [email protected]
- Send
max-age
inCache-Control
in correct format
- Send
- deps: [email protected]
- Calculate ETag with md5 for reduced collisions
- Fix wrong behavior when index file matches directory
- Ignore stream errors after request ends
- Skip directories in index file search
- deps: [email protected]
- Accept options directly to
send
module - deps: [email protected]
- Resolve relative paths at middleware setup
- Use parseurl to parse the URL from request
- Do not rely on connect-like environments
- deps: [email protected]
- Add mime export for back-compat
- Genesis from
connect