- Fix decoding filenames from Chrome/Firefox
- Fix form parsing when no
part
event listener added - deps: http-errors@2.0.0
- deps: depd@2.0.0
- deps: statuses@2.0.1
- Fix handling of unquoted values in
Content-Disposition
- deps: http-errors@~1.8.1
- deps: toidentifier@1.0.1
- Fix empty files on Node.js 14.x
- Fix form emitting aborted error after close
- Replace
fd-slicer
module with internal transform stream - deps: http-errors@~1.8.0
- Fix error creating objects in some environments
- deps: inherits@2.0.4
- deps: setprototypeof@1.2.0
- deps: safe-buffer@5.2.1
- Use
uid-safe
module to for temp file names - deps: fd-slicer@1.1.0
- deps: http-errors@~1.7.0
- Use
http-errors
for raised errors - Use
random-bytes
module for polyfill - perf: remove parameter reassignment
- Fix file extension filtering stopping on certain whitespace characters
- Use
safe-buffer
for improved API safety - perf: enable strict mode
- Use
os.tmpdir()
instead ofos.tmpDir()
- deps: fd-slicer@1.0.1
- Do not emit error on part prior to emitting part
- Fix filename with quotes truncating from certain clients
- Do not clobber existing temporary files
- Add
statusCode
field to HTTP-related errors - deps: fd-slicer@1.0.0
part
events for fields no longer fire ifautoFields
is onpart
events for files no longer fire ifautoFiles
is onfield
,file
, andpart
events are guaranteed to emit in the correct order - the order that the user places the parts in the request. Eachpart
end
event is guaranteed to emit before the nextpart
event is emitted.- Drop Node.js 0.8.x support
- Improve random temp file names
- Now using 18 bytes of randomness instead of 8.
- More robust
maxFilesSize
implementation- Before it was possible for race conditions to cause more than
maxFilesSize
bytes to get written to disk. That is now fixed.
- Before it was possible for race conditions to cause more than
- Now
part
objects emiterror
events- This makes streaming work better since the part stream will emit an error when it is no longer streaming.
- Remove support for generating the hash digest of a part
- If you want this, do it in your own code.
- Remove undocumented
ws
property fromfile
objects - Require the close boundary
- This makes multiparty more RFC-compliant and makes some invalid requests which used to work, now emit an error instead.
- Do not invoke callback after close
- Share callback ending logic between error and close
- Remove problematic test fixtures
- Always emit close after all parts ended
- Fix callback hang in node.js 0.8 on errors
- Remove execute bit from files
- Fix attaching error listeners directly after form.parse
- Fix to not synchronously invoke callback to form.parse on error
- Fix developer accidentally corrupting data
- Fix handling epilogue in a separate chunk
- Fix initial check errors to use supplied callback
- Fix errors hanging responses in callback-style
- Fix
maxFields
to error on field after max
- Support boundary containing equal sign
- Keep
part.byteCount
undefined in chunked encoding - Fix temp files not always cleaned up
- Improve parsing boundary attribute from
Content-Type
- Fix error on empty payloads
- Fix
maxFilesSize
overcalculation bug
- Add
maxFilesSize
forautoFiles
- Fix incorrectly using
autoFields
value forautoFiles
- Fix not emitting
close
after all partend
events
- Support UTF-8 filename in
Content-Disposition
form.parse
callback API changed in a compatibility-breaking manner
- Add callback API to support multiple files with same field name
- Fix assertion crash when max field count is exceeded
- Fix assertion crash when client aborts an invalid request
- Fix assertion crash when
EMFILE
occurrs - Switch from assertions to only
error
events - Unpipe the request when an error occurs to save resources
- Update readable-stream to ~1.1.9
- relax
Content-Type
detection regex
- Replace deprecated
Buffer.write()
- Add repository field to package.json
- Expose
hash
as an option toForm
- Fix possible
close
event before all temp files are done
- Fix crash for invalid requests
- Add
file.size
- Add proper backpressure support
- Add
part.byteCount
andpart.byteOffset
- Fix uploads larger than 2KB
- Complete rewrite. See README for changes and new API.
- Fork and rewrite from
formidable