- remove
unpipe
package and use nativeunpipe()
method
- Restore expected behavior
extended
tofalse
- Propagate changes from 1.20.3
- add brotli support #406
- Breaking Change: Node.js 18 is the minimum supported version
This incorporates all changes after 1.19.1 up to 1.20.2.
- Remove deprecated
bodyParser()
combination middleware - 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
- deps: [email protected]
- Add encoding cp720
- Add encoding UTF-32
- deps: [email protected]
- Drop support for Node.js 0.8
req.body
is no longer always initialized to{}
- it is left
undefined
unless a body is parsed
- it is left
urlencoded
parser now defaultsextended
tofalse
- Use
on-finished
to determine when body read
- deps: [email protected]
- add
depth
option to customize the depth level in the parser - IMPORTANT: The default
depth
level for parsing URL-encoded data is now32
(previously wasInfinity
)
- Fix strict json error message on Node.js 19+
- deps: content-type@~1.0.5
- perf: skip value escaping when unnecessary
- deps: [email protected]
- deps: [email protected]
- perf: remove unnecessary object clone
- Fix error message for json parse whitespace in
strict
- Fix internal error when inflated body exceeds limit
- Prevent loss of async hooks context
- Prevent hanging when request already read
- 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]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Fix handling of
__proto__
keys
- Fix handling of
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: type-is@~1.6.18
- deps: [email protected]
- Add petabyte (
pb
) support
- Add petabyte (
- deps: [email protected]
- Set constructor name when possible
- deps: [email protected]
- deps: statuses@'>= 1.5.0 < 2'
- deps: [email protected]
- Added encoding MIK
- deps: [email protected]
- Fix parsing array brackets after index
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: type-is@~1.6.17
- deps: mime-types@~2.1.24
- perf: prevent internal
throw
on invalid type
- Fix stack trace for strict json parse error
- deps: depd@~1.1.2
- perf: remove argument reassignment
- deps: http-errors@~1.6.3
- deps: depd@~1.1.2
- deps: [email protected]
- deps: statuses@'>= 1.3.1 < 2'
- deps: [email protected]
- Fix loading encoding with year appended
- Fix deprecation warnings on Node.js 10+
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: type-is@~1.6.16
- deps: mime-types@~2.1.18
- deps: [email protected]
- perf: remove argument reassignment
- deps: content-type@~1.0.4
- perf: remove argument reassignment
- perf: skip parameter parsing when no parameters
- deps: [email protected]
- Fix ISO-8859-1 regression
- Update Windows-1255
- deps: [email protected]
- Fix parsing & compacting very deep objects
- deps: [email protected]
- deps: [email protected]
- Fix JSON strict violation error to match native parse error
- Include the
body
property on verify errors - Include the
type
property on all generated errors - Use
http-errors
to set status code on errors - deps: [email protected]
- 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]
- Add support for React Native
- Add a warning if not loaded as utf-8
- Fix CESU-8 decoding in Node.js 8
- Improve speed of ISO-8859-1 encoding
- deps: [email protected]
- deps: [email protected]
- Use
http-errors
for standard emitted errors - deps: [email protected]
- deps: [email protected]
- perf: skip buffer decoding on overage chunk
- Use
- perf: prevent internal
throw
when missing charset
- deps: [email protected]
- Fix
DEBUG_MAX_ARRAY_LENGTH
- deps: [email protected]
- Fix
- deps: type-is@~1.6.15
- deps: mime-types@~2.1.15
- deps: [email protected]
- Fix regression parsing keys starting with
[
- Fix regression parsing keys starting with
- deps: http-errors@~1.6.1
- Make
message
property enumerable forHttpError
s - deps: [email protected]
- Make
- deps: [email protected]
- Fix compacting nested arrays
- deps: [email protected]
- Fix deprecation messages in WebStorm and other editors
- Undeprecate
DEBUG_FD
set to1
or2
- deps: [email protected]
- Allow colors in workers
- Deprecated
DEBUG_FD
environment variable - Fix error when running under React Native
- Use same color for same namespace
- deps: [email protected]
- deps: http-errors@~1.5.1
- deps: [email protected]
- deps: [email protected]
- deps: statuses@'>= 1.3.1 < 2'
- deps: [email protected]
- Added encoding MS-31J
- Added encoding MS-932
- Added encoding MS-936
- Added encoding MS-949
- Added encoding MS-950
- Fix GBK/GB18030 handling of Euro character
- deps: [email protected]
- Fix array parsing from skipping empty values
- deps: raw-body@~2.2.0
- deps: [email protected]
- deps: type-is@~1.6.14
- deps: mime-types@~2.1.13
- deps: [email protected]
- deps: content-type@~1.0.2
- perf: enable strict mode
- deps: http-errors@~1.5.0
- Use
setprototypeof
module to replace__proto__
setting - deps: statuses@'>= 1.3.0 < 2'
- perf: enable strict mode
- Use
- deps: [email protected]
- deps: raw-body@~2.1.7
- deps: [email protected]
- perf: remove double-cleanup on happy path
- deps: type-is@~1.6.13
- deps: mime-types@~2.1.11
- deps: [email protected]
- Drop partial bytes on all parsed units
- Fix parsing byte string that looks like hex
- deps: raw-body@~2.1.6
- deps: [email protected]
- deps: type-is@~1.6.12
- deps: mime-types@~2.1.10
- deps: http-errors@~1.4.0
- Add
HttpError
export, forerr instanceof createError.HttpError
- deps: [email protected]
- deps: statuses@'>= 1.2.1 < 2'
- Add
- deps: [email protected]
- deps: type-is@~1.6.11
- deps: mime-types@~2.1.9
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: raw-body@~2.1.5
- deps: [email protected]
- deps: [email protected]
- deps: type-is@~1.6.10
- deps: mime-types@~2.1.8
- Fix issue where invalid charset results in 400 when
verify
used - deps: [email protected]
- Fix CESU-8 decoding in Node.js 4.x
- deps: raw-body@~2.1.4
- Fix masking critical errors from
iconv-lite
- deps: [email protected]
- Fix masking critical errors from
- deps: type-is@~1.6.9
- deps: mime-types@~2.1.7
- Fix JSON strict parse error to match syntax errors
- Provide static
require
analysis inurlencoded
parser - deps: depd@~1.1.0
- Support web browser loading
- deps: [email protected]
- deps: raw-body@~2.1.3
- Fix sync callback when attaching data listener causes sync read
- deps: type-is@~1.6.8
- Fix type error when given invalid type to match against
- deps: mime-types@~2.1.6
- deps: type-is@~1.6.6
- deps: mime-types@~2.1.4
- deps: [email protected]
- deps: [email protected]
- Fix dropping parameters like
hasOwnProperty
- Fix user-visible incompatibilities from 3.1.0
- Fix various parsing edge cases
- Fix dropping parameters like
- deps: raw-body@~2.1.2
- Fix error stack traces to skip
makeError
- deps: [email protected]
- Fix error stack traces to skip
- deps: type-is@~1.6.4
- deps: mime-types@~2.1.2
- perf: enable strict mode
- perf: remove argument reassignment
- deps: [email protected]
- Downgraded from 3.1.0 because of user-visible incompatibilities
- Add
statusCode
property onError
s, in addition tostatus
- Change
type
default toapplication/json
for JSON parser - Change
type
default toapplication/x-www-form-urlencoded
for urlencoded parser - Provide static
require
analysis - Use the
http-errors
module to generate errors - deps: [email protected]
- Slight optimizations
- deps: [email protected]
- The encoding UTF-16 without BOM now defaults to UTF-16LE when detection fails
- Leading BOM is now removed when decoding
- 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
- deps: [email protected]
- Fix dropping parameters like
hasOwnProperty
- Fix various parsing edge cases
- Parsed object now has
null
prototype
- Fix dropping parameters like
- deps: raw-body@~2.1.1
- Use
unpipe
module for unpiping requests - deps: [email protected]
- Use
- deps: type-is@~1.6.3
- deps: mime-types@~2.1.1
- perf: reduce try block size
- perf: remove bitwise operations
- perf: enable strict mode
- perf: remove argument reassignment
- perf: remove delete call
- deps: debug@~2.2.0
- deps: [email protected]
- Fix allowing parameters like
constructor
- Fix allowing parameters like
- deps: on-finished@~2.2.1
- deps: raw-body@~2.0.1
- Fix a false-positive when unpiping in Node.js 0.8
- deps: [email protected]
- deps: type-is@~1.6.2
- deps: mime-types@~2.0.11
- Slight efficiency improvement when not debugging
- deps: depd@~1.0.1
- deps: [email protected]
- Add encoding alias UNICODE-1-1-UTF-7
- deps: [email protected]
- Fix hanging callback if request aborts during read
- deps: [email protected]
- deps: [email protected]
- Fix error when parameter
hasOwnProperty
is present
- Fix error when parameter
- deps: debug@~2.1.3
- Fix high intensity foreground color for bold
- deps: [email protected]
- deps: type-is@~1.6.1
- deps: mime-types@~2.0.10
- add
debug
messages - accept a function for the
type
option - use
content-type
to parseContent-Type
headers - deps: [email protected]
- Gracefully support enumerables on
Object.prototype
- Gracefully support enumerables on
- deps: [email protected]
- deps: [email protected]
- deps: type-is@~1.6.0
- fix argument reassignment
- fix false-positives in
hasBody
Transfer-Encoding
check - support wildcard for both type and subtype (
*/*
) - deps: mime-types@~2.0.9
- make internal
extended: true
depth limit infinity - deps: type-is@~1.5.6
- deps: mime-types@~2.0.8
- deps: [email protected]
- Fix rare aliases of single-byte encodings
- deps: [email protected]
- deps: [email protected]
- deps: on-finished@~2.2.0
- deps: type-is@~1.5.5
- deps: mime-types@~2.0.7
- make internal
extended: true
array limit dynamic
- deps: [email protected]
- Fix Windows-31J and X-SJIS encoding support
- deps: [email protected]
- Fix
arrayLimit
behavior
- Fix
- deps: [email protected]
- deps: [email protected]
- deps: type-is@~1.5.3
- deps: mime-types@~2.0.3
- deps: [email protected]
- Fix parsing of mixed objects and values
- deps: on-finished@~2.1.1
- Fix handling of pipelined requests
- deps: [email protected]
- Fix parsing of mixed implicit and explicit arrays
- deps: type-is@~1.5.2
- deps: mime-types@~2.0.2
- include the charset in "unsupported charset" error message
- include the encoding in "unsupported content encoding" error message
- deps: depd@~1.0.0
- fix content encoding to be case-insensitive
- deps: [email protected]
- Fix issue with object keys starting with numbers truncated
- deps: [email protected]
- deps: [email protected]
- deps: type-is@~1.5.1
- make empty-body-handling consistent between chunked requests
- empty
json
produces{}
- empty
raw
producesnew Buffer(0)
- empty
text
produces''
- empty
urlencoded
produces{}
- empty
- deps: [email protected]
- Fix issue where first empty value in array is discarded
- deps: type-is@~1.5.0
- fix
hasbody
to be true forcontent-length: 0
- fix
- add
parameterLimit
option tourlencoded
parser - change
urlencoded
extended array limit to 100 - respond with 413 when over
parameterLimit
inurlencoded
- deps: [email protected]
- Remove unnecessary cloning
- deps: [email protected]
- Array parsing fix
- Performance improvements
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- deps: [email protected]
- Fix parsing array of objects
- deps: [email protected]
- Accept urlencoded square brackets
- Accept empty values in implicit array notation
- deps: [email protected]
- Complete rewrite
- Limits array length to 20
- Limits object depth to 5
- Limits parameters to 1,000
- 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
- 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
- deps: [email protected]
- Added encoding UTF-7
- deps: [email protected]
- deps: [email protected]
- Added encoding UTF-7
- Fix
Cannot switch to old mode now
error on Node.js 0.10+
- deps: type-is@~1.3.2
- deps: [email protected]
- fix global variable leak
- deps: [email protected]
- improve type parsing
- fix urlencoded extended deprecation message
- add
text
parser - add
raw
parser - check accepted charset in content-type (accepts utf-8)
- check accepted encoding in content-encoding (accepts identity)
- deprecate
bodyParser()
middleware; use.json()
and.urlencoded()
as needed - deprecate
urlencoded()
without providedextended
option - lazy-load urlencoded parsers
- parsers split into files for reduced mem usage
- support gzip and deflate bodies
- set
inflate: false
to turn off
- set
- deps: [email protected]
- Support all encodings from
iconv-lite
- Support all encodings from
- deps: [email protected]
- Switch dependency from mime to [email protected]
- add
extended
option to urlencoded parser
- deps: [email protected]
- assert stream encoding on node.js 0.8
- assert stream encoding on node.js < 0.10.6
- deps: bytes@1
- invoke
next(err)
after request fully read- prevents hung responses and socket hang ups
- add
verify
option - deps: [email protected]
- support suffix matching
- improve json parser speed
- fix repeated limit parsing with every request
- add
type
option - deps: pin for safety and consistency
- use
type-is
module
- lower default limits to 100kb