CHANGELOG.md 12.2 KB

Change Log

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

3.0.4 (2017-07-16)

Bug Fixes

  • lint: update linting, remove lazy-cache (e4ba8da)
  • package: update scripts and travis (63a08ea)
  • prettier: format codebase (e0407cc)
  • style: proper naming (66b91b9)
  • style: update standard and format codebase (e087f02)
  • travis: install more stable npm for better results (2d4b122)

3.0.3 (2017-07-16)

Bug Fixes

  • ampersand: bug when value has ampersand (b4d33f6)
  • doc: update extendTypes link (#82) (280bb1a)
  • koa2: remove ctx.querystring (#84) (e42fdca), closes #77
  • readme: update router example (36e1897)

3.0.2 (2016-10-08)

Bug Fixes

  • utils.js: qs: query string parsing options (a65bd2b), closes #63

3.0.1 (2016-10-08)

Bug Fixes

  • package.json: update npm scripts, remove some devDeps (b5265d8)

3.0.0 (2016-09-12)

For commiting please use npm run commit script.

Starting from this release all the build/pull request/commit chain is changed to follow totally semver, semantic-version and standard-version. Contributing guide is update too, please read it before do anything.

The README.md and CHANGELOG.md files are autogenerated files, so please DO NOT edit them manually - there are tools for that. Readme generation is handled by verb and verb-generate-readme generator, the change log and releasing is handled by standard-version and Git Hooks to follow SemVer more strictly.

The commit message convention is based on Angular's using conventional-changelog which works behind the standard-version. Please follow them while sumbimtting Pull Requests and Bug Reports. If anything is not clear enough in the CONTRIBUTING.md, please open an issue to discuss it and propably change it.

Advanced npm scripts is used to handled any linting and errors. So you won't be able to even push anything if simply running npm test fails. Everything is totally coupled and there's zero chance to do something wrong. From now on, project will follow SemVer more strict than ever.

Most of the files in the repository is scaffolded using the generate tool with generate-charlike-templates generator. So please try to not edit anything.

Features

  • options: add urlencodedLimit alias for formLimit (31ff6c1)
  • parsing: split buffer parsing from text parsing (#52)(81f9a1f)
  • extendTypes: implement extendTypes.custom and opts.handler, (#52)(be10d93)
  • options: add opts.qs and opts.querystring - also possible with app.querystring (cc6ff4d)
  • options: pass options to qs.parse or querystring.parse (e67f42c)
    • so you can now pass custom opts.delimiter (& to be $) for urlencoded bodies

Bug Fixes

  • travis: fails because standard@8 release (6ae0c7f)
  • qs-tests: fix for app.querystring and opts.querystring (c5df3a3)
  • opts-tests: update tests for options (fe1696a)
  • tests: fix possible build fails (522110c)

BREAKING CHANGES

  • ctx.body: no more write to ctx.body (#50) (b927454)
  • utils.handleMuliple: fix incorrect nesting (#55) (56726e9)

Couple of notes are needed here:

  • this.request.files will always be array of files
  • in this.request.fields there have field containing this.request.files array
  • forms with type multipart/form-data now can accept nested fields see #61 if you pass qs module to opts.qs of course, otherwise they will work. In v2 they was just skipped I believe - in this.request i was recieving only the field for type="file"?

2.0.1 (2016-05-05)

  • Release v2.0.1 / npm@v2.0.1
  • fix typo
  • switch to use mukla for testing, instead of assertit - it is drop in replacement
  • add downloads badge
  • bump deps (lazy-cache to v2)

2.0.0 (2016-04-15)

  • Release v2.0.0 / npm@v2.0.0
  • in general, much things was changed and was added new and wanted features - review the v2 PR
  • closed all of the issues marked as todo and v2 (the v2 milestone)
  • in short:
    • cleared all issues marked as todo and v2
    • still using formidable
    • still can pass custom property names for fields and files - e.g. pass options.files: 'foobar'
    • defaults to this.request.fields and this.request.files
    • almost always this.body is equal to this.request.fields (when it make sense)
    • this.request.files not exist always
    • more flexible
    • can pass formidable.IncomingForm instance through options to handle events and etc
    • all options are directly passed to formidable.IncomingForm
    • change options.multipart to be true be default - pass false if you want to disallow it
    • add support for text bodies
    • add options.buffer to get the body as buffer (when text type), defaults to false
    • add options.strict mode to disallow GET, HEAD, DELETE requests, defaults to true
    • add options.jsonStrict JSON parser will only accept arrays and objects, defaults to true
    • same as co-body's options.strict and
    • same as koa-bodyparser's options.strict
    • passed to koa-body-parsers
    • add options.detectJSON #16 - same as in [koa-bodyparser]
    • simplified tests
    • simplify a lot of the codebase using koa-body-parsers under the hood

1.0.17 (2015-02-06)

  • Release v1.0.17 / npm@v1.0.17
  • fix license range
  • run update readme
  • update keywords
  • bump deps, actually ranges to ~ only which means only latest patch version

1.0.16 (2015-01-19)

  • Release v1.0.16 / npm@v1.0.16
  • add opts.extendTypes

1.0.15 (2015-01-19)

  • Release v1.0.15 / npm@v1.0.15
  • add encode alias for encoding option

1.0.14 (2015-01-18)

  • Release v1.0.14 / npm@v1.0.14
  • istanbul ignore
  • coverage tweaks
  • increase max statements to 20
  • closes #10, update/add tests

1.0.13 (2015-01-17)

  • Release v1.0.13 / npm@v1.0.13
  • update dotfiles and jscs rules
  • revert back filesKey option

1.0.12 (2014-11-27)

  • Release v1.0.12 / npm@v1.0.12
  • bump to jscs >= 1.8.0 and jscs-doc >= 0.2.0
  • update semver range

1.0.11 (2014-11-27)

  • Release v1.0.11 / npm@v1.0.11
  • fix code style collisions

1.0.10 (2014-11-27)

  • Release v1.0.10 / npm@v1.0.10
  • docs, readme, coveralls
  • edit safeContext in .jscsrc

1.0.9 (2014-11-27)

  • Release v1.0.9 / npm@v1.0.9
  • bump jscs-jsdoc to v0.1.0
  • update jscs config .jscsrc

1.0.8 (2014-11-26)

  • Release v1.0.8 / npm@v1.0.8
  • normalize (dot)files
  • update all to apply jshint/jscs code style
    • add .jscsrc and .jshintignore
  • update makefile and scripts in package.json

1.0.7 (2014-10-26)

  • Release v1.0.7 / npm@v1.0.7
  • update names of some tests (rfc7231) "Request Entity Too Large" -> "Payload Too Large"
  • add doc blocks

1.0.6 (2014-10-25)

  • Release v1.0.6 / npm@v1.0.6
  • update automation
  • improve code coverage
  • add Makefile
  • add npm run scripts

1.0.5 (2014-10-25)

1.0.4 (2014-10-21)

1.0.3 (2014-07-03)

  • Release v1.0.3 / npm@v1.0.3
  • Pretty styling
  • auto badges
  • add history
  • add [extend][extend-url], because of options merging bug.
  • add better tests - only 7, for all use cases.
  • need suggestions for error 413 handling, maybe [raw-body][rawbody-url] problem/logic?
  • when upload, always returned type is application/octet-stream, not image/png, image/gif, etc - maybe [formidable][formidable-url] problem/logic?
  • deprecation message also comes from formidable
  • always json and urlencoded bodies will be pushed to request .body.fields object. (fixed in v1.0.4)

1.0.0 (2014-06-08)

  • Release v1.0.0 / npm@v1.0.0
  • initial release

0.0.0 (2014-06-08)

  • Initial commits