History
4.17.1 / 2019-05-25
Revert "Improve error message for
null/undefinedtores.status"
4.17.0 / 2019-05-16
Add
express.rawto parse bodies intoBufferAdd
express.textto parse bodies into stringImprove error message for non-strings to
res.sendFileImprove error message for
null/undefinedtores.statusSupport multiple hosts in
X-Forwarded-Hostdeps: accepts@~1.3.7
deps: body-parser@1.19.0
Add encoding MIK
Add petabyte (
pb) supportFix parsing array brackets after index
deps: bytes@3.1.0
deps: http-errors@1.7.2
deps: iconv-lite@0.4.24
deps: qs@6.7.0
deps: raw-body@2.4.0
deps: type-is@~1.6.17
deps: content-disposition@0.5.3
deps: cookie@0.4.0
Add
SameSite=Nonesupport
deps: finalhandler@~1.1.2
Set stricter
Content-Security-Policyheaderdeps: parseurl@~1.3.3
deps: statuses@~1.5.0
deps: parseurl@~1.3.3
deps: proxy-addr@~2.0.5
deps: ipaddr.js@1.9.0
deps: qs@6.7.0
Fix parsing array brackets after index
deps: range-parser@~1.2.1
deps: send@0.17.1
Set stricter CSP header in redirect & error responses
deps: http-errors@~1.7.2
deps: mime@1.6.0
deps: ms@2.1.1
deps: range-parser@~1.2.1
deps: statuses@~1.5.0
perf: remove redundant
path.normalizecall
deps: serve-static@1.14.1
Set stricter CSP header in redirect response
deps: parseurl@~1.3.3
deps: send@0.17.1
deps: setprototypeof@1.1.1
deps: statuses@~1.5.0
Add
103 Early Hints
deps: type-is@~1.6.18
deps: mime-types@~2.1.24
perf: prevent internal
throwon invalid type
4.16.4 / 2018-10-10
Fix issue where
"Request aborted"may be logged inres.sendfileFix JSDoc for
Routerconstructordeps: body-parser@1.18.3
Fix deprecation warnings on Node.js 10+
Fix stack trace for strict json parse error
deps: depd@~1.1.2
deps: http-errors@~1.6.3
deps: iconv-lite@0.4.23
deps: qs@6.5.2
deps: raw-body@2.3.3
deps: type-is@~1.6.16
deps: proxy-addr@~2.0.4
deps: ipaddr.js@1.8.0
deps: qs@6.5.2
deps: safe-buffer@5.1.2
4.16.3 / 2018-03-12
deps: accepts@~1.3.5
deps: mime-types@~2.1.18
deps: depd@~1.1.2
perf: remove argument reassignment
deps: encodeurl@~1.0.2
Fix encoding
%as last character
deps: finalhandler@1.1.1
Fix 404 output for bad / missing pathnames
deps: encodeurl@~1.0.2
deps: statuses@~1.4.0
deps: proxy-addr@~2.0.3
deps: ipaddr.js@1.6.0
deps: send@0.16.2
Fix incorrect end tag in default error & redirects
deps: depd@~1.1.2
deps: encodeurl@~1.0.2
deps: statuses@~1.4.0
deps: serve-static@1.13.2
Fix incorrect end tag in redirects
deps: encodeurl@~1.0.2
deps: send@0.16.2
deps: statuses@~1.4.0
deps: type-is@~1.6.16
deps: mime-types@~2.1.18
4.16.2 / 2017-10-09
Fix
TypeErrorinres.sendwhen givenBufferandETagheader setperf: skip parsing of entire
X-Forwarded-Protoheader
4.16.1 / 2017-09-29
deps: send@0.16.1
deps: serve-static@1.13.1
Fix regression when
rootis incorrectly set to a filedeps: send@0.16.1
4.16.0 / 2017-09-28
Add
"json escape"setting forres.jsonandres.jsonpAdd
express.jsonandexpress.urlencodedto parse bodiesAdd
optionsargument tores.downloadImprove error message when autoloading invalid view engine
Improve error messages when non-function provided as middleware
Skip
Bufferencoding when not generating ETag for small responseUse
safe-bufferfor improved Buffer APIdeps: accepts@~1.3.4
deps: mime-types@~2.1.16
deps: content-type@~1.0.4
perf: remove argument reassignment
perf: skip parameter parsing when no parameters
deps: etag@~1.8.1
perf: replace regular expression with substring
deps: finalhandler@1.1.0
Use
res.headersSentwhen available
deps: parseurl@~1.3.2
perf: reduce overhead for full URLs
perf: unroll the "fast-path"
RegExp
deps: proxy-addr@~2.0.2
Fix trimming leading / trailing OWS in
X-Forwarded-Fordeps: forwarded@~0.1.2
deps: ipaddr.js@1.5.2
perf: reduce overhead when no
X-Forwarded-Forheader
deps: qs@6.5.1
Fix parsing & compacting very deep objects
deps: send@0.16.0
Add 70 new types for file extensions
Add
immutableoptionFix missing
</html>in default error & redirectsSet charset as "UTF-8" for .js and .json
Use instance methods on steam to check for listeners
deps: mime@1.4.1
perf: improve path validation speed
deps: serve-static@1.13.0
Add 70 new types for file extensions
Add
immutableoptionSet charset as "UTF-8" for .js and .json
deps: send@0.16.0
deps: setprototypeof@1.1.0
deps: utils-merge@1.0.1
deps: vary@~1.1.2
perf: improve header token parsing speed
perf: re-use options object when generating ETags
perf: remove dead
.charsetset inres.jsonp
4.15.5 / 2017-09-24
deps: debug@2.6.9
deps: finalhandler@~1.0.6
deps: debug@2.6.9
deps: parseurl@~1.3.2
deps: fresh@0.5.2
Fix handling of modified headers with invalid dates
perf: improve ETag match loop
perf: improve
If-None-Matchtoken parsing
deps: send@0.15.6
Fix handling of modified headers with invalid dates
deps: debug@2.6.9
deps: etag@~1.8.1
deps: fresh@0.5.2
perf: improve
If-Matchtoken parsing
deps: serve-static@1.12.6
deps: parseurl@~1.3.2
deps: send@0.15.6
perf: improve slash collapsing
4.15.4 / 2017-08-06
deps: debug@2.6.8
deps: depd@~1.1.1
Remove unnecessary
Bufferloading
deps: finalhandler@~1.0.4
deps: debug@2.6.8
deps: proxy-addr@~1.1.5
Fix array argument being altered
deps: ipaddr.js@1.4.0
deps: qs@6.5.0
deps: send@0.15.4
deps: debug@2.6.8
deps: depd@~1.1.1
deps: http-errors@~1.6.2
deps: serve-static@1.12.4
deps: send@0.15.4
4.15.3 / 2017-05-16
Fix error when
res.setcannot add charset toContent-Typedeps: debug@2.6.7
Fix
DEBUG_MAX_ARRAY_LENGTHdeps: ms@2.0.0
deps: finalhandler@~1.0.3
Fix missing
</html>in HTML documentdeps: debug@2.6.7
deps: proxy-addr@~1.1.4
deps: ipaddr.js@1.3.0
deps: send@0.15.3
deps: debug@2.6.7
deps: ms@2.0.0
deps: serve-static@1.12.3
deps: send@0.15.3
deps: type-is@~1.6.15
deps: mime-types@~2.1.15
deps: vary@~1.1.1
perf: hoist regular expression
4.15.2 / 2017-03-06
deps: qs@6.4.0
Fix regression parsing keys starting with
[
4.15.1 / 2017-03-05
deps: send@0.15.1
Fix issue when
Date.parsedoes not returnNaNon invalid dateFix strict violation in broken environments
deps: serve-static@1.12.1
Fix issue when
Date.parsedoes not returnNaNon invalid datedeps: send@0.15.1
4.15.0 / 2017-03-01
Add debug message when loading view engine
Add
next("router")to exit from routerFix case where
router.useskipped requests routes did notRemove usage of
res._headersprivate fieldImproves compatibility with Node.js 8 nightly
Skip routing when
req.urlis not setUse
%oin path debug to tell types apartUse
Object.createto setup request & response prototypesUse
setprototypeofmodule to replace__proto__settingUse
statusesinstead ofhttpmodule for status messagesdeps: debug@2.6.1
Allow colors in workers
Deprecated
DEBUG_FDenvironment variable set to3or higherFix error when running under React Native
Use same color for same namespace
deps: ms@0.7.2
deps: etag@~1.8.0
Use SHA1 instead of MD5 for ETag hashing
Works with FIPS 140-2 OpenSSL configuration
deps: finalhandler@~1.0.0
Fix exception when
errcannot be converted to a stringFully URL-encode the pathname in the 404
Only include the pathname in the 404 message
Send complete HTML document
Set
Content-Security-Policy: default-src 'self'headerdeps: debug@2.6.1
deps: fresh@0.5.0
Fix false detection of
no-cacherequest directiveFix incorrect result when
If-None-Matchhas both*and ETagsFix weak
ETagmatching to match specperf: delay reading header values until needed
perf: enable strict mode
perf: hoist regular expressions
perf: remove duplicate conditional
perf: remove unnecessary boolean coercions
perf: skip checking modified time if ETag check failed
perf: skip parsing
If-None-Matchwhen noETagheaderperf: use
Date.parseinstead ofnew Date
deps: qs@6.3.1
Fix array parsing from skipping empty values
Fix compacting nested arrays
deps: send@0.15.0
Fix false detection of
no-cacherequest directiveFix incorrect result when
If-None-Matchhas both*and ETagsFix weak
ETagmatching to match specRemove usage of
res._headersprivate fieldSupport
If-MatchandIf-Unmodified-SinceheadersUse
res.getHeaderNames()when availableUse
res.headersSentwhen availabledeps: debug@2.6.1
deps: etag@~1.8.0
deps: fresh@0.5.0
deps: http-errors@~1.6.1
deps: serve-static@1.12.0
Fix false detection of
no-cacherequest directiveFix incorrect result when
If-None-Matchhas both*and ETagsFix weak
ETagmatching to match specRemove usage of
res._headersprivate fieldSend complete HTML document in redirect response
Set default CSP header in redirect response
Support
If-MatchandIf-Unmodified-SinceheadersUse
res.getHeaderNames()when availableUse
res.headersSentwhen availabledeps: send@0.15.0
perf: add fast match path for
*routeperf: improve
req.ipsperformance
4.14.1 / 2017-01-28
deps: content-disposition@0.5.2
deps: finalhandler@0.5.1
Fix exception when
err.headersis not an objectdeps: statuses@~1.3.1
perf: hoist regular expressions
perf: remove duplicate validation path
deps: proxy-addr@~1.1.3
deps: ipaddr.js@1.2.0
deps: send@0.14.2
deps: http-errors@~1.5.1
deps: ms@0.7.2
deps: statuses@~1.3.1
deps: serve-static@~1.11.2
deps: send@0.14.2
deps: type-is@~1.6.14
deps: mime-types@~2.1.13
4.14.0 / 2016-06-16
Add
acceptRangesoption tores.sendFile/res.sendfileAdd
cacheControloption tores.sendFile/res.sendfileAdd
optionsargument toreq.rangeIncludes the
combineoption
Encode URL in
res.location/res.redirectif not already encodedFix some redirect handling in
res.sendFile/res.sendfileFix Windows absolute path check using forward slashes
Improve error with invalid arguments to
req.get()Improve performance for
res.json/res.jsonpin most casesImprove
Rangeheader handling inres.sendFile/res.sendfiledeps: accepts@~1.3.3
Fix including type extensions in parameters in
AcceptparsingFix parsing
Acceptparameters with quoted equalsFix parsing
Acceptparameters with quoted semicolonsMany performance improvements
deps: mime-types@~2.1.11
deps: negotiator@0.6.1
deps: content-type@~1.0.2
perf: enable strict mode
deps: cookie@0.3.1
Add
sameSiteoptionFix cookie
Max-Ageto never be a floating point numberImprove error message when
encodeis not a functionImprove error message when
expiresis not aDateThrow better error for invalid argument to parse
Throw on invalid values provided to
serializeperf: enable strict mode
perf: hoist regular expression
perf: use for loop in parse
perf: use string concatenation for serialization
deps: finalhandler@0.5.0
Change invalid or non-numeric status code to 500
Overwrite status message to match set status code
Prefer
err.statusCodeiferr.statusis invalidSet response headers from
err.headersobjectUse
statusesinstead ofhttpmodule for status messages
deps: proxy-addr@~1.1.2
Fix accepting various invalid netmasks
Fix IPv6-mapped IPv4 validation edge cases
IPv4 netmasks must be contiguous
IPv6 addresses cannot be used as a netmask
deps: ipaddr.js@1.1.1
deps: qs@6.2.0
Add
decoderoption inparsefunction
deps: range-parser@~1.2.0
Add
combineoption to combine overlapping rangesFix incorrectly returning -1 when there is at least one valid range
perf: remove internal function
deps: send@0.14.1
Add
acceptRangesoptionAdd
cacheControloptionAttempt to combine multiple ranges into single range
Correctly inherit from
StreamclassFix
Content-Rangeheader in 416 responses when usingstart/endoptionsFix
Content-Rangeheader missing from default 416 responsesFix redirect error when
pathcontains raw non-URL charactersFix redirect when
pathstarts with multiple forward slashesIgnore non-byte
Rangeheadersdeps: http-errors@~1.5.0
deps: range-parser@~1.2.0
deps: statuses@~1.3.0
perf: remove argument reassignment
deps: serve-static@~1.11.1
Add
acceptRangesoptionAdd
cacheControloptionAttempt to combine multiple ranges into single range
Fix redirect error when
req.urlcontains raw non-URL charactersIgnore non-byte
RangeheadersUse status code 301 for redirects
deps: send@0.14.1
deps: type-is@~1.6.13
Fix type error when given invalid type to match against
deps: mime-types@~2.1.11
deps: vary@~1.1.0
Only accept valid field names in the
fieldargument
perf: use strict equality when possible
4.13.4 / 2016-01-21
deps: content-disposition@0.5.1
perf: enable strict mode
deps: cookie@0.1.5
Throw on invalid values provided to
serialize
deps: depd@~1.1.0
Support web browser loading
perf: enable strict mode
deps: escape-html@~1.0.3
perf: enable strict mode
perf: optimize string replacement
perf: use faster string coercion
deps: finalhandler@0.4.1
deps: escape-html@~1.0.3
deps: merge-descriptors@1.0.1
perf: enable strict mode
deps: methods@~1.1.2
perf: enable strict mode
deps: parseurl@~1.3.1
perf: enable strict mode
deps: proxy-addr@~1.0.10
deps: ipaddr.js@1.0.5
perf: enable strict mode
deps: range-parser@~1.0.3
perf: enable strict mode
deps: send@0.13.1
deps: depd@~1.1.0
deps: destroy@~1.0.4
deps: escape-html@~1.0.3
deps: range-parser@~1.0.3
deps: serve-static@~1.10.2
deps: escape-html@~1.0.3
deps: parseurl@~1.3.0
deps: send@0.13.1
4.13.3 / 2015-08-02
Fix infinite loop condition using
mergeParams: trueFix inner numeric indices incorrectly altering parent
req.params
4.13.2 / 2015-07-31
deps: accepts@~1.2.12
deps: mime-types@~2.1.4
deps: array-flatten@1.1.1
perf: enable strict mode
deps: path-to-regexp@0.1.7
Fix regression with escaped round brackets and matching groups
deps: type-is@~1.6.6
deps: mime-types@~2.1.4
4.13.1 / 2015-07-05
deps: accepts@~1.2.10
deps: mime-types@~2.1.2
deps: qs@4.0.0
Fix dropping parameters like
hasOwnPropertyFix various parsing edge cases
deps: type-is@~1.6.4
deps: mime-types@~2.1.2
perf: enable strict mode
perf: remove argument reassignment
4.13.0 / 2015-06-20
Add settings to debug output
Fix
res.formaterror when onlydefaultprovidedFix issue where
next('route')inapp.paramwould incorrectly skip valuesFix hiding platform issues with
decodeURIComponentOnly
URIErrors are a 400
Fix using
*before params in routesFix using capture groups before params in routes
Simplify
res.cookieto callres.appendUse
array-flattenmodule for flattening arraysdeps: accepts@~1.2.9
deps: mime-types@~2.1.1
perf: avoid argument reassignment & argument slice
perf: avoid negotiator recursive construction
perf: enable strict mode
perf: remove unnecessary bitwise operator
deps: cookie@0.1.3
perf: deduce the scope of try-catch deopt
perf: remove argument reassignments
deps: escape-html@1.0.2
deps: etag@~1.7.0
Always include entity length in ETags for hash length extensions
Generate non-Stats ETags using MD5 only (no longer CRC32)
Improve stat performance by removing hashing
Improve support for JXcore
Remove base64 padding in ETags to shorten
Support "fake" stats objects in environments without fs
Use MD5 instead of MD4 in weak ETags over 1KB
deps: finalhandler@0.4.0
Fix a false-positive when unpiping in Node.js 0.8
Support
statusCodeproperty onErrorobjectsUse
unpipemodule for unpiping requestsdeps: escape-html@1.0.2
deps: on-finished@~2.3.0
perf: enable strict mode
perf: remove argument reassignment
deps: fresh@0.3.0
Add weak
ETagmatching support
deps: on-finished@~2.3.0
Add defined behavior for HTTP
CONNECTrequestsAdd defined behavior for HTTP
Upgraderequestsdeps: ee-first@1.1.1
deps: path-to-regexp@0.1.6
deps: send@0.13.0
Allow Node.js HTTP server to set
Dateresponse headerFix incorrectly removing
Content-Locationon 304 responseImprove the default redirect response headers
Send appropriate headers on default error response
Use
http-errorsfor standard emitted errorsUse
statusesinstead ofhttpmodule for status messagesdeps: escape-html@1.0.2
deps: etag@~1.7.0
deps: fresh@0.3.0
deps: on-finished@~2.3.0
perf: enable strict mode
perf: remove unnecessary array allocations
deps: serve-static@~1.10.0
Add
fallthroughoptionFix reading options from options prototype
Improve the default redirect response headers
Malformed URLs now
next()instead of 400deps: escape-html@1.0.2
deps: send@0.13.0
perf: enable strict mode
perf: remove argument reassignment
deps: type-is@~1.6.3
deps: mime-types@~2.1.1
perf: reduce try block size
perf: remove bitwise operations
perf: enable strict mode
perf: isolate
app.rendertry blockperf: remove argument reassignments in application
perf: remove argument reassignments in request prototype
perf: remove argument reassignments in response prototype
perf: remove argument reassignments in routing
perf: remove argument reassignments in
Viewperf: skip attempting to decode zero length string
perf: use saved reference to
http.STATUS_CODES
4.12.4 / 2015-05-17
deps: accepts@~1.2.7
deps: mime-types@~2.0.11
deps: negotiator@0.5.3
deps: debug@~2.2.0
deps: ms@0.7.1
deps: depd@~1.0.1
deps: etag@~1.6.0
Improve support for JXcore
Support "fake" stats objects in environments without
fs
deps: finalhandler@0.3.6
deps: debug@~2.2.0
deps: on-finished@~2.2.1
deps: on-finished@~2.2.1
Fix
isFinished(req)when data buffered
deps: proxy-addr@~1.0.8
deps: ipaddr.js@1.0.1
deps: qs@2.4.2
Fix allowing parameters like
constructordeps: send@0.12.3
deps: debug@~2.2.0
deps: depd@~1.0.1
deps: etag@~1.6.0
deps: ms@0.7.1
deps: on-finished@~2.2.1
deps: serve-static@~1.9.3
deps: send@0.12.3
deps: type-is@~1.6.2
deps: mime-types@~2.0.11
4.12.3 / 2015-03-17
deps: accepts@~1.2.5
deps: mime-types@~2.0.10
deps: debug@~2.1.3
Fix high intensity foreground color for bold
deps: ms@0.7.0
deps: finalhandler@0.3.4
deps: debug@~2.1.3
deps: proxy-addr@~1.0.7
deps: ipaddr.js@0.1.9
deps: qs@2.4.1
Fix error when parameter
hasOwnPropertyis present
deps: send@0.12.2
Throw errors early for invalid
extensionsorindexoptionsdeps: debug@~2.1.3
deps: serve-static@~1.9.2
deps: send@0.12.2
deps: type-is@~1.6.1
deps: mime-types@~2.0.10
4.12.2 / 2015-03-02
Fix regression where
"Request aborted"is logged usingres.sendFile
4.12.1 / 2015-03-01
Fix constructing application with non-configurable prototype properties
Fix
ECONNRESETerrors fromres.sendFileusageFix
req.hostwhen using "trust proxy" hops countFix
req.protocol/req.securewhen using "trust proxy" hops countFix wrong
codeon aborted connections fromres.sendFiledeps: merge-descriptors@1.0.0
4.12.0 / 2015-02-23
Fix
"trust proxy"setting to inherit when app is mountedGenerate
ETags for all request responsesNo longer restricted to only responses for
GETandHEADrequests
Use
content-typeto parseContent-Typeheadersdeps: accepts@~1.2.4
Fix preference sorting to be stable for long acceptable lists
deps: mime-types@~2.0.9
deps: negotiator@0.5.1
deps: cookie-signature@1.0.6
deps: send@0.12.1
Always read the stat size from the file
Fix mutating passed-in
optionsdeps: mime@1.3.4
deps: serve-static@~1.9.1
deps: send@0.12.1
deps: type-is@~1.6.0
fix argument reassignment
fix false-positives in
hasBodyTransfer-Encodingchecksupport wildcard for both type and subtype (
*/*)deps: mime-types@~2.0.9
4.11.2 / 2015-02-01
Fix
res.redirectdouble-callingres.endforHEADrequestsdeps: accepts@~1.2.3
deps: mime-types@~2.0.8
deps: proxy-addr@~1.0.6
deps: ipaddr.js@0.1.8
deps: type-is@~1.5.6
deps: mime-types@~2.0.8
4.11.1 / 2015-01-20
deps: send@0.11.1
Fix root path disclosure
deps: serve-static@~1.8.1
Fix redirect loop in Node.js 0.11.14
Fix root path disclosure
deps: send@0.11.1
4.11.0 / 2015-01-13
Add
res.append(field, val)to append headersDeprecate leading
:innameforapp.param(name, fn)Deprecate
req.param()-- usereq.params,req.body, orreq.queryinsteadDeprecate
app.param(fn)Fix
OPTIONSresponses to include theHEADmethod properlyFix
res.sendFilenot always detecting aborted connectionMatch routes iteratively to prevent stack overflows
deps: accepts@~1.2.2
deps: mime-types@~2.0.7
deps: negotiator@0.5.0
deps: send@0.11.0
deps: debug@~2.1.1
deps: etag@~1.5.1
deps: ms@0.7.0
deps: on-finished@~2.2.0
deps: serve-static@~1.8.0
deps: send@0.11.0
4.10.8 / 2015-01-13
Fix crash from error within
OPTIONSresponse handlerdeps: proxy-addr@~1.0.5
deps: ipaddr.js@0.1.6
4.10.7 / 2015-01-04
Fix
Allowheader forOPTIONSto not contain duplicate methodsFix incorrect "Request aborted" for
res.sendFilewhenHEADor 304deps: debug@~2.1.1
deps: finalhandler@0.3.3
deps: debug@~2.1.1
deps: on-finished@~2.2.0
deps: methods@~1.1.1
deps: on-finished@~2.2.0
deps: serve-static@~1.7.2
Fix potential open redirect when mounted at root
deps: type-is@~1.5.5
deps: mime-types@~2.0.7
4.10.6 / 2014-12-12
Fix exception in
req.fresh/req.stalewithout response headers
4.10.5 / 2014-12-10
Fix
res.senddouble-callingres.endforHEADrequestsdeps: accepts@~1.1.4
deps: mime-types@~2.0.4
deps: type-is@~1.5.4
deps: mime-types@~2.0.4
4.10.4 / 2014-11-24
Fix
res.sendfilelogging standard write errors
4.10.3 / 2014-11-23
Fix
res.sendFilelogging standard write errorsdeps: etag@~1.5.1
deps: proxy-addr@~1.0.4
deps: ipaddr.js@0.1.5
deps: qs@2.3.3
Fix
arrayLimitbehavior
4.10.2 / 2014-11-09
Correctly invoke async router callback asynchronously
deps: accepts@~1.1.3
deps: mime-types@~2.0.3
deps: type-is@~1.5.3
deps: mime-types@~2.0.3
4.10.1 / 2014-10-28
Fix handling of URLs containing
://in the pathdeps: qs@2.3.2
Fix parsing of mixed objects and values
4.10.0 / 2014-10-23
Add support for
app.set('views', array)Views are looked up in sequence in array of directories
Fix
res.send(status)to mentionres.sendStatus(status)Fix handling of invalid empty URLs
Use
content-dispositionmodule forres.attachment/res.downloadSends standards-compliant
Content-DispositionheaderFull Unicode support
Use
path.resolvein view lookupdeps: debug@~2.1.0
Implement
DEBUG_FDenv variable support
deps: depd@~1.0.0
deps: etag@~1.5.0
Improve string performance
Slightly improve speed for weak ETags over 1KB
deps: finalhandler@0.3.2
Terminate in progress response only on error
Use
on-finishedto determine request statusdeps: debug@~2.1.0
deps: on-finished@~2.1.1
deps: on-finished@~2.1.1
Fix handling of pipelined requests
deps: qs@2.3.0
Fix parsing of mixed implicit and explicit arrays
deps: send@0.10.1
deps: debug@~2.1.0
deps: depd@~1.0.0
deps: etag@~1.5.0
deps: on-finished@~2.1.1
deps: serve-static@~1.7.1
deps: send@0.10.1
4.9.8 / 2014-10-17
Fix
res.redirectbody when redirect status specifieddeps: accepts@~1.1.2
Fix error when media type has invalid parameter
deps: negotiator@0.4.9
4.9.7 / 2014-10-10
Fix using same param name in array of paths
4.9.6 / 2014-10-08
deps: accepts@~1.1.1
deps: mime-types@~2.0.2
deps: negotiator@0.4.8
deps: serve-static@~1.6.4
Fix redirect loop when index file serving disabled
deps: type-is@~1.5.2
deps: mime-types@~2.0.2
4.9.5 / 2014-09-24
deps: etag@~1.4.0
deps: proxy-addr@~1.0.3
Use
forwardednpm module
deps: send@0.9.3
deps: etag@~1.4.0
deps: serve-static@~1.6.3
deps: send@0.9.3
4.9.4 / 2014-09-19
deps: qs@2.2.4
Fix issue with object keys starting with numbers truncated
4.9.3 / 2014-09-18
deps: proxy-addr@~1.0.2
Fix a global leak when multiple subnets are trusted
deps: ipaddr.js@0.1.3
4.9.2 / 2014-09-17
Fix regression for empty string
pathinapp.useFix
router.useto accept array of middleware without pathImprove error message for bad
app.usearguments
4.9.1 / 2014-09-16
Fix
app.useto accept array of middleware without pathdeps: depd@0.4.5
deps: etag@~1.3.1
deps: send@0.9.2
deps: depd@0.4.5
deps: etag@~1.3.1
deps: range-parser@~1.0.2
deps: serve-static@~1.6.2
deps: send@0.9.2
4.9.0 / 2014-09-08
Add
res.sendStatusInvoke callback for sendfile when client aborts
Applies to
res.sendFile,res.sendfile, andres.downloaderrwill be populated with request aborted error
Support IP address host in
req.subdomainsUse
etagto generateETagheadersdeps: accepts@~1.1.0
update
mime-types
deps: cookie-signature@1.0.5
deps: debug@~2.0.0
deps: finalhandler@0.2.0
Set
X-Content-Type-Options: nosniffheaderdeps: debug@~2.0.0
deps: fresh@0.2.4
deps: media-typer@0.3.0
Throw error when parameter format invalid on parse
deps: qs@2.2.3
Fix issue where first empty value in array is discarded
deps: range-parser@~1.0.2
deps: send@0.9.1
Add
lastModifiedoptionUse
etagto generateETagheaderdeps: debug@~2.0.0
deps: fresh@0.2.4
deps: serve-static@~1.6.1
Add
lastModifiedoptiondeps: send@0.9.1
deps: type-is@~1.5.1
fix
hasbodyto be true forcontent-length: 0deps: media-typer@0.3.0
deps: mime-types@~2.0.1
deps: vary@~1.0.0
Accept valid
Varyheader string asfield
4.8.8 / 2014-09-04
deps: send@0.8.5
Fix a path traversal issue when using
rootFix malicious path detection for empty string path
deps: serve-static@~1.5.4
deps: send@0.8.5
4.8.7 / 2014-08-29
deps: qs@2.2.2
Remove unnecessary cloning
4.8.6 / 2014-08-27
deps: qs@2.2.0
Array parsing fix
Performance improvements
4.8.5 / 2014-08-18
deps: send@0.8.3
deps: destroy@1.0.3
deps: on-finished@2.1.0
deps: serve-static@~1.5.3
deps: send@0.8.3
4.8.4 / 2014-08-14
deps: qs@1.2.2
deps: send@0.8.2
Work around
fdleak in Node.js 0.10 forfs.ReadStream
deps: serve-static@~1.5.2
deps: send@0.8.2
4.8.3 / 2014-08-10
deps: parseurl@~1.3.0
deps: qs@1.2.1
deps: serve-static@~1.5.1
Fix parsing of weird
req.originalUrlvaluesdeps: parseurl@~1.3.0
deps: utils-merge@1.0.0
4.8.2 / 2014-08-07
deps: qs@1.2.0
Fix parsing array of objects
4.8.1 / 2014-08-06
fix incorrect deprecation warnings on
res.downloaddeps: qs@1.1.0
Accept urlencoded square brackets
Accept empty values in implicit array notation
4.8.0 / 2014-08-05
add
res.sendFileaccepts a file system path instead of a URL
requires an absolute path or
rootoption specified
deprecate
res.sendfile-- useres.sendFileinsteadsupport mounted app as any argument to
app.use()deps: qs@1.0.2
Complete rewrite
Limits array length to 20
Limits object depth to 5
Limits parameters to 1,000
deps: send@0.8.1
Add
extensionsoption
deps: serve-static@~1.5.0
Add
extensionsoptiondeps: send@0.8.1
4.7.4 / 2014-08-04
fix
res.sendfileregression for serving directory index filesdeps: send@0.7.4
Fix incorrect 403 on Windows and Node.js 0.11
Fix serving index files without root dir
deps: serve-static@~1.4.4
deps: send@0.7.4
4.7.3 / 2014-08-04
deps: send@0.7.3
Fix incorrect 403 on Windows and Node.js 0.11
deps: serve-static@~1.4.3
Fix incorrect 403 on Windows and Node.js 0.11
deps: send@0.7.3
4.7.2 / 2014-07-27
deps: depd@0.4.4
Work-around v8 generating empty stack traces
deps: send@0.7.2
deps: depd@0.4.4
deps: serve-static@~1.4.2
4.7.1 / 2014-07-26
deps: depd@0.4.3
Fix exception when global
Error.stackTraceLimitis too low
deps: send@0.7.1
deps: depd@0.4.3
deps: serve-static@~1.4.1
4.7.0 / 2014-07-25
fix
req.protocolfor proxy-direct connectionsconfigurable query parser with
app.set('query parser', parser)app.set('query parser', 'extended')parse with "qs" moduleapp.set('query parser', 'simple')parse with "querystring" core moduleapp.set('query parser', false)disable query string parsingapp.set('query parser', true)enable simple parsing
deprecate
res.json(status, obj)-- useres.status(status).json(obj)insteaddeprecate
res.jsonp(status, obj)-- useres.status(status).jsonp(obj)insteaddeprecate
res.send(status, body)-- useres.status(status).send(body)insteaddeps: debug@1.0.4
deps: depd@0.4.2
Add
TRACE_DEPRECATIONenvironment variableRemove non-standard grey color from color output
Support
--no-deprecationargumentSupport
--trace-deprecationargument
deps: finalhandler@0.1.0
Respond after request fully read
deps: debug@1.0.4
deps: parseurl@~1.2.0
Cache URLs based on original value
Remove no-longer-needed URL mis-parse work-around
Simplify the "fast-path"
RegExp
deps: send@0.7.0
Add
dotfilesoptionCap
maxAgevalue to 1 yeardeps: debug@1.0.4
deps: depd@0.4.2
deps: serve-static@~1.4.0
deps: parseurl@~1.2.0
deps: send@0.7.0
perf: prevent multiple
Buffercreation inres.send
4.6.1 / 2014-07-12
fix
subapp.mountpathregression forapp.use(subapp)
4.6.0 / 2014-07-11
accept multiple callbacks to
app.use()add explicit "Rosetta Flash JSONP abuse" protection
previous versions are not vulnerable; this is just explicit protection
catch errors in multiple
req.param(name, fn)handlersdeprecate
res.redirect(url, status)-- useres.redirect(status, url)insteadfix
res.send(status, num)to sendnumas json (not error)remove unnecessary escaping when
res.jsonpreturns JSON responsesupport non-string
pathinapp.use(path, fn)supports array of paths
supports
RegExp
router: fix optimization on router exit
router: refactor location of
tryblocksrouter: speed up standard
app.use(fn)deps: debug@1.0.3
Add support for multiple wildcards in namespaces
deps: finalhandler@0.0.3
deps: debug@1.0.3
deps: methods@1.1.0
add
CONNECT
deps: parseurl@~1.1.3
faster parsing of href-only URLs
deps: path-to-regexp@0.1.3
deps: send@0.6.0
deps: debug@1.0.3
deps: serve-static@~1.3.2
deps: parseurl@~1.1.3
deps: send@0.6.0
perf: fix arguments reassign deopt in some
resmethods
4.5.1 / 2014-07-06
fix routing regression when altering
req.method
4.5.0 / 2014-07-04
add deprecation message to non-plural
req.accepts*add deprecation message to
res.send(body, status)add deprecation message to
res.vary()add
headersoption tores.sendfileuse to set headers on successful file transfer
add
mergeParamsoption toRoutermerges
req.paramsfrom parent routes
add
req.hostname-- correct name for whatreq.hostreturnsdeprecate things with
depdmoduledeprecate
req.host-- usereq.hostnameinsteadfix behavior when handling request without routes
fix handling when
route.allis only routeinvoke
router.param()only when route matchesrestore
req.paramsafter invoking routeruse
finalhandlerfor final response handlinguse
media-typerto alter content-type charsetdeps: accepts@~1.0.7
deps: send@0.5.0
Accept string for
maxage(converted byms)Include link in default redirect response
deps: serve-static@~1.3.0
Accept string for
maxAge(converted byms)Add
setHeadersoptionInclude HTML link in redirect response
deps: send@0.5.0
deps: type-is@~1.3.2
4.4.5 / 2014-06-26
deps: cookie-signature@1.0.4
fix for timing attacks
4.4.4 / 2014-06-20
fix
res.attachmentUnicode filenames in Safarifix "trim prefix" debug message in
express:routerdeps: accepts@~1.0.5
deps: buffer-crc32@0.2.3
4.4.3 / 2014-06-11
fix persistence of modified
req.params[name]fromapp.param()deps: accepts@1.0.3
deps: negotiator@0.4.6
deps: debug@1.0.2
deps: send@0.4.3
Do not throw uncatchable error on file open race condition
Use
escape-htmlfor HTML escapingdeps: debug@1.0.2
deps: finished@1.2.2
deps: fresh@0.2.2
deps: serve-static@1.2.3
Do not throw uncatchable error on file open race condition
deps: send@0.4.3
4.4.2 / 2014-06-09
fix catching errors from top-level handlers
use
varymodule forres.varydeps: debug@1.0.1
deps: proxy-addr@1.0.1
deps: send@0.4.2
fix "event emitter leak" warnings
deps: debug@1.0.1
deps: finished@1.2.1
deps: serve-static@1.2.2
fix "event emitter leak" warnings
deps: send@0.4.2
deps: type-is@1.2.1
4.4.1 / 2014-06-02
deps: methods@1.0.1
deps: send@0.4.1
Send
max-ageinCache-Controlin correct format
deps: serve-static@1.2.1
use
escape-htmlfor escapingdeps: send@0.4.1
4.4.0 / 2014-05-30
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.sendETag as weak and reduce collisionsupdate 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
4.3.2 / 2014-05-28
fix handling of errors from
router.param()callbacks
4.3.1 / 2014-05-23
revert "fix behavior of multiple
app.VERBfor the same path"this caused a regression in the order of route execution
4.3.0 / 2014-05-21
add
req.baseUrlto access the path stripped fromreq.urlin routesfix behavior of multiple
app.VERBfor the same pathfix issue routing requests among sub routers
invoke
router.param()only when necessary instead of every matchproper 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
charsetinContent-Typeforres.sendupdate type-is to 1.2.0
support suffix matching
4.2.0 / 2014-05-11
deprecate
app.del()-- useapp.delete()insteaddeprecate
res.json(obj, status)-- useres.json(status, obj)insteadthe edge-case
res.json(status, num)requiresres.status(status).json(num)
deprecate
res.jsonp(obj, status)-- useres.jsonp(status, obj)insteadthe edge-case
res.jsonp(status, num)requiresres.status(status).jsonp(num)
fix
req.nextwhen inside router instanceinclude
ETagheader inHEADrequestskeep previous
Content-Typeforres.jsonpsupport PURGE method
add
app.purgeadd
router.purgeinclude PURGE in
app.all
update debug to 0.8.0
add
enable()methodchange from stderr to stdout
update methods to 1.0.0
add PURGE
4.1.2 / 2014-05-08
fix
req.hostfor IPv6 literalsfix
res.jsonperror if callback param is object
4.1.1 / 2014-04-27
fix package.json to reflect supported node version
4.1.0 / 2014-04-24
pass options from
res.sendfiletosendpreserve casing of headers in
res.headerandres.setsupport unicode file names in
res.attachmentandres.downloadupdate accepts to 1.0.1
deps: negotiator@0.4.0
update cookie to 0.1.2
Fix for maxAge == 0
made compat with expires field
update send to 0.3.0
Accept API options in options object
Coerce option types
Control whether to generate etags
Default directory access to 403 when index disabled
Fix sending files with dots without root set
Include file path in etag
Make "Can't set headers after they are sent." catchable
Send full entity-body for multi range requests
Set etags to "weak"
Support "If-Range" header
Support multiple index paths
deps: mime@1.2.11
update serve-static to 1.1.0
Accept options directly to
sendmoduleResolve relative paths at middleware setup
Use parseurl to parse the URL from request
deps: send@0.3.0
update type-is to 1.1.0
add non-array values support
add
multipartas a shorthand
4.0.0 / 2014-04-09
remove:
node 0.8 support
connect and connect's patches except for charset handling
express(1) - moved to express-generator
express.createServer()- it has been deprecated for a long time. Useexpress()app.configure- use logic in your own app codeapp.router- is removedreq.auth- usebasic-authinsteadreq.accepted*- usereq.accepts*()insteadres.location- relative URL resolution is removedres.charset- include the charset in the content type when usingres.set()all bundled middleware except
static
change:
app.route->app.mountpathwhen mounting an express app in another express appjson spacesno longer enabled by default in developmentreq.accepts*->req.accepts*s- i.e.req.acceptsEncoding->req.acceptsEncodingsreq.paramsis now an object instead of an arrayres.localsis no longer a function. It is a plain js object. Treat it as such.res.headerSent->res.headersSentto match node.js ServerResponse object
refactor:
add:
app.router()- returns the app Router instanceapp.route()- Proxy to the app'sRouter#route()method to create a new routeRouter & Route - public API
3.21.2 / 2015-07-31
deps: connect@2.30.2
deps: body-parser@~1.13.3
deps: compression@~1.5.2
deps: errorhandler@~1.4.2
deps: method-override@~2.3.5
deps: serve-index@~1.7.2
deps: type-is@~1.6.6
deps: vhost@~3.0.1
deps: vary@~1.0.1
Fix setting empty header from empty
fieldperf: enable strict mode
perf: remove argument reassignments
3.21.1 / 2015-07-05
deps: basic-auth@~1.0.3
deps: connect@2.30.1
deps: body-parser@~1.13.2
deps: compression@~1.5.1
deps: errorhandler@~1.4.1
deps: morgan@~1.6.1
deps: pause@0.1.0
deps: qs@4.0.0
deps: serve-index@~1.7.1
deps: type-is@~1.6.4
3.21.0 / 2015-06-18
deps: basic-auth@1.0.2
perf: enable strict mode
perf: hoist regular expression
perf: parse with regular expressions
perf: remove argument reassignment
deps: connect@2.30.0
deps: body-parser@~1.13.1
deps: bytes@2.1.0
deps: compression@~1.5.0
deps: cookie@0.1.3
deps: cookie-parser@~1.3.5
deps: csurf@~1.8.3
deps: errorhandler@~1.4.0
deps: express-session@~1.11.3
deps: finalhandler@0.4.0
deps: fresh@0.3.0
deps: morgan@~1.6.0
deps: serve-favicon@~2.3.0
deps: serve-index@~1.7.0
deps: serve-static@~1.10.0
deps: type-is@~1.6.3
deps: cookie@0.1.3
perf: deduce the scope of try-catch deopt
perf: remove argument reassignments
deps: escape-html@1.0.2
deps: etag@~1.7.0
Always include entity length in ETags for hash length extensions
Generate non-Stats ETags using MD5 only (no longer CRC32)
Improve stat performance by removing hashing
Improve support for JXcore
Remove base64 padding in ETags to shorten
Support "fake" stats objects in environments without fs
Use MD5 instead of MD4 in weak ETags over 1KB
deps: fresh@0.3.0
Add weak
ETagmatching support
deps: mkdirp@0.5.1
Work in global strict mode
deps: send@0.13.0
Allow Node.js HTTP server to set
Dateresponse headerFix incorrectly removing
Content-Locationon 304 responseImprove the default redirect response headers
Send appropriate headers on default error response
Use
http-errorsfor standard emitted errorsUse
statusesinstead ofhttpmodule for status messagesdeps: escape-html@1.0.2
deps: etag@~1.7.0
deps: fresh@0.3.0
deps: on-finished@~2.3.0
perf: enable strict mode
perf: remove unnecessary array allocations
3.20.3 / 2015-05-17
deps: connect@2.29.2
deps: body-parser@~1.12.4
deps: compression@~1.4.4
deps: connect-timeout@~1.6.2
deps: debug@~2.2.0
deps: depd@~1.0.1
deps: errorhandler@~1.3.6
deps: finalhandler@0.3.6
deps: method-override@~2.3.3
deps: morgan@~1.5.3
deps: qs@2.4.2
deps: response-time@~2.3.1
deps: serve-favicon@~2.2.1
deps: serve-index@~1.6.4
deps: serve-static@~1.9.3
deps: type-is@~1.6.2
deps: debug@~2.2.0
deps: ms@0.7.1
deps: depd@~1.0.1
deps: proxy-addr@~1.0.8
deps: ipaddr.js@1.0.1
deps: send@0.12.3
deps: debug@~2.2.0
deps: depd@~1.0.1
deps: etag@~1.6.0
deps: ms@0.7.1
deps: on-finished@~2.2.1
3.20.2 / 2015-03-16
deps: connect@2.29.1
deps: body-parser@~1.12.2
deps: compression@~1.4.3
deps: connect-timeout@~1.6.1
deps: debug@~2.1.3
deps: errorhandler@~1.3.5
deps: express-session@~1.10.4
deps: finalhandler@0.3.4
deps: method-override@~2.3.2
deps: morgan@~1.5.2
deps: qs@2.4.1
deps: serve-index@~1.6.3
deps: serve-static@~1.9.2
deps: type-is@~1.6.1
deps: debug@~2.1.3
Fix high intensity foreground color for bold
deps: ms@0.7.0
deps: merge-descriptors@1.0.0
deps: proxy-addr@~1.0.7
deps: ipaddr.js@0.1.9
deps: send@0.12.2
Throw errors early for invalid
extensionsorindexoptionsdeps: debug@~2.1.3
3.20.1 / 2015-02-28
Fix
req.hostwhen using "trust proxy" hops countFix
req.protocol/req.securewhen using "trust proxy" hops count
3.20.0 / 2015-02-18
Fix
"trust proxy"setting to inherit when app is mountedGenerate
ETags for all request responsesNo longer restricted to only responses for
GETandHEADrequests
Use
content-typeto parseContent-Typeheadersdeps: connect@2.29.0
Use
content-typeto parseContent-Typeheadersdeps: body-parser@~1.12.0
deps: compression@~1.4.1
deps: connect-timeout@~1.6.0
deps: cookie-parser@~1.3.4
deps: cookie-signature@1.0.6
deps: csurf@~1.7.0
deps: errorhandler@~1.3.4
deps: express-session@~1.10.3
deps: http-errors@~1.3.1
deps: response-time@~2.3.0
deps: serve-index@~1.6.2
deps: serve-static@~1.9.1
deps: type-is@~1.6.0
deps: cookie-signature@1.0.6
deps: send@0.12.1
Always read the stat size from the file
Fix mutating passed-in
optionsdeps: mime@1.3.4
3.19.2 / 2015-02-01
deps: connect@2.28.3
deps: compression@~1.3.1
deps: csurf@~1.6.6
deps: errorhandler@~1.3.3
deps: express-session@~1.10.2
deps: serve-index@~1.6.1
deps: type-is@~1.5.6
deps: proxy-addr@~1.0.6
deps: ipaddr.js@0.1.8
3.19.1 / 2015-01-20
deps: connect@2.28.2
deps: body-parser@~1.10.2
deps: serve-static@~1.8.1
deps: send@0.11.1
Fix root path disclosure
3.19.0 / 2015-01-09
Fix
OPTIONSresponses to include theHEADmethod propertyUse
readlinefor prompt inexpress(1)deps: commander@2.6.0
deps: connect@2.28.1
deps: body-parser@~1.10.1
deps: compression@~1.3.0
deps: connect-timeout@~1.5.0
deps: csurf@~1.6.4
deps: debug@~2.1.1
deps: errorhandler@~1.3.2
deps: express-session@~1.10.1
deps: finalhandler@0.3.3
deps: method-override@~2.3.1
deps: morgan@~1.5.1
deps: serve-favicon@~2.2.0
deps: serve-index@~1.6.0
deps: serve-static@~1.8.0
deps: type-is@~1.5.5
deps: debug@~2.1.1
deps: methods@~1.1.1
deps: proxy-addr@~1.0.5
deps: ipaddr.js@0.1.6
deps: send@0.11.0
deps: debug@~2.1.1
deps: etag@~1.5.1
deps: ms@0.7.0
deps: on-finished@~2.2.0
3.18.6 / 2014-12-12
Fix exception in
req.fresh/req.stalewithout response headers
3.18.5 / 2014-12-11
deps: connect@2.27.6
deps: compression@~1.2.2
deps: express-session@~1.9.3
deps: http-errors@~1.2.8
deps: serve-index@~1.5.3
deps: type-is@~1.5.4
3.18.4 / 2014-11-23
deps: connect@2.27.4
deps: body-parser@~1.9.3
deps: compression@~1.2.1
deps: errorhandler@~1.2.3
deps: express-session@~1.9.2
deps: qs@2.3.3
deps: serve-favicon@~2.1.7
deps: serve-static@~1.5.1
deps: type-is@~1.5.3
deps: etag@~1.5.1
deps: proxy-addr@~1.0.4
deps: ipaddr.js@0.1.5
3.18.3 / 2014-11-09
deps: connect@2.27.3
Correctly invoke async callback asynchronously
deps: csurf@~1.6.3
3.18.2 / 2014-10-28
deps: connect@2.27.2
Fix handling of URLs containing
://in the pathdeps: body-parser@~1.9.2
deps: qs@2.3.2
3.18.1 / 2014-10-22
Fix internal
utils.mergedeprecation warningsdeps: connect@2.27.1
deps: body-parser@~1.9.1
deps: express-session@~1.9.1
deps: finalhandler@0.3.2
deps: morgan@~1.4.1
deps: qs@2.3.0
deps: serve-static@~1.7.1
deps: send@0.10.1
deps: on-finished@~2.1.1
3.18.0 / 2014-10-17
Use
content-dispositionmodule forres.attachment/res.downloadSends standards-compliant
Content-DispositionheaderFull Unicode support
Use
etagmodule to generateETagheadersdeps: connect@2.27.0
Use
http-errorsmodule for creating errorsUse
utils-mergemodule for merging objectsdeps: body-parser@~1.9.0
deps: compression@~1.2.0
deps: connect-timeout@~1.4.0
deps: debug@~2.1.0
deps: depd@~1.0.0
deps: express-session@~1.9.0
deps: finalhandler@0.3.1
deps: method-override@~2.3.0
deps: morgan@~1.4.0
deps: response-time@~2.2.0
deps: serve-favicon@~2.1.6
deps: serve-index@~1.5.0
deps: serve-static@~1.7.0
deps: debug@~2.1.0
Implement
DEBUG_FDenv variable support
deps: depd@~1.0.0
deps: send@0.10.0
deps: debug@~2.1.0
deps: depd@~1.0.0
deps: etag@~1.5.0
3.17.8 / 2014-10-15
deps: connect@2.26.6
deps: compression@~1.1.2
deps: csurf@~1.6.2
deps: errorhandler@~1.2.2
3.17.7 / 2014-10-08
deps: connect@2.26.5
Fix accepting non-object arguments to
loggerdeps: serve-static@~1.6.4
3.17.6 / 2014-10-02
deps: connect@2.26.4
deps: morgan@~1.3.2
deps: type-is@~1.5.2
3.17.5 / 2014-09-24
deps: connect@2.26.3
deps: body-parser@~1.8.4
deps: serve-favicon@~2.1.5
deps: serve-static@~1.6.3
deps: proxy-addr@~1.0.3
Use
forwardednpm module
deps: send@0.9.3
deps: etag@~1.4.0
3.17.4 / 2014-09-19
deps: connect@2.26.2
deps: body-parser@~1.8.3
deps: qs@2.2.4
3.17.3 / 2014-09-18
deps: proxy-addr@~1.0.2
Fix a global leak when multiple subnets are trusted
deps: ipaddr.js@0.1.3
3.17.2 / 2014-09-15
Use
crcinstead ofbuffer-crc32for speeddeps: connect@2.26.1
deps: body-parser@~1.8.2
deps: depd@0.4.5
deps: express-session@~1.8.2
deps: morgan@~1.3.1
deps: serve-favicon@~2.1.3
deps: serve-static@~1.6.2
deps: depd@0.4.5
deps: send@0.9.2
deps: depd@0.4.5
deps: etag@~1.3.1
deps: range-parser@~1.0.2
3.17.1 / 2014-09-08
Fix error in
req.subdomainson empty host
3.17.0 / 2014-09-08
Support
X-Forwarded-Hostinreq.subdomainsSupport IP address host in
req.subdomainsdeps: connect@2.26.0
deps: body-parser@~1.8.1
deps: compression@~1.1.0
deps: connect-timeout@~1.3.0
deps: cookie-parser@~1.3.3
deps: cookie-signature@1.0.5
deps: csurf@~1.6.1
deps: debug@~2.0.0
deps: errorhandler@~1.2.0
deps: express-session@~1.8.1
deps: finalhandler@0.2.0
deps: fresh@0.2.4
deps: media-typer@0.3.0
deps: method-override@~2.2.0
deps: morgan@~1.3.0
deps: qs@2.2.3
deps: serve-favicon@~2.1.3
deps: serve-index@~1.2.1
deps: serve-static@~1.6.1
deps: type-is@~1.5.1
deps: vhost@~3.0.0
deps: cookie-signature@1.0.5
deps: debug@~2.0.0
deps: fresh@0.2.4
deps: media-typer@0.3.0
Throw error when parameter format invalid on parse
deps: range-parser@~1.0.2
deps: send@0.9.1
Add
lastModifiedoptionUse
etagto generateETagheaderdeps: debug@~2.0.0
deps: fresh@0.2.4
deps: vary@~1.0.0
Accept valid
Varyheader string asfield
3.16.10 / 2014-09-04
deps: connect@2.25.10
deps: serve-static@~1.5.4
deps: send@0.8.5
Fix a path traversal issue when using
rootFix malicious path detection for empty string path
3.16.9 / 2014-08-29
deps: connect@2.25.9
deps: body-parser@~1.6.7
deps: qs@2.2.2
3.16.8 / 2014-08-27
deps: connect@2.25.8
deps: body-parser@~1.6.6
deps: csurf@~1.4.1
deps: qs@2.2.0
3.16.7 / 2014-08-18
deps: connect@2.25.7
deps: body-parser@~1.6.5
deps: express-session@~1.7.6
deps: morgan@~1.2.3
deps: serve-static@~1.5.3
deps: send@0.8.3
deps: destroy@1.0.3
deps: on-finished@2.1.0
3.16.6 / 2014-08-14
deps: connect@2.25.6
deps: body-parser@~1.6.4
deps: qs@1.2.2
deps: serve-static@~1.5.2
deps: send@0.8.2
Work around
fdleak in Node.js 0.10 forfs.ReadStream
3.16.5 / 2014-08-11
deps: connect@2.25.5
Fix backwards compatibility in
logger
3.16.4 / 2014-08-10
Fix original URL parsing in
res.locationdeps: connect@2.25.4
Fix
querymiddleware breaking with argumentdeps: body-parser@~1.6.3
deps: compression@~1.0.11
deps: connect-timeout@~1.2.2
deps: express-session@~1.7.5
deps: method-override@~2.1.3
deps: on-headers@~1.0.0
deps: parseurl@~1.3.0
deps: qs@1.2.1
deps: response-time@~2.0.1
deps: serve-index@~1.1.6
deps: serve-static@~1.5.1
deps: parseurl@~1.3.0
3.16.3 / 2014-08-07
deps: connect@2.25.3
deps: multiparty@3.3.2
3.16.2 / 2014-08-07
deps: connect@2.25.2
deps: body-parser@~1.6.2
deps: qs@1.2.0
3.16.1 / 2014-08-06
deps: connect@2.25.1
deps: body-parser@~1.6.1
deps: qs@1.1.0
3.16.0 / 2014-08-05
deps: connect@2.25.0
deps: body-parser@~1.6.0
deps: compression@~1.0.10
deps: csurf@~1.4.0
deps: express-session@~1.7.4
deps: qs@1.0.2
deps: serve-static@~1.5.0
deps: send@0.8.1
Add
extensionsoption
3.15.3 / 2014-08-04
fix
res.sendfileregression for serving directory index filesdeps: connect@2.24.3
deps: serve-index@~1.1.5
deps: serve-static@~1.4.4
deps: send@0.7.4
Fix incorrect 403 on Windows and Node.js 0.11
Fix serving index files without root dir
3.15.2 / 2014-07-27
deps: connect@2.24.2
deps: body-parser@~1.5.2
deps: depd@0.4.4
deps: express-session@~1.7.2
deps: morgan@~1.2.2
deps: serve-static@~1.4.2
deps: depd@0.4.4
Work-around v8 generating empty stack traces
deps: send@0.7.2
deps: depd@0.4.4
3.15.1 / 2014-07-26
deps: connect@2.24.1
deps: body-parser@~1.5.1
deps: depd@0.4.3
deps: express-session@~1.7.1
deps: morgan@~1.2.1
deps: serve-index@~1.1.4
deps: serve-static@~1.4.1
deps: depd@0.4.3
Fix exception when global
Error.stackTraceLimitis too low
deps: send@0.7.1
deps: depd@0.4.3
3.15.0 / 2014-07-22
Fix
req.protocolfor proxy-direct connectionsPass options from
res.sendfiletosenddeps: connect@2.24.0
deps: body-parser@~1.5.0
deps: compression@~1.0.9
deps: connect-timeout@~1.2.1
deps: debug@1.0.4
deps: depd@0.4.2
deps: express-session@~1.7.0
deps: finalhandler@0.1.0
deps: method-override@~2.1.2
deps: morgan@~1.2.0
deps: multiparty@3.3.1
deps: parseurl@~1.2.0
deps: serve-static@~1.4.0
deps: debug@1.0.4
deps: depd@0.4.2
Add
TRACE_DEPRECATIONenvironment variableRemove non-standard grey color from color output
Support
--no-deprecationargumentSupport
--trace-deprecationargument
deps: parseurl@~1.2.0
Cache URLs based on original value
Remove no-longer-needed URL mis-parse work-around
Simplify the "fast-path"
RegExp
deps: send@0.7.0
Add
dotfilesoptionCap
maxAgevalue to 1 yeardeps: debug@1.0.4
deps: depd@0.4.2
3.14.0 / 2014-07-11
add explicit "Rosetta Flash JSONP abuse" protection
previous versions are not vulnerable; this is just explicit protection
deprecate
res.redirect(url, status)-- useres.redirect(status, url)insteadfix
res.send(status, num)to sendnumas json (not error)remove unnecessary escaping when
res.jsonpreturns JSON responsedeps: basic-auth@1.0.0
support empty password
support empty username
deps: connect@2.23.0
deps: debug@1.0.3
deps: express-session@~1.6.4
deps: method-override@~2.1.0
deps: parseurl@~1.1.3
deps: serve-static@~1.3.1
deps: debug@1.0.3
Add support for multiple wildcards in namespaces
deps: methods@1.1.0
add
CONNECT
deps: parseurl@~1.1.3
faster parsing of href-only URLs
3.13.0 / 2014-07-03
add deprecation message to
app.configureadd deprecation message to
req.authuse
basic-authto parseAuthorizationheaderdeps: connect@2.22.0
deps: csurf@~1.3.0
deps: express-session@~1.6.1
deps: multiparty@3.3.0
deps: serve-static@~1.3.0
deps: send@0.5.0
Accept string for
maxage(converted byms)Include link in default redirect response
3.12.1 / 2014-06-26
deps: connect@2.21.1
deps: cookie-parser@1.3.2
deps: cookie-signature@1.0.4
deps: express-session@~1.5.2
deps: type-is@~1.3.2
deps: cookie-signature@1.0.4
fix for timing attacks
3.12.0 / 2014-06-21
use
media-typerto alter content-type charsetdeps: connect@2.21.0
deprecate
connect(middleware)-- useapp.use(middleware)insteaddeprecate
connect.createServer()-- useconnect()insteadfix
res.setHeader()patch to work with with get -> append -> set patterndeps: compression@~1.0.8
deps: errorhandler@~1.1.1
deps: express-session@~1.5.0
deps: serve-index@~1.1.3
3.11.0 / 2014-06-19
deprecate things with
depdmoduledeps: buffer-crc32@0.2.3
deps: connect@2.20.2
deprecate
verifyoption tojson-- usebody-parsernpm module insteaddeprecate
verifyoption tourlencoded-- usebody-parsernpm module insteaddeprecate things with
depdmoduleuse
finalhandlerfor final response handlinguse
media-typerto parsecontent-typefor charsetdeps: body-parser@1.4.3
deps: connect-timeout@1.1.1
deps: cookie-parser@1.3.1
deps: csurf@1.2.2
deps: errorhandler@1.1.0
deps: express-session@1.4.0
deps: multiparty@3.2.9
deps: serve-index@1.1.2
deps: type-is@1.3.1
deps: vhost@2.0.0
3.10.5 / 2014-06-11
deps: connect@2.19.6
deps: body-parser@1.3.1
deps: compression@1.0.7
deps: debug@1.0.2
deps: serve-index@1.1.1
deps: serve-static@1.2.3
deps: debug@1.0.2
deps: send@0.4.3
Do not throw uncatchable error on file open race condition
Use
escape-htmlfor HTML escapingdeps: debug@1.0.2
deps: finished@1.2.2
deps: fresh@0.2.2
3.10.4 / 2014-06-09
deps: connect@2.19.5
fix "event emitter leak" warnings
deps: csurf@1.2.1
deps: debug@1.0.1
deps: serve-static@1.2.2
deps: type-is@1.2.1
deps: debug@1.0.1
deps: send@0.4.2
fix "event emitter leak" warnings
deps: finished@1.2.1
deps: debug@1.0.1
3.10.3 / 2014-06-05
use
varymodule forres.varydeps: connect@2.19.4
deps: errorhandler@1.0.2
deps: method-override@2.0.2
deps: serve-favicon@2.0.1
deps: debug@1.0.0
3.10.2 / 2014-06-03
deps: connect@2.19.3
deps: compression@1.0.6
3.10.1 / 2014-06-03
deps: connect@2.19.2
deps: compression@1.0.4
deps: proxy-addr@1.0.1
3.10.0 / 2014-06-02
deps: connect@2.19.1
deprecate
methodOverride()-- usemethod-overridenpm module insteaddeps: 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
deps: methods@1.0.1
deps: send@0.4.1
Send
max-ageinCache-Controlin correct format
3.9.0 / 2014-05-30
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.sendETag as weak and reduce collisionsupdate 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
3.8.1 / 2014-05-27
update connect to 2.17.3
deps: body-parser@1.2.2
deps: express-session@1.2.1
deps: method-override@1.0.2
3.8.0 / 2014-05-21
keep previous
Content-Typeforres.jsonpset proper
charsetinContent-Typeforres.sendupdate connect to 2.17.1
fix
res.charsetappending charset whencontent-typehas onedeps: express-session@1.2.0
deps: morgan@1.1.1
deps: serve-index@1.0.3
3.7.0 / 2014-05-18
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.headersSentdeprecate
res.on("header")-- use on-headers module insteadfix edge-case in
res.appendHeaderthat would append in wrong orderjson: 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
3.6.0 / 2014-05-09
deprecate
app.del()-- useapp.delete()insteaddeprecate
res.json(obj, status)-- useres.json(status, obj)insteadthe edge-case
res.json(status, num)requiresres.status(status).json(num)
deprecate
res.jsonp(obj, status)-- useres.jsonp(status, obj)insteadthe edge-case
res.jsonp(status, num)requiresres.status(status).jsonp(num)
support PURGE method
add
app.purgeadd
router.purgeinclude PURGE in
app.all
update connect to 2.15.0
Add
res.appendHeaderCall error stack even when response has been sent
Patch
res.headerSentto return BooleanPatch
res.headersSentfor node.js 0.8Prevent default 404 handler after response sent
dep: compression@1.0.2
dep: connect-timeout@1.1.0
dep: debug@^0.8.0
dep: errorhandler@1.0.1
dep: express-session@1.0.4
dep: morgan@1.0.1
dep: serve-favicon@2.0.0
dep: serve-index@1.0.2
update debug to 0.8.0
add
enable()methodchange from stderr to stdout
update methods to 1.0.0
add PURGE
update mkdirp to 0.5.0
3.5.3 / 2014-05-08
fix
req.hostfor IPv6 literalsfix
res.jsonperror if callback param is object
3.5.2 / 2014-04-24
update connect to 2.14.5
update cookie to 0.1.2
update mkdirp to 0.4.0
update send to 0.3.0
3.5.1 / 2014-03-25
pin less-middleware in generated app
3.5.0 / 2014-03-06
bump deps
3.4.8 / 2014-01-13
prevent incorrect automatic OPTIONS responses #1868 @dpatti
update binary and examples for jade 1.0 #1876 @yossi, #1877 @reqshark, #1892 @matheusazzi
throw 400 in case of malformed paths @rlidwka
3.4.7 / 2013-12-10
update connect
3.4.6 / 2013-12-01
update connect (raw-body)
3.4.5 / 2013-11-27
update connect
res.location: remove leading ./ #1802 @kapouer
res.redirect: fix `res.redirect('toString') #1829 @michaelficarra
res.send: always send ETag when content-length > 0
router: add Router.all() method
3.4.4 / 2013-10-29
update connect
update supertest
update methods
express(1): replace bodyParser() with urlencoded() and json() #1795 @chirag04
3.4.3 / 2013-10-23
update connect
3.4.2 / 2013-10-18
update connect
downgrade commander
3.4.1 / 2013-10-15
update connect
update commander
jsonp: check if callback is a function
router: wrap encodeURIComponent in a try/catch #1735 (@lxe)
res.format: now includes charset @1747 (@sorribas)
res.links: allow multiple calls @1746 (@sorribas)
3.4.0 / 2013-09-07
add res.vary(). Closes #1682
update connect
3.3.8 / 2013-09-02
update connect
3.3.7 / 2013-08-28
update connect
3.3.6 / 2013-08-27
Revert "remove charset from json responses. Closes #1631" (causes issues in some clients)
add: req.accepts take an argument list
3.3.4 / 2013-07-08
update send and connect
3.3.3 / 2013-07-04
update connect
3.3.2 / 2013-07-03
update connect
update send
remove .version export
3.3.1 / 2013-06-27
update connect
3.3.0 / 2013-06-26
update connect
add support for multiple X-Forwarded-Proto values. Closes #1646
change: remove charset from json responses. Closes #1631
change: return actual booleans from req.accept* functions
fix jsonp callback array throw
3.2.6 / 2013-06-02
update connect
3.2.5 / 2013-05-21
update connect
update node-cookie
add: throw a meaningful error when there is no default engine
change generation of ETags with res.send() to GET requests only. Closes #1619
3.2.4 / 2013-05-09
fix
req.subdomainswhen no Host is presentfix
req.hostwhen no Host is present, return undefined
3.2.3 / 2013-05-07
update connect / qs
3.2.2 / 2013-05-03
update qs
3.2.1 / 2013-04-29
add app.VERB() paths array deprecation warning
update connect
update qs and remove all ~ semver crap
fix: accept number as value of Signed Cookie
3.2.0 / 2013-04-15
add "view" constructor setting to override view behaviour
add req.acceptsEncoding(name)
add req.acceptedEncodings
revert cookie signature change causing session race conditions
fix sorting of Accept values of the same quality
3.1.2 / 2013-04-12
add support for custom Accept parameters
update cookie-signature
3.1.1 / 2013-04-01
add X-Forwarded-Host support to
req.hostfix relative redirects
update mkdirp
update buffer-crc32
remove legacy app.configure() method from app template.
3.1.0 / 2013-01-25
add support for leading "." in "view engine" setting
add array support to
res.set()add node 0.8.x to travis.yml
add "subdomain offset" setting for tweaking
req.subdomainsadd
res.location(url)implementingres.redirect()-like setting of Locationuse app.get() for x-powered-by setting for inheritance
fix colons in passwords for
req.auth
3.0.6 / 2013-01-04
add http verb methods to Router
update connect
fix mangling of the
res.cookie()options objectfix jsonp whitespace escape. Closes #1132
3.0.5 / 2012-12-19
add throwing when a non-function is passed to a route
fix: explicitly remove Transfer-Encoding header from 204 and 304 responses
revert "add 'etag' option"
3.0.4 / 2012-12-05
add 'etag' option to disable
res.send()Etagsadd escaping of urls in text/plain in
res.redirect()for old browsers interpreting as htmlchange crc32 module for a more liberal license
update connect
3.0.3 / 2012-11-13
update connect
update cookie module
fix cookie max-age
3.0.2 / 2012-11-08
add OPTIONS to cors example. Closes #1398
fix route chaining regression. Closes #1397
3.0.1 / 2012-11-01
update connect
3.0.0 / 2012-10-23
add
make cleanadd "Basic" check to req.auth
add
req.authtest coverageadd cb && cb(payload) to
res.jsonp(). Closes #1374add backwards compat for
res.redirect()status. Closes #1336add support for
res.json()to retain previously defined Content-Types. Closes #1349update connect
change
res.redirect()to utilize a pathname-relative Location again. Closes #1382remove non-primitive string support for
res.send()fix view-locals example. Closes #1370
fix route-separation example
3.0.0rc5 / 2012-09-18
update connect
add redis search example
add static-files example
add "x-powered-by" setting (
app.disable('x-powered-by'))add "application/octet-stream" redirect Accept test case. Closes #1317
3.0.0rc4 / 2012-08-30
add
res.jsonp(). Closes #1307add "verbose errors" option to error-pages example
add another route example to express(1) so people are not so confused
add redis online user activity tracking example
update connect dep
fix etag quoting. Closes #1310
fix error-pages 404 status
fix jsonp callback char restrictions
remove old OPTIONS default response
3.0.0rc3 / 2012-08-13
update connect dep
fix signed cookies to work with
connect.cookieParser()("s:" prefix was missing) [tnydwrds]fix
res.render()clobbering of "locals"
3.0.0rc2 / 2012-08-03
add CORS example
update connect dep
deprecate
.createServer()& remove old stale examplesfix: escape
res.redirect()linkfix vhost example
3.0.0rc1 / 2012-07-24
add more examples to view-locals
add scheme-relative redirects (
res.redirect("//foo.com")) supportupdate cookie dep
update connect dep
update send dep
fix
express(1)-h flag, use -H for hogan. Closes #1245fix
res.sendfile()socket error handling regression
3.0.0beta7 / 2012-07-16
update connect dep for
send()root normalization regression
3.0.0beta6 / 2012-07-13
add
err.viewproperty for view errors. Closes #1226add "jsonp callback name" setting
add support for "/foo/:bar*" non-greedy matches
change
res.sendfile()to usesend()modulechange
res.sendto use "response-send" moduleremove
app.locals.useandres.locals.use, use regular middleware
3.0.0beta5 / 2012-07-03
add "make check" support
add route-map example
add
res.json(obj, status)support back for BCadd "methods" dep, remove internal methods module
update connect dep
update auth example to utilize cores pbkdf2
updated tests to use "supertest"
3.0.0beta4 / 2012-06-25
Added
req.authAdded
req.range(size)Added
res.links(obj)Added
res.send(body, status)support back for backwards compatAdded
.default()support tores.format()Added 2xx / 304 check to
req.freshRevert "Added + support to the router"
Fixed
res.send()freshness check, respect res.statusCode
3.0.0beta3 / 2012-06-15
Added hogan
--hjsto express(1) [nullfirm]Added another example to content-negotiation
Added
freshdepChanged:
res.send()always checks freshnessFixed: expose connects mime module. Closes #1165
3.0.0beta2 / 2012-06-06
Added
+support to the routerAdded
req.hostChanged
req.param()to check route firstUpdate connect dep
3.0.0beta1 / 2012-06-01
Added
res.format()callback to override default 406 behaviourFixed
res.redirect()406. Closes #1154
3.0.0alpha5 / 2012-05-30
Added
req.ipAdded
{ signed: true }option tores.cookie()Removed
res.signedCookie()Changed: dont reverse
req.ipsFixed "trust proxy" setting check for
req.ips
3.0.0alpha4 / 2012-05-09
Added: allow
[]in jsonp callback. Closes #1128Added
PORTenv var support in generated template. Closes #1118 [benatkin]Updated: connect 2.2.2
3.0.0alpha3 / 2012-05-04
Added public
app.routes. Closes #887Added view-locals example
Added mvc example
Added
res.locals.use(). Closes #1120Added conditional-GET support to
res.send()Added: coerce
res.set()values to stringsChanged: moved
static()in generated apps below routerChanged:
res.send()only set ETag when not previously setChanged connect 2.2.1 dep
Changed:
make testnow runs unit / acceptance testsFixed req/res proto inheritance
3.0.0alpha2 / 2012-04-26
Added
make benchmarkbackAdded
res.send()support forStringobjectsAdded client-side data exposing example
Added
res.header()andreq.header()aliases for BCAdded
express.createServer()for BCPerf: memoize parsed urls
Perf: connect 2.2.0 dep
Changed: make
expressInit()middleware self-awareFixed: use app.get() for all core settings
Fixed redis session example
Fixed session example. Closes #1105
Fixed generated express dep. Closes #1078
3.0.0alpha1 / 2012-04-15
Added
app.locals.use(callback)Added
app.localsobjectAdded
app.locals(obj)Added
res.localsobjectAdded
res.locals(obj)Added
res.format()for content-negotiationAdded
app.engine()Added
res.cookie()JSON cookie supportAdded "trust proxy" setting
Added
req.subdomainsAdded
req.protocolAdded
req.secureAdded
req.pathAdded
req.ipsAdded
req.freshAdded
req.staleAdded comma-delimited / array support for
req.accepts()Added debug instrumentation
Added
res.set(obj)Added
res.set(field, value)Added
res.get(field)Added
app.get(setting). Closes #842Added
req.acceptsLanguage()Added
req.acceptsCharset()Added
req.acceptedAdded
req.acceptedLanguagesAdded
req.acceptedCharsetsAdded "json replacer" setting
Added "json spaces" setting
Added X-Forwarded-Proto support to
res.redirect(). Closes #92Added
--lesssupport to express(1)Added
express.responseprototypeAdded
express.requestprototypeAdded
express.applicationprototypeAdded
app.path()Added
app.render()Added
res.type()to replaceres.contentType()Changed:
res.redirect()to add relative supportChanged: enable "jsonp callback" by default
Changed: renamed "case sensitive routes" to "case sensitive routing"
Rewrite of all tests with mocha
Removed "root" setting
Removed
res.redirect('home')supportRemoved
req.notify()Removed
app.register()Removed
app.redirect()Removed
app.is()Removed
app.helpers()Removed
app.dynamicHelpers()Fixed
res.sendfile()with non-GET. Closes #723Fixed express(1) public dir for windows. Closes #866
2.5.9/ 2012-04-02
Added support for PURGE request method [pbuyle]
Fixed
express(1)generated appapp.address()beforelistening[mmalecki]
2.5.8 / 2012-02-08
Update mkdirp dep. Closes #991
2.5.7 / 2012-02-06
Fixed
app.allduplicate DELETE requests [mscdex]
2.5.6 / 2012-01-13
Updated hamljs dev dep. Closes #953
2.5.5 / 2012-01-08
Fixed: set
filenameon cached templates [matthewleon]
2.5.4 / 2012-01-02
Fixed
express(1)eol on 0.4.x. Closes #947
2.5.3 / 2011-12-30
Fixed
req.is()when a charset is present
2.5.2 / 2011-12-10
Fixed: express(1) LF -> CRLF for windows
2.5.1 / 2011-11-17
Changed: updated connect to 1.8.x
Removed sass.js support from express(1)
2.5.0 / 2011-10-24
Added ./routes dir for generated app by default
Added npm install reminder to express(1) app gen
Added 0.5.x support
Removed
make test-covsince it wont work with node 0.5.xFixed express(1) public dir for windows. Closes #866
2.4.7 / 2011-10-05
Added mkdirp to express(1). Closes #795
Added simple json-config example
Added shorthand for the parsed request's pathname via
req.pathChanged connect dep to 1.7.x to fix npm issue...
Fixed
res.redirect()HEAD support. [reported by xerox]Fixed
req.flash(), only escape argsFixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie]
2.4.6 / 2011-08-22
Fixed multiple param callback regression. Closes #824 [reported by TroyGoode]
2.4.5 / 2011-08-19
Added support for routes to handle errors. Closes #809
Added
app.routes.all(). Closes #803Added "basepath" setting to work in conjunction with reverse proxies etc.
Refactored
Routeto use a single array of callbacksAdded support for multiple callbacks for
app.param(). Closes #801 Closes #805Changed: removed .call(self) for route callbacks
Dependency:
qs >= 0.3.1Fixed
res.redirect()on windows due tojoin()usage. Closes #808
2.4.4 / 2011-08-05
Fixed
res.header()intention of a set, even whenundefinedFixed
*, value no longer requiredFixed
res.send(204)support. Closes #771
2.4.3 / 2011-07-14
Added docs for
statusoption special-case. Closes #739Fixed
options.filename, exposing the view path to template engines
2.4.2. / 2011-07-06
Revert "removed jsonp stripping" for XSS
2.4.1 / 2011-07-06
Added
res.json()JSONP support. Closes #737Added extending-templates example. Closes #730
Added "strict routing" setting for trailing slashes
Added support for multiple envs in
app.configure()calls. Closes #735Changed:
res.send()usingres.json()Changed: when cookie
path === nulldon't default itChanged; default cookie path to "home" setting. Closes #731
Removed pids/logs creation from express(1)
2.4.0 / 2011-06-28
Added chainable
res.status(code)Added
res.json(), an explicit version ofres.send(obj)Added simple web-service example
2.3.12 / 2011-06-22
#express is now on freenode! come join!
Added
req.get(field, param)Added links to Japanese documentation, thanks @hideyukisaito!
Added; the
express(1)generated app outputs the envAdded
content-negotiationexampleDependency: connect >= 1.5.1 < 2.0.0
Fixed view layout bug. Closes #720
Fixed; ignore body on 304. Closes #701
2.3.11 / 2011-06-04
Added
npm testRemoved generation of dummy test file from
express(1)Fixed;
express(1)adds express as a depFixed; prune on
prepublish
2.3.10 / 2011-05-27
Added
req.route, exposing the current routeAdded package.json generation support to
express(1)Fixed call to
app.param()function for optional params. Closes #682
2.3.9 / 2011-05-25
Fixed bug-ish with
../' inres.partial()` calls
2.3.8 / 2011-05-24
Fixed
app.options()
2.3.7 / 2011-05-23
Added route
Collection, ex:app.get('/user/:id').remove();Added support for
app.param(fn)to define param logicRemoved
app.param()support for callback with return valueRemoved module.parent check from express(1) generated app. Closes #670
Refactored router. Closes #639
2.3.6 / 2011-05-20
Changed; using devDependencies instead of git submodules
Fixed redis session example
Fixed markdown example
Fixed view caching, should not be enabled in development
2.3.5 / 2011-05-20
Added export
.viewas alias for.View
2.3.4 / 2011-05-08
Added
./examples/sayFixed
res.sendfile()bug preventing the transfer of files with spaces
2.3.3 / 2011-05-03
Added "case sensitive routes" option.
Changed; split methods supported per rfc [slaskis]
Fixed route-specific middleware when using the same callback function several times
2.3.2 / 2011-04-27
Fixed view hints
2.3.1 / 2011-04-26
Added
app.match()asapp.match.all()Added
app.lookup()asapp.lookup.all()Added
app.remove()forapp.remove.all()Added
app.remove.VERB()Fixed template caching collision issue. Closes #644
Moved router over from connect and started refactor
2.3.0 / 2011-04-25
Added options support to
res.clearCookie()Added
res.helpers()as alias ofres.locals()Added; json defaults to UTF-8 with
res.send(). Closes #632. [Daniel * Dependencyconnect >= 1.4.0Changed; auto set Content-Type in res.attachement [Aaron Heckmann]
Renamed "cache views" to "view cache". Closes #628
Fixed caching of views when using several apps. Closes #637
Fixed gotcha invoking
app.param()callbacks once per route middleware. Closes #638Fixed partial lookup precedence. Closes #631 Shaw]
2.2.2 / 2011-04-12
Added second callback support for
res.download()connection errorsFixed
filenameoption passing to template engine
2.2.1 / 2011-04-04
Added
layout(path)helper to change the layout within a view. Closes #610Fixed
partial()collection object support. Previously only anything with.lengthwould work. When.lengthis present one must still be aware of holes, however now{ collection: {foo: 'bar'}}is valid, exposeskeyInCollectionandkeysInCollection.Performance improved with better view caching
Removed
requestandresponselocalsChanged; errorHandler page title is now
Expressinstead ofConnect
2.2.0 / 2011-03-30
Added
app.lookup.VERB(), exapp.lookup.put('/user/:id'). Closes #606Added
app.match.VERB(), exapp.match.put('/user/12'). Closes #606Added
app.VERB(path)as alias ofapp.lookup.VERB().Dependency
connect >= 1.2.0
2.1.1 / 2011-03-29
Added; expose
err.viewobject when failing to locate a viewFixed
res.partial()callnext(err)when no callback is given [reported by aheckmann]Fixed;
res.send(undefined)responds with 204 [aheckmann]
2.1.0 / 2011-03-24
Added
<root>/_?<name>partial lookup support. Closes #447Added
request,response, andapplocal variablesAdded
settingslocal variable, containing the app's settingsAdded
req.flash()exception ifreq.sessionis not availableAdded
res.send(bool)support (json response)Fixed stylus example for latest version
Fixed; wrap try/catch around
res.render()
2.0.0 / 2011-03-17
Fixed up index view path alternative.
Changed;
res.locals()without object returns the locals
2.0.0rc3 / 2011-03-17
Added
res.locals(obj)to complimentres.local(key, val)Added
res.partial()callback supportFixed recursive error reporting issue in
res.render()
2.0.0rc2 / 2011-03-17
Changed;
partial()"locals" are now optionalFixed
SlowBuffersupport. Closes #584 [reported by tyrda01]Fixed .filename view engine option [reported by drudge]
Fixed blog example
Fixed
{req,res}.appreference when mounting [Ben Weaver]
2.0.0rc / 2011-03-14
Fixed; expose
HTTPSServerconstructorFixed express(1) default test charset. Closes #579 [reported by secoif]
Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP]
2.0.0beta3 / 2011-03-09
Added support for
res.contentType()literal The originalres.contentType('.json'),res.contentType('application/json'), andres.contentType('json')will work now.Added
res.render()status option support backAdded charset option for
res.render()Added
.charsetsupport (via connect 1.0.4)Added view resolution hints when in development and a lookup fails
Added layout lookup support relative to the page view. For example while rendering
./views/user/index.jadeif you create./views/user/layout.jadeit will be used in favour of the root layout.Fixed
res.redirect(). RFC states absolute url [reported by unlink]Fixed; default
res.send()string charset to utf8Removed
Partialconstructor (not currently used)
2.0.0beta2 / 2011-03-07
Added res.render()
.localssupport back to aid in migration processFixed flash example
2.0.0beta / 2011-03-03
Added HTTPS support
Added
res.cookie()maxAge supportAdded
req.header()Referrer / Referer special-case, either worksAdded mount support for
res.redirect(), now respects the mount-pointAdded
union()util, taking place ofmerge(clone())comboAdded stylus support to express(1) generated app
Added secret to session middleware used in examples and generated app
Added
res.local(name, val)for progressive view localsAdded default param support to
req.param(name, default)Added
app.disabled()andapp.enabled()Added
app.register()support for omitting leading ".", either worksAdded
res.partial(), using the same interface aspartial()within a view. Closes #539Added
app.param()to map route params to async/sync logicAdded; aliased
app.helpers()asapp.locals(). Closes #481Added extname with no leading "." support to
res.contentType()Added
cache viewssetting, defaulting to enabled in "production" envAdded index file partial resolution, eg: partial('user') may try views/user/index.jade.
Added
req.accepts()support for extensionsChanged;
res.download()andres.sendfile()now utilize Connect's static file serverconnect.static.send().Changed; replaced
connect.utils.mime()with npm mime moduleChanged; allow
req.queryto be pre-defined (via middleware or other parentChanged view partial resolution, now relative to parent view
Changed view engine signature. no longer
engine.render(str, options, callback), nowengine.compile(str, options) -> Function, the returned function acceptsfn(locals).Fixed
req.param()bug returning Array.prototype methods. Closes #552Fixed; using
Stream#pipe()instead ofsys.pump()inres.sendfile()Fixed; using qs module instead of querystring
Fixed; strip unsafe chars from jsonp callbacks
Removed "stream threshold" setting
1.0.8 / 2011-03-01
Allow
req.queryto be pre-defined (via middleware or other parent app)"connect": ">= 0.5.0 < 1.0.0". Closes #547
Removed the long deprecated EXPRESS_ENV support
1.0.7 / 2011-02-07
Fixed
render()setting inheritance. Mounted apps would not inherit "view engine"
1.0.6 / 2011-02-07
Fixed
view enginesetting bug when period is in dirname
1.0.5 / 2011-02-05
Added secret to generated app
session()call
1.0.4 / 2011-02-05
Added
qsdependency to package.jsonFixed namespaced
require()s for latest connect support
1.0.3 / 2011-01-13
Remove unsafe characters from JSONP callback names [Ryan Grove]
1.0.2 / 2011-01-10
Removed nested require, using
connect.router
1.0.1 / 2010-12-29
Fixed for middleware stacked via
createServer()previously thefoomiddleware passed tocreateServer(foo)would not have access to Express methods such asres.send()or props likereq.queryetc.
1.0.0 / 2010-11-16
Added; deduce partial object names from the last segment. For example by default
partial('forum/post', postObject)will give you the post object, providing a meaningful default.Added http status code string representation to
res.redirect()bodyAdded;
res.redirect()supporting text/plain and text/html via Accept.Added
req.is()to aid in content negotiationAdded partial local inheritance [suggested by masylum]. Closes #102 providing access to parent template locals.
Added -s, --session[s] flag to express(1) to add session related middleware
Added --template flag to express(1) to specify the template engine to use.
Added --css flag to express(1) to specify the stylesheet engine to use (or just plain css by default).
Added
app.all()support [thanks aheckmann]Added partial direct object support. You may now
partial('user', user)providing the "user" local, vs previouslypartial('user', { object: user }).Added route-separation example since many people question ways to do this with CommonJS modules. Also view the blog example for an alternative.
Performance; caching view path derived partial object names
Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454
Fixed jsonp support; text/javascript as per mailinglist discussion
1.0.0rc4 / 2010-10-14
Added NODE_ENV support, EXPRESS_ENV is deprecated and will be removed in 1.0.0
Added route-middleware support (very helpful, see the docs)
Added jsonp callback setting to enable/disable jsonp autowrapping [Dav Glass]
Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass]
Added
partial()support for array-like collections. Closes #434Added support for swappable querystring parsers
Added session usage docs. Closes #443
Added dynamic helper caching. Closes #439 [suggested by maritz]
Added authentication example
Added basic Range support to
res.sendfile()(andres.download()etc)Changed;
express(1)generated app using 2 spaces instead of 4Default env to "development" again [aheckmann]
Removed context option is no more, use "scope"
Fixed; exposing ./support libs to examples so they can run without installs
Fixed mvc example
1.0.0rc3 / 2010-09-20
Added confirmation for
express(1)app generation. Closes #391Added extending of flash formatters via
app.flashFormattersAdded flash formatter support. Closes #411
Added streaming support to
res.sendfile()usingsys.pump()when >= "stream threshold"Added stream threshold setting for
res.sendfile()Added
res.send()HEAD supportAdded
res.clearCookie()Added
res.cookie()Added
res.render()headers optionAdded
res.redirect()response bodiesAdded
res.render()status option support. Closes #425 [thanks aheckmann]Fixed
res.sendfile()responding with 403 on malicious pathFixed
res.download()bug; when an error occurs remove Content-DispositionFixed; mounted apps settings now inherit from parent app [aheckmann]
Fixed; stripping Content-Length / Content-Type when 204
Fixed
res.send()204. Closes #419Fixed multiple Set-Cookie headers via
res.header(). Closes #402Fixed bug messing with error handlers when
listenFD()is called instead oflisten(). [thanks guillermo]
1.0.0rc2 / 2010-08-17
Added
app.register()for template engine mapping. Closes #390Added
res.render()callback support as second argument (no options)Added callback support to
res.download()Added callback support for
res.sendfile()Added support for middleware access via
express.middlewareName()vsconnect.middlewareName()Added "partials" setting to docs
Added default expresso tests to
express(1)generated app. Closes #384Fixed
res.sendfile()error handling, defer vianext()Fixed
res.render()callback when a layout is used [thanks guillermo]Fixed;
make installcreating ~/.node_libraries when not presentFixed issue preventing error handlers from being defined anywhere. Closes #387
1.0.0rc / 2010-07-28
Added mounted hook. Closes #369
Added connect dependency to package.json
Removed "reload views" setting and support code development env never caches, production always caches.
Removed param in route callbacks, signature is now simply (req, res, next), previously (req, res, params, next). Use req.params for path captures, req.query for GET params.
Fixed "home" setting
Fixed middleware/router precedence issue. Closes #366
Fixed; configure() callbacks called immediately. Closes #368
1.0.0beta2 / 2010-07-23
Added more examples
Added; exporting
ServerconstructorAdded
Server#helpers()for view localsAdded
Server#dynamicHelpers()for dynamic view locals. Closes #349Added support for absolute view paths
Added; home setting defaults to
Server#routefor mounted apps. Closes #363Added Guillermo Rauch to the contributor list
Added support for "as" for non-collection partials. Closes #341
Fixed install.sh, ensuring ~/.node_libraries exists. Closes #362 [thanks jf]
Fixed
res.render()exceptions, now passed tonext()when no callback is given [thanks guillermo]Fixed instanceof
Arraychecks, nowArray.isArray()Fixed express(1) expansion of public dirs. Closes #348
Fixed middleware precedence. Closes #345
Fixed view watcher, now async [thanks aheckmann]
1.0.0beta / 2010-07-15
Re-write
much faster
much lighter
Check ExpressJS.com for migration guide and updated docs
0.14.0 / 2010-06-15
Utilize relative requires
Added Static bufferSize option [aheckmann]
Fixed caching of view and partial subdirectories [aheckmann]
Fixed mime.type() comments now that ".ext" is not supported
Updated haml submodule
Updated class submodule
Removed bin/express
0.13.0 / 2010-06-01
Added node v0.1.97 compatibility
Added support for deleting cookies via Request#cookie('key', null)
Updated haml submodule
Fixed not-found page, now using using charset utf-8
Fixed show-exceptions page, now using using charset utf-8
Fixed view support due to fs.readFile Buffers
Changed; mime.type() no longer accepts ".type" due to node extname() changes
0.12.0 / 2010-05-22
Added node v0.1.96 compatibility
Added view
helpersexport which act as additional local variablesUpdated haml submodule
Changed ETag; removed inode, modified time only
Fixed LF to CRLF for setting multiple cookies
Fixed cookie compilation; values are now urlencoded
Fixed cookies parsing; accepts quoted values and url escaped cookies
0.11.0 / 2010-05-06
Added support for layouts using different engines
this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' })
this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml'
this.render('page.html.haml', { layout: false }) // no layout
Updated ext submodule
Updated haml submodule
Fixed EJS partial support by passing along the context. Issue #307
0.10.1 / 2010-05-03
Fixed binary uploads.
0.10.0 / 2010-04-30
Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s encoding is set to 'utf8' or 'utf-8'.
Added "encoding" option to Request#render(). Closes #299
Added "dump exceptions" setting, which is enabled by default.
Added simple ejs template engine support
Added error response support for text/plain, application/json. Closes #297
Added callback function param to Request#error()
Added Request#sendHead()
Added Request#stream()
Added support for Request#respond(304, null) for empty response bodies
Added ETag support to Request#sendfile()
Added options to Request#sendfile(), passed to fs.createReadStream()
Added filename arg to Request#download()
Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request
Performance enhanced by preventing several calls to toLowerCase() in Router#match()
Changed; Request#sendfile() now streams
Changed; Renamed Request#halt() to Request#respond(). Closes #289
Changed; Using sys.inspect() instead of JSON.encode() for error output
Changed; run() returns the http.Server instance. Closes #298
Changed; Defaulting Server#host to null (INADDR_ANY)
Changed; Logger "common" format scale of 0.4f
Removed Logger "request" format
Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found
Fixed several issues with http client
Fixed Logger Content-Length output
Fixed bug preventing Opera from retaining the generated session id. Closes #292
0.9.0 / 2010-04-14
Added DSL level error() route support
Added DSL level notFound() route support
Added Request#error()
Added Request#notFound()
Added Request#render() callback function. Closes #258
Added "max upload size" setting
Added "magic" variables to collection partials (__index__, __length__, __isFirst__, __isLast__). Closes #254
Added haml.js submodule; removed haml-js
Added callback function support to Request#halt() as 3rd/4th arg
Added preprocessing of route param wildcards using param(). Closes #251
Added view partial support (with collections etc)
Fixed bug preventing falsey params (such as ?page=0). Closes #286
Fixed setting of multiple cookies. Closes #199
Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml)
Changed; session cookie is now httpOnly
Changed; Request is no longer global
Changed; Event is no longer global
Changed; "sys" module is no longer global
Changed; moved Request#download to Static plugin where it belongs
Changed; Request instance created before body parsing. Closes #262
Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253
Changed; Pre-caching view partials in memory when "cache view partials" is enabled
Updated support to node --version 0.1.90
Updated dependencies
Removed set("session cookie") in favour of use(Session, { cookie: { ... }})
Removed utils.mixin(); use Object#mergeDeep()
0.8.0 / 2010-03-19
Added coffeescript example app. Closes #242
Changed; cache api now async friendly. Closes #240
Removed deprecated 'express/static' support. Use 'express/plugins/static'
0.7.6 / 2010-03-19
Added Request#isXHR. Closes #229
Added
make install(for the executable)Added
expressexecutable for setting up simple app templatesAdded "GET /public/*" to Static plugin, defaulting to /public
Added Static plugin
Fixed; Request#render() only calls cache.get() once
Fixed; Namespacing View caches with "view:"
Fixed; Namespacing Static caches with "static:"
Fixed; Both example apps now use the Static plugin
Fixed set("views"). Closes #239
Fixed missing space for combined log format
Deprecated Request#sendfile() and 'express/static'
Removed Server#running
0.7.5 / 2010-03-16
Added Request#flash() support without args, now returns all flashes
Updated ext submodule
0.7.4 / 2010-03-16
Fixed session reaper
Changed; class.js replacing js-oo Class implementation (quite a bit faster, no browser cruft)
0.7.3 / 2010-03-16
Added package.json
Fixed requiring of haml / sass due to kiwi removal
0.7.2 / 2010-03-16
Fixed GIT submodules (HAH!)
0.7.1 / 2010-03-16
Changed; Express now using submodules again until a PM is adopted
Changed; chat example using millisecond conversions from ext
0.7.0 / 2010-03-15
Added Request#pass() support (finds the next matching route, or the given path)
Added Logger plugin (default "common" format replaces CommonLogger)
Removed Profiler plugin
Removed CommonLogger plugin
0.6.0 / 2010-03-11
Added seed.yml for kiwi package management support
Added HTTP client query string support when method is GET. Closes #205
Added support for arbitrary view engines. For example "foo.engine.html" will now require('engine'), the exports from this module are cached after the first require().
Added async plugin support
Removed usage of RESTful route funcs as http client get() etc, use http.get() and friends
Removed custom exceptions
0.5.0 / 2010-03-10
Added ext dependency (library of js extensions)
Removed extname() / basename() utils. Use path module
Removed toArray() util. Use arguments.values
Removed escapeRegexp() util. Use RegExp.escape()
Removed process.mixin() dependency. Use utils.mixin()
Removed Collection
Removed ElementCollection
Shameless self promotion of ebook "Advanced JavaScript" (http://dev-mag.com) ;)
0.4.0 / 2010-02-11
Added flash() example to sample upload app
Added high level restful http client module (express/http)
Changed; RESTful route functions double as HTTP clients. Closes #69
Changed; throwing error when routes are added at runtime
Changed; defaulting render() context to the current Request. Closes #197
Updated haml submodule
0.3.0 / 2010-02-11
Updated haml / sass submodules. Closes #200
Added flash message support. Closes #64
Added accepts() now allows multiple args. fixes #117
Added support for plugins to halt. Closes #189
Added alternate layout support. Closes #119
Removed Route#run(). Closes #188
Fixed broken specs due to use(Cookie) missing
0.2.1 / 2010-02-05
Added "plot" format option for Profiler (for gnuplot processing)
Added request number to Profiler plugin
Fixed binary encoding for multipart file uploads, was previously defaulting to UTF8
Fixed issue with routes not firing when not files are present. Closes #184
Fixed process.Promise -> events.Promise
0.2.0 / 2010-02-03
Added parseParam() support for name[] etc. (allows for file inputs with "multiple" attr) Closes #180
Added Both Cache and Session option "reapInterval" may be "reapEvery". Closes #174
Added expiration support to cache api with reaper. Closes #133
Added cache Store.Memory#reap()
Added Cache; cache api now uses first class Cache instances
Added abstract session Store. Closes #172
Changed; cache Memory.Store#get() utilizing Collection
Renamed MemoryStore -> Store.Memory
Fixed use() of the same plugin several time will always use latest options. Closes #176
0.1.0 / 2010-02-03
Changed; Hooks (before / after) pass request as arg as well as evaluated in their context
Updated node support to 0.1.27 Closes #169
Updated dirname(__filename) -> __dirname
Updated libxmljs support to v0.2.0
Added session support with memory store / reaping
Added quick uid() helper
Added multi-part upload support
Added Sass.js support / submodule
Added production env caching view contents and static files
Added static file caching. Closes #136
Added cache plugin with memory stores
Added support to StaticFile so that it works with non-textual files.
Removed dirname() helper
Removed several globals (now their modules must be required)
0.0.2 / 2010-01-10
Added view benchmarks; currently haml vs ejs
Added Request#attachment() specs. Closes #116
Added use of node's parseQuery() util. Closes #123
Added
make initfor submodulesUpdated Haml
Updated sample chat app to show messages on load
Updated libxmljs parseString -> parseHtmlString
Fixed
make initto work with older versions of gitFixed specs can now run independent specs for those who can't build deps. Closes #127
Fixed issues introduced by the node url module changes. Closes 126.
Fixed two assertions failing due to Collection#keys() returning strings
Fixed faulty Collection#toArray() spec due to keys() returning strings
Fixed
make testnow builds libxmljs.node before testing
0.0.1 / 2010-01-03
Initial release
Last updated
Was this helpful?