PageRenderTime 94ms CodeModel.GetById 20ms app.highlight 64ms RepoModel.GetById 1ms app.codeStats 0ms

/node_modules/express/History.md

https://bitbucket.org/gagginaspinnata/todo-app-with-angularjs
Markdown | 1014 lines | 809 code | 205 blank | 0 comment | 0 complexity | 7f603e9b7e69f394ab7d6278bf44b160 MD5 | raw file
Possible License(s): Apache-2.0, MIT
   1
   23.0.0rc4 / 2012-08-30 
   3==================
   4
   5  * add `res.jsonp()`. Closes #1307
   6  * add "verbose errors" option to error-pages example
   7  * add another route example to express(1) so people are not so confused
   8  * add redis online user activity tracking example
   9  * update connect dep
  10  * fix etag quoting. Closes #1310
  11  * fix error-pages 404 status
  12  * fix jsonp callback char restrictions
  13  * remove old OPTIONS default response
  14
  153.0.0rc3 / 2012-08-13 
  16==================
  17
  18  * update connect dep
  19  * fix signed cookies to work with `connect.cookieParser()` ("s:" prefix was missing) [tnydwrds]
  20  * fix `res.render()` clobbering of "locals"
  21
  223.0.0rc2 / 2012-08-03 
  23==================
  24
  25  * add CORS example
  26  * update connect dep
  27  * deprecate `.createServer()` & remove old stale examples
  28  * fix: escape `res.redirect()` link
  29  * fix vhost example
  30
  313.0.0rc1 / 2012-07-24 
  32==================
  33
  34  * add more examples to view-locals
  35  * add scheme-relative redirects (`res.redirect("//foo.com")`) support
  36  * update cookie dep
  37  * update connect dep
  38  * update send dep
  39  * fix `express(1)` -h flag, use -H for hogan. Closes #1245
  40  * fix `res.sendfile()` socket error handling regression
  41
  423.0.0beta7 / 2012-07-16 
  43==================
  44
  45  * update connect dep for `send()` root normalization regression
  46
  473.0.0beta6 / 2012-07-13 
  48==================
  49
  50  * add `err.view` property for view errors. Closes #1226
  51  * add "jsonp callback name" setting
  52  * add support for "/foo/:bar*" non-greedy matches
  53  * change `res.sendfile()` to use `send()` module
  54  * change `res.send` to use "response-send" module
  55  * remove `app.locals.use` and `res.locals.use`, use regular middleware
  56
  573.0.0beta5 / 2012-07-03 
  58==================
  59
  60  * add "make check" support
  61  * add route-map example
  62  * add `res.json(obj, status)` support back for BC
  63  * add "methods" dep, remove internal methods module
  64  * update connect dep
  65  * update auth example to utilize cores pbkdf2
  66  * updated tests to use "supertest"
  67
  683.0.0beta4 / 2012-06-25 
  69==================
  70
  71  * Added `req.auth`
  72  * Added `req.range(size)`
  73  * Added `res.links(obj)`
  74  * Added `res.send(body, status)` support back for backwards compat
  75  * Added `.default()` support to `res.format()`
  76  * Added 2xx / 304 check to `req.fresh`
  77  * Revert "Added + support to the router"
  78  * Fixed `res.send()` freshness check, respect res.statusCode
  79
  803.0.0beta3 / 2012-06-15 
  81==================
  82
  83  * Added hogan `--hjs` to express(1) [nullfirm]
  84  * Added another example to content-negotiation
  85  * Added `fresh` dep
  86  * Changed: `res.send()` always checks freshness
  87  * Fixed: expose connects mime module. Cloases #1165
  88
  893.0.0beta2 / 2012-06-06 
  90==================
  91
  92  * Added `+` support to the router
  93  * Added `req.host`
  94  * Changed `req.param()` to check route first
  95  * Update connect dep
  96
  973.0.0beta1 / 2012-06-01 
  98==================
  99
 100  * Added `res.format()` callback to override default 406 behaviour
 101  * Fixed `res.redirect()` 406. Closes #1154
 102
 1033.0.0alpha5 / 2012-05-30 
 104==================
 105
 106  * Added `req.ip`
 107  * Added `{ signed: true }` option to `res.cookie()`
 108  * Removed `res.signedCookie()`
 109  * Changed: dont reverse `req.ips`
 110  * Fixed "trust proxy" setting check for `req.ips`
 111
 1123.0.0alpha4 / 2012-05-09 
 113==================
 114
 115  * Added: allow `[]` in jsonp callback. Closes #1128
 116  * Added `PORT` env var support in generated template. Closes #1118 [benatkin]
 117  * Updated: connect 2.2.2
 118
 1193.0.0alpha3 / 2012-05-04 
 120==================
 121
 122  * Added public `app.routes`. Closes #887
 123  * Added _view-locals_ example
 124  * Added _mvc_ example
 125  * Added `res.locals.use()`. Closes #1120
 126  * Added conditional-GET support to `res.send()`
 127  * Added: coerce `res.set()` values to strings
 128  * Changed: moved `static()` in generated apps below router
 129  * Changed: `res.send()` only set ETag when not previously set
 130  * Changed connect 2.2.1 dep
 131  * Changed: `make test` now runs unit / acceptance tests
 132  * Fixed req/res proto inheritance
 133
 1343.0.0alpha2 / 2012-04-26 
 135==================
 136
 137  * Added `make benchmark` back
 138  * Added `res.send()` support for `String` objects
 139  * Added client-side data exposing example
 140  * Added `res.header()` and `req.header()` aliases for BC
 141  * Added `express.createServer()` for BC
 142  * Perf: memoize parsed urls
 143  * Perf: connect 2.2.0 dep
 144  * Changed: make `expressInit()` middleware self-aware
 145  * Fixed: use app.get() for all core settings
 146  * Fixed redis session example
 147  * Fixed session example. Closes #1105
 148  * Fixed generated express dep. Closes #1078
 149
 1503.0.0alpha1 / 2012-04-15 
 151==================
 152
 153  * Added `app.locals.use(callback)`
 154  * Added `app.locals` object
 155  * Added `app.locals(obj)`
 156  * Added `res.locals` object
 157  * Added `res.locals(obj)`
 158  * Added `res.format()` for content-negotiation
 159  * Added `app.engine()`
 160  * Added `res.cookie()` JSON cookie support
 161  * Added "trust proxy" setting
 162  * Added `req.subdomains`
 163  * Added `req.protocol`
 164  * Added `req.secure`
 165  * Added `req.path`
 166  * Added `req.ips`
 167  * Added `req.fresh`
 168  * Added `req.stale`
 169  * Added comma-delmited / array support for `req.accepts()`
 170  * Added debug instrumentation
 171  * Added `res.set(obj)`
 172  * Added `res.set(field, value)`
 173  * Added `res.get(field)`
 174  * Added `app.get(setting)`. Closes #842
 175  * Added `req.acceptsLanguage()`
 176  * Added `req.acceptsCharset()`
 177  * Added `req.accepted`
 178  * Added `req.acceptedLanguages`
 179  * Added `req.acceptedCharsets`
 180  * Added "json replacer" setting
 181  * Added "json spaces" setting
 182  * Added X-Forwarded-Proto support to `res.redirect()`. Closes #92
 183  * Added `--less` support to express(1)
 184  * Added `express.response` prototype
 185  * Added `express.request` prototype
 186  * Added `express.application` prototype
 187  * Added `app.path()`
 188  * Added `app.render()`
 189  * Added `res.type()` to replace `res.contentType()`
 190  * Changed: `res.redirect()` to add relative support
 191  * Changed: enable "jsonp callback" by default
 192  * Changed: renamed "case sensitive routes" to "case sensitive routing"
 193  * Rewrite of all tests with mocha
 194  * Removed "root" setting
 195  * Removed `res.redirect('home')` support
 196  * Removed `req.notify()`
 197  * Removed `app.register()`
 198  * Removed `app.redirect()`
 199  * Removed `app.is()`
 200  * Removed `app.helpers()`
 201  * Removed `app.dynamicHelpers()`
 202  * Fixed `res.sendfile()` with non-GET. Closes #723
 203  * Fixed express(1) public dir for windows. Closes #866
 204
 2052.5.9/ 2012-04-02 
 206==================
 207
 208  * Added support for PURGE request method [pbuyle]
 209  * Fixed `express(1)` generated app `app.address()` before `listening` [mmalecki]
 210
 2112.5.8 / 2012-02-08 
 212==================
 213
 214  * Update mkdirp dep. Closes #991
 215
 2162.5.7 / 2012-02-06 
 217==================
 218
 219  * Fixed `app.all` duplicate DELETE requests [mscdex]
 220
 2212.5.6 / 2012-01-13 
 222==================
 223
 224  * Updated hamljs dev dep. Closes #953
 225
 2262.5.5 / 2012-01-08 
 227==================
 228
 229  * Fixed: set `filename` on cached templates [matthewleon]
 230
 2312.5.4 / 2012-01-02 
 232==================
 233
 234  * Fixed `express(1)` eol on 0.4.x. Closes #947
 235
 2362.5.3 / 2011-12-30 
 237==================
 238
 239  * Fixed `req.is()` when a charset is present
 240
 2412.5.2 / 2011-12-10 
 242==================
 243
 244  * Fixed: express(1) LF -> CRLF for windows
 245
 2462.5.1 / 2011-11-17 
 247==================
 248
 249  * Changed: updated connect to 1.8.x
 250  * Removed sass.js support from express(1)
 251
 2522.5.0 / 2011-10-24 
 253==================
 254
 255  * Added ./routes dir for generated app by default
 256  * Added npm install reminder to express(1) app gen
 257  * Added 0.5.x support
 258  * Removed `make test-cov` since it wont work with node 0.5.x
 259  * Fixed express(1) public dir for windows. Closes #866
 260
 2612.4.7 / 2011-10-05 
 262==================
 263
 264  * Added mkdirp to express(1). Closes #795
 265  * Added simple _json-config_ example
 266  * Added  shorthand for the parsed request's pathname via `req.path`
 267  * Changed connect dep to 1.7.x to fix npm issue...
 268  * Fixed `res.redirect()` __HEAD__ support. [reported by xerox]
 269  * Fixed `req.flash()`, only escape args
 270  * Fixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie]
 271
 2722.4.6 / 2011-08-22 
 273==================
 274
 275  * Fixed multiple param callback regression. Closes #824 [reported by TroyGoode]
 276
 2772.4.5 / 2011-08-19 
 278==================
 279
 280  * Added support for routes to handle errors. Closes #809
 281  * Added `app.routes.all()`. Closes #803
 282  * Added "basepath" setting to work in conjunction with reverse proxies etc.   
 283  * Refactored `Route` to use a single array of callbacks
 284  * Added support for multiple callbacks for `app.param()`. Closes #801
 285Closes #805
 286  * Changed: removed .call(self) for route callbacks
 287  * Dependency: `qs >= 0.3.1`
 288  * Fixed `res.redirect()` on windows due to `join()` usage. Closes #808
 289
 2902.4.4 / 2011-08-05 
 291==================
 292
 293  * Fixed `res.header()` intention of a set, even when `undefined`
 294  * Fixed `*`, value no longer required
 295  * Fixed `res.send(204)` support. Closes #771
 296
 2972.4.3 / 2011-07-14 
 298==================
 299
 300  * Added docs for `status` option special-case. Closes #739
 301  * Fixed `options.filename`, exposing the view path to template engines
 302
 3032.4.2. / 2011-07-06 
 304==================
 305
 306  * Revert "removed jsonp stripping" for XSS
 307
 3082.4.1 / 2011-07-06 
 309==================
 310
 311  * Added `res.json()` JSONP support. Closes #737
 312  * Added _extending-templates_ example. Closes #730
 313  * Added "strict routing" setting for trailing slashes
 314  * Added support for multiple envs in `app.configure()` calls. Closes #735
 315  * Changed: `res.send()` using `res.json()`
 316  * Changed: when cookie `path === null` don't default it
 317  * Changed; default cookie path to "home" setting. Closes #731
 318  * Removed _pids/logs_ creation from express(1)
 319
 3202.4.0 / 2011-06-28 
 321==================
 322
 323  * Added chainable `res.status(code)`
 324  * Added `res.json()`, an explicit version of `res.send(obj)`
 325  * Added simple web-service example
 326
 3272.3.12 / 2011-06-22 
 328==================
 329
 330  * \#express is now on freenode! come join!
 331  * Added `req.get(field, param)`
 332  * Added links to Japanese documentation, thanks @hideyukisaito!
 333  * Added; the `express(1)` generated app outputs the env
 334  * Added `content-negotiation` example
 335  * Dependency: connect >= 1.5.1 < 2.0.0
 336  * Fixed view layout bug. Closes #720
 337  * Fixed; ignore body on 304. Closes #701
 338
 3392.3.11 / 2011-06-04 
 340==================
 341
 342  * Added `npm test`
 343  * Removed generation of dummy test file from `express(1)`
 344  * Fixed; `express(1)` adds express as a dep
 345  * Fixed; prune on `prepublish`
 346
 3472.3.10 / 2011-05-27 
 348==================
 349
 350  * Added `req.route`, exposing the current route
 351  * Added _package.json_ generation support to `express(1)`
 352  * Fixed call to `app.param()` function for optional params. Closes #682
 353
 3542.3.9 / 2011-05-25 
 355==================
 356
 357  * Fixed bug-ish with `../' in `res.partial()` calls
 358
 3592.3.8 / 2011-05-24
 360==================
 361
 362  * Fixed `app.options()`
 363
 3642.3.7 / 2011-05-23
 365==================
 366
 367  * Added route `Collection`, ex: `app.get('/user/:id').remove();`
 368  * Added support for `app.param(fn)` to define param logic
 369  * Removed `app.param()` support for callback with return value
 370  * Removed module.parent check from express(1) generated app. Closes #670
 371  * Refactored router. Closes #639
 372
 3732.3.6 / 2011-05-20 
 374==================
 375
 376  * Changed; using devDependencies instead of git submodules
 377  * Fixed redis session example
 378  * Fixed markdown example
 379  * Fixed view caching, should not be enabled in development
 380
 3812.3.5 / 2011-05-20 
 382==================
 383
 384  * Added export `.view` as alias for `.View`
 385
 3862.3.4 / 2011-05-08 
 387==================
 388
 389  * Added `./examples/say`
 390  * Fixed `res.sendfile()` bug preventing the transfer of files with spaces
 391
 3922.3.3 / 2011-05-03 
 393==================
 394
 395  * Added "case sensitive routes" option.
 396  * Changed; split methods supported per rfc [slaskis]
 397  * Fixed route-specific middleware when using the same callback function several times
 398
 3992.3.2 / 2011-04-27 
 400==================
 401
 402  * Fixed view hints
 403
 4042.3.1 / 2011-04-26 
 405==================
 406
 407  * Added `app.match()` as `app.match.all()`
 408  * Added `app.lookup()` as `app.lookup.all()`
 409  * Added `app.remove()` for `app.remove.all()`
 410  * Added `app.remove.VERB()`
 411  * Fixed template caching collision issue. Closes #644
 412  * Moved router over from connect and started refactor
 413
 4142.3.0 / 2011-04-25 
 415==================
 416
 417  * Added options support to `res.clearCookie()`
 418  * Added `res.helpers()` as alias of `res.locals()`
 419  * Added; json defaults to UTF-8 with `res.send()`. Closes #632. [Daniel   * Dependency `connect >= 1.4.0`
 420  * Changed; auto set Content-Type in res.attachement [Aaron Heckmann]
 421  * Renamed "cache views" to "view cache". Closes #628
 422  * Fixed caching of views when using several apps. Closes #637
 423  * Fixed gotcha invoking `app.param()` callbacks once per route middleware. 
 424Closes #638
 425  * Fixed partial lookup precedence. Closes #631
 426Shaw]
 427
 4282.2.2 / 2011-04-12 
 429==================
 430
 431  * Added second callback support for `res.download()` connection errors
 432  * Fixed `filename` option passing to template engine
 433
 4342.2.1 / 2011-04-04 
 435==================
 436
 437  * Added `layout(path)` helper to change the layout within a view. Closes #610
 438  * Fixed `partial()` collection object support.
 439    Previously only anything with `.length` would work.
 440    When `.length` is present one must still be aware of holes,
 441    however now `{ collection: {foo: 'bar'}}` is valid, exposes
 442    `keyInCollection` and `keysInCollection`.
 443
 444  * Performance improved with better view caching
 445  * Removed `request` and `response` locals
 446  * Changed; errorHandler page title is now `Express` instead of `Connect`
 447
 4482.2.0 / 2011-03-30 
 449==================
 450
 451  * Added `app.lookup.VERB()`, ex `app.lookup.put('/user/:id')`. Closes #606
 452  * Added `app.match.VERB()`, ex `app.match.put('/user/12')`. Closes #606
 453  * Added `app.VERB(path)` as alias of `app.lookup.VERB()`.
 454  * Dependency `connect >= 1.2.0`
 455
 4562.1.1 / 2011-03-29 
 457==================
 458
 459  * Added; expose `err.view` object when failing to locate a view
 460  * Fixed `res.partial()` call `next(err)` when no callback is given [reported by aheckmann]
 461  * Fixed; `res.send(undefined)` responds with 204 [aheckmann]
 462
 4632.1.0 / 2011-03-24 
 464==================
 465
 466  * Added `<root>/_?<name>` partial lookup support. Closes #447
 467  * Added `request`, `response`, and `app` local variables
 468  * Added `settings` local variable, containing the app's settings
 469  * Added `req.flash()` exception if `req.session` is not available
 470  * Added `res.send(bool)` support (json response)
 471  * Fixed stylus example for latest version
 472  * Fixed; wrap try/catch around `res.render()`
 473
 4742.0.0 / 2011-03-17 
 475==================
 476
 477  * Fixed up index view path alternative.
 478  * Changed; `res.locals()` without object returns the locals
 479
 4802.0.0rc3 / 2011-03-17 
 481==================
 482
 483  * Added `res.locals(obj)` to compliment `res.local(key, val)`
 484  * Added `res.partial()` callback support
 485  * Fixed recursive error reporting issue in `res.render()`
 486
 4872.0.0rc2 / 2011-03-17 
 488==================
 489
 490  * Changed; `partial()` "locals" are now optional
 491  * Fixed `SlowBuffer` support. Closes #584 [reported by tyrda01]
 492  * Fixed .filename view engine option [reported by drudge]
 493  * Fixed blog example
 494  * Fixed `{req,res}.app` reference when mounting [Ben Weaver]
 495
 4962.0.0rc / 2011-03-14 
 497==================
 498
 499  * Fixed; expose `HTTPSServer` constructor
 500  * Fixed express(1) default test charset. Closes #579 [reported by secoif]
 501  * Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP]
 502
 5032.0.0beta3 / 2011-03-09 
 504==================
 505
 506  * Added support for `res.contentType()` literal
 507    The original `res.contentType('.json')`,
 508    `res.contentType('application/json')`, and `res.contentType('json')`
 509    will work now.
 510  * Added `res.render()` status option support back
 511  * Added charset option for `res.render()`
 512  * Added `.charset` support (via connect 1.0.4)
 513  * Added view resolution hints when in development and a lookup fails
 514  * Added layout lookup support relative to the page view.
 515    For example while rendering `./views/user/index.jade` if you create
 516    `./views/user/layout.jade` it will be used in favour of the root layout.
 517  * Fixed `res.redirect()`. RFC states absolute url [reported by unlink]
 518  * Fixed; default `res.send()` string charset to utf8
 519  * Removed `Partial` constructor (not currently used)
 520
 5212.0.0beta2 / 2011-03-07 
 522==================
 523
 524  * Added res.render() `.locals` support back to aid in migration process
 525  * Fixed flash example
 526
 5272.0.0beta / 2011-03-03 
 528==================
 529
 530  * Added HTTPS support
 531  * Added `res.cookie()` maxAge support
 532  * Added `req.header()` _Referrer_ / _Referer_ special-case, either works
 533  * Added mount support for `res.redirect()`, now respects the mount-point
 534  * Added `union()` util, taking place of `merge(clone())` combo
 535  * Added stylus support to express(1) generated app
 536  * Added secret to session middleware used in examples and generated app
 537  * Added `res.local(name, val)` for progressive view locals
 538  * Added default param support to `req.param(name, default)`
 539  * Added `app.disabled()` and `app.enabled()`
 540  * Added `app.register()` support for omitting leading ".", either works
 541  * Added `res.partial()`, using the same interface as `partial()` within a view. Closes #539
 542  * Added `app.param()` to map route params to async/sync logic
 543  * Added; aliased `app.helpers()` as `app.locals()`. Closes #481
 544  * Added extname with no leading "." support to `res.contentType()`
 545  * Added `cache views` setting, defaulting to enabled in "production" env
 546  * Added index file partial resolution, eg: partial('user') may try _views/user/index.jade_.
 547  * Added `req.accepts()` support for extensions
 548  * Changed; `res.download()` and `res.sendfile()` now utilize Connect's
 549    static file server `connect.static.send()`.
 550  * Changed; replaced `connect.utils.mime()` with npm _mime_ module
 551  * Changed; allow `req.query` to be pre-defined (via middleware or other parent
 552  * Changed view partial resolution, now relative to parent view
 553  * Changed view engine signature. no longer `engine.render(str, options, callback)`, now `engine.compile(str, options) -> Function`, the returned function accepts `fn(locals)`.
 554  * Fixed `req.param()` bug returning Array.prototype methods. Closes #552
 555  * Fixed; using `Stream#pipe()` instead of `sys.pump()` in `res.sendfile()`
 556  * Fixed; using _qs_ module instead of _querystring_
 557  * Fixed; strip unsafe chars from jsonp callbacks
 558  * Removed "stream threshold" setting
 559
 5601.0.8 / 2011-03-01 
 561==================
 562
 563  * Allow `req.query` to be pre-defined (via middleware or other parent app)
 564  * "connect": ">= 0.5.0 < 1.0.0". Closes #547
 565  * Removed the long deprecated __EXPRESS_ENV__ support
 566
 5671.0.7 / 2011-02-07 
 568==================
 569
 570  * Fixed `render()` setting inheritance.
 571    Mounted apps would not inherit "view engine"
 572
 5731.0.6 / 2011-02-07 
 574==================
 575
 576  * Fixed `view engine` setting bug when period is in dirname
 577
 5781.0.5 / 2011-02-05 
 579==================
 580
 581  * Added secret to generated app `session()` call
 582
 5831.0.4 / 2011-02-05 
 584==================
 585
 586  * Added `qs` dependency to _package.json_
 587  * Fixed namespaced `require()`s for latest connect support
 588
 5891.0.3 / 2011-01-13 
 590==================
 591
 592  * Remove unsafe characters from JSONP callback names [Ryan Grove]
 593
 5941.0.2 / 2011-01-10 
 595==================
 596
 597  * Removed nested require, using `connect.router`
 598
 5991.0.1 / 2010-12-29 
 600==================
 601
 602  * Fixed for middleware stacked via `createServer()`
 603    previously the `foo` middleware passed to `createServer(foo)`
 604    would not have access to Express methods such as `res.send()`
 605    or props like `req.query` etc.
 606
 6071.0.0 / 2010-11-16 
 608==================
 609
 610  * Added; deduce partial object names from the last segment.
 611    For example by default `partial('forum/post', postObject)` will
 612    give you the _post_ object, providing a meaningful default.
 613  * Added http status code string representation to `res.redirect()` body
 614  * Added; `res.redirect()` supporting _text/plain_ and _text/html_ via __Accept__.
 615  * Added `req.is()` to aid in content negotiation
 616  * Added partial local inheritance [suggested by masylum]. Closes #102
 617    providing access to parent template locals.
 618  * Added _-s, --session[s]_ flag to express(1) to add session related middleware
 619  * Added _--template_ flag to express(1) to specify the
 620    template engine to use.
 621  * Added _--css_ flag to express(1) to specify the 
 622    stylesheet engine to use (or just plain css by default).
 623  * Added `app.all()` support [thanks aheckmann]
 624  * Added partial direct object support.
 625    You may now `partial('user', user)` providing the "user" local,
 626    vs previously `partial('user', { object: user })`.
 627  * Added _route-separation_ example since many people question ways
 628    to do this with CommonJS modules. Also view the _blog_ example for
 629    an alternative.
 630  * Performance; caching view path derived partial object names
 631  * Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454
 632  * Fixed jsonp support; _text/javascript_ as per mailinglist discussion
 633
 6341.0.0rc4 / 2010-10-14 
 635==================
 636
 637  * Added _NODE_ENV_ support, _EXPRESS_ENV_ is deprecated and will be removed in 1.0.0
 638  * Added route-middleware support (very helpful, see the [docs](http://expressjs.com/guide.html#Route-Middleware))
 639  * Added _jsonp callback_ setting to enable/disable jsonp autowrapping [Dav Glass]
 640  * Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass]
 641  * Added `partial()` support for array-like collections. Closes #434
 642  * Added support for swappable querystring parsers
 643  * Added session usage docs. Closes #443
 644  * Added dynamic helper caching. Closes #439 [suggested by maritz]
 645  * Added authentication example
 646  * Added basic Range support to `res.sendfile()` (and `res.download()` etc)
 647  * Changed; `express(1)` generated app using 2 spaces instead of 4
 648  * Default env to "development" again [aheckmann]
 649  * Removed _context_ option is no more, use "scope"
 650  * Fixed; exposing _./support_ libs to examples so they can run without installs
 651  * Fixed mvc example
 652
 6531.0.0rc3 / 2010-09-20 
 654==================
 655
 656  * Added confirmation for `express(1)` app generation. Closes #391
 657  * Added extending of flash formatters via `app.flashFormatters`
 658  * Added flash formatter support. Closes #411
 659  * Added streaming support to `res.sendfile()` using `sys.pump()` when >= "stream threshold"
 660  * Added _stream threshold_ setting for `res.sendfile()`
 661  * Added `res.send()` __HEAD__ support
 662  * Added `res.clearCookie()`
 663  * Added `res.cookie()`
 664  * Added `res.render()` headers option
 665  * Added `res.redirect()` response bodies
 666  * Added `res.render()` status option support. Closes #425 [thanks aheckmann]
 667  * Fixed `res.sendfile()` responding with 403 on malicious path
 668  * Fixed `res.download()` bug; when an error occurs remove _Content-Disposition_
 669  * Fixed; mounted apps settings now inherit from parent app [aheckmann]
 670  * Fixed; stripping Content-Length / Content-Type when 204
 671  * Fixed `res.send()` 204. Closes #419
 672  * Fixed multiple _Set-Cookie_ headers via `res.header()`. Closes #402
 673  * Fixed bug messing with error handlers when `listenFD()` is called instead of `listen()`. [thanks guillermo]
 674
 675
 6761.0.0rc2 / 2010-08-17 
 677==================
 678
 679  * Added `app.register()` for template engine mapping. Closes #390
 680  * Added `res.render()` callback support as second argument (no options)
 681  * Added callback support to `res.download()`
 682  * Added callback support for `res.sendfile()`
 683  * Added support for middleware access via `express.middlewareName()` vs `connect.middlewareName()`
 684  * Added "partials" setting to docs
 685  * Added default expresso tests to `express(1)` generated app. Closes #384
 686  * Fixed `res.sendfile()` error handling, defer via `next()`
 687  * Fixed `res.render()` callback when a layout is used [thanks guillermo]
 688  * Fixed; `make install` creating ~/.node_libraries when not present
 689  * Fixed issue preventing error handlers from being defined anywhere. Closes #387 
 690
 6911.0.0rc / 2010-07-28
 692==================
 693
 694  * Added mounted hook. Closes #369
 695  * Added connect dependency to _package.json_
 696
 697  * Removed "reload views" setting and support code
 698    development env never caches, production always caches.
 699
 700  * Removed _param_ in route callbacks, signature is now
 701    simply (req, res, next), previously (req, res, params, next).
 702    Use _req.params_ for path captures, _req.query_ for GET params.
 703
 704  * Fixed "home" setting
 705  * Fixed middleware/router precedence issue. Closes #366
 706  * Fixed; _configure()_ callbacks called immediately. Closes #368
 707	
 7081.0.0beta2 / 2010-07-23
 709==================
 710
 711  * Added more examples
 712  * Added; exporting `Server` constructor
 713  * Added `Server#helpers()` for view locals
 714  * Added `Server#dynamicHelpers()` for dynamic view locals. Closes #349
 715  * Added support for absolute view paths
 716  * Added; _home_ setting defaults to `Server#route` for mounted apps. Closes #363
 717  * Added Guillermo Rauch to the contributor list
 718  * Added support for "as" for non-collection partials. Closes #341
 719  * Fixed _install.sh_, ensuring _~/.node_libraries_ exists. Closes #362 [thanks jf]
 720  * Fixed `res.render()` exceptions, now passed to `next()` when no callback is given [thanks guillermo]
 721  * Fixed instanceof `Array` checks, now `Array.isArray()`
 722  * Fixed express(1) expansion of public dirs. Closes #348
 723  * Fixed middleware precedence. Closes #345
 724  * Fixed view watcher, now async [thanks aheckmann]
 725
 7261.0.0beta / 2010-07-15
 727==================
 728
 729  * Re-write
 730    - much faster
 731    - much lighter
 732    - Check [ExpressJS.com](http://expressjs.com) for migration guide and updated docs
 733
 7340.14.0 / 2010-06-15
 735==================
 736
 737  * Utilize relative requires
 738  * Added Static bufferSize option [aheckmann]
 739  * Fixed caching of view and partial subdirectories [aheckmann]
 740  * Fixed mime.type() comments now that ".ext" is not supported
 741  * Updated haml submodule
 742  * Updated class submodule
 743  * Removed bin/express
 744
 7450.13.0 / 2010-06-01
 746==================
 747
 748  * Added node v0.1.97 compatibility
 749  * Added support for deleting cookies via Request#cookie('key', null)
 750  * Updated haml submodule
 751  * Fixed not-found page, now using using charset utf-8
 752  * Fixed show-exceptions page, now using using charset utf-8
 753  * Fixed view support due to fs.readFile Buffers
 754  * Changed; mime.type() no longer accepts ".type" due to node extname() changes
 755
 7560.12.0 / 2010-05-22
 757==================
 758
 759  * Added node v0.1.96 compatibility
 760  * Added view `helpers` export which act as additional local variables
 761  * Updated haml submodule
 762  * Changed ETag; removed inode, modified time only
 763  * Fixed LF to CRLF for setting multiple cookies
 764  * Fixed cookie complation; values are now urlencoded
 765  * Fixed cookies parsing; accepts quoted values and url escaped cookies
 766
 7670.11.0 / 2010-05-06
 768==================
 769
 770  * Added support for layouts using different engines
 771    - this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' })
 772    - this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml'
 773    - this.render('page.html.haml', { layout: false }) // no layout
 774  * Updated ext submodule
 775  * Updated haml submodule
 776  * Fixed EJS partial support by passing along the context. Issue #307
 777
 7780.10.1 / 2010-05-03
 779==================
 780
 781  * Fixed binary uploads.
 782
 7830.10.0 / 2010-04-30
 784==================
 785
 786  * Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s
 787    encoding is set to 'utf8' or 'utf-8'.
 788  * Added "encoding" option to Request#render(). Closes #299
 789  * Added "dump exceptions" setting, which is enabled by default.
 790  * Added simple ejs template engine support
 791  * Added error reponse support for text/plain, application/json. Closes #297
 792  * Added callback function param to Request#error()
 793  * Added Request#sendHead()
 794  * Added Request#stream()
 795  * Added support for Request#respond(304, null) for empty response bodies
 796  * Added ETag support to Request#sendfile()
 797  * Added options to Request#sendfile(), passed to fs.createReadStream()
 798  * Added filename arg to Request#download()
 799  * Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request
 800  * Performance enhanced by preventing several calls to toLowerCase() in Router#match()
 801  * Changed; Request#sendfile() now streams
 802  * Changed; Renamed Request#halt() to Request#respond(). Closes #289
 803  * Changed; Using sys.inspect() instead of JSON.encode() for error output
 804  * Changed; run() returns the http.Server instance. Closes #298
 805  * Changed; Defaulting Server#host to null (INADDR_ANY)
 806  * Changed; Logger "common" format scale of 0.4f
 807  * Removed Logger "request" format
 808  * Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found
 809  * Fixed several issues with http client
 810  * Fixed Logger Content-Length output
 811  * Fixed bug preventing Opera from retaining the generated session id. Closes #292
 812
 8130.9.0 / 2010-04-14
 814==================
 815
 816  * Added DSL level error() route support
 817  * Added DSL level notFound() route support
 818  * Added Request#error()
 819  * Added Request#notFound()
 820  * Added Request#render() callback function. Closes #258
 821  * Added "max upload size" setting
 822  * Added "magic" variables to collection partials (\_\_index\_\_, \_\_length\_\_, \_\_isFirst\_\_, \_\_isLast\_\_). Closes #254
 823  * Added [haml.js](http://github.com/visionmedia/haml.js) submodule; removed haml-js
 824  * Added callback function support to Request#halt() as 3rd/4th arg
 825  * Added preprocessing of route param wildcards using param(). Closes #251
 826  * Added view partial support (with collections etc)
 827  * Fixed bug preventing falsey params (such as ?page=0). Closes #286
 828  * Fixed setting of multiple cookies. Closes #199
 829  * Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml)
 830  * Changed; session cookie is now httpOnly
 831  * Changed; Request is no longer global
 832  * Changed; Event is no longer global
 833  * Changed; "sys" module is no longer global
 834  * Changed; moved Request#download to Static plugin where it belongs
 835  * Changed; Request instance created before body parsing. Closes #262
 836  * Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253
 837  * Changed; Pre-caching view partials in memory when "cache view partials" is enabled
 838  * Updated support to node --version 0.1.90
 839  * Updated dependencies
 840  * Removed set("session cookie") in favour of use(Session, { cookie: { ... }})
 841  * Removed utils.mixin(); use Object#mergeDeep()
 842  
 8430.8.0 / 2010-03-19
 844==================
 845
 846  * Added coffeescript example app. Closes #242
 847  * Changed; cache api now async friendly. Closes #240
 848  * Removed deprecated 'express/static' support. Use 'express/plugins/static'
 849
 8500.7.6 / 2010-03-19
 851==================
 852
 853  * Added Request#isXHR. Closes #229
 854  * Added `make install` (for the executable)
 855  * Added `express` executable for setting up simple app templates
 856  * Added "GET /public/*" to Static plugin, defaulting to <root>/public
 857  * Added Static plugin
 858  * Fixed; Request#render() only calls cache.get() once
 859  * Fixed; Namespacing View caches with "view:"
 860  * Fixed; Namespacing Static caches with "static:"
 861  * Fixed; Both example apps now use the Static plugin
 862  * Fixed set("views"). Closes #239
 863  * Fixed missing space for combined log format
 864  * Deprecated Request#sendfile() and 'express/static'
 865  * Removed Server#running
 866
 8670.7.5 / 2010-03-16
 868==================
 869
 870  * Added Request#flash() support without args, now returns all flashes
 871  * Updated ext submodule
 872
 8730.7.4 / 2010-03-16
 874==================
 875
 876  * Fixed session reaper
 877  * Changed; class.js replacing js-oo Class implementation (quite a bit faster, no browser cruft)
 878
 8790.7.3 / 2010-03-16
 880==================
 881
 882  * Added package.json
 883  * Fixed requiring of haml / sass due to kiwi removal
 884
 8850.7.2 / 2010-03-16
 886==================
 887
 888  * Fixed GIT submodules (HAH!)
 889
 8900.7.1 / 2010-03-16
 891==================
 892
 893  * Changed; Express now using submodules again until a PM is adopted
 894  * Changed; chat example using millisecond conversions from ext
 895
 8960.7.0 / 2010-03-15
 897==================
 898
 899  * Added Request#pass() support (finds the next matching route, or the given path)
 900  * Added Logger plugin (default "common" format replaces CommonLogger)
 901  * Removed Profiler plugin
 902  * Removed CommonLogger plugin
 903
 9040.6.0 / 2010-03-11
 905==================
 906
 907  * Added seed.yml for kiwi package management support
 908  * Added HTTP client query string support when method is GET. Closes #205
 909  
 910  * Added support for arbitrary view engines.
 911    For example "foo.engine.html" will now require('engine'),
 912    the exports from this module are cached after the first require().
 913    
 914  * Added async plugin support
 915  
 916  * Removed usage of RESTful route funcs as http client
 917    get() etc, use http.get() and friends
 918  
 919  * Removed custom exceptions
 920
 9210.5.0 / 2010-03-10
 922==================
 923
 924  * Added ext dependency (library of js extensions)
 925  * Removed extname() / basename() utils. Use path module
 926  * Removed toArray() util. Use arguments.values
 927  * Removed escapeRegexp() util. Use RegExp.escape()
 928  * Removed process.mixin() dependency. Use utils.mixin()
 929  * Removed Collection
 930  * Removed ElementCollection
 931  * Shameless self promotion of ebook "Advanced JavaScript" (http://dev-mag.com)  ;)
 932
 9330.4.0 / 2010-02-11
 934==================
 935
 936  * Added flash() example to sample upload app
 937  * Added high level restful http client module (express/http)
 938  * Changed; RESTful route functions double as HTTP clients. Closes #69
 939  * Changed; throwing error when routes are added at runtime
 940  * Changed; defaulting render() context to the current Request. Closes #197
 941  * Updated haml submodule
 942
 9430.3.0 / 2010-02-11
 944==================
 945
 946  * Updated haml / sass submodules. Closes #200
 947  * Added flash message support. Closes #64
 948  * Added accepts() now allows multiple args. fixes #117
 949  * Added support for plugins to halt. Closes #189
 950  * Added alternate layout support. Closes #119
 951  * Removed Route#run(). Closes #188
 952  * Fixed broken specs due to use(Cookie) missing
 953
 9540.2.1 / 2010-02-05
 955==================
 956
 957  * Added "plot" format option for Profiler (for gnuplot processing)
 958  * Added request number to Profiler plugin
 959  * Fixed binary encoding for multi-part file uploads, was previously defaulting to UTF8
 960  * Fixed issue with routes not firing when not files are present. Closes #184
 961  * Fixed process.Promise -> events.Promise
 962
 9630.2.0 / 2010-02-03
 964==================
 965
 966  * Added parseParam() support for name[] etc. (allows for file inputs with "multiple" attr) Closes #180
 967  * Added Both Cache and Session option "reapInterval" may be "reapEvery". Closes #174
 968  * Added expiration support to cache api with reaper. Closes #133
 969  * Added cache Store.Memory#reap()
 970  * Added Cache; cache api now uses first class Cache instances
 971  * Added abstract session Store. Closes #172
 972  * Changed; cache Memory.Store#get() utilizing Collection
 973  * Renamed MemoryStore -> Store.Memory
 974  * Fixed use() of the same plugin several time will always use latest options. Closes #176
 975
 9760.1.0 / 2010-02-03
 977==================
 978
 979  * Changed; Hooks (before / after) pass request as arg as well as evaluated in their context
 980  * Updated node support to 0.1.27 Closes #169
 981  * Updated dirname(__filename) -> __dirname
 982  * Updated libxmljs support to v0.2.0
 983  * Added session support with memory store / reaping
 984  * Added quick uid() helper
 985  * Added multi-part upload support
 986  * Added Sass.js support / submodule
 987  * Added production env caching view contents and static files
 988  * Added static file caching. Closes #136
 989  * Added cache plugin with memory stores
 990  * Added support to StaticFile so that it works with non-textual files.
 991  * Removed dirname() helper
 992  * Removed several globals (now their modules must be required)
 993
 9940.0.2 / 2010-01-10
 995==================
 996
 997  * Added view benchmarks; currently haml vs ejs
 998  * Added Request#attachment() specs. Closes #116
 999  * Added use of node's parseQuery() util. Closes #123
1000  * Added `make init` for submodules
1001  * Updated Haml
1002  * Updated sample chat app to show messages on load
1003  * Updated libxmljs parseString -> parseHtmlString
1004  * Fixed `make init` to work with older versions of git
1005  * Fixed specs can now run independant specs for those who cant build deps. Closes #127
1006  * Fixed issues introduced by the node url module changes. Closes 126.
1007  * Fixed two assertions failing due to Collection#keys() returning strings
1008  * Fixed faulty Collection#toArray() spec due to keys() returning strings
1009  * Fixed `make test` now builds libxmljs.node before testing
1010
10110.0.1 / 2010-01-03
1012==================
1013
1014  * Initial release