Releases: expressjs/express
Releases · expressjs/express
3.10.0
- deps: connect@2.19.1
- deprecate
methodOverride()
-- usemethod-override
module directly - deps: body-parser@1.3.0
- deps: method-override@2.0.1
- deps: multiparty@3.2.8
- deps: response-time@2.0.0
- deps: serve-static@1.2.1
- deprecate
- deps: methods@1.0.1
- deps: send@0.4.1
- Send
max-age
inCache-Control
in correct format
- Send
4.4.0
- custom etag control with
app.set('etag', val)
app.set('etag', function(body, encoding){ return '"etag"' })
custom etag generationapp.set('etag', 'weak')
weak tagapp.set('etag', 'strong')
strong etagapp.set('etag', false)
turn offapp.set('etag', true)
standard etag
- mark
res.send
ETag as weak and reduce collisions - update accepts to 1.0.2
- Fix interpretation when header not in request
- update send to 0.4.0
- Calculate ETag with md5 for reduced collisions
- Ignore stream errors after request ends
- deps: debug@0.8.1
- update serve-static to 1.2.0
- Calculate ETag with md5 for reduced collisions
- Ignore stream errors after request ends
- deps: send@0.4.0
3.9.0
- custom etag control with
app.set('etag', val)
app.set('etag', function(body, encoding){ return '"etag"' })
custom etag generationapp.set('etag', 'weak')
weak tagapp.set('etag', 'strong')
strong etagapp.set('etag', false)
turn offapp.set('etag', true)
standard etag
- Include ETag in HEAD requests
- mark
res.send
ETag as weak and reduce collisions - update connect to 2.18.0
- deps: compression@1.0.3
- deps: serve-index@1.1.0
- deps: serve-static@1.2.0
- update send to 0.4.0
- Calculate ETag with md5 for reduced collisions
- Ignore stream errors after request ends
- deps: debug@0.8.1
4.3.2
- fix handling of errors from
router.param()
callbacks
3.8.1
- update connect to 2.17.3
- deps: body-parser@1.2.2
- deps: express-session@1.2.1
- deps: method-override@1.0.2
4.3.1
- revert "fix behavior of multiple
app.VERB
for the same path"- this caused a regression in the order of route execution
4.3.0
- add
req.baseUrl
to access the path stripped fromreq.url
in routes - fix behavior of multiple
app.VERB
for the same path - fix issue routing requests among sub routers
- invoke
router.param()
only when necessary instead of every match - proper proxy trust with
app.set('trust proxy', trust)
app.set('trust proxy', 1)
trust first hopapp.set('trust proxy', 'loopback')
trust loopback addressesapp.set('trust proxy', '10.0.0.1')
trust single IPapp.set('trust proxy', '10.0.0.1/16')
trust subnetapp.set('trust proxy', '10.0.0.1, 10.0.0.2')
trust listapp.set('trust proxy', false)
turn offapp.set('trust proxy', true)
trust everything
- set proper
charset
inContent-Type
forres.send
- update type-is to 1.2.0
- support suffix matching
3.8.0
- keep previous
Content-Type
forres.jsonp
- set proper
charset
inContent-Type
forres.send
- update connect to 2.17.1
- fix
res.charset
appending charset whencontent-type
has one - deps: express-session@1.2.0
- deps: morgan@1.1.1
- deps: serve-index@1.0.3
- fix
3.7.0
- proper proxy trust with
app.set('trust proxy', trust)
app.set('trust proxy', 1)
trust first hopapp.set('trust proxy', 'loopback')
trust loopback addressesapp.set('trust proxy', '10.0.0.1')
trust single IPapp.set('trust proxy', '10.0.0.1/16')
trust subnetapp.set('trust proxy', '10.0.0.1, 10.0.0.2')
trust listapp.set('trust proxy', false)
turn offapp.set('trust proxy', true)
trust everything
- update connect to 2.16.2
- deprecate
res.headerSent
-- useres.headersSent
- deprecate
res.on("header")
-- use on-headers module instead - fix edge-case in
res.appendHeader
that would append in wrong order - json: use body-parser
- urlencoded: use body-parser
- dep: bytes@1.0.0
- dep: cookie-parser@1.1.0
- dep: csurf@1.2.0
- dep: express-session@1.1.0
- dep: method-override@1.0.1
- deprecate
4.2.0
- deprecate
app.del()
-- useapp.delete()
instead - deprecate
res.json(obj, status)
-- useres.json(status, obj)
instead- the edge-case
res.json(status, num)
requiresres.status(status).json(num)
- the edge-case
- deprecate
res.jsonp(obj, status)
-- useres.jsonp(status, obj)
instead- the edge-case
res.jsonp(status, num)
requiresres.status(status).jsonp(num)
- the edge-case
- fix
req.next
when inside router instance - include
ETag
header inHEAD
requests - keep previous
Content-Type
forres.jsonp
- support PURGE method
- add
app.purge
- add
router.purge
- include PURGE in
app.all
- add
- update debug to 0.8.0
- add
enable()
method - change from stderr to stdout
- add
- update methods to 1.0.0
- add PURGE