- test on node 7 & 8
- add
package-lock.json
to.gitignore
- run
lint --fix
- add
request.header
in addition torequest.headers
- add IPv6 hostname support
- fix: drop
package.engines.node
requirement to >= 6.0.0- this fixes
yarn
, which errors when this semver range is not satisfied
- this fixes
- bump
cookies@~0.7.0
- bump
fresh@^0.5.0
- added: return middleware chain promise from
callback()
#848 - added: node v7.7+
res.getHeaderNames()
support #930 - added:
err.headerSent
in error handling #919 - added: lots of docs!
NOTE: we hit a versioning snafu. v2.0.0
was previously released,
so v2.0.1
is released as the first v2.x
with a latest
tag.
- upgrade mocha #900
- add names to
application
's request and response handlers #805 - breaking: remove unused
app.name
#899 - breaking: drop official support for node < 7.6
- Fix malformed content-type header causing exception on charset get (#898)
- fix: subdomains should be [] if the host is an ip (#808)
- don't pre-bound onerror [breaking change] (#800)
- fix
ctx.flushHeaders()
to useres.flushHeaders()
instead ofres.writeHead()
(#795) - fix(response): correct response.writable logic (#782)
- merge v1.1.2 and v1.2.0 changes
- include
koa-convert
so that generator functions still work- NOTE: generator functions are deprecated in v2 and will be removed in v3
- improve linting
- improve docs
- Fix malformed content-type header causing exception on charset get (#898)
- fix: subdomains should be [] if the host is an ip (#808)
- don't pre-bound onerror [breaking change]
- fix
ctx.flushHeaders()
to useres.flushHeaders()
instead ofres.writeHead()
- fix
response.writeable
during pipelined requests
- add support for
err.headers
inctx.onerror()
- see: koajs#668
- note: you should set these headers in your custom error handlers as well
- docs: https://github.com/koajs/koa/blob/master/docs/error-handling.md
- fix
cookies
' detection of http/https- see: koajs#614
- deprecate
app.experimental = true
. Koa v2 does not use this signature. - add a code of conduct
- test against the latest version of node
- add a lot of docs
- ensure parseurl always working as expected
- fix Application.inspect() – missing .proxy value.
- ensure parseurl always working as expected. #586
- fix Application.inspect() – missing .proxy value. Closes #563
- remove
co
and generator support completely - improved documentation
- more refactoring into ES6
- change the middleware signature to
async (ctx, next) => await next()
- drop node < 4 support and rewrite the codebase in ES6
- do not send a content-type when the type is unknown #536
- add
app.silent=<Boolean>
to toggle error logging @tejasmanohar #486 - add
ctx.origin
@chentsulin #480 - various refactoring
- add
use strict
everywhere
- add
- add
this.req
check forquerystring()
- don't log errors with
err.expose
koa
now follows semver!
- empty
request.query
objects are now always the same instance - bump
[email protected]
Breaking change if you're using this.get('ua') === undefined
etc.
For more details please checkout #438.
- make sure helpers return strict string
- feat: alias response.headers to response.header
- non-error thrown, fixed #432
req.host
andreq.hostname
now always return a string (semi-breaking change)- improved test coverage
- move babel to
devDependencies
- experimental es7 async function support via
app.experimental = true
- use
content-type
instead ofmedia-typer
Breaking change if you're using an old version of node v0.11! Otherwise, you should have no trouble upgrading.
- official iojs support
- drop support for node.js
>= 0.11.0 < 0.11.16
- use
Object.setPrototypeOf()
instead of__proto__
- update dependencies
- add
res.append()
- fix path usage for [email protected]
- add
this.href
- remove
x-powered-by
response header - fix the content type on plain-text redirects
- add ctx.state
- bump
co@4
- bump dependencies
- add this.message
- custom status support via
statuses
- use wider semver ranges for dependencies koa maintainers also maintain
- bump content-disposition
- bump statuses
- add this.assert()
- use content-disposition
- fix app.use() assertion #337
- bump a lot of dependencies
- add
ctx.throw(err, object)
support - add
ctx.throw(err, status, object)
support
- add: do not set
err.expose
to true when err.status not a valid http status code - add: alias
request.headers
asrequest.header
- add context.inspect(), cleanup app.inspect()
- update cookies
- fix
err.status
invalid lead to uncaughtException - fix middleware gif, close #322
- bump co
- bump parseurl
- bump type-is
- add `this.response.is()``
- remove
.status=string
andres.statusString
#298
- add
this.lastModified
andthis.etag
as both getters and setters for ubiquity #292. See koajs/koa@4065bf7 for an explanation. - refactor
this.response.vary()
to use vary #291 - remove
this.response.append()
#291
- fix res.type= when the extension is unknown
- assert when non-error is passed to app.onerror #287
- bump finished
- switch from set-type to mime-types
- bump type-is
- bump koa-compose
- add nicer error formatting
- add: assert object type in ctx.onerror
- change .status default to 404. Closes #263
- remove .outputErrors, suppress output when handled by the dev. Closes #272
- fix content-length when body is re-assigned. Closes #267
- fix length when .body is missing
- fix: make sure all intermediate stream bodies will be destroyed
- fix header stripping in a few cases
- change res.type= to always default charset. Closes #252
- remove ctx.inspect() implementation. Closes #164
- fix: inspection of
app
andapp.toJSON()
- fix: let
this.throw
n errors provide their own status - fix: overwriting of
content-type
w/HEAD
requests - refactor: use statuses
- refactor: use escape-html
- bump dev deps
- add request.hostname(getter). Closes #224
- remove response.charset and ctx.charset (too confusing in relation to ctx.type) [breaking change]
- fix a debug() name
- add context.charset
- add context.charset=
- add request.charset
- add response.charset
- add response.charset=
- fix response.body= html content sniffing
- change ctx.length and ctx.type to always delegate to response object [breaking change]
- remove app.jsonSpaces settings - moved to koa-json
- add this.response=false to bypass koa's response handling
- fix response handling after body has been sent
- changed ctx.throw() to no longer .expose 5xx errors
- remove app.keys getter/setter, update cookies, and remove keygrip deps
- update fresh
- update koa-compose
- add ctx.host= delegate
- add req.host=
- add: context.throw supports Error instances
- update co
- update cookies
- add better 404 handling
- add check for fn._name in debug() output
- add explicit .toJSON() calls to ctx.toJSON()
- add support for .throw(status, msg). Closes #130
- add GeneratorFunction assertion for app.use(). Closes #120
- refactor: move
.is()
totype-is
- refactor: move content negotiation to "accepts"
- refactor: allow any streams with .pipe method
- remove
next
in callback for now
- update co, koa-compose, keygrip
- use on-socket-error
- add throw(status, msg) support
- assert middleware is GeneratorFunction
- ducktype stream checks
- remove
next
isapp.callback()
- fix: cleanup socker error handler on response