- Douglas Christopher Wilson:
- Do not emit error on part prior to emitting part
- Fix filename with quotes truncating from certain clients
- Douglas Christopher Wilson:
- Do not clobber existing temporary files
-
Douglas Christopher Wilson:
- Update dependencies to latest
- HTTP-related errors have a
statusCode
field
-
Andrew Kelley:
- Refactor tests so that we can have a coverage badge
-
Andrew Kelley:
- 'part' events for fields no longer fire if
autoFields
is on. - 'part' events for files no longer fire if
autoFiles
is on. - 'field', 'file', 'part' events are guaranteed to emit in the correct
order - the order that the user places the parts in the request.
Each
part
'end' event is guaranteed to emit before the next 'part' event is emitted. - Drop Node.js 0.8.x support.
- Remove support for generating the hash digest of a part. If you want this, do it in your own code.
- Now
part
objects emit 'error' events. This makes streaming work better since the part stream will emit an error when it is no longer streaming. file
objects no longer have the undocumentedws
property.- More robust
maxFilesSize
implementation. Before it was possible for race conditions to cause more thanmaxFilesSize
bytes to get written to disk. That is now fixed. - More robustly random temp file names. Now using 18 bytes of randomness instead of 8.
- Better s3 example code.
- Delete some unused legacy code.
- Update and clarify documentation.
- 'part' events for fields no longer fire if
-
Douglas Christopher Wilson:
- Require the close boundary. This makes multiparty more RFC-compliant and makes some invalid requests which used to work, now emit an error instead.
- Douglas Christopher Wilson:
- Do not invoke callback after close
- Share callback ending logic between error and close
- Andrew Kelley:
- update request dev dependency to latest
- remove problematic test fixtures
- Douglas Christopher Wilson:
- Always emit close after all parts ended
-
Douglas Christopher Wilson:
- Expand form.parse in README
- Remove execute bit from files
- Fix callback hang in node.js 0.8 on errors
-
Andrew Kelley:
- tests refactor
-
Thanasis Polychronakis:
- docs: fix code error in readme
- 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 (thanks [garel-a])
- Keep part.byteCount undefined in chunked encoding (thanks [dougwilson])
- Fix temp files not always cleaned up (thanks [dougwilson])
- improve parsing boundary attribute from Content-Type (thanks [dougwilson])
- fix error on empty payloads (thanks [dougwilson])
- fix maxFilesSize overcalculation bug (thanks [dougwilson] and [timothysoehnlin])
- add maxFilesSize for autoFiles (thanks [dougwilson])
- exclude test files from npm package (thanks Dag Einar Monsen)
- fix incorrectly using autoFields value for autoFiles (thanks RG72)
- fix not emitting 'close' after all part 'end' events
- support UTF8 filename in Content-Disposition (thanks baoshan)
- form.parse callback API changed in a compatibility-breaking manner. sorry, I know it sucks but the way I had it before is misleading and inconsistent.
- additional 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
- (>=v0.10 only) unpipe the request when an error occurs to save resources.
- update readable-stream to ~1.1.9
- fix assertion crash when EMFILE occurrs
- (no more assertions - only 'error' events)
- relax content-type detection regex. (thanks amitaibu)
- replace deprecated Buffer.write(). (thanks hueniverse)
- add repository field to package.json
- expose
hash
as an option toForm
. (thanks wookiehangover)
- fix possible 'close' event before all temp files are done
- fix crash for invalid requests
- add
file.size
- proper backpressure support
- update s3 example
- fix uploads larger than 2KB
- fix both s3 and upload example
- add part.byteCount and part.byteOffset
- Complete rewrite. See README for changes and new API.
- Only update hash if update method exists (Sven Lito)
- According to travis v0.10 needs to go quoted (Sven Lito)
- Bumping build node versions (Sven Lito)
- Additional fix for empty requests (Eugene Girshov)
- Change the default to 1000, to match the new Node behaviour. (OrangeDog)
- Add ability to control maxKeys in the querystring parser. (OrangeDog)
- Adjust test case to work with node 0.9.x (Eugene Girshov)
- Update package.json (Sven Lito)
- Path adjustment according to eb4468b (Markus Ast)
- Emit error on aborted connections (Eugene Girshov)
- Add support for empty requests (Eugene Girshov)
- Fix name/filename handling in Content-Disposition (jesperp)
- Tolerate malformed closing boundary in multipart (Eugene Girshov)
- Ignore preamble in multipart messages (Eugene Girshov)
- Add support for application/json (Mike Frey, Carlos Rodriguez)
- Add support for Base64 encoding (Elmer Bulthuis)
- Add File#toJSON (TJ Holowaychuk)
- Remove support for Node.js 0.4 & 0.6 (Andrew Kelley)
- Documentation improvements (Sven Lito, Andre Azevedo)
- Add support for application/octet-stream (Ion Lupascu, Chris Scribner)
- Use os.tmpDir() to get tmp directory (Andrew Kelley)
- Improve package.json (Andrew Kelley, Sven Lito)
- Fix benchmark script (Andrew Kelley)
- Fix scope issue in incoming_forms (Sven Lito)
- Fix file handle leak on error (OrangeDog)
- Calculate checksums for incoming files (sreuter)
- Add definition parameters to "IncomingForm" as an argument (Math-)
- Make parts to be proper Streams (Matt Robenolt)
- Emit progress when content length header parsed (Tim Koschützki)
- Fix Readme syntax due to GitHub changes (goob)
- Replace references to old 'sys' module in Readme with 'util' (Peter Sugihara)
- Strip potentially unsafe characters when using
keepExtensions: true
. - Switch to utest / urun for testing
- Add travis build
- Remove file from package that was causing problems when installing on windows. (#102)
- Fix typos in Readme (Jason Davies).
- Do not default to the default to the field name for file uploads where filename="".
- Support filename="" in multipart parts
- Explain unexpected end() errors in parser better
Note: Starting with this version, formidable emits 'file' events for empty file input fields. Previously those were incorrectly emitted as regular file input fields with value = "".
- Detect a good default tmp directory regardless of platform. (#88)
- Fix problems with utf8 characters (#84) / semicolons in filenames (#58)
- Small performance improvements
- New test suite and fixture system
- Exclude node_modules folder from git
- Implement new
'aborted'
event - Fix files in example folder to work with recent node versions
- Make gently a devDependency
- Fix package.json to refer to proper main directory. (#68, Dean Landolt)
- Add support for multipart boundaries that are quoted strings. (Jeff Craig)
This marks the beginning of development on version 2.0 which will include several architectural improvements.
- Emit
'progress'
event when receiving data, regardless of parsing it. (Tim Koschützki) - Use W3C FileAPI Draft properties for File class
Important: The old property names of the File class will be removed in a future release.
These releases were done before starting to maintain the above Changelog: