arnaucube
arnaucube/socketioMEANseedPublic Self-hosted repository
socketioMEANseed/server/node_modules/express/History.md
server/node_modules/express/History.mdRaw
   14.10.2 / 2014-11-09
   2===================
   3
   4  * Correctly invoke async router callback asynchronously
   5  * deps: accepts@~1.1.3
   6    - deps: mime-types@~2.0.3
   7  * deps: type-is@~1.5.3
   8    - deps: mime-types@~2.0.3
   9
  104.10.1 / 2014-10-28
  11===================
  12
  13  * Fix handling of URLs containing `://` in the path
  14  * deps: qs@2.3.2
  15    - Fix parsing of mixed objects and values
  16
  174.10.0 / 2014-10-23
  18===================
  19
  20  * Add support for `app.set('views', array)`
  21    - Views are looked up in sequence in array of directories
  22  * Fix `res.send(status)` to mention `res.sendStatus(status)`
  23  * Fix handling of invalid empty URLs
  24  * Use `content-disposition` module for `res.attachment`/`res.download`
  25    - Sends standards-compliant `Content-Disposition` header
  26    - Full Unicode support
  27  * Use `path.resolve` in view lookup
  28  * deps: debug@~2.1.0
  29    - Implement `DEBUG_FD` env variable support
  30  * deps: depd@~1.0.0
  31  * deps: etag@~1.5.0
  32    - Improve string performance
  33    - Slightly improve speed for weak ETags over 1KB
  34  * deps: finalhandler@0.3.2
  35    - Terminate in progress response only on error
  36    - Use `on-finished` to determine request status
  37    - deps: debug@~2.1.0
  38    - deps: on-finished@~2.1.1
  39  * deps: on-finished@~2.1.1
  40    - Fix handling of pipelined requests
  41  * deps: qs@2.3.0
  42    - Fix parsing of mixed implicit and explicit arrays
  43  * deps: send@0.10.1
  44    - deps: debug@~2.1.0
  45    - deps: depd@~1.0.0
  46    - deps: etag@~1.5.0
  47    - deps: on-finished@~2.1.1
  48  * deps: serve-static@~1.7.1
  49    - deps: send@0.10.1
  50
  514.9.8 / 2014-10-17
  52==================
  53
  54  * Fix `res.redirect` body when redirect status specified
  55  * deps: accepts@~1.1.2
  56    - Fix error when media type has invalid parameter
  57    - deps: negotiator@0.4.9
  58
  594.9.7 / 2014-10-10
  60==================
  61
  62  * Fix using same param name in array of paths
  63
  644.9.6 / 2014-10-08
  65==================
  66
  67  * deps: accepts@~1.1.1
  68    - deps: mime-types@~2.0.2
  69    - deps: negotiator@0.4.8
  70  * deps: serve-static@~1.6.4
  71    - Fix redirect loop when index file serving disabled
  72  * deps: type-is@~1.5.2
  73    - deps: mime-types@~2.0.2
  74
  754.9.5 / 2014-09-24
  76==================
  77
  78  * deps: etag@~1.4.0
  79  * deps: proxy-addr@~1.0.3
  80    - Use `forwarded` npm module
  81  * deps: send@0.9.3
  82    - deps: etag@~1.4.0
  83  * deps: serve-static@~1.6.3
  84    - deps: send@0.9.3
  85
  864.9.4 / 2014-09-19
  87==================
  88
  89  * deps: qs@2.2.4
  90    - Fix issue with object keys starting with numbers truncated
  91
  924.9.3 / 2014-09-18
  93==================
  94
  95  * deps: proxy-addr@~1.0.2
  96    - Fix a global leak when multiple subnets are trusted
  97    - deps: ipaddr.js@0.1.3
  98
  994.9.2 / 2014-09-17
 100==================
 101
 102  * Fix regression for empty string `path` in `app.use`
 103  * Fix `router.use` to accept array of middleware without path
 104  * Improve error message for bad `app.use` arguments
 105
 1064.9.1 / 2014-09-16
 107==================
 108
 109  * Fix `app.use` to accept array of middleware without path
 110  * deps: depd@0.4.5
 111  * deps: etag@~1.3.1
 112  * deps: send@0.9.2
 113    - deps: depd@0.4.5
 114    - deps: etag@~1.3.1
 115    - deps: range-parser@~1.0.2
 116  * deps: serve-static@~1.6.2
 117    - deps: send@0.9.2
 118
 1194.9.0 / 2014-09-08
 120==================
 121
 122  * Add `res.sendStatus`
 123  * Invoke callback for sendfile when client aborts
 124    - Applies to `res.sendFile`, `res.sendfile`, and `res.download`
 125    - `err` will be populated with request aborted error
 126  * Support IP address host in `req.subdomains`
 127  * Use `etag` to generate `ETag` headers
 128  * deps: accepts@~1.1.0
 129    - update `mime-types`
 130  * deps: cookie-signature@1.0.5
 131  * deps: debug@~2.0.0
 132  * deps: finalhandler@0.2.0
 133    - Set `X-Content-Type-Options: nosniff` header
 134    - deps: debug@~2.0.0
 135  * deps: fresh@0.2.4
 136  * deps: media-typer@0.3.0
 137    - Throw error when parameter format invalid on parse
 138  * deps: qs@2.2.3
 139    - Fix issue where first empty value in array is discarded
 140  * deps: range-parser@~1.0.2
 141  * deps: send@0.9.1
 142    - Add `lastModified` option
 143    - Use `etag` to generate `ETag` header
 144    - deps: debug@~2.0.0
 145    - deps: fresh@0.2.4
 146  * deps: serve-static@~1.6.1
 147    - Add `lastModified` option
 148    - deps: send@0.9.1
 149  * deps: type-is@~1.5.1
 150    - fix `hasbody` to be true for `content-length: 0`
 151    - deps: media-typer@0.3.0
 152    - deps: mime-types@~2.0.1
 153  * deps: vary@~1.0.0
 154    - Accept valid `Vary` header string as `field`
 155
 1564.8.8 / 2014-09-04
 157==================
 158
 159  * deps: send@0.8.5
 160    - Fix a path traversal issue when using `root`
 161    - Fix malicious path detection for empty string path
 162  * deps: serve-static@~1.5.4
 163    - deps: send@0.8.5
 164
 1654.8.7 / 2014-08-29
 166==================
 167
 168  * deps: qs@2.2.2
 169    - Remove unnecessary cloning
 170
 1714.8.6 / 2014-08-27
 172==================
 173
 174  * deps: qs@2.2.0
 175    - Array parsing fix
 176    - Performance improvements
 177
 1784.8.5 / 2014-08-18
 179==================
 180
 181  * deps: send@0.8.3
 182    - deps: destroy@1.0.3
 183    - deps: on-finished@2.1.0
 184  * deps: serve-static@~1.5.3
 185    - deps: send@0.8.3
 186
 1874.8.4 / 2014-08-14
 188==================
 189
 190  * deps: qs@1.2.2
 191  * deps: send@0.8.2
 192    - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream`
 193  * deps: serve-static@~1.5.2
 194    - deps: send@0.8.2
 195
 1964.8.3 / 2014-08-10
 197==================
 198
 199  * deps: parseurl@~1.3.0
 200  * deps: qs@1.2.1
 201  * deps: serve-static@~1.5.1
 202    - Fix parsing of weird `req.originalUrl` values
 203    - deps: parseurl@~1.3.0
 204    - deps: utils-merge@1.0.0
 205
 2064.8.2 / 2014-08-07
 207==================
 208
 209  * deps: qs@1.2.0
 210    - Fix parsing array of objects
 211
 2124.8.1 / 2014-08-06
 213==================
 214
 215  * fix incorrect deprecation warnings on `res.download`
 216  * deps: qs@1.1.0
 217    - Accept urlencoded square brackets
 218    - Accept empty values in implicit array notation
 219
 2204.8.0 / 2014-08-05
 221==================
 222
 223  * add `res.sendFile`
 224    - accepts a file system path instead of a URL
 225    - requires an absolute path or `root` option specified
 226  * deprecate `res.sendfile` -- use `res.sendFile` instead
 227  * support mounted app as any argument to `app.use()`
 228  * deps: qs@1.0.2
 229    - Complete rewrite
 230    - Limits array length to 20
 231    - Limits object depth to 5
 232    - Limits parameters to 1,000
 233  * deps: send@0.8.1
 234    - Add `extensions` option
 235  * deps: serve-static@~1.5.0
 236    - Add `extensions` option
 237    - deps: send@0.8.1
 238
 2394.7.4 / 2014-08-04
 240==================
 241
 242  * fix `res.sendfile` regression for serving directory index files
 243  * deps: send@0.7.4
 244    - Fix incorrect 403 on Windows and Node.js 0.11
 245    - Fix serving index files without root dir
 246  * deps: serve-static@~1.4.4
 247    - deps: send@0.7.4
 248
 2494.7.3 / 2014-08-04
 250==================
 251
 252  * deps: send@0.7.3
 253    - Fix incorrect 403 on Windows and Node.js 0.11
 254  * deps: serve-static@~1.4.3
 255    - Fix incorrect 403 on Windows and Node.js 0.11
 256    - deps: send@0.7.3
 257
 2584.7.2 / 2014-07-27
 259==================
 260
 261  * deps: depd@0.4.4
 262    - Work-around v8 generating empty stack traces
 263  * deps: send@0.7.2
 264    - deps: depd@0.4.4
 265  * deps: serve-static@~1.4.2
 266
 2674.7.1 / 2014-07-26
 268==================
 269
 270  * deps: depd@0.4.3
 271    - Fix exception when global `Error.stackTraceLimit` is too low
 272  * deps: send@0.7.1
 273    - deps: depd@0.4.3
 274  * deps: serve-static@~1.4.1
 275
 2764.7.0 / 2014-07-25
 277==================
 278
 279  * fix `req.protocol` for proxy-direct connections
 280  * configurable query parser with `app.set('query parser', parser)`
 281    - `app.set('query parser', 'extended')` parse with "qs" module
 282    - `app.set('query parser', 'simple')` parse with "querystring" core module
 283    - `app.set('query parser', false)` disable query string parsing
 284    - `app.set('query parser', true)` enable simple parsing
 285  * deprecate `res.json(status, obj)` -- use `res.status(status).json(obj)` instead
 286  * deprecate `res.jsonp(status, obj)` -- use `res.status(status).jsonp(obj)` instead
 287  * deprecate `res.send(status, body)` -- use `res.status(status).send(body)` instead
 288  * deps: debug@1.0.4
 289  * deps: depd@0.4.2
 290    - Add `TRACE_DEPRECATION` environment variable
 291    - Remove non-standard grey color from color output
 292    - Support `--no-deprecation` argument
 293    - Support `--trace-deprecation` argument
 294  * deps: finalhandler@0.1.0
 295    - Respond after request fully read
 296    - deps: debug@1.0.4
 297  * deps: parseurl@~1.2.0
 298    - Cache URLs based on original value
 299    - Remove no-longer-needed URL mis-parse work-around
 300    - Simplify the "fast-path" `RegExp`
 301  * deps: send@0.7.0
 302    - Add `dotfiles` option
 303    - Cap `maxAge` value to 1 year
 304    - deps: debug@1.0.4
 305    - deps: depd@0.4.2
 306  * deps: serve-static@~1.4.0
 307    - deps: parseurl@~1.2.0
 308    - deps: send@0.7.0
 309  * perf: prevent multiple `Buffer` creation in `res.send`
 310
 3114.6.1 / 2014-07-12
 312==================
 313
 314  * fix `subapp.mountpath` regression for `app.use(subapp)`
 315
 3164.6.0 / 2014-07-11
 317==================
 318
 319  * accept multiple callbacks to `app.use()`
 320  * add explicit "Rosetta Flash JSONP abuse" protection
 321    - previous versions are not vulnerable; this is just explicit protection
 322  * catch errors in multiple `req.param(name, fn)` handlers
 323  * deprecate `res.redirect(url, status)` -- use `res.redirect(status, url)` instead
 324  * fix `res.send(status, num)` to send `num` as json (not error)
 325  * remove unnecessary escaping when `res.jsonp` returns JSON response
 326  * support non-string `path` in `app.use(path, fn)`
 327    - supports array of paths
 328    - supports `RegExp`
 329  * router: fix optimization on router exit
 330  * router: refactor location of `try` blocks
 331  * router: speed up standard `app.use(fn)`
 332  * deps: debug@1.0.3
 333    - Add support for multiple wildcards in namespaces
 334  * deps: finalhandler@0.0.3
 335    - deps: debug@1.0.3
 336  * deps: methods@1.1.0
 337    - add `CONNECT`
 338  * deps: parseurl@~1.1.3
 339    - faster parsing of href-only URLs
 340  * deps: path-to-regexp@0.1.3
 341  * deps: send@0.6.0
 342    - deps: debug@1.0.3
 343  * deps: serve-static@~1.3.2
 344    - deps: parseurl@~1.1.3
 345    - deps: send@0.6.0
 346  * perf: fix arguments reassign deopt in some `res` methods
 347
 3484.5.1 / 2014-07-06
 349==================
 350
 351 * fix routing regression when altering `req.method`
 352
 3534.5.0 / 2014-07-04
 354==================
 355
 356 * add deprecation message to non-plural `req.accepts*`
 357 * add deprecation message to `res.send(body, status)`
 358 * add deprecation message to `res.vary()`
 359 * add `headers` option to `res.sendfile`
 360   - use to set headers on successful file transfer
 361 * add `mergeParams` option to `Router`
 362   - merges `req.params` from parent routes
 363 * add `req.hostname` -- correct name for what `req.host` returns
 364 * deprecate things with `depd` module
 365 * deprecate `req.host` -- use `req.hostname` instead
 366 * fix behavior when handling request without routes
 367 * fix handling when `route.all` is only route
 368 * invoke `router.param()` only when route matches
 369 * restore `req.params` after invoking router
 370 * use `finalhandler` for final response handling
 371 * use `media-typer` to alter content-type charset
 372 * deps: accepts@~1.0.7
 373 * deps: send@0.5.0
 374   - Accept string for `maxage` (converted by `ms`)
 375   - Include link in default redirect response
 376 * deps: serve-static@~1.3.0
 377   - Accept string for `maxAge` (converted by `ms`)
 378   - Add `setHeaders` option
 379   - Include HTML link in redirect response
 380   - deps: send@0.5.0
 381 * deps: type-is@~1.3.2
 382
 3834.4.5 / 2014-06-26
 384==================
 385
 386 * deps: cookie-signature@1.0.4
 387   - fix for timing attacks
 388
 3894.4.4 / 2014-06-20
 390==================
 391
 392 * fix `res.attachment` Unicode filenames in Safari
 393 * fix "trim prefix" debug message in `express:router`
 394 * deps: accepts@~1.0.5
 395 * deps: buffer-crc32@0.2.3
 396
 3974.4.3 / 2014-06-11
 398==================
 399
 400 * fix persistence of modified `req.params[name]` from `app.param()`
 401 * deps: accepts@1.0.3
 402   - deps: negotiator@0.4.6
 403 * deps: debug@1.0.2
 404 * deps: send@0.4.3
 405   - Do not throw un-catchable error on file open race condition
 406   - Use `escape-html` for HTML escaping
 407   - deps: debug@1.0.2
 408   - deps: finished@1.2.2
 409   - deps: fresh@0.2.2
 410 * deps: serve-static@1.2.3
 411   - Do not throw un-catchable error on file open race condition
 412   - deps: send@0.4.3
 413
 4144.4.2 / 2014-06-09
 415==================
 416
 417 * fix catching errors from top-level handlers
 418 * use `vary` module for `res.vary`
 419 * deps: debug@1.0.1
 420 * deps: proxy-addr@1.0.1
 421 * deps: send@0.4.2
 422   - fix "event emitter leak" warnings
 423   - deps: debug@1.0.1
 424   - deps: finished@1.2.1
 425 * deps: serve-static@1.2.2
 426   - fix "event emitter leak" warnings
 427   - deps: send@0.4.2
 428 * deps: type-is@1.2.1
 429
 4304.4.1 / 2014-06-02
 431==================
 432
 433 * deps: methods@1.0.1
 434 * deps: send@0.4.1
 435   - Send `max-age` in `Cache-Control` in correct format
 436 * deps: serve-static@1.2.1
 437   - use `escape-html` for escaping
 438   - deps: send@0.4.1
 439
 4404.4.0 / 2014-05-30
 441==================
 442
 443 * custom etag control with `app.set('etag', val)`
 444   - `app.set('etag', function(body, encoding){ return '"etag"' })` custom etag generation
 445   - `app.set('etag', 'weak')` weak tag
 446   - `app.set('etag', 'strong')` strong etag
 447   - `app.set('etag', false)` turn off
 448   - `app.set('etag', true)` standard etag
 449 * mark `res.send` ETag as weak and reduce collisions
 450 * update accepts to 1.0.2
 451   - Fix interpretation when header not in request
 452 * update send to 0.4.0
 453   - Calculate ETag with md5 for reduced collisions
 454   - Ignore stream errors after request ends
 455   - deps: debug@0.8.1
 456 * update serve-static to 1.2.0
 457   - Calculate ETag with md5 for reduced collisions
 458   - Ignore stream errors after request ends
 459   - deps: send@0.4.0
 460
 4614.3.2 / 2014-05-28
 462==================
 463
 464 * fix handling of errors from `router.param()` callbacks
 465
 4664.3.1 / 2014-05-23
 467==================
 468
 469 * revert "fix behavior of multiple `app.VERB` for the same path"
 470   - this caused a regression in the order of route execution
 471
 4724.3.0 / 2014-05-21
 473==================
 474
 475 * add `req.baseUrl` to access the path stripped from `req.url` in routes
 476 * fix behavior of multiple `app.VERB` for the same path
 477 * fix issue routing requests among sub routers
 478 * invoke `router.param()` only when necessary instead of every match
 479 * proper proxy trust with `app.set('trust proxy', trust)`
 480   - `app.set('trust proxy', 1)` trust first hop
 481   - `app.set('trust proxy', 'loopback')` trust loopback addresses
 482   - `app.set('trust proxy', '10.0.0.1')` trust single IP
 483   - `app.set('trust proxy', '10.0.0.1/16')` trust subnet
 484   - `app.set('trust proxy', '10.0.0.1, 10.0.0.2')` trust list
 485   - `app.set('trust proxy', false)` turn off
 486   - `app.set('trust proxy', true)` trust everything
 487 * set proper `charset` in `Content-Type` for `res.send`
 488 * update type-is to 1.2.0
 489   - support suffix matching
 490
 4914.2.0 / 2014-05-11
 492==================
 493
 494 * deprecate `app.del()` -- use `app.delete()` instead
 495 * deprecate `res.json(obj, status)` -- use `res.json(status, obj)` instead
 496   - the edge-case `res.json(status, num)` requires `res.status(status).json(num)`
 497 * deprecate `res.jsonp(obj, status)` -- use `res.jsonp(status, obj)` instead
 498   - the edge-case `res.jsonp(status, num)` requires `res.status(status).jsonp(num)`
 499 * fix `req.next` when inside router instance
 500 * include `ETag` header in `HEAD` requests
 501 * keep previous `Content-Type` for `res.jsonp`
 502 * support PURGE method
 503   - add `app.purge`
 504   - add `router.purge`
 505   - include PURGE in `app.all`
 506 * update debug to 0.8.0
 507   - add `enable()` method
 508   - change from stderr to stdout
 509 * update methods to 1.0.0
 510   - add PURGE
 511
 5124.1.2 / 2014-05-08
 513==================
 514
 515 * fix `req.host` for IPv6 literals
 516 * fix `res.jsonp` error if callback param is object
 517
 5184.1.1 / 2014-04-27
 519==================
 520
 521 * fix package.json to reflect supported node version
 522
 5234.1.0 / 2014-04-24
 524==================
 525
 526 * pass options from `res.sendfile` to `send`
 527 * preserve casing of headers in `res.header` and `res.set`
 528 * support unicode file names in `res.attachment` and `res.download`
 529 * update accepts to 1.0.1
 530   - deps: negotiator@0.4.0
 531 * update cookie to 0.1.2
 532   - Fix for maxAge == 0
 533   - made compat with expires field
 534 * update send to 0.3.0
 535   - Accept API options in options object
 536   - Coerce option types
 537   - Control whether to generate etags
 538   - Default directory access to 403 when index disabled
 539   - Fix sending files with dots without root set
 540   - Include file path in etag
 541   - Make "Can't set headers after they are sent." catchable
 542   - Send full entity-body for multi range requests
 543   - Set etags to "weak"
 544   - Support "If-Range" header
 545   - Support multiple index paths
 546   - deps: mime@1.2.11
 547 * update serve-static to 1.1.0
 548   - Accept options directly to `send` module
 549   - Resolve relative paths at middleware setup
 550   - Use parseurl to parse the URL from request
 551   - deps: send@0.3.0
 552 * update type-is to 1.1.0
 553   - add non-array values support
 554   - add `multipart` as a shorthand
 555
 5564.0.0 / 2014-04-09
 557==================
 558
 559 * remove:
 560   - node 0.8 support
 561   - connect and connect's patches except for charset handling
 562   - express(1) - moved to [express-generator](https://github.com/expressjs/generator)
 563   - `express.createServer()` - it has been deprecated for a long time. Use `express()`
 564   - `app.configure` - use logic in your own app code
 565   - `app.router` - is removed
 566   - `req.auth` - use `basic-auth` instead
 567   - `req.accepted*` - use `req.accepts*()` instead
 568   - `res.location` - relative URL resolution is removed
 569   - `res.charset` - include the charset in the content type when using `res.set()`
 570   - all bundled middleware except `static`
 571 * change:
 572   - `app.route` -> `app.mountpath` when mounting an express app in another express app
 573   - `json spaces` no longer enabled by default in development
 574   - `req.accepts*` -> `req.accepts*s` - i.e. `req.acceptsEncoding` -> `req.acceptsEncodings`
 575   - `req.params` is now an object instead of an array
 576   - `res.locals` is no longer a function. It is a plain js object. Treat it as such.
 577   - `res.headerSent` -> `res.headersSent` to match node.js ServerResponse object
 578 * refactor:
 579   - `req.accepts*` with [accepts](https://github.com/expressjs/accepts)
 580   - `req.is` with [type-is](https://github.com/expressjs/type-is)
 581   - [path-to-regexp](https://github.com/component/path-to-regexp)
 582 * add:
 583   - `app.router()` - returns the app Router instance
 584   - `app.route()` - Proxy to the app's `Router#route()` method to create a new route
 585   - Router & Route - public API
 586
 5873.18.3 / 2014-11-09
 588===================
 589
 590  * deps: connect@2.27.3
 591    - Correctly invoke async callback asynchronously
 592    - deps: csurf@~1.6.3
 593
 5943.18.2 / 2014-10-28
 595===================
 596
 597  * deps: connect@2.27.2
 598    - Fix handling of URLs containing `://` in the path
 599    - deps: body-parser@~1.9.2
 600    - deps: qs@2.3.2
 601
 6023.18.1 / 2014-10-22
 603===================
 604
 605  * Fix internal `utils.merge` deprecation warnings
 606  * deps: connect@2.27.1
 607    - deps: body-parser@~1.9.1
 608    - deps: express-session@~1.9.1
 609    - deps: finalhandler@0.3.2
 610    - deps: morgan@~1.4.1
 611    - deps: qs@2.3.0
 612    - deps: serve-static@~1.7.1
 613  * deps: send@0.10.1
 614    - deps: on-finished@~2.1.1
 615
 6163.18.0 / 2014-10-17
 617===================
 618
 619  * Use `content-disposition` module for `res.attachment`/`res.download`
 620    - Sends standards-compliant `Content-Disposition` header
 621    - Full Unicode support
 622  * Use `etag` module to generate `ETag` headers
 623  * deps: connect@2.27.0
 624    - Use `http-errors` module for creating errors
 625    - Use `utils-merge` module for merging objects
 626    - deps: body-parser@~1.9.0
 627    - deps: compression@~1.2.0
 628    - deps: connect-timeout@~1.4.0
 629    - deps: debug@~2.1.0
 630    - deps: depd@~1.0.0
 631    - deps: express-session@~1.9.0
 632    - deps: finalhandler@0.3.1
 633    - deps: method-override@~2.3.0
 634    - deps: morgan@~1.4.0
 635    - deps: response-time@~2.2.0
 636    - deps: serve-favicon@~2.1.6
 637    - deps: serve-index@~1.5.0
 638    - deps: serve-static@~1.7.0
 639  * deps: debug@~2.1.0
 640    - Implement `DEBUG_FD` env variable support
 641  * deps: depd@~1.0.0
 642  * deps: send@0.10.0
 643    - deps: debug@~2.1.0
 644    - deps: depd@~1.0.0
 645    - deps: etag@~1.5.0
 646
 6473.17.8 / 2014-10-15
 648===================
 649
 650  * deps: connect@2.26.6
 651    - deps: compression@~1.1.2
 652    - deps: csurf@~1.6.2
 653    - deps: errorhandler@~1.2.2
 654
 6553.17.7 / 2014-10-08
 656===================
 657
 658  * deps: connect@2.26.5
 659    - Fix accepting non-object arguments to `logger`
 660    - deps: serve-static@~1.6.4
 661
 6623.17.6 / 2014-10-02
 663===================
 664
 665  * deps: connect@2.26.4
 666    - deps: morgan@~1.3.2
 667    - deps: type-is@~1.5.2
 668
 6693.17.5 / 2014-09-24
 670===================
 671
 672  * deps: connect@2.26.3
 673    - deps: body-parser@~1.8.4
 674    - deps: serve-favicon@~2.1.5
 675    - deps: serve-static@~1.6.3
 676  * deps: proxy-addr@~1.0.3
 677    - Use `forwarded` npm module
 678  * deps: send@0.9.3
 679    - deps: etag@~1.4.0
 680
 6813.17.4 / 2014-09-19
 682===================
 683
 684  * deps: connect@2.26.2
 685    - deps: body-parser@~1.8.3
 686    - deps: qs@2.2.4
 687
 6883.17.3 / 2014-09-18
 689===================
 690
 691  * deps: proxy-addr@~1.0.2
 692    - Fix a global leak when multiple subnets are trusted
 693    - deps: ipaddr.js@0.1.3
 694
 6953.17.2 / 2014-09-15
 696===================
 697
 698  * Use `crc` instead of `buffer-crc32` for speed
 699  * deps: connect@2.26.1
 700    - deps: body-parser@~1.8.2
 701    - deps: depd@0.4.5
 702    - deps: express-session@~1.8.2
 703    - deps: morgan@~1.3.1
 704    - deps: serve-favicon@~2.1.3
 705    - deps: serve-static@~1.6.2
 706  * deps: depd@0.4.5
 707  * deps: send@0.9.2
 708    - deps: depd@0.4.5
 709    - deps: etag@~1.3.1
 710    - deps: range-parser@~1.0.2
 711
 7123.17.1 / 2014-09-08
 713===================
 714
 715  * Fix error in `req.subdomains` on empty host
 716
 7173.17.0 / 2014-09-08
 718===================
 719
 720  * Support `X-Forwarded-Host` in `req.subdomains`
 721  * Support IP address host in `req.subdomains`
 722  * deps: connect@2.26.0
 723    - deps: body-parser@~1.8.1
 724    - deps: compression@~1.1.0
 725    - deps: connect-timeout@~1.3.0
 726    - deps: cookie-parser@~1.3.3
 727    - deps: cookie-signature@1.0.5
 728    - deps: csurf@~1.6.1
 729    - deps: debug@~2.0.0
 730    - deps: errorhandler@~1.2.0
 731    - deps: express-session@~1.8.1
 732    - deps: finalhandler@0.2.0
 733    - deps: fresh@0.2.4
 734    - deps: media-typer@0.3.0
 735    - deps: method-override@~2.2.0
 736    - deps: morgan@~1.3.0
 737    - deps: qs@2.2.3
 738    - deps: serve-favicon@~2.1.3
 739    - deps: serve-index@~1.2.1
 740    - deps: serve-static@~1.6.1
 741    - deps: type-is@~1.5.1
 742    - deps: vhost@~3.0.0
 743  * deps: cookie-signature@1.0.5
 744  * deps: debug@~2.0.0
 745  * deps: fresh@0.2.4
 746  * deps: media-typer@0.3.0
 747    - Throw error when parameter format invalid on parse
 748  * deps: range-parser@~1.0.2
 749  * deps: send@0.9.1
 750    - Add `lastModified` option
 751    - Use `etag` to generate `ETag` header
 752    - deps: debug@~2.0.0
 753    - deps: fresh@0.2.4
 754  * deps: vary@~1.0.0
 755    - Accept valid `Vary` header string as `field`
 756
 7573.16.10 / 2014-09-04
 758====================
 759
 760  * deps: connect@2.25.10
 761    - deps: serve-static@~1.5.4
 762  * deps: send@0.8.5
 763    - Fix a path traversal issue when using `root`
 764    - Fix malicious path detection for empty string path
 765
 7663.16.9 / 2014-08-29
 767===================
 768
 769  * deps: connect@2.25.9
 770    - deps: body-parser@~1.6.7
 771    - deps: qs@2.2.2
 772
 7733.16.8 / 2014-08-27
 774===================
 775
 776  * deps: connect@2.25.8
 777    - deps: body-parser@~1.6.6
 778    - deps: csurf@~1.4.1
 779    - deps: qs@2.2.0
 780
 7813.16.7 / 2014-08-18
 782===================
 783
 784  * deps: connect@2.25.7
 785    - deps: body-parser@~1.6.5
 786    - deps: express-session@~1.7.6
 787    - deps: morgan@~1.2.3
 788    - deps: serve-static@~1.5.3
 789  * deps: send@0.8.3
 790    - deps: destroy@1.0.3
 791    - deps: on-finished@2.1.0
 792
 7933.16.6 / 2014-08-14
 794===================
 795
 796  * deps: connect@2.25.6
 797    - deps: body-parser@~1.6.4
 798    - deps: qs@1.2.2
 799    - deps: serve-static@~1.5.2
 800  * deps: send@0.8.2
 801    - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream`
 802
 8033.16.5 / 2014-08-11
 804===================
 805
 806  * deps: connect@2.25.5
 807    - Fix backwards compatibility in `logger`
 808
 8093.16.4 / 2014-08-10
 810===================
 811
 812  * Fix original URL parsing in `res.location`
 813  * deps: connect@2.25.4
 814    - Fix `query` middleware breaking with argument
 815    - deps: body-parser@~1.6.3
 816    - deps: compression@~1.0.11
 817    - deps: connect-timeout@~1.2.2
 818    - deps: express-session@~1.7.5
 819    - deps: method-override@~2.1.3
 820    - deps: on-headers@~1.0.0
 821    - deps: parseurl@~1.3.0
 822    - deps: qs@1.2.1
 823    - deps: response-time@~2.0.1
 824    - deps: serve-index@~1.1.6
 825    - deps: serve-static@~1.5.1
 826  * deps: parseurl@~1.3.0
 827
 8283.16.3 / 2014-08-07
 829===================
 830
 831  * deps: connect@2.25.3
 832    - deps: multiparty@3.3.2
 833
 8343.16.2 / 2014-08-07
 835===================
 836
 837  * deps: connect@2.25.2
 838    - deps: body-parser@~1.6.2
 839    - deps: qs@1.2.0
 840
 8413.16.1 / 2014-08-06
 842===================
 843
 844  * deps: connect@2.25.1
 845    - deps: body-parser@~1.6.1
 846    - deps: qs@1.1.0
 847
 8483.16.0 / 2014-08-05
 849===================
 850
 851  * deps: connect@2.25.0
 852    - deps: body-parser@~1.6.0
 853    - deps: compression@~1.0.10
 854    - deps: csurf@~1.4.0
 855    - deps: express-session@~1.7.4
 856    - deps: qs@1.0.2
 857    - deps: serve-static@~1.5.0
 858  * deps: send@0.8.1
 859    - Add `extensions` option
 860
 8613.15.3 / 2014-08-04
 862===================
 863
 864  * fix `res.sendfile` regression for serving directory index files
 865  * deps: connect@2.24.3
 866    - deps: serve-index@~1.1.5
 867    - deps: serve-static@~1.4.4
 868  * deps: send@0.7.4
 869    - Fix incorrect 403 on Windows and Node.js 0.11
 870    - Fix serving index files without root dir
 871
 8723.15.2 / 2014-07-27
 873===================
 874
 875  * deps: connect@2.24.2
 876    - deps: body-parser@~1.5.2
 877    - deps: depd@0.4.4
 878    - deps: express-session@~1.7.2
 879    - deps: morgan@~1.2.2
 880    - deps: serve-static@~1.4.2
 881  * deps: depd@0.4.4
 882    - Work-around v8 generating empty stack traces
 883  * deps: send@0.7.2
 884    - deps: depd@0.4.4
 885
 8863.15.1 / 2014-07-26
 887===================
 888
 889  * deps: connect@2.24.1
 890    - deps: body-parser@~1.5.1
 891    - deps: depd@0.4.3
 892    - deps: express-session@~1.7.1
 893    - deps: morgan@~1.2.1
 894    - deps: serve-index@~1.1.4
 895    - deps: serve-static@~1.4.1
 896  * deps: depd@0.4.3
 897    - Fix exception when global `Error.stackTraceLimit` is too low
 898  * deps: send@0.7.1
 899    - deps: depd@0.4.3
 900
 9013.15.0 / 2014-07-22
 902===================
 903
 904  * Fix `req.protocol` for proxy-direct connections
 905  * Pass options from `res.sendfile` to `send`
 906  * deps: connect@2.24.0
 907    - deps: body-parser@~1.5.0
 908    - deps: compression@~1.0.9
 909    - deps: connect-timeout@~1.2.1
 910    - deps: debug@1.0.4
 911    - deps: depd@0.4.2
 912    - deps: express-session@~1.7.0
 913    - deps: finalhandler@0.1.0
 914    - deps: method-override@~2.1.2
 915    - deps: morgan@~1.2.0
 916    - deps: multiparty@3.3.1
 917    - deps: parseurl@~1.2.0
 918    - deps: serve-static@~1.4.0
 919  * deps: debug@1.0.4
 920  * deps: depd@0.4.2
 921    - Add `TRACE_DEPRECATION` environment variable
 922    - Remove non-standard grey color from color output
 923    - Support `--no-deprecation` argument
 924    - Support `--trace-deprecation` argument
 925  * deps: parseurl@~1.2.0
 926    - Cache URLs based on original value
 927    - Remove no-longer-needed URL mis-parse work-around
 928    - Simplify the "fast-path" `RegExp`
 929  * deps: send@0.7.0
 930    - Add `dotfiles` option
 931    - Cap `maxAge` value to 1 year
 932    - deps: debug@1.0.4
 933    - deps: depd@0.4.2
 934
 9353.14.0 / 2014-07-11
 936===================
 937
 938 * add explicit "Rosetta Flash JSONP abuse" protection
 939   - previous versions are not vulnerable; this is just explicit protection
 940 * deprecate `res.redirect(url, status)` -- use `res.redirect(status, url)` instead
 941 * fix `res.send(status, num)` to send `num` as json (not error)
 942 * remove unnecessary escaping when `res.jsonp` returns JSON response
 943 * deps: basic-auth@1.0.0
 944   - support empty password
 945   - support empty username
 946 * deps: connect@2.23.0
 947   - deps: debug@1.0.3
 948   - deps: express-session@~1.6.4
 949   - deps: method-override@~2.1.0
 950   - deps: parseurl@~1.1.3
 951   - deps: serve-static@~1.3.1
 952  * deps: debug@1.0.3
 953    - Add support for multiple wildcards in namespaces
 954  * deps: methods@1.1.0
 955    - add `CONNECT`
 956  * deps: parseurl@~1.1.3
 957    - faster parsing of href-only URLs
 958
 9593.13.0 / 2014-07-03
 960===================
 961
 962 * add deprecation message to `app.configure`
 963 * add deprecation message to `req.auth`
 964 * use `basic-auth` to parse `Authorization` header
 965 * deps: connect@2.22.0
 966   - deps: csurf@~1.3.0
 967   - deps: express-session@~1.6.1
 968   - deps: multiparty@3.3.0
 969   - deps: serve-static@~1.3.0
 970 * deps: send@0.5.0
 971   - Accept string for `maxage` (converted by `ms`)
 972   - Include link in default redirect response
 973
 9743.12.1 / 2014-06-26
 975===================
 976
 977 * deps: connect@2.21.1
 978   - deps: cookie-parser@1.3.2
 979   - deps: cookie-signature@1.0.4
 980   - deps: express-session@~1.5.2
 981   - deps: type-is@~1.3.2
 982 * deps: cookie-signature@1.0.4
 983   - fix for timing attacks
 984
 9853.12.0 / 2014-06-21
 986===================
 987
 988 * use `media-typer` to alter content-type charset
 989 * deps: connect@2.21.0
 990   - deprecate `connect(middleware)` -- use `app.use(middleware)` instead
 991   - deprecate `connect.createServer()` -- use `connect()` instead
 992   - fix `res.setHeader()` patch to work with with get -> append -> set pattern
 993   - deps: compression@~1.0.8
 994   - deps: errorhandler@~1.1.1
 995   - deps: express-session@~1.5.0
 996   - deps: serve-index@~1.1.3
 997
 9983.11.0 / 2014-06-19
 999===================
1000
1001 * deprecate things with `depd` module
1002 * deps: buffer-crc32@0.2.3
1003 * deps: connect@2.20.2
1004   - deprecate `verify` option to `json` -- use `body-parser` npm module instead
1005   - deprecate `verify` option to `urlencoded` -- use `body-parser` npm module instead
1006   - deprecate things with `depd` module
1007   - use `finalhandler` for final response handling
1008   - use `media-typer` to parse `content-type` for charset
1009   - deps: body-parser@1.4.3
1010   - deps: connect-timeout@1.1.1
1011   - deps: cookie-parser@1.3.1
1012   - deps: csurf@1.2.2
1013   - deps: errorhandler@1.1.0
1014   - deps: express-session@1.4.0
1015   - deps: multiparty@3.2.9
1016   - deps: serve-index@1.1.2
1017   - deps: type-is@1.3.1
1018   - deps: vhost@2.0.0
1019
10203.10.5 / 2014-06-11
1021===================
1022
1023 * deps: connect@2.19.6
1024   - deps: body-parser@1.3.1
1025   - deps: compression@1.0.7
1026   - deps: debug@1.0.2
1027   - deps: serve-index@1.1.1
1028   - deps: serve-static@1.2.3
1029 * deps: debug@1.0.2
1030 * deps: send@0.4.3
1031   - Do not throw un-catchable error on file open race condition
1032   - Use `escape-html` for HTML escaping
1033   - deps: debug@1.0.2
1034   - deps: finished@1.2.2
1035   - deps: fresh@0.2.2
1036
10373.10.4 / 2014-06-09
1038===================
1039
1040 * deps: connect@2.19.5
1041   - fix "event emitter leak" warnings
1042   - deps: csurf@1.2.1
1043   - deps: debug@1.0.1
1044   - deps: serve-static@1.2.2
1045   - deps: type-is@1.2.1
1046 * deps: debug@1.0.1
1047 * deps: send@0.4.2
1048   - fix "event emitter leak" warnings
1049   - deps: finished@1.2.1
1050   - deps: debug@1.0.1
1051
10523.10.3 / 2014-06-05
1053===================
1054
1055 * use `vary` module for `res.vary`
1056 * deps: connect@2.19.4
1057   - deps: errorhandler@1.0.2
1058   - deps: method-override@2.0.2
1059   - deps: serve-favicon@2.0.1
1060 * deps: debug@1.0.0
1061
10623.10.2 / 2014-06-03
1063===================
1064
1065 * deps: connect@2.19.3
1066   - deps: compression@1.0.6
1067
10683.10.1 / 2014-06-03
1069===================
1070
1071 * deps: connect@2.19.2
1072   - deps: compression@1.0.4
1073 * deps: proxy-addr@1.0.1
1074
10753.10.0 / 2014-06-02
1076===================
1077
1078 * deps: connect@2.19.1
1079   - deprecate `methodOverride()` -- use `method-override` npm module instead
1080   - deps: body-parser@1.3.0
1081   - deps: method-override@2.0.1
1082   - deps: multiparty@3.2.8
1083   - deps: response-time@2.0.0
1084   - deps: serve-static@1.2.1
1085 * deps: methods@1.0.1
1086 * deps: send@0.4.1
1087   - Send `max-age` in `Cache-Control` in correct format
1088
10893.9.0 / 2014-05-30
1090==================
1091
1092 * custom etag control with `app.set('etag', val)`
1093   - `app.set('etag', function(body, encoding){ return '"etag"' })` custom etag generation
1094   - `app.set('etag', 'weak')` weak tag
1095   - `app.set('etag', 'strong')` strong etag
1096   - `app.set('etag', false)` turn off
1097   - `app.set('etag', true)` standard etag
1098 * Include ETag in HEAD requests
1099 * mark `res.send` ETag as weak and reduce collisions
1100 * update connect to 2.18.0
1101   - deps: compression@1.0.3
1102   - deps: serve-index@1.1.0
1103   - deps: serve-static@1.2.0
1104 * update send to 0.4.0
1105   - Calculate ETag with md5 for reduced collisions
1106   - Ignore stream errors after request ends
1107   - deps: debug@0.8.1
1108
11093.8.1 / 2014-05-27
1110==================
1111
1112 * update connect to 2.17.3
1113   - deps: body-parser@1.2.2
1114   - deps: express-session@1.2.1
1115   - deps: method-override@1.0.2
1116
11173.8.0 / 2014-05-21
1118==================
1119
1120 * keep previous `Content-Type` for `res.jsonp`
1121 * set proper `charset` in `Content-Type` for `res.send`
1122 * update connect to 2.17.1
1123   - fix `res.charset` appending charset when `content-type` has one
1124   - deps: express-session@1.2.0
1125   - deps: morgan@1.1.1
1126   - deps: serve-index@1.0.3
1127
11283.7.0 / 2014-05-18
1129==================
1130
1131 * proper proxy trust with `app.set('trust proxy', trust)`
1132   - `app.set('trust proxy', 1)` trust first hop
1133   - `app.set('trust proxy', 'loopback')` trust loopback addresses
1134   - `app.set('trust proxy', '10.0.0.1')` trust single IP
1135   - `app.set('trust proxy', '10.0.0.1/16')` trust subnet
1136   - `app.set('trust proxy', '10.0.0.1, 10.0.0.2')` trust list
1137   - `app.set('trust proxy', false)` turn off
1138   - `app.set('trust proxy', true)` trust everything
1139 * update connect to 2.16.2
1140   - deprecate `res.headerSent` -- use `res.headersSent`
1141   - deprecate `res.on("header")` -- use on-headers module instead
1142   - fix edge-case in `res.appendHeader` that would append in wrong order
1143   - json: use body-parser
1144   - urlencoded: use body-parser
1145   - dep: bytes@1.0.0
1146   - dep: cookie-parser@1.1.0
1147   - dep: csurf@1.2.0
1148   - dep: express-session@1.1.0
1149   - dep: method-override@1.0.1
1150
11513.6.0 / 2014-05-09
1152==================
1153
1154 * deprecate `app.del()` -- use `app.delete()` instead
1155 * deprecate `res.json(obj, status)` -- use `res.json(status, obj)` instead
1156   - the edge-case `res.json(status, num)` requires `res.status(status).json(num)`
1157 * deprecate `res.jsonp(obj, status)` -- use `res.jsonp(status, obj)` instead
1158   - the edge-case `res.jsonp(status, num)` requires `res.status(status).jsonp(num)`
1159 * support PURGE method
1160   - add `app.purge`
1161   - add `router.purge`
1162   - include PURGE in `app.all`
1163 * update connect to 2.15.0
1164   * Add `res.appendHeader`
1165   * Call error stack even when response has been sent
1166   * Patch `res.headerSent` to return Boolean
1167   * Patch `res.headersSent` for node.js 0.8
1168   * Prevent default 404 handler after response sent
1169   * dep: compression@1.0.2
1170   * dep: connect-timeout@1.1.0
1171   * dep: debug@^0.8.0
1172   * dep: errorhandler@1.0.1
1173   * dep: express-session@1.0.4
1174   * dep: morgan@1.0.1
1175   * dep: serve-favicon@2.0.0
1176   * dep: serve-index@1.0.2
1177 * update debug to 0.8.0
1178   * add `enable()` method
1179   * change from stderr to stdout
1180 * update methods to 1.0.0
1181   - add PURGE
1182 * update mkdirp to 0.5.0
1183
11843.5.3 / 2014-05-08
1185==================
1186
1187 * fix `req.host` for IPv6 literals
1188 * fix `res.jsonp` error if callback param is object
1189
11903.5.2 / 2014-04-24
1191==================
1192
1193 * update connect to 2.14.5
1194 * update cookie to 0.1.2
1195 * update mkdirp to 0.4.0
1196 * update send to 0.3.0
1197
11983.5.1 / 2014-03-25
1199==================
1200
1201 * pin less-middleware in generated app
1202
12033.5.0 / 2014-03-06
1204==================
1205
1206 * bump deps
1207
12083.4.8 / 2014-01-13
1209==================
1210
1211 * prevent incorrect automatic OPTIONS responses #1868 @dpatti
1212 * update binary and examples for jade 1.0 #1876 @yossi, #1877 @reqshark, #1892 @matheusazzi
1213 * throw 400 in case of malformed paths @rlidwka
1214
12153.4.7 / 2013-12-10
1216==================
1217
1218 * update connect
1219
12203.4.6 / 2013-12-01
1221==================
1222
1223 * update connect (raw-body)
1224
12253.4.5 / 2013-11-27
1226==================
1227
1228 * update connect
1229 * res.location: remove leading ./ #1802 @kapouer
1230 * res.redirect: fix `res.redirect('toString') #1829 @michaelficarra
1231 * res.send: always send ETag when content-length > 0
1232 * router: add Router.all() method
1233
12343.4.4 / 2013-10-29
1235==================
1236
1237 * update connect
1238 * update supertest
1239 * update methods
1240 * express(1): replace bodyParser() with urlencoded() and json() #1795 @chirag04
1241
12423.4.3 / 2013-10-23
1243==================
1244
1245 * update connect
1246
12473.4.2 / 2013-10-18
1248==================
1249
1250 * update connect
1251 * downgrade commander
1252
12533.4.1 / 2013-10-15
1254==================
1255
1256 * update connect
1257 * update commander
1258 * jsonp: check if callback is a function
1259 * router: wrap encodeURIComponent in a try/catch #1735 (@lxe)
1260 * res.format: now includes chraset @1747 (@sorribas)
1261 * res.links: allow multiple calls @1746 (@sorribas)
1262
12633.4.0 / 2013-09-07
1264==================
1265
1266 * add res.vary(). Closes #1682
1267 * update connect
1268
12693.3.8 / 2013-09-02
1270==================
1271
1272 * update connect
1273
12743.3.7 / 2013-08-28
1275==================
1276
1277 * update connect
1278
12793.3.6 / 2013-08-27
1280==================
1281
1282 * Revert "remove charset from json responses. Closes #1631" (causes issues in some clients)
1283 * add: req.accepts take an argument list
1284
12853.3.4 / 2013-07-08
1286==================
1287
1288 * update send and connect
1289
12903.3.3 / 2013-07-04
1291==================
1292
1293 * update connect
1294
12953.3.2 / 2013-07-03
1296==================
1297
1298 * update connect
1299 * update send
1300 * remove .version export
1301
13023.3.1 / 2013-06-27
1303==================
1304
1305 * update connect
1306
13073.3.0 / 2013-06-26
1308==================
1309
1310 * update connect
1311 * add support for multiple X-Forwarded-Proto values. Closes #1646
1312 * change: remove charset from json responses. Closes #1631
1313 * change: return actual booleans from req.accept* functions
1314 * fix jsonp callback array throw
1315
13163.2.6 / 2013-06-02
1317==================
1318
1319 * update connect
1320
13213.2.5 / 2013-05-21
1322==================
1323
1324 * update connect
1325 * update node-cookie
1326 * add: throw a meaningful error when there is no default engine
1327 * change generation of ETags with res.send() to GET requests only. Closes #1619
1328
13293.2.4 / 2013-05-09
1330==================
1331
1332  * fix `req.subdomains` when no Host is present
1333  * fix `req.host` when no Host is present, return undefined
1334
13353.2.3 / 2013-05-07
1336==================
1337
1338  * update connect / qs
1339
13403.2.2 / 2013-05-03
1341==================
1342
1343  * update qs
1344
13453.2.1 / 2013-04-29
1346==================
1347
1348  * add app.VERB() paths array deprecation warning
1349  * update connect
1350  * update qs and remove all ~ semver crap
1351  * fix: accept number as value of Signed Cookie
1352
13533.2.0 / 2013-04-15
1354==================
1355
1356  * add "view" constructor setting to override view behaviour
1357  * add req.acceptsEncoding(name)
1358  * add req.acceptedEncodings
1359  * revert cookie signature change causing session race conditions
1360  * fix sorting of Accept values of the same quality
1361
13623.1.2 / 2013-04-12
1363==================
1364
1365  * add support for custom Accept parameters
1366  * update cookie-signature
1367
13683.1.1 / 2013-04-01
1369==================
1370
1371  * add X-Forwarded-Host support to `req.host`
1372  * fix relative redirects
1373  * update mkdirp
1374  * update buffer-crc32
1375  * remove legacy app.configure() method from app template.
1376
13773.1.0 / 2013-01-25
1378==================
1379
1380  * add support for leading "." in "view engine" setting
1381  * add array support to `res.set()`
1382  * add node 0.8.x to travis.yml
1383  * add "subdomain offset" setting for tweaking `req.subdomains`
1384  * add `res.location(url)` implementing `res.redirect()`-like setting of Location
1385  * use app.get() for x-powered-by setting for inheritance
1386  * fix colons in passwords for `req.auth`
1387
13883.0.6 / 2013-01-04
1389==================
1390
1391  * add http verb methods to Router
1392  * update connect
1393  * fix mangling of the `res.cookie()` options object
1394  * fix jsonp whitespace escape. Closes #1132
1395
13963.0.5 / 2012-12-19
1397==================
1398
1399  * add throwing when a non-function is passed to a route
1400  * fix: explicitly remove Transfer-Encoding header from 204 and 304 responses
1401  * revert "add 'etag' option"
1402
14033.0.4 / 2012-12-05
1404==================
1405
1406  * add 'etag' option to disable `res.send()` Etags
1407  * add escaping of urls in text/plain in `res.redirect()`
1408    for old browsers interpreting as html
1409  * change crc32 module for a more liberal license
1410  * update connect
1411
14123.0.3 / 2012-11-13
1413==================
1414
1415  * update connect
1416  * update cookie module
1417  * fix cookie max-age
1418
14193.0.2 / 2012-11-08
1420==================
1421
1422  * add OPTIONS to cors example. Closes #1398
1423  * fix route chaining regression. Closes #1397
1424
14253.0.1 / 2012-11-01
1426==================
1427
1428  * update connect
1429
14303.0.0 / 2012-10-23
1431==================
1432
1433  * add `make clean`
1434  * add "Basic" check to req.auth
1435  * add `req.auth` test coverage
1436  * add cb && cb(payload) to `res.jsonp()`. Closes #1374
1437  * add backwards compat for `res.redirect()` status. Closes #1336
1438  * add support for `res.json()` to retain previously defined Content-Types. Closes #1349
1439  * update connect
1440  * change `res.redirect()` to utilize a pathname-relative Location again. Closes #1382
1441  * remove non-primitive string support for `res.send()`
1442  * fix view-locals example. Closes #1370
1443  * fix route-separation example
1444
14453.0.0rc5 / 2012-09-18
1446==================
1447
1448  * update connect
1449  * add redis search example
1450  * add static-files example
1451  * add "x-powered-by" setting (`app.disable('x-powered-by')`)
1452  * add "application/octet-stream" redirect Accept test case. Closes #1317
1453
14543.0.0rc4 / 2012-08-30
1455==================
1456
1457  * add `res.jsonp()`. Closes #1307
1458  * add "verbose errors" option to error-pages example
1459  * add another route example to express(1) so people are not so confused
1460  * add redis online user activity tracking example
1461  * update connect dep
1462  * fix etag quoting. Closes #1310
1463  * fix error-pages 404 status
1464  * fix jsonp callback char restrictions
1465  * remove old OPTIONS default response
1466
14673.0.0rc3 / 2012-08-13
1468==================
1469
1470  * update connect dep
1471  * fix signed cookies to work with `connect.cookieParser()` ("s:" prefix was missing) [tnydwrds]
1472  * fix `res.render()` clobbering of "locals"
1473
14743.0.0rc2 / 2012-08-03
1475==================
1476
1477  * add CORS example
1478  * update connect dep
1479  * deprecate `.createServer()` & remove old stale examples
1480  * fix: escape `res.redirect()` link
1481  * fix vhost example
1482
14833.0.0rc1 / 2012-07-24
1484==================
1485
1486  * add more examples to view-locals
1487  * add scheme-relative redirects (`res.redirect("//foo.com")`) support
1488  * update cookie dep
1489  * update connect dep
1490  * update send dep
1491  * fix `express(1)` -h flag, use -H for hogan. Closes #1245
1492  * fix `res.sendfile()` socket error handling regression
1493
14943.0.0beta7 / 2012-07-16
1495==================
1496
1497  * update connect dep for `send()` root normalization regression
1498
14993.0.0beta6 / 2012-07-13
1500==================
1501
1502  * add `err.view` property for view errors. Closes #1226
1503  * add "jsonp callback name" setting
1504  * add support for "/foo/:bar*" non-greedy matches
1505  * change `res.sendfile()` to use `send()` module
1506  * change `res.send` to use "response-send" module
1507  * remove `app.locals.use` and `res.locals.use`, use regular middleware
1508
15093.0.0beta5 / 2012-07-03
1510==================
1511
1512  * add "make check" support
1513  * add route-map example
1514  * add `res.json(obj, status)` support back for BC
1515  * add "methods" dep, remove internal methods module
1516  * update connect dep
1517  * update auth example to utilize cores pbkdf2
1518  * updated tests to use "supertest"
1519
15203.0.0beta4 / 2012-06-25
1521==================
1522
1523  * Added `req.auth`
1524  * Added `req.range(size)`
1525  * Added `res.links(obj)`
1526  * Added `res.send(body, status)` support back for backwards compat
1527  * Added `.default()` support to `res.format()`
1528  * Added 2xx / 304 check to `req.fresh`
1529  * Revert "Added + support to the router"
1530  * Fixed `res.send()` freshness check, respect res.statusCode
1531
15323.0.0beta3 / 2012-06-15
1533==================
1534
1535  * Added hogan `--hjs` to express(1) [nullfirm]
1536  * Added another example to content-negotiation
1537  * Added `fresh` dep
1538  * Changed: `res.send()` always checks freshness
1539  * Fixed: expose connects mime module. Cloases #1165
1540
15413.0.0beta2 / 2012-06-06
1542==================
1543
1544  * Added `+` support to the router
1545  * Added `req.host`
1546  * Changed `req.param()` to check route first
1547  * Update connect dep
1548
15493.0.0beta1 / 2012-06-01
1550==================
1551
1552  * Added `res.format()` callback to override default 406 behaviour
1553  * Fixed `res.redirect()` 406. Closes #1154
1554
15553.0.0alpha5 / 2012-05-30
1556==================
1557
1558  * Added `req.ip`
1559  * Added `{ signed: true }` option to `res.cookie()`
1560  * Removed `res.signedCookie()`
1561  * Changed: dont reverse `req.ips`
1562  * Fixed "trust proxy" setting check for `req.ips`
1563
15643.0.0alpha4 / 2012-05-09
1565==================
1566
1567  * Added: allow `[]` in jsonp callback. Closes #1128
1568  * Added `PORT` env var support in generated template. Closes #1118 [benatkin]
1569  * Updated: connect 2.2.2
1570
15713.0.0alpha3 / 2012-05-04
1572==================
1573
1574  * Added public `app.routes`. Closes #887
1575  * Added _view-locals_ example
1576  * Added _mvc_ example
1577  * Added `res.locals.use()`. Closes #1120
1578  * Added conditional-GET support to `res.send()`
1579  * Added: coerce `res.set()` values to strings
1580  * Changed: moved `static()` in generated apps below router
1581  * Changed: `res.send()` only set ETag when not previously set
1582  * Changed connect 2.2.1 dep
1583  * Changed: `make test` now runs unit / acceptance tests
1584  * Fixed req/res proto inheritance
1585
15863.0.0alpha2 / 2012-04-26
1587==================
1588
1589  * Added `make benchmark` back
1590  * Added `res.send()` support for `String` objects
1591  * Added client-side data exposing example
1592  * Added `res.header()` and `req.header()` aliases for BC
1593  * Added `express.createServer()` for BC
1594  * Perf: memoize parsed urls
1595  * Perf: connect 2.2.0 dep
1596  * Changed: make `expressInit()` middleware self-aware
1597  * Fixed: use app.get() for all core settings
1598  * Fixed redis session example
1599  * Fixed session example. Closes #1105
1600  * Fixed generated express dep. Closes #1078
1601
16023.0.0alpha1 / 2012-04-15
1603==================
1604
1605  * Added `app.locals.use(callback)`
1606  * Added `app.locals` object
1607  * Added `app.locals(obj)`
1608  * Added `res.locals` object
1609  * Added `res.locals(obj)`
1610  * Added `res.format()` for content-negotiation
1611  * Added `app.engine()`
1612  * Added `res.cookie()` JSON cookie support
1613  * Added "trust proxy" setting
1614  * Added `req.subdomains`
1615  * Added `req.protocol`
1616  * Added `req.secure`
1617  * Added `req.path`
1618  * Added `req.ips`
1619  * Added `req.fresh`
1620  * Added `req.stale`
1621  * Added comma-delmited / array support for `req.accepts()`
1622  * Added debug instrumentation
1623  * Added `res.set(obj)`
1624  * Added `res.set(field, value)`
1625  * Added `res.get(field)`
1626  * Added `app.get(setting)`. Closes #842
1627  * Added `req.acceptsLanguage()`
1628  * Added `req.acceptsCharset()`
1629  * Added `req.accepted`
1630  * Added `req.acceptedLanguages`
1631  * Added `req.acceptedCharsets`
1632  * Added "json replacer" setting
1633  * Added "json spaces" setting
1634  * Added X-Forwarded-Proto support to `res.redirect()`. Closes #92
1635  * Added `--less` support to express(1)
1636  * Added `express.response` prototype
1637  * Added `express.request` prototype
1638  * Added `express.application` prototype
1639  * Added `app.path()`
1640  * Added `app.render()`
1641  * Added `res.type()` to replace `res.contentType()`
1642  * Changed: `res.redirect()` to add relative support
1643  * Changed: enable "jsonp callback" by default
1644  * Changed: renamed "case sensitive routes" to "case sensitive routing"
1645  * Rewrite of all tests with mocha
1646  * Removed "root" setting
1647  * Removed `res.redirect('home')` support
1648  * Removed `req.notify()`
1649  * Removed `app.register()`
1650  * Removed `app.redirect()`
1651  * Removed `app.is()`
1652  * Removed `app.helpers()`
1653  * Removed `app.dynamicHelpers()`
1654  * Fixed `res.sendfile()` with non-GET. Closes #723
1655  * Fixed express(1) public dir for windows. Closes #866
1656
16572.5.9/ 2012-04-02
1658==================
1659
1660  * Added support for PURGE request method [pbuyle]
1661  * Fixed `express(1)` generated app `app.address()` before `listening` [mmalecki]
1662
16632.5.8 / 2012-02-08
1664==================
1665
1666  * Update mkdirp dep. Closes #991
1667
16682.5.7 / 2012-02-06
1669==================
1670
1671  * Fixed `app.all` duplicate DELETE requests [mscdex]
1672
16732.5.6 / 2012-01-13
1674==================
1675
1676  * Updated hamljs dev dep. Closes #953
1677
16782.5.5 / 2012-01-08
1679==================
1680
1681  * Fixed: set `filename` on cached templates [matthewleon]
1682
16832.5.4 / 2012-01-02
1684==================
1685
1686  * Fixed `express(1)` eol on 0.4.x. Closes #947
1687
16882.5.3 / 2011-12-30
1689==================
1690
1691  * Fixed `req.is()` when a charset is present
1692
16932.5.2 / 2011-12-10
1694==================
1695
1696  * Fixed: express(1) LF -> CRLF for windows
1697
16982.5.1 / 2011-11-17
1699==================
1700
1701  * Changed: updated connect to 1.8.x
1702  * Removed sass.js support from express(1)
1703
17042.5.0 / 2011-10-24
1705==================
1706
1707  * Added ./routes dir for generated app by default
1708  * Added npm install reminder to express(1) app gen
1709  * Added 0.5.x support
1710  * Removed `make test-cov` since it wont work with node 0.5.x
1711  * Fixed express(1) public dir for windows. Closes #866
1712
17132.4.7 / 2011-10-05
1714==================
1715
1716  * Added mkdirp to express(1). Closes #795
1717  * Added simple _json-config_ example
1718  * Added  shorthand for the parsed request's pathname via `req.path`
1719  * Changed connect dep to 1.7.x to fix npm issue...
1720  * Fixed `res.redirect()` __HEAD__ support. [reported by xerox]
1721  * Fixed `req.flash()`, only escape args
1722  * Fixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie]
1723
17242.4.6 / 2011-08-22
1725==================
1726
1727  * Fixed multiple param callback regression. Closes #824 [reported by TroyGoode]
1728
17292.4.5 / 2011-08-19
1730==================
1731
1732  * Added support for routes to handle errors. Closes #809
1733  * Added `app.routes.all()`. Closes #803
1734  * Added "basepath" setting to work in conjunction with reverse proxies etc.
1735  * Refactored `Route` to use a single array of callbacks
1736  * Added support for multiple callbacks for `app.param()`. Closes #801
1737Closes #805
1738  * Changed: removed .call(self) for route callbacks
1739  * Dependency: `qs >= 0.3.1`
1740  * Fixed `res.redirect()` on windows due to `join()` usage. Closes #808
1741
17422.4.4 / 2011-08-05
1743==================
1744
1745  * Fixed `res.header()` intention of a set, even when `undefined`
1746  * Fixed `*`, value no longer required
1747  * Fixed `res.send(204)` support. Closes #771
1748
17492.4.3 / 2011-07-14
1750==================
1751
1752  * Added docs for `status` option special-case. Closes #739
1753  * Fixed `options.filename`, exposing the view path to template engines
1754
17552.4.2. / 2011-07-06
1756==================
1757
1758  * Revert "removed jsonp stripping" for XSS
1759
17602.4.1 / 2011-07-06
1761==================
1762
1763  * Added `res.json()` JSONP support. Closes #737
1764  * Added _extending-templates_ example. Closes #730
1765  * Added "strict routing" setting for trailing slashes
1766  * Added support for multiple envs in `app.configure()` calls. Closes #735
1767  * Changed: `res.send()` using `res.json()`
1768  * Changed: when cookie `path === null` don't default it
1769  * Changed; default cookie path to "home" setting. Closes #731
1770  * Removed _pids/logs_ creation from express(1)
1771
17722.4.0 / 2011-06-28
1773==================
1774
1775  * Added chainable `res.status(code)`
1776  * Added `res.json()`, an explicit version of `res.send(obj)`
1777  * Added simple web-service example
1778
17792.3.12 / 2011-06-22
1780==================
1781
1782  * \#express is now on freenode! come join!
1783  * Added `req.get(field, param)`
1784  * Added links to Japanese documentation, thanks @hideyukisaito!
1785  * Added; the `express(1)` generated app outputs the env
1786  * Added `content-negotiation` example
1787  * Dependency: connect >= 1.5.1 < 2.0.0
1788  * Fixed view layout bug. Closes #720
1789  * Fixed; ignore body on 304. Closes #701
1790
17912.3.11 / 2011-06-04
1792==================
1793
1794  * Added `npm test`
1795  * Removed generation of dummy test file from `express(1)`
1796  * Fixed; `express(1)` adds express as a dep
1797  * Fixed; prune on `prepublish`
1798
17992.3.10 / 2011-05-27
1800==================
1801
1802  * Added `req.route`, exposing the current route
1803  * Added _package.json_ generation support to `express(1)`
1804  * Fixed call to `app.param()` function for optional params. Closes #682
1805
18062.3.9 / 2011-05-25
1807==================
1808
1809  * Fixed bug-ish with `../' in `res.partial()` calls
1810
18112.3.8 / 2011-05-24
1812==================
1813
1814  * Fixed `app.options()`
1815
18162.3.7 / 2011-05-23
1817==================
1818
1819  * Added route `Collection`, ex: `app.get('/user/:id').remove();`
1820  * Added support for `app.param(fn)` to define param logic
1821  * Removed `app.param()` support for callback with return value
1822  * Removed module.parent check from express(1) generated app. Closes #670
1823  * Refactored router. Closes #639
1824
18252.3.6 / 2011-05-20
1826==================
1827
1828  * Changed; using devDependencies instead of git submodules
1829  * Fixed redis session example
1830  * Fixed markdown example
1831  * Fixed view caching, should not be enabled in development
1832
18332.3.5 / 2011-05-20
1834==================
1835
1836  * Added export `.view` as alias for `.View`
1837
18382.3.4 / 2011-05-08
1839==================
1840
1841  * Added `./examples/say`
1842  * Fixed `res.sendfile()` bug preventing the transfer of files with spaces
1843
18442.3.3 / 2011-05-03
1845==================
1846
1847  * Added "case sensitive routes" option.
1848  * Changed; split methods supported per rfc [slaskis]
1849  * Fixed route-specific middleware when using the same callback function several times
1850
18512.3.2 / 2011-04-27
1852==================
1853
1854  * Fixed view hints
1855
18562.3.1 / 2011-04-26
1857==================
1858
1859  * Added `app.match()` as `app.match.all()`
1860  * Added `app.lookup()` as `app.lookup.all()`
1861  * Added `app.remove()` for `app.remove.all()`
1862  * Added `app.remove.VERB()`
1863  * Fixed template caching collision issue. Closes #644
1864  * Moved router over from connect and started refactor
1865
18662.3.0 / 2011-04-25
1867==================
1868
1869  * Added options support to `res.clearCookie()`
1870  * Added `res.helpers()` as alias of `res.locals()`
1871  * Added; json defaults to UTF-8 with `res.send()`. Closes #632. [Daniel   * Dependency `connect >= 1.4.0`
1872  * Changed; auto set Content-Type in res.attachement [Aaron Heckmann]
1873  * Renamed "cache views" to "view cache". Closes #628
1874  * Fixed caching of views when using several apps. Closes #637
1875  * Fixed gotcha invoking `app.param()` callbacks once per route middleware.
1876Closes #638
1877  * Fixed partial lookup precedence. Closes #631
1878Shaw]
1879
18802.2.2 / 2011-04-12
1881==================
1882
1883  * Added second callback support for `res.download()` connection errors
1884  * Fixed `filename` option passing to template engine
1885
18862.2.1 / 2011-04-04
1887==================
1888
1889  * Added `layout(path)` helper to change the layout within a view. Closes #610
1890  * Fixed `partial()` collection object support.
1891    Previously only anything with `.length` would work.
1892    When `.length` is present one must still be aware of holes,
1893    however now `{ collection: {foo: 'bar'}}` is valid, exposes
1894    `keyInCollection` and `keysInCollection`.
1895
1896  * Performance improved with better view caching
1897  * Removed `request` and `response` locals
1898  * Changed; errorHandler page title is now `Express` instead of `Connect`
1899
19002.2.0 / 2011-03-30
1901==================
1902
1903  * Added `app.lookup.VERB()`, ex `app.lookup.put('/user/:id')`. Closes #606
1904  * Added `app.match.VERB()`, ex `app.match.put('/user/12')`. Closes #606
1905  * Added `app.VERB(path)` as alias of `app.lookup.VERB()`.
1906  * Dependency `connect >= 1.2.0`
1907
19082.1.1 / 2011-03-29
1909==================
1910
1911  * Added; expose `err.view` object when failing to locate a view
1912  * Fixed `res.partial()` call `next(err)` when no callback is given [reported by aheckmann]
1913  * Fixed; `res.send(undefined)` responds with 204 [aheckmann]
1914
19152.1.0 / 2011-03-24
1916==================
1917
1918  * Added `<root>/_?<name>` partial lookup support. Closes #447
1919  * Added `request`, `response`, and `app` local variables
1920  * Added `settings` local variable, containing the app's settings
1921  * Added `req.flash()` exception if `req.session` is not available
1922  * Added `res.send(bool)` support (json response)
1923  * Fixed stylus example for latest version
1924  * Fixed; wrap try/catch around `res.render()`
1925
19262.0.0 / 2011-03-17
1927==================
1928
1929  * Fixed up index view path alternative.
1930  * Changed; `res.locals()` without object returns the locals
1931
19322.0.0rc3 / 2011-03-17
1933==================
1934
1935  * Added `res.locals(obj)` to compliment `res.local(key, val)`
1936  * Added `res.partial()` callback support
1937  * Fixed recursive error reporting issue in `res.render()`
1938
19392.0.0rc2 / 2011-03-17
1940==================
1941
1942  * Changed; `partial()` "locals" are now optional
1943  * Fixed `SlowBuffer` support. Closes #584 [reported by tyrda01]
1944  * Fixed .filename view engine option [reported by drudge]
1945  * Fixed blog example
1946  * Fixed `{req,res}.app` reference when mounting [Ben Weaver]
1947
19482.0.0rc / 2011-03-14
1949==================
1950
1951  * Fixed; expose `HTTPSServer` constructor
1952  * Fixed express(1) default test charset. Closes #579 [reported by secoif]
1953  * Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP]
1954
19552.0.0beta3 / 2011-03-09
1956==================
1957
1958  * Added support for `res.contentType()` literal
1959    The original `res.contentType('.json')`,
1960    `res.contentType('application/json')`, and `res.contentType('json')`
1961    will work now.
1962  * Added `res.render()` status option support back
1963  * Added charset option for `res.render()`
1964  * Added `.charset` support (via connect 1.0.4)
1965  * Added view resolution hints when in development and a lookup fails
1966  * Added layout lookup support relative to the page view.
1967    For example while rendering `./views/user/index.jade` if you create
1968    `./views/user/layout.jade` it will be used in favour of the root layout.
1969  * Fixed `res.redirect()`. RFC states absolute url [reported by unlink]
1970  * Fixed; default `res.send()` string charset to utf8
1971  * Removed `Partial` constructor (not currently used)
1972
19732.0.0beta2 / 2011-03-07
1974==================
1975
1976  * Added res.render() `.locals` support back to aid in migration process
1977  * Fixed flash example
1978
19792.0.0beta / 2011-03-03
1980==================
1981
1982  * Added HTTPS support
1983  * Added `res.cookie()` maxAge support
1984  * Added `req.header()` _Referrer_ / _Referer_ special-case, either works
1985  * Added mount support for `res.redirect()`, now respects the mount-point
1986  * Added `union()` util, taking place of `merge(clone())` combo
1987  * Added stylus support to express(1) generated app
1988  * Added secret to session middleware used in examples and generated app
1989  * Added `res.local(name, val)` for progressive view locals
1990  * Added default param support to `req.param(name, default)`
1991  * Added `app.disabled()` and `app.enabled()`
1992  * Added `app.register()` support for omitting leading ".", either works
1993  * Added `res.partial()`, using the same interface as `partial()` within a view. Closes #539
1994  * Added `app.param()` to map route params to async/sync logic
1995  * Added; aliased `app.helpers()` as `app.locals()`. Closes #481
1996  * Added extname with no leading "." support to `res.contentType()`
1997  * Added `cache views` setting, defaulting to enabled in "production" env
1998  * Added index file partial resolution, eg: partial('user') may try _views/user/index.jade_.
1999  * Added `req.accepts()` support for extensions
2000  * Changed; `res.download()` and `res.sendfile()` now utilize Connect's
2001    static file server `connect.static.send()`.
2002  * Changed; replaced `connect.utils.mime()` with npm _mime_ module
2003  * Changed; allow `req.query` to be pre-defined (via middleware or other parent
2004  * Changed view partial resolution, now relative to parent view
2005  * Changed view engine signature. no longer `engine.render(str, options, callback)`, now `engine.compile(str, options) -> Function`, the returned function accepts `fn(locals)`.
2006  * Fixed `req.param()` bug returning Array.prototype methods. Closes #552
2007  * Fixed; using `Stream#pipe()` instead of `sys.pump()` in `res.sendfile()`
2008  * Fixed; using _qs_ module instead of _querystring_
2009  * Fixed; strip unsafe chars from jsonp callbacks
2010  * Removed "stream threshold" setting
2011
20121.0.8 / 2011-03-01
2013==================
2014
2015  * Allow `req.query` to be pre-defined (via middleware or other parent app)
2016  * "connect": ">= 0.5.0 < 1.0.0". Closes #547
2017  * Removed the long deprecated __EXPRESS_ENV__ support
2018
20191.0.7 / 2011-02-07
2020==================
2021
2022  * Fixed `render()` setting inheritance.
2023    Mounted apps would not inherit "view engine"
2024
20251.0.6 / 2011-02-07
2026==================
2027
2028  * Fixed `view engine` setting bug when period is in dirname
2029
20301.0.5 / 2011-02-05
2031==================
2032
2033  * Added secret to generated app `session()` call
2034
20351.0.4 / 2011-02-05
2036==================
2037
2038  * Added `qs` dependency to _package.json_
2039  * Fixed namespaced `require()`s for latest connect support
2040
20411.0.3 / 2011-01-13
2042==================
2043
2044  * Remove unsafe characters from JSONP callback names [Ryan Grove]
2045
20461.0.2 / 2011-01-10
2047==================
2048
2049  * Removed nested require, using `connect.router`
2050
20511.0.1 / 2010-12-29
2052==================
2053
2054  * Fixed for middleware stacked via `createServer()`
2055    previously the `foo` middleware passed to `createServer(foo)`
2056    would not have access to Express methods such as `res.send()`
2057    or props like `req.query` etc.
2058
20591.0.0 / 2010-11-16
2060==================
2061
2062  * Added; deduce partial object names from the last segment.
2063    For example by default `partial('forum/post', postObject)` will
2064    give you the _post_ object, providing a meaningful default.
2065  * Added http status code string representation to `res.redirect()` body
2066  * Added; `res.redirect()` supporting _text/plain_ and _text/html_ via __Accept__.
2067  * Added `req.is()` to aid in content negotiation
2068  * Added partial local inheritance [suggested by masylum]. Closes #102
2069    providing access to parent template locals.
2070  * Added _-s, --session[s]_ flag to express(1) to add session related middleware
2071  * Added _--template_ flag to express(1) to specify the
2072    template engine to use.
2073  * Added _--css_ flag to express(1) to specify the
2074    stylesheet engine to use (or just plain css by default).
2075  * Added `app.all()` support [thanks aheckmann]
2076  * Added partial direct object support.
2077    You may now `partial('user', user)` providing the "user" local,
2078    vs previously `partial('user', { object: user })`.
2079  * Added _route-separation_ example since many people question ways
2080    to do this with CommonJS modules. Also view the _blog_ example for
2081    an alternative.
2082  * Performance; caching view path derived partial object names
2083  * Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454
2084  * Fixed jsonp support; _text/javascript_ as per mailinglist discussion
2085
20861.0.0rc4 / 2010-10-14
2087==================
2088
2089  * Added _NODE_ENV_ support, _EXPRESS_ENV_ is deprecated and will be removed in 1.0.0
2090  * Added route-middleware support (very helpful, see the [docs](http://expressjs.com/guide.html#Route-Middleware))
2091  * Added _jsonp callback_ setting to enable/disable jsonp autowrapping [Dav Glass]
2092  * Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass]
2093  * Added `partial()` support for array-like collections. Closes #434
2094  * Added support for swappable querystring parsers
2095  * Added session usage docs. Closes #443
2096  * Added dynamic helper caching. Closes #439 [suggested by maritz]
2097  * Added authentication example
2098  * Added basic Range support to `res.sendfile()` (and `res.download()` etc)
2099  * Changed; `express(1)` generated app using 2 spaces instead of 4
2100  * Default env to "development" again [aheckmann]
2101  * Removed _context_ option is no more, use "scope"
2102  * Fixed; exposing _./support_ libs to examples so they can run without installs
2103  * Fixed mvc example
2104
21051.0.0rc3 / 2010-09-20
2106==================
2107
2108  * Added confirmation for `express(1)` app generation. Closes #391
2109  * Added extending of flash formatters via `app.flashFormatters`
2110  * Added flash formatter support. Closes #411
2111  * Added streaming support to `res.sendfile()` using `sys.pump()` when >= "stream threshold"
2112  * Added _stream threshold_ setting for `res.sendfile()`
2113  * Added `res.send()` __HEAD__ support
2114  * Added `res.clearCookie()`
2115  * Added `res.cookie()`
2116  * Added `res.render()` headers option
2117  * Added `res.redirect()` response bodies
2118  * Added `res.render()` status option support. Closes #425 [thanks aheckmann]
2119  * Fixed `res.sendfile()` responding with 403 on malicious path
2120  * Fixed `res.download()` bug; when an error occurs remove _Content-Disposition_
2121  * Fixed; mounted apps settings now inherit from parent app [aheckmann]
2122  * Fixed; stripping Content-Length / Content-Type when 204
2123  * Fixed `res.send()` 204. Closes #419
2124  * Fixed multiple _Set-Cookie_ headers via `res.header()`. Closes #402
2125  * Fixed bug messing with error handlers when `listenFD()` is called instead of `listen()`. [thanks guillermo]
2126
2127
21281.0.0rc2 / 2010-08-17
2129==================
2130
2131  * Added `app.register()` for template engine mapping. Closes #390
2132  * Added `res.render()` callback support as second argument (no options)
2133  * Added callback support to `res.download()`
2134  * Added callback support for `res.sendfile()`
2135  * Added support for middleware access via `express.middlewareName()` vs `connect.middlewareName()`
2136  * Added "partials" setting to docs
2137  * Added default expresso tests to `express(1)` generated app. Closes #384
2138  * Fixed `res.sendfile()` error handling, defer via `next()`
2139  * Fixed `res.render()` callback when a layout is used [thanks guillermo]
2140  * Fixed; `make install` creating ~/.node_libraries when not present
2141  * Fixed issue preventing error handlers from being defined anywhere. Closes #387
2142
21431.0.0rc / 2010-07-28
2144==================
2145
2146  * Added mounted hook. Closes #369
2147  * Added connect dependency to _package.json_
2148
2149  * Removed "reload views" setting and support code
2150    development env never caches, production always caches.
2151
2152  * Removed _param_ in route callbacks, signature is now
2153    simply (req, res, next), previously (req, res, params, next).
2154    Use _req.params_ for path captures, _req.query_ for GET params.
2155
2156  * Fixed "home" setting
2157  * Fixed middleware/router precedence issue. Closes #366
2158  * Fixed; _configure()_ callbacks called immediately. Closes #368
2159
21601.0.0beta2 / 2010-07-23
2161==================
2162
2163  * Added more examples
2164  * Added; exporting `Server` constructor
2165  * Added `Server#helpers()` for view locals
2166  * Added `Server#dynamicHelpers()` for dynamic view locals. Closes #349
2167  * Added support for absolute view paths
2168  * Added; _home_ setting defaults to `Server#route` for mounted apps. Closes #363
2169  * Added Guillermo Rauch to the contributor list
2170  * Added support for "as" for non-collection partials. Closes #341
2171  * Fixed _install.sh_, ensuring _~/.node_libraries_ exists. Closes #362 [thanks jf]
2172  * Fixed `res.render()` exceptions, now passed to `next()` when no callback is given [thanks guillermo]
2173  * Fixed instanceof `Array` checks, now `Array.isArray()`
2174  * Fixed express(1) expansion of public dirs. Closes #348
2175  * Fixed middleware precedence. Closes #345
2176  * Fixed view watcher, now async [thanks aheckmann]
2177
21781.0.0beta / 2010-07-15
2179==================
2180
2181  * Re-write
2182    - much faster
2183    - much lighter
2184    - Check [ExpressJS.com](http://expressjs.com) for migration guide and updated docs
2185
21860.14.0 / 2010-06-15
2187==================
2188
2189  * Utilize relative requires
2190  * Added Static bufferSize option [aheckmann]
2191  * Fixed caching of view and partial subdirectories [aheckmann]
2192  * Fixed mime.type() comments now that ".ext" is not supported
2193  * Updated haml submodule
2194  * Updated class submodule
2195  * Removed bin/express
2196
21970.13.0 / 2010-06-01
2198==================
2199
2200  * Added node v0.1.97 compatibility
2201  * Added support for deleting cookies via Request#cookie('key', null)
2202  * Updated haml submodule
2203  * Fixed not-found page, now using using charset utf-8
2204  * Fixed show-exceptions page, now using using charset utf-8
2205  * Fixed view support due to fs.readFile Buffers
2206  * Changed; mime.type() no longer accepts ".type" due to node extname() changes
2207
22080.12.0 / 2010-05-22
2209==================
2210
2211  * Added node v0.1.96 compatibility
2212  * Added view `helpers` export which act as additional local variables
2213  * Updated haml submodule
2214  * Changed ETag; removed inode, modified time only
2215  * Fixed LF to CRLF for setting multiple cookies
2216  * Fixed cookie complation; values are now urlencoded
2217  * Fixed cookies parsing; accepts quoted values and url escaped cookies
2218
22190.11.0 / 2010-05-06
2220==================
2221
2222  * Added support for layouts using different engines
2223    - this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' })
2224    - this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml'
2225    - this.render('page.html.haml', { layout: false }) // no layout
2226  * Updated ext submodule
2227  * Updated haml submodule
2228  * Fixed EJS partial support by passing along the context. Issue #307
2229
22300.10.1 / 2010-05-03
2231==================
2232
2233  * Fixed binary uploads.
2234
22350.10.0 / 2010-04-30
2236==================
2237
2238  * Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s
2239    encoding is set to 'utf8' or 'utf-8'.
2240  * Added "encoding" option to Request#render(). Closes #299
2241  * Added "dump exceptions" setting, which is enabled by default.
2242  * Added simple ejs template engine support
2243  * Added error response support for text/plain, application/json. Closes #297
2244  * Added callback function param to Request#error()
2245  * Added Request#sendHead()
2246  * Added Request#stream()
2247  * Added support for Request#respond(304, null) for empty response bodies
2248  * Added ETag support to Request#sendfile()
2249  * Added options to Request#sendfile(), passed to fs.createReadStream()
2250  * Added filename arg to Request#download()
2251  * Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request
2252  * Performance enhanced by preventing several calls to toLowerCase() in Router#match()
2253  * Changed; Request#sendfile() now streams
2254  * Changed; Renamed Request#halt() to Request#respond(). Closes #289
2255  * Changed; Using sys.inspect() instead of JSON.encode() for error output
2256  * Changed; run() returns the http.Server instance. Closes #298
2257  * Changed; Defaulting Server#host to null (INADDR_ANY)
2258  * Changed; Logger "common" format scale of 0.4f
2259  * Removed Logger "request" format
2260  * Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found
2261  * Fixed several issues with http client
2262  * Fixed Logger Content-Length output
2263  * Fixed bug preventing Opera from retaining the generated session id. Closes #292
2264
22650.9.0 / 2010-04-14
2266==================
2267
2268  * Added DSL level error() route support
2269  * Added DSL level notFound() route support
2270  * Added Request#error()
2271  * Added Request#notFound()
2272  * Added Request#render() callback function. Closes #258
2273  * Added "max upload size" setting
2274  * Added "magic" variables to collection partials (\_\_index\_\_, \_\_length\_\_, \_\_isFirst\_\_, \_\_isLast\_\_). Closes #254
2275  * Added [haml.js](http://github.com/visionmedia/haml.js) submodule; removed haml-js
2276  * Added callback function support to Request#halt() as 3rd/4th arg
2277  * Added preprocessing of route param wildcards using param(). Closes #251
2278  * Added view partial support (with collections etc)
2279  * Fixed bug preventing falsey params (such as ?page=0). Closes #286
2280  * Fixed setting of multiple cookies. Closes #199
2281  * Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml)
2282  * Changed; session cookie is now httpOnly
2283  * Changed; Request is no longer global
2284  * Changed; Event is no longer global
2285  * Changed; "sys" module is no longer global
2286  * Changed; moved Request#download to Static plugin where it belongs
2287  * Changed; Request instance created before body parsing. Closes #262
2288  * Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253
2289  * Changed; Pre-caching view partials in memory when "cache view partials" is enabled
2290  * Updated support to node --version 0.1.90
2291  * Updated dependencies
2292  * Removed set("session cookie") in favour of use(Session, { cookie: { ... }})
2293  * Removed utils.mixin(); use Object#mergeDeep()
2294
22950.8.0 / 2010-03-19
2296==================
2297
2298  * Added coffeescript example app. Closes #242
2299  * Changed; cache api now async friendly. Closes #240
2300  * Removed deprecated 'express/static' support. Use 'express/plugins/static'
2301
23020.7.6 / 2010-03-19
2303==================
2304
2305  * Added Request#isXHR. Closes #229
2306  * Added `make install` (for the executable)
2307  * Added `express` executable for setting up simple app templates
2308  * Added "GET /public/*" to Static plugin, defaulting to <root>/public
2309  * Added Static plugin
2310  * Fixed; Request#render() only calls cache.get() once
2311  * Fixed; Namespacing View caches with "view:"
2312  * Fixed; Namespacing Static caches with "static:"
2313  * Fixed; Both example apps now use the Static plugin
2314  * Fixed set("views"). Closes #239
2315  * Fixed missing space for combined log format
2316  * Deprecated Request#sendfile() and 'express/static'
2317  * Removed Server#running
2318
23190.7.5 / 2010-03-16
2320==================
2321
2322  * Added Request#flash() support without args, now returns all flashes
2323  * Updated ext submodule
2324
23250.7.4 / 2010-03-16
2326==================
2327
2328  * Fixed session reaper
2329  * Changed; class.js replacing js-oo Class implementation (quite a bit faster, no browser cruft)
2330
23310.7.3 / 2010-03-16
2332==================
2333
2334  * Added package.json
2335  * Fixed requiring of haml / sass due to kiwi removal
2336
23370.7.2 / 2010-03-16
2338==================
2339
2340  * Fixed GIT submodules (HAH!)
2341
23420.7.1 / 2010-03-16
2343==================
2344
2345  * Changed; Express now using submodules again until a PM is adopted
2346  * Changed; chat example using millisecond conversions from ext
2347
23480.7.0 / 2010-03-15
2349==================
2350
2351  * Added Request#pass() support (finds the next matching route, or the given path)
2352  * Added Logger plugin (default "common" format replaces CommonLogger)
2353  * Removed Profiler plugin
2354  * Removed CommonLogger plugin
2355
23560.6.0 / 2010-03-11
2357==================
2358
2359  * Added seed.yml for kiwi package management support
2360  * Added HTTP client query string support when method is GET. Closes #205
2361
2362  * Added support for arbitrary view engines.
2363    For example "foo.engine.html" will now require('engine'),
2364    the exports from this module are cached after the first require().
2365
2366  * Added async plugin support
2367
2368  * Removed usage of RESTful route funcs as http client
2369    get() etc, use http.get() and friends
2370
2371  * Removed custom exceptions
2372
23730.5.0 / 2010-03-10
2374==================
2375
2376  * Added ext dependency (library of js extensions)
2377  * Removed extname() / basename() utils. Use path module
2378  * Removed toArray() util. Use arguments.values
2379  * Removed escapeRegexp() util. Use RegExp.escape()
2380  * Removed process.mixin() dependency. Use utils.mixin()
2381  * Removed Collection
2382  * Removed ElementCollection
2383  * Shameless self promotion of ebook "Advanced JavaScript" (http://dev-mag.com)  ;)
2384
23850.4.0 / 2010-02-11
2386==================
2387
2388  * Added flash() example to sample upload app
2389  * Added high level restful http client module (express/http)
2390  * Changed; RESTful route functions double as HTTP clients. Closes #69
2391  * Changed; throwing error when routes are added at runtime
2392  * Changed; defaulting render() context to the current Request. Closes #197
2393  * Updated haml submodule
2394
23950.3.0 / 2010-02-11
2396==================
2397
2398  * Updated haml / sass submodules. Closes #200
2399  * Added flash message support. Closes #64
2400  * Added accepts() now allows multiple args. fixes #117
2401  * Added support for plugins to halt. Closes #189
2402  * Added alternate layout support. Closes #119
2403  * Removed Route#run(). Closes #188
2404  * Fixed broken specs due to use(Cookie) missing
2405
24060.2.1 / 2010-02-05
2407==================
2408
2409  * Added "plot" format option for Profiler (for gnuplot processing)
2410  * Added request number to Profiler plugin
2411  * Fixed binary encoding for multi-part file uploads, was previously defaulting to UTF8
2412  * Fixed issue with routes not firing when not files are present. Closes #184
2413  * Fixed process.Promise -> events.Promise
2414
24150.2.0 / 2010-02-03
2416==================
2417
2418  * Added parseParam() support for name[] etc. (allows for file inputs with "multiple" attr) Closes #180
2419  * Added Both Cache and Session option "reapInterval" may be "reapEvery". Closes #174
2420  * Added expiration support to cache api with reaper. Closes #133
2421  * Added cache Store.Memory#reap()
2422  * Added Cache; cache api now uses first class Cache instances
2423  * Added abstract session Store. Closes #172
2424  * Changed; cache Memory.Store#get() utilizing Collection
2425  * Renamed MemoryStore -> Store.Memory
2426  * Fixed use() of the same plugin several time will always use latest options. Closes #176
2427
24280.1.0 / 2010-02-03
2429==================
2430
2431  * Changed; Hooks (before / after) pass request as arg as well as evaluated in their context
2432  * Updated node support to 0.1.27 Closes #169
2433  * Updated dirname(__filename) -> __dirname
2434  * Updated libxmljs support to v0.2.0
2435  * Added session support with memory store / reaping
2436  * Added quick uid() helper
2437  * Added multi-part upload support
2438  * Added Sass.js support / submodule
2439  * Added production env caching view contents and static files
2440  * Added static file caching. Closes #136
2441  * Added cache plugin with memory stores
2442  * Added support to StaticFile so that it works with non-textual files.
2443  * Removed dirname() helper
2444  * Removed several globals (now their modules must be required)
2445
24460.0.2 / 2010-01-10
2447==================
2448
2449  * Added view benchmarks; currently haml vs ejs
2450  * Added Request#attachment() specs. Closes #116
2451  * Added use of node's parseQuery() util. Closes #123
2452  * Added `make init` for submodules
2453  * Updated Haml
2454  * Updated sample chat app to show messages on load
2455  * Updated libxmljs parseString -> parseHtmlString
2456  * Fixed `make init` to work with older versions of git
2457  * Fixed specs can now run independent specs for those who cant build deps. Closes #127
2458  * Fixed issues introduced by the node url module changes. Closes 126.
2459  * Fixed two assertions failing due to Collection#keys() returning strings
2460  * Fixed faulty Collection#toArray() spec due to keys() returning strings
2461  * Fixed `make test` now builds libxmljs.node before testing
2462
24630.0.1 / 2010-01-03
2464==================
2465
2466  * Initial release