### 4.2.1

  * Douglas Christopher Wilson:
    - Use uid-safe module to for temp file names
    - Update to fd-slicer 1.1.0
    - Update to http-errors 1.7.0

### 4.2.0

  * Douglas Christopher Wilson:
    - Use http-errors for raised errors
    - Use random-bytes module for polyfill
    - perf: remove parameter reassignment

  * Graham Hunter
    - examples: update placement of response in azureblobstorage

### 4.1.4

  * Douglas Christopher Wilson:
    - Add 8 to Travis CI
    - Add 10 to Travis CI
    - Enable strict mode
    - Use safe-buffer for improved API safety

  * Mike Samuel
    - Fix file extension filtering stopping on certain whitespace characters

### 4.1.3

  * Douglas Christopher Wilson:
    - Update to fd-slicer 1.0.1
    - Add 4 to Travis CI
    - Add 6 to Travis CI
    - Move repository to pillarjs/multiparty

  * Ivan Blazevic
    - Fix Azure example style

  * Сковорода Никита Андреевич
    - Use `os.tmpdir()` instead of `os.tmpDir()`

### 4.1.2

 * Douglas Christopher Wilson:
   - Do not emit error on part prior to emitting part
   - Fix filename with quotes truncating from certain clients

### 4.1.1

 * Douglas Christopher Wilson:
   - Do not clobber existing temporary files

### 4.1.0

 * 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

### 4.0.0

 * 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 undocumented `ws` property.
   - 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.
   - 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.

 * 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.

### 3.3.2

 * Douglas Christopher Wilson:
   - Do not invoke callback after close
   - Share callback ending logic between error and close

### 3.3.1

 * Andrew Kelley:
   - update request dev dependency to latest
   - remove problematic test fixtures

### 3.3.0

 * Douglas Christopher Wilson:
   - Always emit close after all parts ended

### 3.2.10

 * 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

### 3.2.9

 * Fix attaching error listeners directly after form.parse
 * Fix to not synchronously invoke callback to form.parse on error

### 3.2.8

 * Fix developer accidentally corrupting data
 * Fix handling epilogue in a separate chunk
 * Fix initial check errors to use supplied callback

### 3.2.7

 * Fix errors hanging responses in callback-style

### 3.2.6

 * Fix maxFields to error on field after max

### 3.2.5

 * Support boundary containing equal sign (thanks [garel-a])

### 3.2.4

 * Keep part.byteCount undefined in chunked encoding (thanks [dougwilson])
 * Fix temp files not always cleaned up (thanks [dougwilson])

### 3.2.3

 * improve parsing boundary attribute from Content-Type (thanks [dougwilson])

### 3.2.2

 * fix error on empty payloads (thanks [dougwilson])

### 3.2.1

 * fix maxFilesSize overcalculation bug (thanks [dougwilson] and
   [timothysoehnlin])

### 3.2.0

 * add maxFilesSize for autoFiles (thanks [dougwilson])

### 3.1.2

 * exclude test files from npm package (thanks Dag Einar Monsen)
 * fix incorrectly using autoFields value for autoFiles (thanks RG72)

### 3.1.1

 * fix not emitting 'close' after all part 'end' events

### 3.1.0

 * support UTF8 filename in Content-Disposition (thanks baoshan)

### 3.0.0

 * 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.

### 2.2.0

 * 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)

### 2.1.9

 * relax content-type detection regex. (thanks amitaibu)

### 2.1.8

 * replace deprecated Buffer.write(). (thanks hueniverse)

### 2.1.7

 * add repository field to package.json

### 2.1.6

 * expose `hash` as an option to `Form`. (thanks wookiehangover)

### 2.1.5

 * fix possible 'close' event before all temp files are done

### 2.1.4

 * fix crash for invalid requests

### 2.1.3

 * add `file.size`

### 2.1.2

 * proper backpressure support
 * update s3 example

### 2.1.1

 * fix uploads larger than 2KB
 * fix both s3 and upload example
 * add part.byteCount and part.byteOffset

### 2.1.0 (recalled)

 * Complete rewrite. See README for changes and new API.

### v1.0.13

* 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)

### v1.0.12

* 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)

### v1.0.11

* Calculate checksums for incoming files (sreuter)
* Add definition parameters to "IncomingForm" as an argument (Math-)

### v1.0.10

* Make parts to be proper Streams (Matt Robenolt)

### v1.0.9

* 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)

### v1.0.8

* Strip potentially unsafe characters when using `keepExtensions: true`.
* Switch to utest / urun for testing
* Add travis build

### v1.0.7

* Remove file from package that was causing problems when installing on windows. (#102)
* Fix typos in Readme (Jason Davies).

### v1.0.6

* Do not default to the default to the field name for file uploads where
  filename="".

### v1.0.5

* 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 = "".

### v1.0.4

* Detect a good default tmp directory regardless of platform. (#88)

### v1.0.3

* Fix problems with utf8 characters (#84) / semicolons in filenames (#58)
* Small performance improvements
* New test suite and fixture system

### v1.0.2

* 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

[See Commits](https://github.com/felixge/node-formidable/compare/v1.0.1...v1.0.2)

### v1.0.1

* Fix package.json to refer to proper main directory. (#68, Dean Landolt)

[See Commits](https://github.com/felixge/node-formidable/compare/v1.0.0...v1.0.1)

### v1.0.0

* 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.

[See Commits](https://github.com/felixge/node-formidable/compare/v0.9.11...v1.0.0)

### v0.9.11

* Emit `'progress'` event when receiving data, regardless of parsing it. (Tim Koschützki)
* Use [W3C FileAPI Draft](http://dev.w3.org/2006/webapi/FileAPI/) properties for File class

**Important:** The old property names of the File class will be removed in a
future release.

[See Commits](https://github.com/felixge/node-formidable/compare/v0.9.10...v0.9.11)

### Older releases

These releases were done before starting to maintain the above Changelog:

* [v0.9.10](https://github.com/felixge/node-formidable/compare/v0.9.9...v0.9.10)
* [v0.9.9](https://github.com/felixge/node-formidable/compare/v0.9.8...v0.9.9)
* [v0.9.8](https://github.com/felixge/node-formidable/compare/v0.9.7...v0.9.8)
* [v0.9.7](https://github.com/felixge/node-formidable/compare/v0.9.6...v0.9.7)
* [v0.9.6](https://github.com/felixge/node-formidable/compare/v0.9.5...v0.9.6)
* [v0.9.5](https://github.com/felixge/node-formidable/compare/v0.9.4...v0.9.5)
* [v0.9.4](https://github.com/felixge/node-formidable/compare/v0.9.3...v0.9.4)
* [v0.9.3](https://github.com/felixge/node-formidable/compare/v0.9.2...v0.9.3)
* [v0.9.2](https://github.com/felixge/node-formidable/compare/v0.9.1...v0.9.2)
* [v0.9.1](https://github.com/felixge/node-formidable/compare/v0.9.0...v0.9.1)
* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)
* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)
* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)
* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)
* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)
* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)
* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)
* [v0.9.0](https://github.com/felixge/node-formidable/compare/v0.8.0...v0.9.0)
* [v0.1.0](https://github.com/felixge/node-formidable/commits/v0.1.0)
