Inital Commit
[oweals/finalsclub.git] / node_modules / express / History.md
1
2 2.4.3 / 2011-07-14 
3 ==================
4
5   * Added docs for `status` option special-case. Closes #739
6   * Fixed `options.filename`, exposing the view path to template engines
7
8 2.4.2. / 2011-07-06 
9 ==================
10
11   * Revert "removed jsonp stripping" for XSS
12
13 2.4.1 / 2011-07-06 
14 ==================
15
16   * Added `res.json()` JSONP support. Closes #737
17   * Added _extending-templates_ example. Closes #730
18   * Added "strict routing" setting for trailing slashes
19   * Added support for multiple envs in `app.configure()` calls. Closes #735
20   * Changed: `res.send()` using `res.json()`
21   * Changed: when cookie `path === null` don't default it
22   * Changed; default cookie path to "home" setting. Closes #731
23   * Removed _pids/logs_ creation from express(1)
24
25 2.4.0 / 2011-06-28 
26 ==================
27
28   * Added chainable `res.status(code)`
29   * Added `res.json()`, an explicit version of `res.send(obj)`
30   * Added simple web-service example
31
32 2.3.12 / 2011-06-22 
33 ==================
34
35   * \#express is now on freenode! come join!
36   * Added `req.get(field, param)`
37   * Added links to Japanese documentation, thanks @hideyukisaito!
38   * Added; the `express(1)` generated app outputs the env
39   * Added `content-negotiation` example
40   * Dependency: connect >= 1.5.1 < 2.0.0
41   * Fixed view layout bug. Closes #720
42   * Fixed; ignore body on 304. Closes #701
43
44 2.3.11 / 2011-06-04 
45 ==================
46
47   * Added `npm test`
48   * Removed generation of dummy test file from `express(1)`
49   * Fixed; `express(1)` adds express as a dep
50   * Fixed; prune on `prepublish`
51
52 2.3.10 / 2011-05-27 
53 ==================
54
55   * Added `req.route`, exposing the current route
56   * Added _package.json_ generation support to `express(1)`
57   * Fixed call to `app.param()` function for optional params. Closes #682
58
59 2.3.9 / 2011-05-25 
60 ==================
61
62   * Fixed bug-ish with `../' in `res.partial()` calls
63
64 2.3.8 / 2011-05-24
65 ==================
66
67   * Fixed `app.options()`
68
69 2.3.7 / 2011-05-23
70 ==================
71
72   * Added route `Collection`, ex: `app.get('/user/:id').remove();`
73   * Added support for `app.param(fn)` to define param logic
74   * Removed `app.param()` support for callback with return value
75   * Removed module.parent check from express(1) generated app. Closes #670
76   * Refactored router. Closes #639
77
78 2.3.6 / 2011-05-20 
79 ==================
80
81   * Changed; using devDependencies instead of git submodules
82   * Fixed redis session example
83   * Fixed markdown example
84   * Fixed view caching, should not be enabled in development
85
86 2.3.5 / 2011-05-20 
87 ==================
88
89   * Added export `.view` as alias for `.View`
90
91 2.3.4 / 2011-05-08 
92 ==================
93
94   * Added `./examples/say`
95   * Fixed `res.sendfile()` bug preventing the transfer of files with spaces
96
97 2.3.3 / 2011-05-03 
98 ==================
99
100   * Added "case sensitive routes" option.
101   * Changed; split methods supported per rfc [slaskis]
102   * Fixed route-specific middleware when using the same callback function several times
103
104 2.3.2 / 2011-04-27 
105 ==================
106
107   * Fixed view hints
108
109 2.3.1 / 2011-04-26 
110 ==================
111
112   * Added `app.match()` as `app.match.all()`
113   * Added `app.lookup()` as `app.lookup.all()`
114   * Added `app.remove()` for `app.remove.all()`
115   * Added `app.remove.VERB()`
116   * Fixed template caching collision issue. Closes #644
117   * Moved router over from connect and started refactor
118
119 2.3.0 / 2011-04-25 
120 ==================
121
122   * Added options support to `res.clearCookie()`
123   * Added `res.helpers()` as alias of `res.locals()`
124   * Added; json defaults to UTF-8 with `res.send()`. Closes #632. [Daniel   * Dependency `connect >= 1.4.0`
125   * Changed; auto set Content-Type in res.attachement [Aaron Heckmann]
126   * Renamed "cache views" to "view cache". Closes #628
127   * Fixed caching of views when using several apps. Closes #637
128   * Fixed gotcha invoking `app.param()` callbacks once per route middleware. 
129 Closes #638
130   * Fixed partial lookup precedence. Closes #631
131 Shaw]
132
133 2.2.2 / 2011-04-12 
134 ==================
135
136   * Added second callback support for `res.download()` connection errors
137   * Fixed `filename` option passing to template engine
138
139 2.2.1 / 2011-04-04 
140 ==================
141
142   * Added `layout(path)` helper to change the layout within a view. Closes #610
143   * Fixed `partial()` collection object support.
144     Previously only anything with `.length` would work.
145     When `.length` is present one must still be aware of holes,
146     however now `{ collection: {foo: 'bar'}}` is valid, exposes
147     `keyInCollection` and `keysInCollection`.
148
149   * Performance improved with better view caching
150   * Removed `request` and `response` locals
151   * Changed; errorHandler page title is now `Express` instead of `Connect`
152
153 2.2.0 / 2011-03-30 
154 ==================
155
156   * Added `app.lookup.VERB()`, ex `app.lookup.put('/user/:id')`. Closes #606
157   * Added `app.match.VERB()`, ex `app.match.put('/user/12')`. Closes #606
158   * Added `app.VERB(path)` as alias of `app.lookup.VERB()`.
159   * Dependency `connect >= 1.2.0`
160
161 2.1.1 / 2011-03-29 
162 ==================
163
164   * Added; expose `err.view` object when failing to locate a view
165   * Fixed `res.partial()` call `next(err)` when no callback is given [reported by aheckmann]
166   * Fixed; `res.send(undefined)` responds with 204 [aheckmann]
167
168 2.1.0 / 2011-03-24 
169 ==================
170
171   * Added `<root>/_?<name>` partial lookup support. Closes #447
172   * Added `request`, `response`, and `app` local variables
173   * Added `settings` local variable, containing the app's settings
174   * Added `req.flash()` exception if `req.session` is not available
175   * Added `res.send(bool)` support (json response)
176   * Fixed stylus example for latest version
177   * Fixed; wrap try/catch around `res.render()`
178
179 2.0.0 / 2011-03-17 
180 ==================
181
182   * Fixed up index view path alternative.
183   * Changed; `res.locals()` without object returns the locals
184
185 2.0.0rc3 / 2011-03-17 
186 ==================
187
188   * Added `res.locals(obj)` to compliment `res.local(key, val)`
189   * Added `res.partial()` callback support
190   * Fixed recursive error reporting issue in `res.render()`
191
192 2.0.0rc2 / 2011-03-17 
193 ==================
194
195   * Changed; `partial()` "locals" are now optional
196   * Fixed `SlowBuffer` support. Closes #584 [reported by tyrda01]
197   * Fixed .filename view engine option [reported by drudge]
198   * Fixed blog example
199   * Fixed `{req,res}.app` reference when mounting [Ben Weaver]
200
201 2.0.0rc / 2011-03-14 
202 ==================
203
204   * Fixed; expose `HTTPSServer` constructor
205   * Fixed express(1) default test charset. Closes #579 [reported by secoif]
206   * Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP]
207
208 2.0.0beta3 / 2011-03-09 
209 ==================
210
211   * Added support for `res.contentType()` literal
212     The original `res.contentType('.json')`,
213     `res.contentType('application/json')`, and `res.contentType('json')`
214     will work now.
215   * Added `res.render()` status option support back
216   * Added charset option for `res.render()`
217   * Added `.charset` support (via connect 1.0.4)
218   * Added view resolution hints when in development and a lookup fails
219   * Added layout lookup support relative to the page view.
220     For example while rendering `./views/user/index.jade` if you create
221     `./views/user/layout.jade` it will be used in favour of the root layout.
222   * Fixed `res.redirect()`. RFC states absolute url [reported by unlink]
223   * Fixed; default `res.send()` string charset to utf8
224   * Removed `Partial` constructor (not currently used)
225
226 2.0.0beta2 / 2011-03-07 
227 ==================
228
229   * Added res.render() `.locals` support back to aid in migration process
230   * Fixed flash example
231
232 2.0.0beta / 2011-03-03 
233 ==================
234
235   * Added HTTPS support
236   * Added `res.cookie()` maxAge support
237   * Added `req.header()` _Referrer_ / _Referer_ special-case, either works
238   * Added mount support for `res.redirect()`, now respects the mount-point
239   * Added `union()` util, taking place of `merge(clone())` combo
240   * Added stylus support to express(1) generated app
241   * Added secret to session middleware used in examples and generated app
242   * Added `res.local(name, val)` for progressive view locals
243   * Added default param support to `req.param(name, default)`
244   * Added `app.disabled()` and `app.enabled()`
245   * Added `app.register()` support for omitting leading ".", either works
246   * Added `res.partial()`, using the same interface as `partial()` within a view. Closes #539
247   * Added `app.param()` to map route params to async/sync logic
248   * Added; aliased `app.helpers()` as `app.locals()`. Closes #481
249   * Added extname with no leading "." support to `res.contentType()`
250   * Added `cache views` setting, defaulting to enabled in "production" env
251   * Added index file partial resolution, eg: partial('user') may try _views/user/index.jade_.
252   * Added `req.accepts()` support for extensions
253   * Changed; `res.download()` and `res.sendfile()` now utilize Connect's
254     static file server `connect.static.send()`.
255   * Changed; replaced `connect.utils.mime()` with npm _mime_ module
256   * Changed; allow `req.query` to be pre-defined (via middleware or other parent
257   * Changed view partial resolution, now relative to parent view
258   * Changed view engine signature. no longer `engine.render(str, options, callback)`, now `engine.compile(str, options) -> Function`, the returned function accepts `fn(locals)`.
259   * Fixed `req.param()` bug returning Array.prototype methods. Closes #552
260   * Fixed; using `Stream#pipe()` instead of `sys.pump()` in `res.sendfile()`
261   * Fixed; using _qs_ module instead of _querystring_
262   * Fixed; strip unsafe chars from jsonp callbacks
263   * Removed "stream threshold" setting
264
265 1.0.8 / 2011-03-01 
266 ==================
267
268   * Allow `req.query` to be pre-defined (via middleware or other parent app)
269   * "connect": ">= 0.5.0 < 1.0.0". Closes #547
270   * Removed the long deprecated __EXPRESS_ENV__ support
271
272 1.0.7 / 2011-02-07 
273 ==================
274
275   * Fixed `render()` setting inheritance.
276     Mounted apps would not inherit "view engine"
277
278 1.0.6 / 2011-02-07 
279 ==================
280
281   * Fixed `view engine` setting bug when period is in dirname
282
283 1.0.5 / 2011-02-05 
284 ==================
285
286   * Added secret to generated app `session()` call
287
288 1.0.4 / 2011-02-05 
289 ==================
290
291   * Added `qs` dependency to _package.json_
292   * Fixed namespaced `require()`s for latest connect support
293
294 1.0.3 / 2011-01-13 
295 ==================
296
297   * Remove unsafe characters from JSONP callback names [Ryan Grove]
298
299 1.0.2 / 2011-01-10 
300 ==================
301
302   * Removed nested require, using `connect.router`
303
304 1.0.1 / 2010-12-29 
305 ==================
306
307   * Fixed for middleware stacked via `createServer()`
308     previously the `foo` middleware passed to `createServer(foo)`
309     would not have access to Express methods such as `res.send()`
310     or props like `req.query` etc.
311
312 1.0.0 / 2010-11-16 
313 ==================
314
315   * Added; deduce partial object names from the last segment.
316     For example by default `partial('forum/post', postObject)` will
317     give you the _post_ object, providing a meaningful default.
318   * Added http status code string representation to `res.redirect()` body
319   * Added; `res.redirect()` supporting _text/plain_ and _text/html_ via __Accept__.
320   * Added `req.is()` to aid in content negotiation
321   * Added partial local inheritance [suggested by masylum]. Closes #102
322     providing access to parent template locals.
323   * Added _-s, --session[s]_ flag to express(1) to add session related middleware
324   * Added _--template_ flag to express(1) to specify the
325     template engine to use.
326   * Added _--css_ flag to express(1) to specify the 
327     stylesheet engine to use (or just plain css by default).
328   * Added `app.all()` support [thanks aheckmann]
329   * Added partial direct object support.
330     You may now `partial('user', user)` providing the "user" local,
331     vs previously `partial('user', { object: user })`.
332   * Added _route-separation_ example since many people question ways
333     to do this with CommonJS modules. Also view the _blog_ example for
334     an alternative.
335   * Performance; caching view path derived partial object names
336   * Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454
337   * Fixed jsonp support; _text/javascript_ as per mailinglist discussion
338
339 1.0.0rc4 / 2010-10-14 
340 ==================
341
342   * Added _NODE_ENV_ support, _EXPRESS_ENV_ is deprecated and will be removed in 1.0.0
343   * Added route-middleware support (very helpful, see the [docs](http://expressjs.com/guide.html#Route-Middleware))
344   * Added _jsonp callback_ setting to enable/disable jsonp autowrapping [Dav Glass]
345   * Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass]
346   * Added `partial()` support for array-like collections. Closes #434
347   * Added support for swappable querystring parsers
348   * Added session usage docs. Closes #443
349   * Added dynamic helper caching. Closes #439 [suggested by maritz]
350   * Added authentication example
351   * Added basic Range support to `res.sendfile()` (and `res.download()` etc)
352   * Changed; `express(1)` generated app using 2 spaces instead of 4
353   * Default env to "development" again [aheckmann]
354   * Removed _context_ option is no more, use "scope"
355   * Fixed; exposing _./support_ libs to examples so they can run without installs
356   * Fixed mvc example
357
358 1.0.0rc3 / 2010-09-20 
359 ==================
360
361   * Added confirmation for `express(1)` app generation. Closes #391
362   * Added extending of flash formatters via `app.flashFormatters`
363   * Added flash formatter support. Closes #411
364   * Added streaming support to `res.sendfile()` using `sys.pump()` when >= "stream threshold"
365   * Added _stream threshold_ setting for `res.sendfile()`
366   * Added `res.send()` __HEAD__ support
367   * Added `res.clearCookie()`
368   * Added `res.cookie()`
369   * Added `res.render()` headers option
370   * Added `res.redirect()` response bodies
371   * Added `res.render()` status option support. Closes #425 [thanks aheckmann]
372   * Fixed `res.sendfile()` responding with 403 on malicious path
373   * Fixed `res.download()` bug; when an error occurs remove _Content-Disposition_
374   * Fixed; mounted apps settings now inherit from parent app [aheckmann]
375   * Fixed; stripping Content-Length / Content-Type when 204
376   * Fixed `res.send()` 204. Closes #419
377   * Fixed multiple _Set-Cookie_ headers via `res.header()`. Closes #402
378   * Fixed bug messing with error handlers when `listenFD()` is called instead of `listen()`. [thanks guillermo]
379
380
381 1.0.0rc2 / 2010-08-17 
382 ==================
383
384   * Added `app.register()` for template engine mapping. Closes #390
385   * Added `res.render()` callback support as second argument (no options)
386   * Added callback support to `res.download()`
387   * Added callback support for `res.sendfile()`
388   * Added support for middleware access via `express.middlewareName()` vs `connect.middlewareName()`
389   * Added "partials" setting to docs
390   * Added default expresso tests to `express(1)` generated app. Closes #384
391   * Fixed `res.sendfile()` error handling, defer via `next()`
392   * Fixed `res.render()` callback when a layout is used [thanks guillermo]
393   * Fixed; `make install` creating ~/.node_libraries when not present
394   * Fixed issue preventing error handlers from being defined anywhere. Closes #387 
395
396 1.0.0rc / 2010-07-28
397 ==================
398
399   * Added mounted hook. Closes #369
400   * Added connect dependency to _package.json_
401
402   * Removed "reload views" setting and support code
403     development env never caches, production always caches.
404
405   * Removed _param_ in route callbacks, signature is now
406     simply (req, res, next), previously (req, res, params, next).
407     Use _req.params_ for path captures, _req.query_ for GET params.
408
409   * Fixed "home" setting
410   * Fixed middleware/router precedence issue. Closes #366
411   * Fixed; _configure()_ callbacks called immediately. Closes #368
412         
413 1.0.0beta2 / 2010-07-23
414 ==================
415
416   * Added more examples
417   * Added; exporting `Server` constructor
418   * Added `Server#helpers()` for view locals
419   * Added `Server#dynamicHelpers()` for dynamic view locals. Closes #349
420   * Added support for absolute view paths
421   * Added; _home_ setting defaults to `Server#route` for mounted apps. Closes #363
422   * Added Guillermo Rauch to the contributor list
423   * Added support for "as" for non-collection partials. Closes #341
424   * Fixed _install.sh_, ensuring _~/.node_libraries_ exists. Closes #362 [thanks jf]
425   * Fixed `res.render()` exceptions, now passed to `next()` when no callback is given [thanks guillermo]
426   * Fixed instanceof `Array` checks, now `Array.isArray()`
427   * Fixed express(1) expansion of public dirs. Closes #348
428   * Fixed middleware precedence. Closes #345
429   * Fixed view watcher, now async [thanks aheckmann]
430
431 1.0.0beta / 2010-07-15
432 ==================
433
434   * Re-write
435     - much faster
436     - much lighter
437     - Check [ExpressJS.com](http://expressjs.com) for migration guide and updated docs
438
439 0.14.0 / 2010-06-15
440 ==================
441
442   * Utilize relative requires
443   * Added Static bufferSize option [aheckmann]
444   * Fixed caching of view and partial subdirectories [aheckmann]
445   * Fixed mime.type() comments now that ".ext" is not supported
446   * Updated haml submodule
447   * Updated class submodule
448   * Removed bin/express
449
450 0.13.0 / 2010-06-01
451 ==================
452
453   * Added node v0.1.97 compatibility
454   * Added support for deleting cookies via Request#cookie('key', null)
455   * Updated haml submodule
456   * Fixed not-found page, now using using charset utf-8
457   * Fixed show-exceptions page, now using using charset utf-8
458   * Fixed view support due to fs.readFile Buffers
459   * Changed; mime.type() no longer accepts ".type" due to node extname() changes
460
461 0.12.0 / 2010-05-22
462 ==================
463
464   * Added node v0.1.96 compatibility
465   * Added view `helpers` export which act as additional local variables
466   * Updated haml submodule
467   * Changed ETag; removed inode, modified time only
468   * Fixed LF to CRLF for setting multiple cookies
469   * Fixed cookie complation; values are now urlencoded
470   * Fixed cookies parsing; accepts quoted values and url escaped cookies
471
472 0.11.0 / 2010-05-06
473 ==================
474
475   * Added support for layouts using different engines
476     - this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' })
477     - this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml'
478     - this.render('page.html.haml', { layout: false }) // no layout
479   * Updated ext submodule
480   * Updated haml submodule
481   * Fixed EJS partial support by passing along the context. Issue #307
482
483 0.10.1 / 2010-05-03
484 ==================
485
486   * Fixed binary uploads.
487
488 0.10.0 / 2010-04-30
489 ==================
490
491   * Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s
492     encoding is set to 'utf8' or 'utf-8'.
493   * Added "encoding" option to Request#render(). Closes #299
494   * Added "dump exceptions" setting, which is enabled by default.
495   * Added simple ejs template engine support
496   * Added error reponse support for text/plain, application/json. Closes #297
497   * Added callback function param to Request#error()
498   * Added Request#sendHead()
499   * Added Request#stream()
500   * Added support for Request#respond(304, null) for empty response bodies
501   * Added ETag support to Request#sendfile()
502   * Added options to Request#sendfile(), passed to fs.createReadStream()
503   * Added filename arg to Request#download()
504   * Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request
505   * Performance enhanced by preventing several calls to toLowerCase() in Router#match()
506   * Changed; Request#sendfile() now streams
507   * Changed; Renamed Request#halt() to Request#respond(). Closes #289
508   * Changed; Using sys.inspect() instead of JSON.encode() for error output
509   * Changed; run() returns the http.Server instance. Closes #298
510   * Changed; Defaulting Server#host to null (INADDR_ANY)
511   * Changed; Logger "common" format scale of 0.4f
512   * Removed Logger "request" format
513   * Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found
514   * Fixed several issues with http client
515   * Fixed Logger Content-Length output
516   * Fixed bug preventing Opera from retaining the generated session id. Closes #292
517
518 0.9.0 / 2010-04-14
519 ==================
520
521   * Added DSL level error() route support
522   * Added DSL level notFound() route support
523   * Added Request#error()
524   * Added Request#notFound()
525   * Added Request#render() callback function. Closes #258
526   * Added "max upload size" setting
527   * Added "magic" variables to collection partials (\_\_index\_\_, \_\_length\_\_, \_\_isFirst\_\_, \_\_isLast\_\_). Closes #254
528   * Added [haml.js](http://github.com/visionmedia/haml.js) submodule; removed haml-js
529   * Added callback function support to Request#halt() as 3rd/4th arg
530   * Added preprocessing of route param wildcards using param(). Closes #251
531   * Added view partial support (with collections etc)
532   * Fixed bug preventing falsey params (such as ?page=0). Closes #286
533   * Fixed setting of multiple cookies. Closes #199
534   * Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml)
535   * Changed; session cookie is now httpOnly
536   * Changed; Request is no longer global
537   * Changed; Event is no longer global
538   * Changed; "sys" module is no longer global
539   * Changed; moved Request#download to Static plugin where it belongs
540   * Changed; Request instance created before body parsing. Closes #262
541   * Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253
542   * Changed; Pre-caching view partials in memory when "cache view partials" is enabled
543   * Updated support to node --version 0.1.90
544   * Updated dependencies
545   * Removed set("session cookie") in favour of use(Session, { cookie: { ... }})
546   * Removed utils.mixin(); use Object#mergeDeep()
547   
548 0.8.0 / 2010-03-19
549 ==================
550
551   * Added coffeescript example app. Closes #242
552   * Changed; cache api now async friendly. Closes #240
553   * Removed deprecated 'express/static' support. Use 'express/plugins/static'
554
555 0.7.6 / 2010-03-19
556 ==================
557
558   * Added Request#isXHR. Closes #229
559   * Added `make install` (for the executable)
560   * Added `express` executable for setting up simple app templates
561   * Added "GET /public/*" to Static plugin, defaulting to <root>/public
562   * Added Static plugin
563   * Fixed; Request#render() only calls cache.get() once
564   * Fixed; Namespacing View caches with "view:"
565   * Fixed; Namespacing Static caches with "static:"
566   * Fixed; Both example apps now use the Static plugin
567   * Fixed set("views"). Closes #239
568   * Fixed missing space for combined log format
569   * Deprecated Request#sendfile() and 'express/static'
570   * Removed Server#running
571
572 0.7.5 / 2010-03-16
573 ==================
574
575   * Added Request#flash() support without args, now returns all flashes
576   * Updated ext submodule
577
578 0.7.4 / 2010-03-16
579 ==================
580
581   * Fixed session reaper
582   * Changed; class.js replacing js-oo Class implementation (quite a bit faster, no browser cruft)
583
584 0.7.3 / 2010-03-16
585 ==================
586
587   * Added package.json
588   * Fixed requiring of haml / sass due to kiwi removal
589
590 0.7.2 / 2010-03-16
591 ==================
592
593   * Fixed GIT submodules (HAH!)
594
595 0.7.1 / 2010-03-16
596 ==================
597
598   * Changed; Express now using submodules again until a PM is adopted
599   * Changed; chat example using millisecond conversions from ext
600
601 0.7.0 / 2010-03-15
602 ==================
603
604   * Added Request#pass() support (finds the next matching route, or the given path)
605   * Added Logger plugin (default "common" format replaces CommonLogger)
606   * Removed Profiler plugin
607   * Removed CommonLogger plugin
608
609 0.6.0 / 2010-03-11
610 ==================
611
612   * Added seed.yml for kiwi package management support
613   * Added HTTP client query string support when method is GET. Closes #205
614   
615   * Added support for arbitrary view engines.
616     For example "foo.engine.html" will now require('engine'),
617     the exports from this module are cached after the first require().
618     
619   * Added async plugin support
620   
621   * Removed usage of RESTful route funcs as http client
622     get() etc, use http.get() and friends
623   
624   * Removed custom exceptions
625
626 0.5.0 / 2010-03-10
627 ==================
628
629   * Added ext dependency (library of js extensions)
630   * Removed extname() / basename() utils. Use path module
631   * Removed toArray() util. Use arguments.values
632   * Removed escapeRegexp() util. Use RegExp.escape()
633   * Removed process.mixin() dependency. Use utils.mixin()
634   * Removed Collection
635   * Removed ElementCollection
636   * Shameless self promotion of ebook "Advanced JavaScript" (http://dev-mag.com)  ;)
637
638 0.4.0 / 2010-02-11
639 ==================
640
641   * Added flash() example to sample upload app
642   * Added high level restful http client module (express/http)
643   * Changed; RESTful route functions double as HTTP clients. Closes #69
644   * Changed; throwing error when routes are added at runtime
645   * Changed; defaulting render() context to the current Request. Closes #197
646   * Updated haml submodule
647
648 0.3.0 / 2010-02-11
649 ==================
650
651   * Updated haml / sass submodules. Closes #200
652   * Added flash message support. Closes #64
653   * Added accepts() now allows multiple args. fixes #117
654   * Added support for plugins to halt. Closes #189
655   * Added alternate layout support. Closes #119
656   * Removed Route#run(). Closes #188
657   * Fixed broken specs due to use(Cookie) missing
658
659 0.2.1 / 2010-02-05
660 ==================
661
662   * Added "plot" format option for Profiler (for gnuplot processing)
663   * Added request number to Profiler plugin
664   * Fixed binary encoding for multi-part file uploads, was previously defaulting to UTF8
665   * Fixed issue with routes not firing when not files are present. Closes #184
666   * Fixed process.Promise -> events.Promise
667
668 0.2.0 / 2010-02-03
669 ==================
670
671   * Added parseParam() support for name[] etc. (allows for file inputs with "multiple" attr) Closes #180
672   * Added Both Cache and Session option "reapInterval" may be "reapEvery". Closes #174
673   * Added expiration support to cache api with reaper. Closes #133
674   * Added cache Store.Memory#reap()
675   * Added Cache; cache api now uses first class Cache instances
676   * Added abstract session Store. Closes #172
677   * Changed; cache Memory.Store#get() utilizing Collection
678   * Renamed MemoryStore -> Store.Memory
679   * Fixed use() of the same plugin several time will always use latest options. Closes #176
680
681 0.1.0 / 2010-02-03
682 ==================
683
684   * Changed; Hooks (before / after) pass request as arg as well as evaluated in their context
685   * Updated node support to 0.1.27 Closes #169
686   * Updated dirname(__filename) -> __dirname
687   * Updated libxmljs support to v0.2.0
688   * Added session support with memory store / reaping
689   * Added quick uid() helper
690   * Added multi-part upload support
691   * Added Sass.js support / submodule
692   * Added production env caching view contents and static files
693   * Added static file caching. Closes #136
694   * Added cache plugin with memory stores
695   * Added support to StaticFile so that it works with non-textual files.
696   * Removed dirname() helper
697   * Removed several globals (now their modules must be required)
698
699 0.0.2 / 2010-01-10
700 ==================
701
702   * Added view benchmarks; currently haml vs ejs
703   * Added Request#attachment() specs. Closes #116
704   * Added use of node's parseQuery() util. Closes #123
705   * Added `make init` for submodules
706   * Updated Haml
707   * Updated sample chat app to show messages on load
708   * Updated libxmljs parseString -> parseHtmlString
709   * Fixed `make init` to work with older versions of git
710   * Fixed specs can now run independant specs for those who cant build deps. Closes #127
711   * Fixed issues introduced by the node url module changes. Closes 126.
712   * Fixed two assertions failing due to Collection#keys() returning strings
713   * Fixed faulty Collection#toArray() spec due to keys() returning strings
714   * Fixed `make test` now builds libxmljs.node before testing
715
716 0.0.1 / 2010-01-03
717 ==================
718
719   * Initial release