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
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 forformLimit
(31ff6c1) - parsing: split buffer parsing from text parsing (#52)(81f9a1f)
- extendTypes: implement extendTypes.custom and opts.handler, (#52)(be10d93)
-
options: add
opts.qs
andopts.querystring
- also possible withapp.querystring
(cc6ff4d) -
options: pass options to
qs.parse
orquerystring.parse
(e67f42c)- so you can now pass custom
opts.delimiter
(&
to be$
) for urlencoded bodies
- so you can now pass custom
Bug Fixes
-
travis: fails because
standard@8
release (6ae0c7f) -
qs-tests: fix for
app.querystring
andopts.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 containingthis.request.files
array - forms with type
multipart/form-data
now can accept nested fields see #61 if you passqs
module toopts.qs
of course, otherwise they will work. Inv2
they was just skipped I believe - inthis.request
i was recieving only the field fortype="file"
?
2.0.1 (2016-05-05)
- Release v2.0.1 / npm@v2.0.1
- fix typo
- switch to use
mukla
for testing, instead ofassertit
- 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
andv2
(the v2 milestone) - in short:
- cleared all issues marked as
todo
andv2
- still using
formidable
- still can pass custom property names for
fields
andfiles
- e.g. passoptions.files: 'foobar'
- defaults to
this.request.fields
andthis.request.files
-
almost always
this.body
is equal tothis.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 toformidable.IncomingForm
- change
options.multipart
to betrue
be default - passfalse
if you want to disallow it - add support for
text
bodies - add
options.buffer
to get the body as buffer (when text type), defaults tofalse
- add
options.strict
mode to disallow GET, HEAD, DELETE requests, defaults totrue
- add
options.jsonStrict
JSON parser will only accept arrays and objects, defaults totrue
- 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
- cleared all issues marked as
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 meansonly 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 forencoding
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
andjscs-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
tov0.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)
- Release v1.0.5 / npm@v1.0.5
- add support for
application/csp-report
header (fixes #3) ref: https://mathiasbynens.be/notes/csp-reports - add complete name of the request headers to not lead to conflicts
1.0.4 (2014-10-21)
- Release v1.0.4 / npm@v1.0.4
- add
fieldsKey
optional options property (closes https://github.com/tunnckoCore/koa-better-body/issues/1) that allows custom key name if string, or false if you want field's to be in the.body
not in.body.fields
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
, notimage/png
,image/gif
, etc - maybe [formidable
][formidable-url] problem/logic? - deprecation message also comes from
formidable
-
always(fixed in v1.0.4)json
andurlencoded
bodies will be pushed to request.body.fields
object.
1.0.0 (2014-06-08)
- Release v1.0.0 / npm@v1.0.0
- initial release
0.0.0 (2014-06-08)
- Initial commits