- Changes from 0.19.0
- Drop support for Node.js <18.0
statuses@^2.0.1
range-parser@^1.2.1
on-finished@^2.4.1
ms@^2.1.3
mime-types@^2.1.35
http-errors@^2.0.0
fresh@^0.5.2
etag@^1.8.1
escape-html@^1.0.3
encodeurl@^2.0.0
destroy@^1.2.0
debug@^4.3.5
- Changes from 0.18.0
- Drop support for Node.js 0.8
- Remove
hidden
option -- usedotfiles
option - Remove
from
alias toroot
-- useroot
directly - Remove
send.etag()
-- useetag
inoptions
- Remove
send.index()
-- useindex
inoptions
- Remove
send.maxage()
-- usemaxAge
inoptions
- Remove
send.root()
-- useroot
inoptions
- Use
mime-types
for file to content type mapping -- removedsend.mime
- deps: [email protected]
- Add
DEBUG_HIDE_DATE
environment variable - Change timer to per-namespace instead of global
- Change non-TTY date format
- Remove
DEBUG_FD
environment variable support - Support 256 namespace colors
- Add
- Remove link renderization in html while redirecting
- Fix emitted 416 error missing headers property
- Limit the headers removed for 304 response
- deps: [email protected]
- Replace internal
eval
usage withFunction
constructor - Use instance methods on
process
to check for listeners
- Replace internal
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- pref: ignore empty http tokens
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Set stricter CSP header in redirect & error responses
- deps: range-parser@~1.2.1
- deps: http-errors@~1.7.2
- Set constructor name when possible
- Use
toidentifier
module to make class names - deps: depd@~1.1.2
- deps: [email protected]
- deps: statuses@'>= 1.5.0 < 2'
- deps: [email protected]
- Add extensions for JPEG-2000 images
- Add new
font/*
types from IANA - Add WASM mapping
- Update
.bdoc
toapplication/bdoc
- Update
.bmp
toimage/bmp
- Update
.m4a
toaudio/mp4
- Update
.rtf
toapplication/rtf
- Update
.wav
toaudio/wav
- Update
.xml
toapplication/xml
- Update generic extensions to
application/octet-stream
:.deb
,.dll
,.dmg
,.exe
,.iso
,.msi
- Use mime-score module to resolve extension conflicts
- deps: [email protected]
- Add
week
/w
support - Fix negative number handling
- Add
- deps: statuses@~1.5.0
- perf: remove redundant
path.normalize
call
- Fix incorrect end tag in default error & redirects
- deps: depd@~1.1.2
- perf: remove argument reassignment
- deps: encodeurl@~1.0.2
- Fix encoding
%
as last character
- Fix encoding
- deps: statuses@~1.4.0
- Fix regression in edge-case behavior for empty
path
- Add
immutable
option - Fix missing
</html>
in default error & redirects - Use instance methods on steam to check for listeners
- deps: [email protected]
- Add 70 new types for file extensions
- Set charset as "UTF-8" for .js and .json
- perf: improve path validation speed
- deps: [email protected]
- perf: improve
If-Match
token parsing
- deps: etag@~1.8.1
- perf: replace regular expression with substring
- deps: [email protected]
- Fix handling of modified headers with invalid dates
- perf: improve ETag match loop
- perf: improve
If-None-Match
token parsing
- deps: [email protected]
- deps: depd@~1.1.1
- Remove unnecessary
Buffer
loading
- Remove unnecessary
- deps: http-errors@~1.6.2
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Fix
DEBUG_MAX_ARRAY_LENGTH
- deps: [email protected]
- Fix
- deps: [email protected]
- Fix issue when
Date.parse
does not returnNaN
on invalid date - Fix strict violation in broken environments
- Support
If-Match
andIf-Unmodified-Since
headers - Add
res
andpath
arguments todirectory
event - Remove usage of
res._headers
private field- Improves compatibility with Node.js 8 nightly
- Send complete HTML document in redirect & error responses
- Set default CSP header in redirect & error responses
- Use
res.getHeaderNames()
when available - Use
res.headersSent
when available - deps: [email protected]
- Allow colors in workers
- Deprecated
DEBUG_FD
environment variable set to3
or higher - Fix error when running under React Native
- Use same color for same namespace
- deps: [email protected]
- deps: etag@~1.8.0
- 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 - perf: delay reading header values until needed
- perf: enable strict mode
- perf: hoist regular expressions
- perf: remove duplicate conditional
- perf: remove unnecessary boolean coercions
- perf: skip checking modified time if ETag check failed
- perf: skip parsing
If-None-Match
when noETag
header - perf: use
Date.parse
instead ofnew Date
- Fix false detection of
- deps: http-errors@~1.6.1
- Make
message
property enumerable forHttpError
s - deps: [email protected]
- Make
- deps: http-errors@~1.5.1
- deps: [email protected]
- deps: [email protected]
- deps: statuses@'>= 1.3.1 < 2'
- deps: [email protected]
- deps: statuses@~1.3.1
- Fix redirect error when
path
contains raw non-URL characters - Fix redirect when
path
starts with multiple forward slashes
- 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
- Add
HttpError
export, forerr instanceof createError.HttpError
- Support new code
421 Misdirected Request
- Use
setprototypeof
module to replace__proto__
setting - deps: [email protected]
- deps: statuses@'>= 1.3.0 < 2'
- perf: enable strict mode
- Add
- deps: range-parser@~1.2.0
- Fix incorrectly returning -1 when there is at least one valid range
- perf: remove internal function
- deps: statuses@~1.3.0
- Add
421 Misdirected Request
- perf: enable strict mode
- Add
- perf: remove argument reassignment
- Fix invalid
Content-Type
header whensend.mime.default_type
unset
- deps: depd@~1.1.0
- Support web browser loading
- perf: enable strict mode
- deps: destroy@~1.0.4
- perf: enable strict mode
- deps: escape-html@~1.0.3
- perf: enable strict mode
- perf: optimize string replacement
- perf: use faster string coercion
- deps: range-parser@~1.0.3
- perf: enable strict mode
- 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
- Improve stat performance by removing hashing
- deps: [email protected]
- Add weak
ETag
matching support
- Add weak
- deps: on-finished@~2.3.0
- Add defined behavior for HTTP
CONNECT
requests - Add defined behavior for HTTP
Upgrade
requests - deps: [email protected]
- Add defined behavior for HTTP
- perf: enable strict mode
- perf: remove unnecessary array allocations
- deps: debug@~2.2.0
- deps: [email protected]
- deps: depd@~1.0.1
- deps: etag@~1.6.0
- Improve support for JXcore
- Support "fake" stats objects in environments without
fs
- deps: [email protected]
- Prevent extraordinarily long inputs
- deps: on-finished@~2.2.1
- Throw errors early for invalid
extensions
orindex
options - deps: debug@~2.1.3
- Fix high intensity foreground color for bold
- deps: [email protected]
- Fix regression sending zero-length files
- Always read the stat size from the file
- Fix mutating passed-in
options
- deps: [email protected]
- Fix
root
path disclosure
- deps: debug@~2.1.1
- deps: etag@~1.5.1
- deps: [email protected]
- deps: [email protected]
- Add
milliseconds
- Add
msecs
- Add
secs
- Add
mins
- Add
hrs
- Add
yrs
- Add
- deps: on-finished@~2.2.0
- deps: on-finished@~2.1.1
- Fix handling of pipelined requests
- deps: debug@~2.1.0
- Implement
DEBUG_FD
env variable support
- Implement
- deps: depd@~1.0.0
- deps: etag@~1.5.0
- Improve string performance
- Slightly improve speed for weak ETags over 1KB
- deps: etag@~1.4.0
- Support "fake" stats objects
- deps: [email protected]
- deps: etag@~1.3.1
- deps: range-parser@~1.0.2
- deps: [email protected]
- Add
lastModified
option - Use
etag
to generateETag
header - deps: debug@~2.0.0
- Fix malicious path detection for empty string path
- Fix a path traversal issue when using
root
- deps: [email protected]
- renamed from dethroy
- deps: [email protected]
- Work around
fd
leak in Node.js 0.10 forfs.ReadStream
- deps: [email protected]
- Fix
extensions
behavior when file already has extension
- Add
extensions
option
- Fix serving index files without root dir
- Fix incorrect 403 on Windows and Node.js 0.11
- deps: [email protected]
- Work-around v8 generating empty stack traces
- deps: [email protected]
- Fix exception when global
Error.stackTraceLimit
is too low
- Fix exception when global
- Deprecate
hidden
option; usedotfiles
option - Add
dotfiles
option - deps: [email protected]
- deps: [email protected]
- Add
TRACE_DEPRECATION
environment variable - Remove non-standard grey color from color output
- Support
--no-deprecation
argument - Support
--trace-deprecation
argument
- Add
- Deprecate
from
option; useroot
option - Deprecate
send.etag()
-- useetag
inoptions
- Deprecate
send.hidden()
-- usehidden
inoptions
- Deprecate
send.index()
-- useindex
inoptions
- Deprecate
send.maxage()
-- usemaxAge
inoptions
- Deprecate
send.root()
-- useroot
inoptions
- Cap
maxAge
value to 1 year - deps: [email protected]
- Add support for multiple wildcards in namespaces
- Accept string for
maxAge
(converted byms
) - Add
headers
event - Include link in default redirect response
- Use
EventEmitter.listenerCount
to count listeners
- Do not throw un-catchable error on file open race condition
- Use
escape-html
for HTML escaping - deps: [email protected]
- fix some debugging output colors on node.js 0.8
- deps: [email protected]
- deps: [email protected]
- fix "event emitter leak" warnings
- deps: [email protected]
- deps: [email protected]
- Send
max-age
inCache-Control
in correct format
- Calculate ETag with md5 for reduced collisions
- Fix wrong behavior when index file matches directory
- Ignore stream errors after request ends
- Goodbye
EBADF, read
- Goodbye
- Skip directories in index file search
- deps: [email protected]
- Fix sending files with dots without root set
- Coerce option types
- Accept API options in options object
- Set etags to "weak"
- Include file path in etag
- Make "Can't set headers after they are sent." catchable
- Send full entity-body for multi range requests
- Default directory access to 403 when index disabled
- Support multiple index paths
- Support "If-Range" header
- Control whether to generate etags
- deps: [email protected]
- update range-parser and fresh
- update fresh
- Revert "Fix fd leak"
- Fix fd leak
- add options parameter to send() that is passed to fs.createReadStream() [kanongil]
- allow custom "Accept-Ranges" definition
- fix normalization of the root directory. Closes #3
- add passing of req explicitly for now (YUCK)
- Initial release