109. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 10/2/2017 1:40:07 PM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

109.1 Files compared

# Location File Last Modified
1 chef-repo.zip\chef-repo\project_cookbooks\mocks\files\default\node-mocks\nodeMockServices-1.3.0.52.zip\node_modules\express History.md Tue Apr 21 16:32:30 2015 UTC
2 chef-repo.zip\chef-repo\project_cookbooks\mocks\files\default\node-mocks\nodeMockServices-1.3.0.52.zip\node_modules\express History.md Mon Oct 2 12:56:20 2017 UTC

109.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 3 4270
Changed 2 12
Inserted 0 0
Removed 0 0

109.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

109.4 Active regular expressions

No regular expressions were active.

109.5 Comparison detail

  1   4.8.8 / 20 14-09-04
  2   ========== ========
  3  
  4     * deps:  send@0.8.5
  5       - Fix  a path tra versal iss ue when us ing `root`
  6       - Fix  malicious  path detec tion for e mpty strin g path
  7     * deps:  serve-stat ic@~1.5.4
  8       - deps : send@0.8 .5
  9  
  10   4.8.7 / 20 14-08-29
  11   ========== ========
  12  
  13     * deps:  qs@2.2.2
  14       - Remo ve unneces sary cloni ng
  15  
  16   4.8.6 / 20 14-08-27
  17   ========== ========
  18  
  19     * deps:  qs@2.2.0
  20       - Arra y parsing  fix
  21       - Perf ormance im provements
  22  
  23   4.8.5 / 20 14-08-18
  24   ========== ========
  25  
  26     * deps:  send@0.8.3
  27       - deps : destroy@ 1.0.3
  28       - deps : on-finis hed@2.1.0
  29     * deps:  serve-stat ic@~1.5.3
  30       - deps : send@0.8 .3
  31  
  32   4.8.4 / 20 14-08-14
  33   ========== ========
  34  
  35     * deps:  qs@1.2.2
  36     * deps:  send@0.8.2
  37       - Work  around `f d` leak in  Node.js 0 .10 for `f s.ReadStre am`
  38     * deps:  serve-stat ic@~1.5.2
  39       - deps : send@0.8 .2
  40  
  41   4.8.3 / 20 14-08-10
  42   ========== ========
  43  
  44     * deps:  parseurl@~ 1.3.0
  45     * deps:  qs@1.2.1
  46     * deps:  serve-stat ic@~1.5.1
  47       - Fix  parsing of  weird `re q.original Url` value s
  48       - deps : parseurl @~1.3.0
  49       - deps : utils-me rge@1.0.0
  50  
  51   4.8.2 / 20 14-08-07
  52   ========== ========
  53  
  54     * deps:  qs@1.2.0
  55       - Fix  parsing ar ray of obj ects
  56  
  57   4.8.1 / 20 14-08-06
  58   ========== ========
  59  
  60     * fix in correct de precation  warnings o n `res.dow nload`
  61     * deps:  qs@1.1.0
  62       - Acce pt urlenco ded square  brackets
  63       - Acce pt empty v alues in i mplicit ar ray notati on
  64  
  65   4.8.0 / 20 14-08-05
  66   ========== ========
  67  
  68     * add `r es.sendFil e`
  69       - acce pts a file  system pa th instead  of a URL
  70       - requ ires an ab solute pat h or `root ` option s pecified
  71     * deprec ate `res.s endfile` - - use `res .sendFile`  instead
  72     * suppor t mounted  app as any  argument  to `app.us e()`
  73     * deps:  qs@1.0.2
  74       - Comp lete rewri te
  75       - Limi ts array l ength to 2 0
  76       - Limi ts object  depth to 5
  77       - Limi ts paramet ers to 1,0 00
  78     * deps:  send@0.8.1
  79       - Add  `extension s` option
  80     * deps:  serve-stat ic@~1.5.0
  81       - Add  `extension s` option
  82       - deps : send@0.8 .1
  83  
  84   4.7.4 / 20 14-08-04
  85   ========== ========
  86  
  87     * fix `r es.sendfil e` regress ion for se rving dire ctory inde x files
  88     * deps:  send@0.7.4
  89       - Fix  incorrect  403 on Win dows and N ode.js 0.1 1
  90       - Fix  serving in dex files  without ro ot dir
  91     * deps:  serve-stat ic@~1.4.4
  92       - deps : send@0.7 .4
  93  
  94   4.7.3 / 20 14-08-04
  95   ========== ========
  96  
  97     * deps:  send@0.7.3
  98       - Fix  incorrect  403 on Win dows and N ode.js 0.1 1
  99     * deps:  serve-stat ic@~1.4.3
  100       - Fix  incorrect  403 on Win dows and N ode.js 0.1 1
  101       - deps : send@0.7 .3
  102  
  103   4.7.2 / 20 14-07-27
  104   ========== ========
  105  
  106     * deps:  depd@0.4.4
  107       - Work -around v8  generatin g empty st ack traces
  108     * deps:  send@0.7.2
  109       - deps : depd@0.4 .4
  110     * deps:  serve-stat ic@~1.4.2
  111  
  112   4.7.1 / 20 14-07-26
  113   ========== ========
  114  
  115     * deps:  depd@0.4.3
  116       - Fix  exception  when globa l `Error.s tackTraceL imit` is t oo low
  117     * deps:  send@0.7.1
  118       - deps : depd@0.4 .3
  119     * deps:  serve-stat ic@~1.4.1
  120  
  121   4.7.0 / 20 14-07-25
  122   ========== ========
  123  
  124     * fix `r eq.protoco l` for pro xy-direct  connection s
  125     * config urable que ry parser  with `app. set('query  parser',  parser)`
  126       - `app .set('quer y parser',  'extended ')` parse  with "qs"  module
  127       - `app .set('quer y parser',  'simple') ` parse wi th "querys tring" cor e module
  128       - `app .set('quer y parser',  false)` d isable que ry string  parsing
  129       - `app .set('quer y parser',  true)` en able simpl e parsing
  130     * deprec ate `res.j son(status , obj)` --  use `res. status(sta tus).json( obj)` inst ead
  131     * deprec ate `res.j sonp(statu s, obj)` - - use `res .status(st atus).json p(obj)` in stead
  132     * deprec ate `res.s end(status , body)` - - use `res .status(st atus).send (body)` in stead
  133     * deps:  debug@1.0. 4
  134     * deps:  depd@0.4.2
  135       - Add  `TRACE_DEP RECATION`  environmen t variable
  136       - Remo ve non-sta ndard grey  color fro m color ou tput
  137       - Supp ort `--no- deprecatio n` argumen t
  138       - Supp ort `--tra ce-depreca tion` argu ment
  139     * deps:  finalhandl er@0.1.0
  140       - Resp ond after  request fu lly read
  141       - deps : debug@1. 0.4
  142     * deps:  parseurl@~ 1.2.0
  143       - Cach e URLs bas ed on orig inal value
  144       - Remo ve no-long er-needed  URL mis-pa rse work-a round
  145       - Simp lify the " fast-path"  `RegExp`
  146     * deps:  send@0.7.0
  147       - Add  `dotfiles`  option
  148       - Cap  `maxAge` v alue to 1  year
  149       - deps : debug@1. 0.4
  150       - deps : depd@0.4 .2
  151     * deps:  serve-stat ic@~1.4.0
  152       - deps : parseurl @~1.2.0
  153       - deps : send@0.7 .0
  154     * perf:  prevent mu ltiple `Bu ffer` crea tion in `r es.send`
  155  
  156   4.6.1 / 20 14-07-12
  157   ========== ========
  158  
  159     * fix `s ubapp.moun tpath` reg ression fo r `app.use (subapp)`
  160  
  161   4.6.0 / 20 14-07-11
  162   ========== ========
  163  
  164     * accept  multiple  callbacks  to `app.us e()`
  165     * add ex plicit "Ro setta Flas h JSONP ab use" prote ction
  166       - prev ious versi ons are no t vulnerab le; this i s just exp licit prot ection
  167     * catch  errors in  multiple ` req.param( name, fn)`  handlers
  168     * deprec ate `res.r edirect(ur l, status) ` -- use ` res.redire ct(status,  url)` ins tead
  169     * fix `r es.send(st atus, num) ` to send  `num` as j son (not e rror)
  170     * remove  unnecessa ry escapin g when `re s.jsonp` r eturns JSO N response
  171     * suppor t non-stri ng `path`  in `app.us e(path, fn )`
  172       - supp orts array  of paths
  173       - supp orts `RegE xp`
  174     * router : fix opti mization o n router e xit
  175     * router : refactor  location  of `try` b locks
  176     * router : speed up  standard  `app.use(f n)`
  177     * deps:  debug@1.0. 3
  178       - Add  support fo r multiple  wildcards  in namesp aces
  179     * deps:  finalhandl er@0.0.3
  180       - deps : debug@1. 0.3
  181     * deps:  methods@1. 1.0
  182       - add  `CONNECT`
  183     * deps:  parseurl@~ 1.1.3
  184       - fast er parsing  of href-o nly URLs
  185     * deps:  path-to-re gexp@0.1.3
  186     * deps:  send@0.6.0
  187       - deps : debug@1. 0.3
  188     * deps:  serve-stat ic@~1.3.2
  189       - deps : parseurl @~1.1.3
  190       - deps : send@0.6 .0
  191     * perf:  fix argume nts reassi gn deopt i n some `re s` methods
  192  
  193   4.5.1 / 20 14-07-06
  194   ========== ========
  195  
  196    * fix rou ting regre ssion when  altering  `req.metho d`
  197  
  198   4.5.0 / 20 14-07-04
  199   ========== ========
  200  
  201    * add dep recation m essage to  non-plural  `req.acce pts*`
  202    * add dep recation m essage to  `res.send( body, stat us)`
  203    * add dep recation m essage to  `res.vary( )`
  204    * add `he aders` opt ion to `re s.sendfile `
  205      - use t o set head ers on suc cessful fi le transfe r
  206    * add `me rgeParams`  option to  `Router`
  207      - merge s `req.par ams` from  parent rou tes
  208    * add `re q.hostname ` -- corre ct name fo r what `re q.host` re turns
  209    * depreca te things  with `depd ` module
  210    * depreca te `req.ho st` -- use  `req.host name` inst ead
  211    * fix beh avior when  handling  request wi thout rout es
  212    * fix han dling when  `route.al l` is only  route
  213    * invoke  `router.pa ram()` onl y when rou te matches
  214    * restore  `req.para ms` after  invoking r outer
  215    * use `fi nalhandler ` for fina l response  handling
  216    * use `me dia-typer`  to alter  content-ty pe charset
  217    * deps: a ccepts@~1. 0.7
  218    * deps: s end@0.5.0
  219      - Accep t string f or `maxage ` (convert ed by `ms` )
  220      - Inclu de link in  default r edirect re sponse
  221    * deps: s erve-stati c@~1.3.0
  222      - Accep t string f or `maxAge ` (convert ed by `ms` )
  223      - Add ` setHeaders ` option
  224      - Inclu de HTML li nk in redi rect respo nse
  225      - deps:  send@0.5. 0
  226    * deps: t ype-is@~1. 3.2
  227  
  228   4.4.5 / 20 14-06-26
  229   ========== ========
  230  
  231    * deps: c ookie-sign ature@1.0. 4
  232      - fix f or timing  attacks
  233  
  234   4.4.4 / 20 14-06-20
  235   ========== ========
  236  
  237    * fix `re s.attachme nt` Unicod e filename s in Safar i
  238    * fix "tr im prefix"  debug mes sage in `e xpress:rou ter`
  239    * deps: a ccepts@~1. 0.5
  240    * deps: b uffer-crc3 2@0.2.3
  241  
  242   4.4.3 / 20 14-06-11
  243   ========== ========
  244  
  245    * fix per sistence o f modified  `req.para ms[name]`  from `app. param()`
  246    * deps: a ccepts@1.0 .3
  247      - deps:  negotiato r@0.4.6
  248    * deps: d ebug@1.0.2
  249    * deps: s end@0.4.3
  250      - Do no t throw un -catchable  error on  file open  race condi tion
  251      - Use ` escape-htm l` for HTM L escaping
  252      - deps:  debug@1.0 .2
  253      - deps:  finished@ 1.2.2
  254      - deps:  fresh@0.2 .2
  255    * deps: s erve-stati c@1.2.3
  256      - Do no t throw un -catchable  error on  file open  race condi tion
  257      - deps:  send@0.4. 3
  258  
  259   4.4.2 / 20 14-06-09
  260   ========== ========
  261  
  262    * fix cat ching erro rs from to p-level ha ndlers
  263    * use `va ry` module  for `res. vary`
  264    * deps: d ebug@1.0.1
  265    * deps: p roxy-addr@ 1.0.1
  266    * deps: s end@0.4.2
  267      - fix " event emit ter leak"  warnings
  268      - deps:  debug@1.0 .1
  269      - deps:  finished@ 1.2.1
  270    * deps: s erve-stati c@1.2.2
  271      - fix " event emit ter leak"  warnings
  272      - deps:  send@0.4. 2
  273    * deps: t ype-is@1.2 .1
  274  
  275   4.4.1 / 20 14-06-02
  276   ========== ========
  277  
  278    * deps: m ethods@1.0 .1
  279    * deps: s end@0.4.1
  280      - Send  `max-age`  in `Cache- Control` i n correct  format
  281    * deps: s erve-stati c@1.2.1
  282      - use ` escape-htm l` for esc aping
  283      - deps:  send@0.4. 1
  284  
  285   4.4.0 / 20 14-05-30
  286   ========== ========
  287  
  288    * custom  etag contr ol with `a pp.set('et ag', val)`
  289      - `app. set('etag' , function (body, enc oding){ re turn '"eta g"' })` cu stom etag  generation
  290      - `app. set('etag' , 'weak')`  weak tag
  291      - `app. set('etag' , 'strong' )` strong  etag
  292      - `app. set('etag' , false)`  turn off
  293      - `app. set('etag' , true)` s tandard et ag
  294    * mark `r es.send` E Tag as wea k and redu ce collisi ons
  295    * update  accepts to  1.0.2
  296      - Fix i nterpretat ion when h eader not  in request
  297    * update  send to 0. 4.0
  298      - Calcu late ETag  with md5 f or reduced  collision s
  299      - Ignor e stream e rrors afte r request  ends
  300      - deps:  debug@0.8 .1
  301    * update  serve-stat ic to 1.2. 0
  302      - Calcu late ETag  with md5 f or reduced  collision s
  303      - Ignor e stream e rrors afte r request  ends
  304      - deps:  send@0.4. 0
  305  
  306   4.3.2 / 20 14-05-28
  307   ========== ========
  308  
  309    * fix han dling of e rrors from  `router.p aram()` ca llbacks
  310  
  311   4.3.1 / 20 14-05-23
  312   ========== ========
  313  
  314    * revert  "fix behav ior of mul tiple `app .VERB` for  the same  path"
  315      - this  caused a r egression  in the ord er of rout e executio n
  316  
  317   4.3.0 / 20 14-05-21
  318   ========== ========
  319  
  320    * add `re q.baseUrl`  to access  the path  stripped f rom `req.u rl` in rou tes
  321    * fix beh avior of m ultiple `a pp.VERB` f or the sam e path
  322    * fix iss ue routing  requests  among sub  routers
  323    * invoke  `router.pa ram()` onl y when nec essary ins tead of ev ery match
  324    * proper  proxy trus t with `ap p.set('tru st proxy',  trust)`
  325      - `app. set('trust  proxy', 1 )` trust f irst hop
  326      - `app. set('trust  proxy', ' loopback') ` trust lo opback add resses
  327        - `app.set ('trust pr oxy', ' IP        ')` trust  single IP
  328        - `app.set ('trust pr oxy', ' IP        /16')` tru st subnet
  329        - `app.set ('trust pr oxy', ' IP        IP        ')` trust  list
  330      - `app. set('trust  proxy', f alse)` tur n off
  331      - `app. set('trust  proxy', t rue)` trus t everythi ng
  332    * set pro per `chars et` in `Co ntent-Type ` for `res .send`
  333    * update  type-is to  1.2.0
  334      - suppo rt suffix  matching
  335  
  336   4.2.0 / 20 14-05-11
  337   ========== ========
  338  
  339    * depreca te `app.de l()` -- us e `app.del ete()` ins tead
  340    * depreca te `res.js on(obj, st atus)` --  use `res.j son(status , obj)` in stead
  341      - the e dge-case ` res.json(s tatus, num )` require s `res.sta tus(status ).json(num )`
  342    * depreca te `res.js onp(obj, s tatus)` --  use `res. jsonp(stat us, obj)`  instead
  343      - the e dge-case ` res.jsonp( status, nu m)` requir es `res.st atus(statu s).jsonp(n um)`
  344    * fix `re q.next` wh en inside  router ins tance
  345    * include  `ETag` he ader in `H EAD` reque sts
  346    * keep pr evious `Co ntent-Type ` for `res .jsonp`
  347    * support  PURGE met hod
  348      - add ` app.purge`
  349      - add ` router.pur ge`
  350      - inclu de PURGE i n `app.all `
  351    * update  debug to 0 .8.0
  352      - add ` enable()`  method
  353      - chang e from std err to std out
  354    * update  methods to  1.0.0
  355      - add P URGE
  356  
  357   4.1.2 / 20 14-05-08
  358   ========== ========
  359  
  360    * fix `re q.host` fo r IPv6 lit erals
  361    * fix `re s.jsonp` e rror if ca llback par am is obje ct
  362  
  363   4.1.1 / 20 14-04-27
  364   ========== ========
  365  
  366    * fix pac kage.json  to reflect  supported  node vers ion
  367  
  368   4.1.0 / 20 14-04-24
  369   ========== ========
  370  
  371    * pass op tions from  `res.send file` to ` send`
  372    * preserv e casing o f headers  in `res.he ader` and  `res.set`
  373    * support  unicode f ile names  in `res.at tachment`  and `res.d ownload`
  374    * update  accepts to  1.0.1
  375      - deps:  negotiato r@0.4.0
  376    * update  cookie to  0.1.2
  377      - Fix f or maxAge  == 0
  378      - made  compat wit h expires  field
  379    * update  send to 0. 3.0
  380      - Accep t API opti ons in opt ions objec t
  381      - Coerc e option t ypes
  382      - Contr ol whether  to genera te etags
  383      - Defau lt directo ry access  to 403 whe n index di sabled
  384      - Fix s ending fil es with do ts without  root set
  385      - Inclu de file pa th in etag
  386      - Make  "Can't set  headers a fter they  are sent."  catchable
  387      - Send  full entit y-body for  multi ran ge request s
  388      - Set e tags to "w eak"
  389      - Suppo rt "If-Ran ge" header
  390      - Suppo rt multipl e index pa ths
  391      - deps:  mime@1.2. 11
  392    * update  serve-stat ic to 1.1. 0
  393      - Accep t options  directly t o `send` m odule
  394      - Resol ve relativ e paths at  middlewar e setup
  395      - Use p arseurl to  parse the  URL from  request
  396      - deps:  send@0.3. 0
  397    * update  type-is to  1.1.0
  398      - add n on-array v alues supp ort
  399      - add ` multipart`  as a shor thand
  400  
  401   4.0.0 / 20 14-04-09
  402   ========== ========
  403  
  404    * remove:
  405      - node  0.8 suppor t
  406      - conne ct and con nect's pat ches excep t for char set handli ng
  407      - expre ss(1) - mo ved to [ex press-gene rator](htt ps://githu b.com/expr essjs/gene rator)
  408      - `expr ess.create Server()`  - it has b een deprec ated for a  long time . Use `exp ress()`
  409      - `app. configure`  - use log ic in your  own app c ode
  410      - `app. router` -  is removed
  411      - `req. auth` - us e `basic-a uth` inste ad
  412      - `req. accepted*`  - use `re q.accepts* ()` instea d
  413      - `res. location`  - relative  URL resol ution is r emoved
  414      - `res. charset` -  include t he charset  in the co ntent type  when usin g `res.set ()`
  415      - all b undled mid dleware ex cept `stat ic`
  416    * change:
  417      - `app. route` ->  `app.mount path` when  mounting  an express  app in an other expr ess app
  418      - `json  spaces` n o longer e nabled by  default in  developme nt
  419      - `req. accepts*`  -> `req.ac cepts*s` -  i.e. `req .acceptsEn coding` ->  `req.acce ptsEncodin gs`
  420      - `req. params` is  now an ob ject inste ad of an a rray
  421      - `res. locals` is  no longer  a functio n. It is a  plain js  object. Tr eat it as  such.
  422      - `res. headerSent ` -> `res. headersSen t` to matc h node.js  ServerResp onse objec t
  423    * refacto r:
  424      - `req. accepts*`  with [acce pts](https ://github. com/expres sjs/accept s)
  425      - `req. is` with [ type-is](h ttps://git hub.com/ex pressjs/ty pe-is)
  426      - [path -to-regexp ](https:// github.com /component /path-to-r egexp)
  427    * add:
  428      - `app. router()`  - returns  the app Ro uter insta nce
  429      - `app. route()` -  Proxy to  the app's  `Router#ro ute()` met hod to cre ate a new  route
  430      - Route r & Route  - public A PI
  431  
  432   3.16.10 /  2014-09-04
  433   ========== ==========
  434  
  435     * deps:  connect@2. 25.10
  436       - deps : serve-st atic@~1.5. 4
  437     * deps:  send@0.8.5
  438       - Fix  a path tra versal iss ue when us ing `root`
  439       - Fix  malicious  path detec tion for e mpty strin g path
  440  
  441   3.16.9 / 2 014-08-29
  442   ========== =========
  443  
  444     * deps:  connect@2. 25.9
  445       - deps : body-par ser@~1.6.7
  446       - deps : qs@2.2.2
  447  
  448   3.16.8 / 2 014-08-27
  449   ========== =========
  450  
  451     * deps:  connect@2. 25.8
  452       - deps : body-par ser@~1.6.6
  453       - deps : csurf@~1 .4.1
  454       - deps : qs@2.2.0
  455  
  456   3.16.7 / 2 014-08-18
  457   ========== =========
  458  
  459     * deps:  connect@2. 25.7
  460       - deps : body-par ser@~1.6.5
  461       - deps : express- session@~1 .7.6
  462       - deps : morgan@~ 1.2.3
  463       - deps : serve-st atic@~1.5. 3
  464     * deps:  send@0.8.3
  465       - deps : destroy@ 1.0.3
  466       - deps : on-finis hed@2.1.0
  467  
  468   3.16.6 / 2 014-08-14
  469   ========== =========
  470  
  471     * deps:  connect@2. 25.6
  472       - deps : body-par ser@~1.6.4
  473       - deps : qs@1.2.2
  474       - deps : serve-st atic@~1.5. 2
  475     * deps:  send@0.8.2
  476       - Work  around `f d` leak in  Node.js 0 .10 for `f s.ReadStre am`
  477  
  478   3.16.5 / 2 014-08-11
  479   ========== =========
  480  
  481     * deps:  connect@2. 25.5
  482       - Fix  backwards  compatibil ity in `lo gger`
  483  
  484   3.16.4 / 2 014-08-10
  485   ========== =========
  486  
  487     * Fix or iginal URL  parsing i n `res.loc ation`
  488     * deps:  connect@2. 25.4
  489       - Fix  `query` mi ddleware b reaking wi th argumen t
  490       - deps : body-par ser@~1.6.3
  491       - deps : compress ion@~1.0.1 1
  492       - deps : connect- timeout@~1 .2.2
  493       - deps : express- session@~1 .7.5
  494       - deps : method-o verride@~2 .1.3
  495       - deps : on-heade rs@~1.0.0
  496       - deps : parseurl @~1.3.0
  497       - deps : qs@1.2.1
  498       - deps : response -time@~2.0 .1
  499       - deps : serve-in dex@~1.1.6
  500       - deps : serve-st atic@~1.5. 1
  501     * deps:  parseurl@~ 1.3.0
  502  
  503   3.16.3 / 2 014-08-07
  504   ========== =========
  505  
  506     * deps:  connect@2. 25.3
  507       - deps : multipar ty@3.3.2
  508  
  509   3.16.2 / 2 014-08-07
  510   ========== =========
  511  
  512     * deps:  connect@2. 25.2
  513       - deps : body-par ser@~1.6.2
  514       - deps : qs@1.2.0
  515  
  516   3.16.1 / 2 014-08-06
  517   ========== =========
  518  
  519     * deps:  connect@2. 25.1
  520       - deps : body-par ser@~1.6.1
  521       - deps : qs@1.1.0
  522  
  523   3.16.0 / 2 014-08-05
  524   ========== =========
  525  
  526     * deps:  connect@2. 25.0
  527       - deps : body-par ser@~1.6.0
  528       - deps : compress ion@~1.0.1 0
  529       - deps : csurf@~1 .4.0
  530       - deps : express- session@~1 .7.4
  531       - deps : qs@1.0.2
  532       - deps : serve-st atic@~1.5. 0
  533     * deps:  send@0.8.1
  534       - Add  `extension s` option
  535  
  536   3.15.3 / 2 014-08-04
  537   ========== =========
  538  
  539     * fix `r es.sendfil e` regress ion for se rving dire ctory inde x files
  540     * deps:  connect@2. 24.3
  541       - deps : serve-in dex@~1.1.5
  542       - deps : serve-st atic@~1.4. 4
  543     * deps:  send@0.7.4
  544       - Fix  incorrect  403 on Win dows and N ode.js 0.1 1
  545       - Fix  serving in dex files  without ro ot dir
  546  
  547   3.15.2 / 2 014-07-27
  548   ========== =========
  549  
  550     * deps:  connect@2. 24.2
  551       - deps : body-par ser@~1.5.2
  552       - deps : depd@0.4 .4
  553       - deps : express- session@~1 .7.2
  554       - deps : morgan@~ 1.2.2
  555       - deps : serve-st atic@~1.4. 2
  556     * deps:  depd@0.4.4
  557       - Work -around v8  generatin g empty st ack traces
  558     * deps:  send@0.7.2
  559       - deps : depd@0.4 .4
  560  
  561   3.15.1 / 2 014-07-26
  562   ========== =========
  563  
  564     * deps:  connect@2. 24.1
  565       - deps : body-par ser@~1.5.1
  566       - deps : depd@0.4 .3
  567       - deps : express- session@~1 .7.1
  568       - deps : morgan@~ 1.2.1
  569       - deps : serve-in dex@~1.1.4
  570       - deps : serve-st atic@~1.4. 1
  571     * deps:  depd@0.4.3
  572       - Fix  exception  when globa l `Error.s tackTraceL imit` is t oo low
  573     * deps:  send@0.7.1
  574       - deps : depd@0.4 .3
  575  
  576   3.15.0 / 2 014-07-22
  577   ========== =========
  578  
  579     * Fix `r eq.protoco l` for pro xy-direct  connection s
  580     * Pass o ptions fro m `res.sen dfile` to  `send`
  581     * deps:  connect@2. 24.0
  582       - deps : body-par ser@~1.5.0
  583       - deps : compress ion@~1.0.9
  584       - deps : connect- timeout@~1 .2.1
  585       - deps : debug@1. 0.4
  586       - deps : depd@0.4 .2
  587       - deps : express- session@~1 .7.0
  588       - deps : finalhan dler@0.1.0
  589       - deps : method-o verride@~2 .1.2
  590       - deps : morgan@~ 1.2.0
  591       - deps : multipar ty@3.3.1
  592       - deps : parseurl @~1.2.0
  593       - deps : serve-st atic@~1.4. 0
  594     * deps:  debug@1.0. 4
  595     * deps:  depd@0.4.2
  596       - Add  `TRACE_DEP RECATION`  environmen t variable
  597       - Remo ve non-sta ndard grey  color fro m color ou tput
  598       - Supp ort `--no- deprecatio n` argumen t
  599       - Supp ort `--tra ce-depreca tion` argu ment
  600     * deps:  parseurl@~ 1.2.0
  601       - Cach e URLs bas ed on orig inal value
  602       - Remo ve no-long er-needed  URL mis-pa rse work-a round
  603       - Simp lify the " fast-path"  `RegExp`
  604     * deps:  send@0.7.0
  605       - Add  `dotfiles`  option
  606       - Cap  `maxAge` v alue to 1  year
  607       - deps : debug@1. 0.4
  608       - deps : depd@0.4 .2
  609  
  610   3.14.0 / 2 014-07-11
  611   ========== =========
  612  
  613    * add exp licit "Ros etta Flash  JSONP abu se" protec tion
  614      - previ ous versio ns are not  vulnerabl e; this is  just expl icit prote ction
  615    * depreca te `res.re direct(url , status)`  -- use `r es.redirec t(status,  url)` inst ead
  616    * fix `re s.send(sta tus, num)`  to send ` num` as js on (not er ror)
  617    * remove  unnecessar y escaping  when `res .jsonp` re turns JSON  response
  618    * deps: b asic-auth@ 1.0.0
  619      - suppo rt empty p assword
  620      - suppo rt empty u sername
  621    * deps: c onnect@2.2 3.0
  622      - deps:  debug@1.0 .3
  623      - deps:  express-s ession@~1. 6.4
  624      - deps:  method-ov erride@~2. 1.0
  625      - deps:  parseurl@ ~1.1.3
  626      - deps:  serve-sta tic@~1.3.1
  627     * deps:  debug@1.0. 3
  628       - Add  support fo r multiple  wildcards  in namesp aces
  629     * deps:  methods@1. 1.0
  630       - add  `CONNECT`
  631     * deps:  parseurl@~ 1.1.3
  632       - fast er parsing  of href-o nly URLs
  633  
  634   3.13.0 / 2 014-07-03
  635   ========== =========
  636  
  637    * add dep recation m essage to  `app.confi gure`
  638    * add dep recation m essage to  `req.auth`
  639    * use `ba sic-auth`  to parse ` Authorizat ion` heade r
  640    * deps: c onnect@2.2 2.0
  641      - deps:  csurf@~1. 3.0
  642      - deps:  express-s ession@~1. 6.1
  643      - deps:  multipart y@3.3.0
  644      - deps:  serve-sta tic@~1.3.0
  645    * deps: s end@0.5.0
  646      - Accep t string f or `maxage ` (convert ed by `ms` )
  647      - Inclu de link in  default r edirect re sponse
  648  
  649   3.12.1 / 2 014-06-26
  650   ========== =========
  651  
  652    * deps: c onnect@2.2 1.1
  653      - deps:  cookie-pa rser@1.3.2
  654      - deps:  cookie-si gnature@1. 0.4
  655      - deps:  express-s ession@~1. 5.2
  656      - deps:  type-is@~ 1.3.2
  657    * deps: c ookie-sign ature@1.0. 4
  658      - fix f or timing  attacks
  659  
  660   3.12.0 / 2 014-06-21
  661   ========== =========
  662  
  663    * use `me dia-typer`  to alter  content-ty pe charset
  664    * deps: c onnect@2.2 1.0
  665      - depre cate `conn ect(middle ware)` --  use `app.u se(middlew are)` inst ead
  666      - depre cate `conn ect.create Server()`  -- use `co nnect()` i nstead
  667      - fix ` res.setHea der()` pat ch to work  with with  get -> ap pend -> se t pattern
  668      - deps:  compressi on@~1.0.8
  669      - deps:  errorhand ler@~1.1.1
  670      - deps:  express-s ession@~1. 5.0
  671      - deps:  serve-ind ex@~1.1.3
  672  
  673   3.11.0 / 2 014-06-19
  674   ========== =========
  675  
  676    * depreca te things  with `depd ` module
  677    * deps: b uffer-crc3 2@0.2.3
  678    * deps: c onnect@2.2 0.2
  679      - depre cate `veri fy` option  to `json`  -- use `b ody-parser ` npm modu le instead
  680      - depre cate `veri fy` option  to `urlen coded` --  use `body- parser` np m module i nstead
  681      - depre cate thing s with `de pd` module
  682      - use ` finalhandl er` for fi nal respon se handlin g
  683      - use ` media-type r` to pars e `content -type` for  charset
  684      - deps:  body-pars er@1.4.3
  685      - deps:  connect-t imeout@1.1 .1
  686      - deps:  cookie-pa rser@1.3.1
  687      - deps:  csurf@1.2 .2
  688      - deps:  errorhand ler@1.1.0
  689      - deps:  express-s ession@1.4 .0
  690      - deps:  multipart y@3.2.9
  691      - deps:  serve-ind ex@1.1.2
  692      - deps:  type-is@1 .3.1
  693      - deps:  vhost@2.0 .0
  694  
  695   3.10.5 / 2 014-06-11
  696   ========== =========
  697  
  698    * deps: c onnect@2.1 9.6
  699      - deps:  body-pars er@1.3.1
  700      - deps:  compressi on@1.0.7
  701      - deps:  debug@1.0 .2
  702      - deps:  serve-ind ex@1.1.1
  703      - deps:  serve-sta tic@1.2.3
  704    * deps: d ebug@1.0.2
  705    * deps: s end@0.4.3
  706      - Do no t throw un -catchable  error on  file open  race condi tion
  707      - Use ` escape-htm l` for HTM L escaping
  708      - deps:  debug@1.0 .2
  709      - deps:  finished@ 1.2.2
  710      - deps:  fresh@0.2 .2
  711  
  712   3.10.4 / 2 014-06-09
  713   ========== =========
  714  
  715    * deps: c onnect@2.1 9.5
  716      - fix " event emit ter leak"  warnings
  717      - deps:  csurf@1.2 .1
  718      - deps:  debug@1.0 .1
  719      - deps:  serve-sta tic@1.2.2
  720      - deps:  type-is@1 .2.1
  721    * deps: d ebug@1.0.1
  722    * deps: s end@0.4.2
  723      - fix " event emit ter leak"  warnings
  724      - deps:  finished@ 1.2.1
  725      - deps:  debug@1.0 .1
  726  
  727   3.10.3 / 2 014-06-05
  728   ========== =========
  729  
  730    * use `va ry` module  for `res. vary`
  731    * deps: c onnect@2.1 9.4
  732      - deps:  errorhand ler@1.0.2
  733      - deps:  method-ov erride@2.0 .2
  734      - deps:  serve-fav icon@2.0.1
  735    * deps: d ebug@1.0.0
  736  
  737   3.10.2 / 2 014-06-03
  738   ========== =========
  739  
  740    * deps: c onnect@2.1 9.3
  741      - deps:  compressi on@1.0.6
  742  
  743   3.10.1 / 2 014-06-03
  744   ========== =========
  745  
  746    * deps: c onnect@2.1 9.2
  747      - deps:  compressi on@1.0.4
  748    * deps: p roxy-addr@ 1.0.1
  749  
  750   3.10.0 / 2 014-06-02
  751   ========== =========
  752  
  753    * deps: c onnect@2.1 9.1
  754      - depre cate `meth odOverride ()` -- use  `method-o verride` n pm module  instead
  755      - deps:  body-pars er@1.3.0
  756      - deps:  method-ov erride@2.0 .1
  757      - deps:  multipart y@3.2.8
  758      - deps:  response- time@2.0.0
  759      - deps:  serve-sta tic@1.2.1
  760    * deps: m ethods@1.0 .1
  761    * deps: s end@0.4.1
  762      - Send  `max-age`  in `Cache- Control` i n correct  format
  763  
  764   3.9.0 / 20 14-05-30
  765   ========== ========
  766  
  767    * custom  etag contr ol with `a pp.set('et ag', val)`
  768      - `app. set('etag' , function (body, enc oding){ re turn '"eta g"' })` cu stom etag  generation
  769      - `app. set('etag' , 'weak')`  weak tag
  770      - `app. set('etag' , 'strong' )` strong  etag
  771      - `app. set('etag' , false)`  turn off
  772      - `app. set('etag' , true)` s tandard et ag
  773    * Include  ETag in H EAD reques ts
  774    * mark `r es.send` E Tag as wea k and redu ce collisi ons
  775    * update  connect to  2.18.0
  776      - deps:  compressi on@1.0.3
  777      - deps:  serve-ind ex@1.1.0
  778      - deps:  serve-sta tic@1.2.0
  779    * update  send to 0. 4.0
  780      - Calcu late ETag  with md5 f or reduced  collision s
  781      - Ignor e stream e rrors afte r request  ends
  782      - deps:  debug@0.8 .1
  783  
  784   3.8.1 / 20 14-05-27
  785   ========== ========
  786  
  787    * update  connect to  2.17.3
  788      - deps:  body-pars er@1.2.2
  789      - deps:  express-s ession@1.2 .1
  790      - deps:  method-ov erride@1.0 .2
  791  
  792   3.8.0 / 20 14-05-21
  793   ========== ========
  794  
  795    * keep pr evious `Co ntent-Type ` for `res .jsonp`
  796    * set pro per `chars et` in `Co ntent-Type ` for `res .send`
  797    * update  connect to  2.17.1
  798      - fix ` res.charse t` appendi ng charset  when `con tent-type`  has one
  799      - deps:  express-s ession@1.2 .0
  800      - deps:  morgan@1. 1.1
  801      - deps:  serve-ind ex@1.0.3
  802  
  803   3.7.0 / 20 14-05-18
  804   ========== ========
  805  
  806    * proper  proxy trus t with `ap p.set('tru st proxy',  trust)`
  807      - `app. set('trust  proxy', 1 )` trust f irst hop
  808      - `app. set('trust  proxy', ' loopback') ` trust lo opback add resses
  809        - `app.set ('trust pr oxy', ' IP        ')` trust  single IP
  810        - `app.set ('trust pr oxy', ' IP        /16')` tru st subnet
  811        - `app.set ('trust pr oxy', ' IP        IP        ')` trust  list
  812      - `app. set('trust  proxy', f alse)` tur n off
  813      - `app. set('trust  proxy', t rue)` trus t everythi ng
  814    * update  connect to  2.16.2
  815      - depre cate `res. headerSent ` -- use ` res.header sSent`
  816      - depre cate `res. on("header ")` -- use  on-header s module i nstead
  817      - fix e dge-case i n `res.app endHeader`  that woul d append i n wrong or der
  818      - json:  use body- parser
  819      - urlen coded: use  body-pars er
  820      - dep:  bytes@1.0. 0
  821      - dep:  cookie-par ser@1.1.0
  822      - dep:  csurf@1.2. 0
  823      - dep:  express-se ssion@1.1. 0
  824      - dep:  method-ove rride@1.0. 1
  825  
  826   3.6.0 / 20 14-05-09
  827   ========== ========
  828  
  829    * depreca te `app.de l()` -- us e `app.del ete()` ins tead
  830    * depreca te `res.js on(obj, st atus)` --  use `res.j son(status , obj)` in stead
  831      - the e dge-case ` res.json(s tatus, num )` require s `res.sta tus(status ).json(num )`
  832    * depreca te `res.js onp(obj, s tatus)` --  use `res. jsonp(stat us, obj)`  instead
  833      - the e dge-case ` res.jsonp( status, nu m)` requir es `res.st atus(statu s).jsonp(n um)`
  834    * support  PURGE met hod
  835      - add ` app.purge`
  836      - add ` router.pur ge`
  837      - inclu de PURGE i n `app.all `
  838    * update  connect to  2.15.0
  839      * Add ` res.append Header`
  840      * Call  error stac k even whe n response  has been  sent
  841      * Patch  `res.head erSent` to  return Bo olean
  842      * Patch  `res.head ersSent` f or node.js  0.8
  843      * Preve nt default  404 handl er after r esponse se nt
  844      * dep:  compressio n@1.0.2
  845      * dep:  connect-ti meout@1.1. 0
  846      * dep:  debug@^0.8 .0
  847      * dep:  errorhandl er@1.0.1
  848      * dep:  express-se ssion@1.0. 4
  849      * dep:  morgan@1.0 .1
  850      * dep:  serve-favi con@2.0.0
  851      * dep:  serve-inde x@1.0.2
  852    * update  debug to 0 .8.0
  853      * add ` enable()`  method
  854      * chang e from std err to std out
  855    * update  methods to  1.0.0
  856      - add P URGE
  857    * update  mkdirp to  0.5.0
  858  
  859   3.5.3 / 20 14-05-08
  860   ========== ========
  861  
  862    * fix `re q.host` fo r IPv6 lit erals
  863    * fix `re s.jsonp` e rror if ca llback par am is obje ct
  864  
  865   3.5.2 / 20 14-04-24
  866   ========== ========
  867  
  868    * update  connect to  2.14.5
  869    * update  cookie to  0.1.2
  870    * update  mkdirp to  0.4.0
  871    * update  send to 0. 3.0
  872  
  873   3.5.1 / 20 14-03-25
  874   ========== ========
  875  
  876    * pin les s-middlewa re in gene rated app
  877  
  878   3.5.0 / 20 14-03-06
  879   ========== ========
  880  
  881    * bump de ps
  882  
  883   3.4.8 / 20 14-01-13
  884   ========== ========
  885  
  886    * prevent  incorrect  automatic  OPTIONS r esponses # 1868 @dpat ti
  887    * update  binary and  examples  for jade 1 .0 #1876 @ yossi, #18 77 @reqsha rk, #1892  @matheusaz zi
  888    * throw 4 00 in case  of malfor med paths  @rlidwka
  889  
  890   3.4.7 / 20 13-12-10
  891   ========== ========
  892  
  893    * update  connect
  894  
  895   3.4.6 / 20 13-12-01
  896   ========== ========
  897  
  898    * update  connect (r aw-body)
  899  
  900   3.4.5 / 20 13-11-27
  901   ========== ========
  902  
  903    * update  connect
  904    * res.loc ation: rem ove leadin g ./ #1802  @kapouer
  905    * res.red irect: fix  `res.redi rect('toSt ring') #18 29 @michae lficarra
  906    * res.sen d: always  send ETag  when conte nt-length  > 0
  907    * router:  add Route r.all() me thod
  908  
  909   3.4.4 / 20 13-10-29
  910   ========== ========
  911  
  912    * update  connect
  913    * update  supertest
  914    * update  methods
  915    * express (1): repla ce bodyPar ser() with  urlencode d() and js on() #1795  @chirag04
  916  
  917   3.4.3 / 20 13-10-23
  918   ========== ========
  919  
  920    * update  connect
  921  
  922   3.4.2 / 20 13-10-18
  923   ========== ========
  924  
  925    * update  connect
  926    * downgra de command er
  927  
  928   3.4.1 / 20 13-10-15
  929   ========== ========
  930  
  931    * update  connect
  932    * update  commander
  933    * jsonp:  check if c allback is  a functio n
  934    * router:  wrap enco deURICompo nent in a  try/catch  #1735 (@lx e)
  935    * res.for mat: now i ncludes ch raset @174 7 (@sorrib as)
  936    * res.lin ks: allow  multiple c alls @1746  (@sorriba s)
  937  
  938   3.4.0 / 20 13-09-07
  939   ========== ========
  940  
  941    * add res .vary(). C loses #168 2
  942    * update  connect
  943  
  944   3.3.8 / 20 13-09-02
  945   ========== ========
  946  
  947    * update  connect
  948  
  949   3.3.7 / 20 13-08-28
  950   ========== ========
  951  
  952    * update  connect
  953  
  954   3.3.6 / 20 13-08-27
  955   ========== ========
  956  
  957    * Revert  "remove ch arset from  json resp onses. Clo ses #1631"  (causes i ssues in s ome client s)
  958    * add: re q.accepts  take an ar gument lis t
  959  
  960   3.3.4 / 20 13-07-08
  961   ========== ========
  962  
  963    * update  send and c onnect
  964  
  965   3.3.3 / 20 13-07-04
  966   ========== ========
  967  
  968    * update  connect
  969  
  970   3.3.2 / 20 13-07-03
  971   ========== ========
  972  
  973    * update  connect
  974    * update  send
  975    * remove  .version e xport
  976  
  977   3.3.1 / 20 13-06-27
  978   ========== ========
  979  
  980    * update  connect
  981  
  982   3.3.0 / 20 13-06-26
  983   ========== ========
  984  
  985    * update  connect
  986    * add sup port for m ultiple X- Forwarded- Proto valu es. Closes  #1646
  987    * change:  remove ch arset from  json resp onses. Clo ses #1631
  988    * change:  return ac tual boole ans from r eq.accept*  functions
  989    * fix jso np callbac k array th row
  990  
  991   3.2.6 / 20 13-06-02
  992   ========== ========
  993  
  994    * update  connect
  995  
  996   3.2.5 / 20 13-05-21
  997   ========== ========
  998  
  999    * update  connect
  1000    * update  node-cooki e
  1001    * add: th row a mean ingful err or when th ere is no  default en gine
  1002    * change  generation  of ETags  with res.s end() to G ET request s only. Cl oses #1619
  1003  
  1004   3.2.4 / 20 13-05-09
  1005   ========== ========
  1006  
  1007     * fix `r eq.subdoma ins` when  no Host is  present
  1008     * fix `r eq.host` w hen no Hos t is prese nt, return  undefined
  1009  
  1010   3.2.3 / 20 13-05-07
  1011   ========== ========
  1012  
  1013     * update  connect /  qs
  1014  
  1015   3.2.2 / 20 13-05-03
  1016   ========== ========
  1017  
  1018     * update  qs
  1019  
  1020   3.2.1 / 20 13-04-29
  1021   ========== ========
  1022  
  1023     * add ap p.VERB() p aths array  deprecati on warning
  1024     * update  connect
  1025     * update  qs and re move all ~  semver cr ap
  1026     * fix: a ccept numb er as valu e of Signe d Cookie
  1027  
  1028   3.2.0 / 20 13-04-15
  1029   ========== ========
  1030  
  1031     * add "v iew" const ructor set ting to ov erride vie w behaviou r
  1032     * add re q.acceptsE ncoding(na me)
  1033     * add re q.accepted Encodings
  1034     * revert  cookie si gnature ch ange causi ng session  race cond itions
  1035     * fix so rting of A ccept valu es of the  same quali ty
  1036  
  1037   3.1.2 / 20 13-04-12
  1038   ========== ========
  1039  
  1040     * add su pport for  custom Acc ept parame ters
  1041     * update  cookie-si gnature
  1042  
  1043   3.1.1 / 20 13-04-01
  1044   ========== ========
  1045  
  1046     * add X- Forwarded- Host suppo rt to `req .host`
  1047     * fix re lative red irects
  1048     * update  mkdirp
  1049     * update  buffer-cr c32
  1050     * remove  legacy ap p.configur e() method  from app  template.
  1051  
  1052   3.1.0 / 20 13-01-25
  1053   ========== ========
  1054  
  1055     * add su pport for  leading ". " in "view  engine" s etting
  1056     * add ar ray suppor t to `res. set()`
  1057     * add no de 0.8.x t o travis.y ml
  1058     * add "s ubdomain o ffset" set ting for t weaking `r eq.subdoma ins`
  1059     * add `r es.locatio n(url)` im plementing  `res.redi rect()`-li ke setting  of Locati on
  1060     * use ap p.get() fo r x-powere d-by setti ng for inh eritance
  1061     * fix co lons in pa sswords fo r `req.aut h`
  1062  
  1063   3.0.6 / 20 13-01-04
  1064   ========== ========
  1065  
  1066     * add ht tp verb me thods to R outer
  1067     * update  connect
  1068     * fix ma ngling of  the `res.c ookie()` o ptions obj ect
  1069     * fix js onp whites pace escap e. Closes  #1132
  1070  
  1071   3.0.5 / 20 12-12-19
  1072   ========== ========
  1073  
  1074     * add th rowing whe n a non-fu nction is  passed to  a route
  1075     * fix: e xplicitly  remove Tra nsfer-Enco ding heade r from 204  and 304 r esponses
  1076     * revert  "add 'eta g' option"
  1077  
  1078   3.0.4 / 20 12-12-05
  1079   ========== ========
  1080  
  1081     * add 'e tag' optio n to disab le `res.se nd()` Etag s
  1082     * add es caping of  urls in te xt/plain i n `res.red irect()`
  1083       for ol d browsers  interpret ing as htm l
  1084     * change  crc32 mod ule for a  more liber al license
  1085     * update  connect
  1086  
  1087   3.0.3 / 20 12-11-13
  1088   ========== ========
  1089  
  1090     * update  connect
  1091     * update  cookie mo dule
  1092     * fix co okie max-a ge
  1093  
  1094   3.0.2 / 20 12-11-08
  1095   ========== ========
  1096  
  1097     * add OP TIONS to c ors exampl e. Closes  #1398
  1098     * fix ro ute chaini ng regress ion. Close s #1397
  1099  
  1100   3.0.1 / 20 12-11-01
  1101   ========== ========
  1102  
  1103     * update  connect
  1104  
  1105   3.0.0 / 20 12-10-23
  1106   ========== ========
  1107  
  1108     * add `m ake clean`
  1109     * add "B asic" chec k to req.a uth
  1110     * add `r eq.auth` t est covera ge
  1111     * add cb  && cb(pay load) to ` res.jsonp( )`. Closes  #1374
  1112     * add ba ckwards co mpat for ` res.redire ct()` stat us. Closes  #1336
  1113     * add su pport for  `res.json( )` to reta in previou sly define d Content- Types. Clo ses #1349
  1114     * update  connect
  1115     * change  `res.redi rect()` to  utilize a  pathname- relative L ocation ag ain. Close s #1382
  1116     * remove  non-primi tive strin g support  for `res.s end()`
  1117     * fix vi ew-locals  example. C loses #137 0
  1118     * fix ro ute-separa tion examp le
  1119  
  1120   3.0.0rc5 /  2012-09-1 8
  1121   ========== ========
  1122  
  1123     * update  connect
  1124     * add re dis search  example
  1125     * add st atic-files  example
  1126     * add "x -powered-b y" setting  (`app.dis able('x-po wered-by') `)
  1127     * add "a pplication /octet-str eam" redir ect Accept  test case . Closes # 1317
  1128  
  1129   3.0.0rc4 /  2012-08-3 0
  1130   ========== ========
  1131  
  1132     * add `r es.jsonp() `. Closes  #1307
  1133     * add "v erbose err ors" optio n to error -pages exa mple
  1134     * add an other rout e example  to express (1) so peo ple are no t so confu sed
  1135     * add re dis online  user acti vity track ing exampl e
  1136     * update  connect d ep
  1137     * fix et ag quoting . Closes # 1310
  1138     * fix er ror-pages  404 status
  1139     * fix js onp callba ck char re strictions
  1140     * remove  old OPTIO NS default  response
  1141  
  1142   3.0.0rc3 /  2012-08-1 3
  1143   ========== ========
  1144  
  1145     * update  connect d ep
  1146     * fix si gned cooki es to work  with `con nect.cooki eParser()`  ("s:" pre fix was mi ssing) [tn ydwrds]
  1147     * fix `r es.render( )` clobber ing of "lo cals"
  1148  
  1149   3.0.0rc2 /  2012-08-0 3
  1150   ========== ========
  1151  
  1152     * add CO RS example
  1153     * update  connect d ep
  1154     * deprec ate `.crea teServer() ` & remove  old stale  examples
  1155     * fix: e scape `res .redirect( )` link
  1156     * fix vh ost exampl e
  1157  
  1158   3.0.0rc1 /  2012-07-2 4
  1159   ========== ========
  1160  
  1161     * add mo re example s to view- locals
  1162     * add sc heme-relat ive redire cts (`res. redirect(" //foo.com" )`) suppor t
  1163     * update  cookie de p
  1164     * update  connect d ep
  1165     * update  send dep
  1166     * fix `e xpress(1)`  -h flag,  use -H for  hogan. Cl oses #1245
  1167     * fix `r es.sendfil e()` socke t error ha ndling reg ression
  1168  
  1169   3.0.0beta7  / 2012-07 -16
  1170   ========== ========
  1171  
  1172     * update  connect d ep for `se nd()` root  normaliza tion regre ssion
  1173  
  1174   3.0.0beta6  / 2012-07 -13
  1175   ========== ========
  1176  
  1177     * add `e rr.view` p roperty fo r view err ors. Close s #1226
  1178     * add "j sonp callb ack name"  setting
  1179     * add su pport for  "/foo/:bar *" non-gre edy matche s
  1180     * change  `res.send file()` to  use `send ()` module
  1181     * change  `res.send ` to use " response-s end" modul e
  1182     * remove  `app.loca ls.use` an d `res.loc als.use`,  use regula r middlewa re
  1183  
  1184   3.0.0beta5  / 2012-07 -03
  1185   ========== ========
  1186  
  1187     * add "m ake check"  support
  1188     * add ro ute-map ex ample
  1189     * add `r es.json(ob j, status) ` support  back for B C
  1190     * add "m ethods" de p, remove  internal m ethods mod ule
  1191     * update  connect d ep
  1192     * update  auth exam ple to uti lize cores  pbkdf2
  1193     * update d tests to  use "supe rtest"
  1194  
  1195   3.0.0beta4  / 2012-06 -25
  1196   ========== ========
  1197  
  1198     * Added  `req.auth`
  1199     * Added  `req.range (size)`
  1200     * Added  `res.links (obj)`
  1201     * Added  `res.send( body, stat us)` suppo rt back fo r backward s compat
  1202     * Added  `.default( )` support  to `res.f ormat()`
  1203     * Added  2xx / 304  check to ` req.fresh`
  1204     * Revert  "Added +  support to  the route r"
  1205     * Fixed  `res.send( )` freshne ss check,  respect re s.statusCo de
  1206  
  1207   3.0.0beta3  / 2012-06 -15
  1208   ========== ========
  1209  
  1210     * Added  hogan `--h js` to exp ress(1) [n ullfirm]
  1211     * Added  another ex ample to c ontent-neg otiation
  1212     * Added  `fresh` de p
  1213     * Change d: `res.se nd()` alwa ys checks  freshness
  1214     * Fixed:  expose co nnects mim e module.  Cloases #1 165
  1215  
  1216   3.0.0beta2  / 2012-06 -06
  1217   ========== ========
  1218  
  1219     * Added  `+` suppor t to the r outer
  1220     * Added  `req.host`
  1221     * Change d `req.par am()` to c heck route  first
  1222     * Update  connect d ep
  1223  
  1224   3.0.0beta1  / 2012-06 -01
  1225   ========== ========
  1226  
  1227     * Added  `res.forma t()` callb ack to ove rride defa ult 406 be haviour
  1228     * Fixed  `res.redir ect()` 406 . Closes # 1154
  1229  
  1230   3.0.0alpha 5 / 2012-0 5-30
  1231   ========== ========
  1232  
  1233     * Added  `req.ip`
  1234     * Added  `{ signed:  true }` o ption to ` res.cookie ()`
  1235     * Remove d `res.sig nedCookie( )`
  1236     * Change d: dont re verse `req .ips`
  1237     * Fixed  "trust pro xy" settin g check fo r `req.ips `
  1238  
  1239   3.0.0alpha 4 / 2012-0 5-09
  1240   ========== ========
  1241  
  1242     * Added:  allow `[] ` in jsonp  callback.  Closes #1 128
  1243     * Added  `PORT` env  var suppo rt in gene rated temp late. Clos es #1118 [ benatkin]
  1244     * Update d: connect  2.2.2
  1245  
  1246   3.0.0alpha 3 / 2012-0 5-04
  1247   ========== ========
  1248  
  1249     * Added  public `ap p.routes`.  Closes #8 87
  1250     * Added  _view-loca ls_ exampl e
  1251     * Added  _mvc_ exam ple
  1252     * Added  `res.local s.use()`.  Closes #11 20
  1253     * Added  conditiona l-GET supp ort to `re s.send()`
  1254     * Added:  coerce `r es.set()`  values to  strings
  1255     * Change d: moved ` static()`  in generat ed apps be low router
  1256     * Change d: `res.se nd()` only  set ETag  when not p reviously  set
  1257     * Change d connect  2.2.1 dep
  1258     * Change d: `make t est` now r uns unit /  acceptanc e tests
  1259     * Fixed  req/res pr oto inheri tance
  1260  
  1261   3.0.0alpha 2 / 2012-0 4-26
  1262   ========== ========
  1263  
  1264     * Added  `make benc hmark` bac k
  1265     * Added  `res.send( )` support  for `Stri ng` object s
  1266     * Added  client-sid e data exp osing exam ple
  1267     * Added  `res.heade r()` and ` req.header ()` aliase s for BC
  1268     * Added  `express.c reateServe r()` for B C
  1269     * Perf:  memoize pa rsed urls
  1270     * Perf:  connect 2. 2.0 dep
  1271     * Change d: make `e xpressInit ()` middle ware self- aware
  1272     * Fixed:  use app.g et() for a ll core se ttings
  1273     * Fixed  redis sess ion exampl e
  1274     * Fixed  session ex ample. Clo ses #1105
  1275     * Fixed  generated  express de p. Closes  #1078
  1276  
  1277   3.0.0alpha 1 / 2012-0 4-15
  1278   ========== ========
  1279  
  1280     * Added  `app.local s.use(call back)`
  1281     * Added  `app.local s` object
  1282     * Added  `app.local s(obj)`
  1283     * Added  `res.local s` object
  1284     * Added  `res.local s(obj)`
  1285     * Added  `res.forma t()` for c ontent-neg otiation
  1286     * Added  `app.engin e()`
  1287     * Added  `res.cooki e()` JSON  cookie sup port
  1288     * Added  "trust pro xy" settin g
  1289     * Added  `req.subdo mains`
  1290     * Added  `req.proto col`
  1291     * Added  `req.secur e`
  1292     * Added  `req.path`
  1293     * Added  `req.ips`
  1294     * Added  `req.fresh `
  1295     * Added  `req.stale `
  1296     * Added  comma-delm ited / arr ay support  for `req. accepts()`
  1297     * Added  debug inst rumentatio n
  1298     * Added  `res.set(o bj)`
  1299     * Added  `res.set(f ield, valu e)`
  1300     * Added  `res.get(f ield)`
  1301     * Added  `app.get(s etting)`.  Closes #84 2
  1302     * Added  `req.accep tsLanguage ()`
  1303     * Added  `req.accep tsCharset( )`
  1304     * Added  `req.accep ted`
  1305     * Added  `req.accep tedLanguag es`
  1306     * Added  `req.accep tedCharset s`
  1307     * Added  "json repl acer" sett ing
  1308     * Added  "json spac es" settin g
  1309     * Added  X-Forwarde d-Proto su pport to ` res.redire ct()`. Clo ses #92
  1310     * Added  `--less` s upport to  express(1)
  1311     * Added  `express.r esponse` p rototype
  1312     * Added  `express.r equest` pr ototype
  1313     * Added  `express.a pplication ` prototyp e
  1314     * Added  `app.path( )`
  1315     * Added  `app.rende r()`
  1316     * Added  `res.type( )` to repl ace `res.c ontentType ()`
  1317     * Change d: `res.re direct()`  to add rel ative supp ort
  1318     * Change d: enable  "jsonp cal lback" by  default
  1319     * Change d: renamed  "case sen sitive rou tes" to "c ase sensit ive routin g"
  1320     * Rewrit e of all t ests with  mocha
  1321     * Remove d "root" s etting
  1322     * Remove d `res.red irect('hom e')` suppo rt
  1323     * Remove d `req.not ify()`
  1324     * Remove d `app.reg ister()`
  1325     * Remove d `app.red irect()`
  1326     * Remove d `app.is( )`
  1327     * Remove d `app.hel pers()`
  1328     * Remove d `app.dyn amicHelper s()`
  1329     * Fixed  `res.sendf ile()` wit h non-GET.  Closes #7 23
  1330     * Fixed  express(1)  public di r for wind ows. Close s #866
  1331  
  1332   2.5.9/ 201 2-04-02
  1333   ========== ========
  1334  
  1335     * Added  support fo r PURGE re quest meth od [pbuyle ]
  1336     * Fixed  `express(1 )` generat ed app `ap p.address( )` before  `listening ` [mmaleck i]
  1337  
  1338   2.5.8 / 20 12-02-08
  1339   ========== ========
  1340  
  1341     * Update  mkdirp de p. Closes  #991
  1342  
  1343   2.5.7 / 20 12-02-06
  1344   ========== ========
  1345  
  1346     * Fixed  `app.all`  duplicate  DELETE req uests [msc dex]
  1347  
  1348   2.5.6 / 20 12-01-13
  1349   ========== ========
  1350  
  1351     * Update d hamljs d ev dep. Cl oses #953
  1352  
  1353   2.5.5 / 20 12-01-08
  1354   ========== ========
  1355  
  1356     * Fixed:  set `file name` on c ached temp lates [mat thewleon]
  1357  
  1358   2.5.4 / 20 12-01-02
  1359   ========== ========
  1360  
  1361     * Fixed  `express(1 )` eol on  0.4.x. Clo ses #947
  1362  
  1363   2.5.3 / 20 11-12-30
  1364   ========== ========
  1365  
  1366     * Fixed  `req.is()`  when a ch arset is p resent
  1367  
  1368   2.5.2 / 20 11-12-10
  1369   ========== ========
  1370  
  1371     * Fixed:  express(1 ) LF -> CR LF for win dows
  1372  
  1373   2.5.1 / 20 11-11-17
  1374   ========== ========
  1375  
  1376     * Change d: updated  connect t o 1.8.x
  1377     * Remove d sass.js  support fr om express (1)
  1378  
  1379   2.5.0 / 20 11-10-24
  1380   ========== ========
  1381  
  1382     * Added  ./routes d ir for gen erated app  by defaul t
  1383     * Added  npm instal l reminder  to expres s(1) app g en
  1384     * Added  0.5.x supp ort
  1385     * Remove d `make te st-cov` si nce it won t work wit h node 0.5 .x
  1386     * Fixed  express(1)  public di r for wind ows. Close s #866
  1387  
  1388   2.4.7 / 20 11-10-05
  1389   ========== ========
  1390  
  1391     * Added  mkdirp to  express(1) . Closes # 795
  1392     * Added  simple _js on-config_  example
  1393     * Added   shorthand  for the p arsed requ est's path name via ` req.path`
  1394     * Change d connect  dep to 1.7 .x to fix  npm issue. ..
  1395     * Fixed  `res.redir ect()` __H EAD__ supp ort. [repo rted by xe rox]
  1396     * Fixed  `req.flash ()`, only  escape arg s
  1397     * Fixed  absolute p ath checki ng on wind ows. Close s #829 [re ported by  andrewpmck enzie]
  1398  
  1399   2.4.6 / 20 11-08-22
  1400   ========== ========
  1401  
  1402     * Fixed  multiple p aram callb ack regres sion. Clos es #824 [r eported by  TroyGoode ]
  1403  
  1404   2.4.5 / 20 11-08-19
  1405   ========== ========
  1406  
  1407     * Added  support fo r routes t o handle e rrors. Clo ses #809
  1408     * Added  `app.route s.all()`.  Closes #80 3
  1409     * Added  "basepath"  setting t o work in  conjunctio n with rev erse proxi es etc.
  1410     * Refact ored `Rout e` to use  a single a rray of ca llbacks
  1411     * Added  support fo r multiple  callbacks  for `app. param()`.  Closes #80 1
  1412   Closes #80 5
  1413     * Change d: removed  .call(sel f) for rou te callbac ks
  1414     * Depend ency: `qs  >= 0.3.1`
  1415     * Fixed  `res.redir ect()` on  windows du e to `join ()` usage.  Closes #8 08
  1416  
  1417   2.4.4 / 20 11-08-05
  1418   ========== ========
  1419  
  1420     * Fixed  `res.heade r()` inten tion of a  set, even  when `unde fined`
  1421     * Fixed  `*`, value  no longer  required
  1422     * Fixed  `res.send( 204)` supp ort. Close s #771
  1423  
  1424   2.4.3 / 20 11-07-14
  1425   ========== ========
  1426  
  1427     * Added  docs for ` status` op tion speci al-case. C loses #739
  1428     * Fixed  `options.f ilename`,  exposing t he view pa th to temp late engin es
  1429  
  1430   2.4.2. / 2 011-07-06
  1431   ========== ========
  1432  
  1433     * Revert  "removed  jsonp stri pping" for  XSS
  1434  
  1435   2.4.1 / 20 11-07-06
  1436   ========== ========
  1437  
  1438     * Added  `res.json( )` JSONP s upport. Cl oses #737
  1439     * Added  _extending -templates _ example.  Closes #7 30
  1440     * Added  "strict ro uting" set ting for t railing sl ashes
  1441     * Added  support fo r multiple  envs in ` app.config ure()` cal ls. Closes  #735
  1442     * Change d: `res.se nd()` usin g `res.jso n()`
  1443     * Change d: when co okie `path  === null`  don't def ault it
  1444     * Change d; default  cookie pa th to "hom e" setting . Closes # 731
  1445     * Remove d _pids/lo gs_ creati on from ex press(1)
  1446  
  1447   2.4.0 / 20 11-06-28
  1448   ========== ========
  1449  
  1450     * Added  chainable  `res.statu s(code)`
  1451     * Added  `res.json( )`, an exp licit vers ion of `re s.send(obj )`
  1452     * Added  simple web -service e xample
  1453  
  1454   2.3.12 / 2 011-06-22
  1455   ========== ========
  1456  
  1457     * \#expr ess is now  on freeno de! come j oin!
  1458     * Added  `req.get(f ield, para m)`
  1459     * Added  links to J apanese do cumentatio n, thanks  @hideyukis aito!
  1460     * Added;  the `expr ess(1)` ge nerated ap p outputs  the env
  1461     * Added  `content-n egotiation ` example
  1462     * Depend ency: conn ect >= 1.5 .1 < 2.0.0
  1463     * Fixed  view layou t bug. Clo ses #720
  1464     * Fixed;  ignore bo dy on 304.  Closes #7 01
  1465  
  1466   2.3.11 / 2 011-06-04
  1467   ========== ========
  1468  
  1469     * Added  `npm test`
  1470     * Remove d generati on of dumm y test fil e from `ex press(1)`
  1471     * Fixed;  `express( 1)` adds e xpress as  a dep
  1472     * Fixed;  prune on  `prepublis h`
  1473  
  1474   2.3.10 / 2 011-05-27
  1475   ========== ========
  1476  
  1477     * Added  `req.route `, exposin g the curr ent route
  1478     * Added  _package.j son_ gener ation supp ort to `ex press(1)`
  1479     * Fixed  call to `a pp.param() ` function  for optio nal params . Closes # 682
  1480  
  1481   2.3.9 / 20 11-05-25
  1482   ========== ========
  1483  
  1484     * Fixed  bug-ish wi th `../' i n `res.par tial()` ca lls
  1485  
  1486   2.3.8 / 20 11-05-24
  1487   ========== ========
  1488  
  1489     * Fixed  `app.optio ns()`
  1490  
  1491   2.3.7 / 20 11-05-23
  1492   ========== ========
  1493  
  1494     * Added  route `Col lection`,  ex: `app.g et('/user/ :id').remo ve();`
  1495     * Added  support fo r `app.par am(fn)` to  define pa ram logic
  1496     * Remove d `app.par am()` supp ort for ca llback wit h return v alue
  1497     * Remove d module.p arent chec k from exp ress(1) ge nerated ap p. Closes  #670
  1498     * Refact ored route r. Closes  #639
  1499  
  1500   2.3.6 / 20 11-05-20
  1501   ========== ========
  1502  
  1503     * Change d; using d evDependen cies inste ad of git  submodules
  1504     * Fixed  redis sess ion exampl e
  1505     * Fixed  markdown e xample
  1506     * Fixed  view cachi ng, should  not be en abled in d evelopment
  1507  
  1508   2.3.5 / 20 11-05-20
  1509   ========== ========
  1510  
  1511     * Added  export `.v iew` as al ias for `. View`
  1512  
  1513   2.3.4 / 20 11-05-08
  1514   ========== ========
  1515  
  1516     * Added  `./example s/say`
  1517     * Fixed  `res.sendf ile()` bug  preventin g the tran sfer of fi les with s paces
  1518  
  1519   2.3.3 / 20 11-05-03
  1520   ========== ========
  1521  
  1522     * Added  "case sens itive rout es" option .
  1523     * Change d; split m ethods sup ported per  rfc [slas kis]
  1524     * Fixed  route-spec ific middl eware when  using the  same call back funct ion severa l times
  1525  
  1526   2.3.2 / 20 11-04-27
  1527   ========== ========
  1528  
  1529     * Fixed  view hints
  1530  
  1531   2.3.1 / 20 11-04-26
  1532   ========== ========
  1533  
  1534     * Added  `app.match ()` as `ap p.match.al l()`
  1535     * Added  `app.looku p()` as `a pp.lookup. all()`
  1536     * Added  `app.remov e()` for ` app.remove .all()`
  1537     * Added  `app.remov e.VERB()`
  1538     * Fixed  template c aching col lision iss ue. Closes  #644
  1539     * Moved  router ove r from con nect and s tarted ref actor
  1540  
  1541   2.3.0 / 20 11-04-25
  1542   ========== ========
  1543  
  1544     * Added  options su pport to ` res.clearC ookie()`
  1545     * Added  `res.helpe rs()` as a lias of `r es.locals( )`
  1546     * Added;  json defa ults to UT F-8 with ` res.send() `. Closes  #632. [Dan iel   * De pendency ` connect >=  1.4.0`
  1547     * Change d; auto se t Content- Type in re s.attachem ent [Aaron  Heckmann]
  1548     * Rename d "cache v iews" to " view cache ". Closes  #628
  1549     * Fixed  caching of  views whe n using se veral apps . Closes # 637
  1550     * Fixed  gotcha inv oking `app .param()`  callbacks  once per r oute middl eware.
  1551   Closes #63 8
  1552     * Fixed  partial lo okup prece dence. Clo ses #631
  1553   Shaw]
  1554  
  1555   2.2.2 / 20 11-04-12
  1556   ========== ========
  1557  
  1558     * Added  second cal lback supp ort for `r es.downloa d()` conne ction erro rs
  1559     * Fixed  `filename`  option pa ssing to t emplate en gine
  1560  
  1561   2.2.1 / 20 11-04-04
  1562   ========== ========
  1563  
  1564     * Added  `layout(pa th)` helpe r to chang e the layo ut within  a view. Cl oses #610
  1565     * Fixed  `partial() ` collecti on object  support.
  1566       Previo usly only  anything w ith `.leng th` would  work.
  1567       When ` .length` i s present  one must s till be aw are of hol es,
  1568       howeve r now `{ c ollection:  {foo: 'ba r'}}` is v alid, expo ses
  1569       `keyIn Collection ` and `key sInCollect ion`.
  1570  
  1571     * Perfor mance impr oved with  better vie w caching
  1572     * Remove d `request ` and `res ponse` loc als
  1573     * Change d; errorHa ndler page  title is  now `Expre ss` instea d of `Conn ect`
  1574  
  1575   2.2.0 / 20 11-03-30
  1576   ========== ========
  1577  
  1578     * Added  `app.looku p.VERB()`,  ex `app.l ookup.put( '/user/:id ')`. Close s #606
  1579     * Added  `app.match .VERB()`,  ex `app.ma tch.put('/ user/12')` . Closes # 606
  1580     * Added  `app.VERB( path)` as  alias of ` app.lookup .VERB()`.
  1581     * Depend ency `conn ect >= 1.2 .0`
  1582  
  1583   2.1.1 / 20 11-03-29
  1584   ========== ========
  1585  
  1586     * Added;  expose `e rr.view` o bject when  failing t o locate a  view
  1587     * Fixed  `res.parti al()` call  `next(err )` when no  callback  is given [ reported b y aheckman n]
  1588     * Fixed;  `res.send (undefined )` respond s with 204  [aheckman n]
  1589  
  1590   2.1.0 / 20 11-03-24
  1591   ========== ========
  1592  
  1593     * Added  `<root>/_? <name>` pa rtial look up support . Closes # 447
  1594     * Added  `request`,  `response `, and `ap p` local v ariables
  1595     * Added  `settings`  local var iable, con taining th e app's se ttings
  1596     * Added  `req.flash ()` except ion if `re q.session`  is not av ailable
  1597     * Added  `res.send( bool)` sup port (json  response)
  1598     * Fixed  stylus exa mple for l atest vers ion
  1599     * Fixed;  wrap try/ catch arou nd `res.re nder()`
  1600  
  1601   2.0.0 / 20 11-03-17
  1602   ========== ========
  1603  
  1604     * Fixed  up index v iew path a lternative .
  1605     * Change d; `res.lo cals()` wi thout obje ct returns  the local s
  1606  
  1607   2.0.0rc3 /  2011-03-1 7
  1608   ========== ========
  1609  
  1610     * Added  `res.local s(obj)` to  complimen t `res.loc al(key, va l)`
  1611     * Added  `res.parti al()` call back suppo rt
  1612     * Fixed  recursive  error repo rting issu e in `res. render()`
  1613  
  1614   2.0.0rc2 /  2011-03-1 7
  1615   ========== ========
  1616  
  1617     * Change d; `partia l()` "loca ls" are no w optional
  1618     * Fixed  `SlowBuffe r` support . Closes # 584 [repor ted by tyr da01]
  1619     * Fixed  .filename  view engin e option [ reported b y drudge]
  1620     * Fixed  blog examp le
  1621     * Fixed  `{req,res} .app` refe rence when  mounting  [Ben Weave r]
  1622  
  1623   2.0.0rc /  2011-03-14
  1624   ========== ========
  1625  
  1626     * Fixed;  expose `H TTPSServer ` construc tor
  1627     * Fixed  express(1)  default t est charse t. Closes  #579 [repo rted by se coif]
  1628     * Fixed;  default c harset to  utf-8 inst ead of utf 8 for lame  IE [repor ted by Nic kP]
  1629  
  1630   2.0.0beta3  / 2011-03 -09
  1631   ========== ========
  1632  
  1633     * Added  support fo r `res.con tentType() ` literal
  1634       The or iginal `re s.contentT ype('.json ')`,
  1635       `res.c ontentType ('applicat ion/json') `, and `re s.contentT ype('json' )`
  1636       will w ork now.
  1637     * Added  `res.rende r()` statu s option s upport bac k
  1638     * Added  charset op tion for ` res.render ()`
  1639     * Added  `.charset`  support ( via connec t 1.0.4)
  1640     * Added  view resol ution hint s when in  developmen t and a lo okup fails
  1641     * Added  layout loo kup suppor t relative  to the pa ge view.
  1642       For ex ample whil e renderin g `./views /user/inde x.jade` if  you creat e
  1643       `./vie ws/user/la yout.jade`  it will b e used in  favour of  the root l ayout.
  1644     * Fixed  `res.redir ect()`. RF C states a bsolute ur l [reporte d by unlin k]
  1645     * Fixed;  default ` res.send() ` string c harset to  utf8
  1646     * Remove d `Partial ` construc tor (not c urrently u sed)
  1647  
  1648   2.0.0beta2  / 2011-03 -07
  1649   ========== ========
  1650  
  1651     * Added  res.render () `.local s` support  back to a id in migr ation proc ess
  1652     * Fixed  flash exam ple
  1653  
  1654   2.0.0beta  / 2011-03- 03
  1655   ========== ========
  1656  
  1657     * Added  HTTPS supp ort
  1658     * Added  `res.cooki e()` maxAg e support
  1659     * Added  `req.heade r()` _Refe rrer_ / _R eferer_ sp ecial-case , either w orks
  1660     * Added  mount supp ort for `r es.redirec t()`, now  respects t he mount-p oint
  1661     * Added  `union()`  util, taki ng place o f `merge(c lone())` c ombo
  1662     * Added  stylus sup port to ex press(1) g enerated a pp
  1663     * Added  secret to  session mi ddleware u sed in exa mples and  generated  app
  1664     * Added  `res.local (name, val )` for pro gressive v iew locals
  1665     * Added  default pa ram suppor t to `req. param(name , default) `
  1666     * Added  `app.disab led()` and  `app.enab led()`
  1667     * Added  `app.regis ter()` sup port for o mitting le ading ".",  either wo rks
  1668     * Added  `res.parti al()`, usi ng the sam e interfac e as `part ial()` wit hin a view . Closes # 539
  1669     * Added  `app.param ()` to map  route par ams to asy nc/sync lo gic
  1670     * Added;  aliased ` app.helper s()` as `a pp.locals( )`. Closes  #481
  1671     * Added  extname wi th no lead ing "." su pport to ` res.conten tType()`
  1672     * Added  `cache vie ws` settin g, default ing to ena bled in "p roduction"  env
  1673     * Added  index file  partial r esolution,  eg: parti al('user')  may try _ views/user /index.jad e_.
  1674     * Added  `req.accep ts()` supp ort for ex tensions
  1675     * Change d; `res.do wnload()`  and `res.s endfile()`  now utili ze Connect 's
  1676       static  file serv er `connec t.static.s end()`.
  1677     * Change d; replace d `connect .utils.mim e()` with  npm _mime_  module
  1678     * Change d; allow ` req.query`  to be pre -defined ( via middle ware or ot her parent
  1679     * Change d view par tial resol ution, now  relative  to parent  view
  1680     * Change d view eng ine signat ure. no lo nger `engi ne.render( str, optio ns, callba ck)`, now  `engine.co mpile(str,  options)  -> Functio n`, the re turned fun ction acce pts `fn(lo cals)`.
  1681     * Fixed  `req.param ()` bug re turning Ar ray.protot ype method s. Closes  #552
  1682     * Fixed;  using `St ream#pipe( )` instead  of `sys.p ump()` in  `res.sendf ile()`
  1683     * Fixed;  using _qs _ module i nstead of  _querystri ng_
  1684     * Fixed;  strip uns afe chars  from jsonp  callbacks
  1685     * Remove d "stream  threshold"  setting
  1686  
  1687   1.0.8 / 20 11-03-01
  1688   ========== ========
  1689  
  1690     * Allow  `req.query ` to be pr e-defined  (via middl eware or o ther paren t app)
  1691     * "conne ct": ">= 0 .5.0 < 1.0 .0". Close s #547
  1692     * Remove d the long  deprecate d __EXPRES S_ENV__ su pport
  1693  
  1694   1.0.7 / 20 11-02-07
  1695   ========== ========
  1696  
  1697     * Fixed  `render()`  setting i nheritance .
  1698       Mounte d apps wou ld not inh erit "view  engine"
  1699  
  1700   1.0.6 / 20 11-02-07
  1701   ========== ========
  1702  
  1703     * Fixed  `view engi ne` settin g bug when  period is  in dirnam e
  1704  
  1705   1.0.5 / 20 11-02-05
  1706   ========== ========
  1707  
  1708     * Added  secret to  generated  app `sessi on()` call
  1709  
  1710   1.0.4 / 20 11-02-05
  1711   ========== ========
  1712  
  1713     * Added  `qs` depen dency to _ package.js on_
  1714     * Fixed  namespaced  `require( )`s for la test conne ct support
  1715  
  1716   1.0.3 / 20 11-01-13
  1717   ========== ========
  1718  
  1719     * Remove  unsafe ch aracters f rom JSONP  callback n ames [Ryan  Grove]
  1720  
  1721   1.0.2 / 20 11-01-10
  1722   ========== ========
  1723  
  1724     * Remove d nested r equire, us ing `conne ct.router`
  1725  
  1726   1.0.1 / 20 10-12-29
  1727   ========== ========
  1728  
  1729     * Fixed  for middle ware stack ed via `cr eateServer ()`
  1730       previo usly the ` foo` middl eware pass ed to `cre ateServer( foo)`
  1731       would  not have a ccess to E xpress met hods such  as `res.se nd()`
  1732       or pro ps like `r eq.query`  etc.
  1733  
  1734   1.0.0 / 20 10-11-16
  1735   ========== ========
  1736  
  1737     * Added;  deduce pa rtial obje ct names f rom the la st segment .
  1738       For ex ample by d efault `pa rtial('for um/post',  postObject )` will
  1739       give y ou the _po st_ object , providin g a meanin gful defau lt.
  1740     * Added  http statu s code str ing repres entation t o `res.red irect()` b ody
  1741     * Added;  `res.redi rect()` su pporting _ text/plain _ and _tex t/html_ vi a __Accept __.
  1742     * Added  `req.is()`  to aid in  content n egotiation
  1743     * Added  partial lo cal inheri tance [sug gested by  masylum].  Closes #10 2
  1744       provid ing access  to parent  template  locals.
  1745     * Added  _-s, --ses sion[s]_ f lag to exp ress(1) to  add sessi on related  middlewar e
  1746     * Added  _--templat e_ flag to  express(1 ) to speci fy the
  1747       templa te engine  to use.
  1748     * Added  _--css_ fl ag to expr ess(1) to  specify th e
  1749       styles heet engin e to use ( or just pl ain css by  default).
  1750     * Added  `app.all() ` support  [thanks ah eckmann]
  1751     * Added  partial di rect objec t support.
  1752       You ma y now `par tial('user ', user)`  providing  the "user"  local,
  1753       vs pre viously `p artial('us er', { obj ect: user  })`.
  1754     * Added  _route-sep aration_ e xample sin ce many pe ople quest ion ways
  1755       to do  this with  CommonJS m odules. Al so view th e _blog_ e xample for
  1756       an alt ernative.
  1757     * Perfor mance; cac hing view  path deriv ed partial  object na mes
  1758     * Fixed  partial lo cal inheri tance prec edence. [r eported by  Nick Poul den] Close s #454
  1759     * Fixed  jsonp supp ort; _text /javascrip t_ as per  mailinglis t discussi on
  1760  
  1761   1.0.0rc4 /  2010-10-1 4
  1762   ========== ========
  1763  
  1764     * Added  _NODE_ENV_  support,  _EXPRESS_E NV_ is dep recated an d will be  removed in  1.0.0
  1765     * Added  route-midd leware sup port (very  helpful,  see the [d ocs](http: //expressj s.com/guid e.html#Rou te-Middlew are))
  1766     * Added  _jsonp cal lback_ set ting to en able/disab le jsonp a utowrappin g [Dav Gla ss]
  1767     * Added  callback q uery check  on respon se.send to  autowrap  JSON objec ts for sim ple webser vice imple mentations  [Dav Glas s]
  1768     * Added  `partial() ` support  for array- like colle ctions. Cl oses #434
  1769     * Added  support fo r swappabl e querystr ing parser s
  1770     * Added  session us age docs.  Closes #44 3
  1771     * Added  dynamic he lper cachi ng. Closes  #439 [sug gested by  maritz]
  1772     * Added  authentica tion examp le
  1773     * Added  basic Rang e support  to `res.se ndfile()`  (and `res. download() ` etc)
  1774     * Change d; `expres s(1)` gene rated app  using 2 sp aces inste ad of 4
  1775     * Defaul t env to " developmen t" again [ aheckmann]
  1776     * Remove d _context _ option i s no more,  use "scop e"
  1777     * Fixed;  exposing  _./support _ libs to  examples s o they can  run witho ut install s
  1778     * Fixed  mvc exampl e
  1779  
  1780   1.0.0rc3 /  2010-09-2 0
  1781   ========== ========
  1782  
  1783     * Added  confirmati on for `ex press(1)`  app genera tion. Clos es #391
  1784     * Added  extending  of flash f ormatters  via `app.f lashFormat ters`
  1785     * Added  flash form atter supp ort. Close s #411
  1786     * Added  streaming  support to  `res.send file()` us ing `sys.p ump()` whe n >= "stre am thresho ld"
  1787     * Added  _stream th reshold_ s etting for  `res.send file()`
  1788     * Added  `res.send( )` __HEAD_ _ support
  1789     * Added  `res.clear Cookie()`
  1790     * Added  `res.cooki e()`
  1791     * Added  `res.rende r()` heade rs option
  1792     * Added  `res.redir ect()` res ponse bodi es
  1793     * Added  `res.rende r()` statu s option s upport. Cl oses #425  [thanks ah eckmann]
  1794     * Fixed  `res.sendf ile()` res ponding wi th 403 on  malicious  path
  1795     * Fixed  `res.downl oad()` bug ; when an  error occu rs remove  _Content-D isposition _
  1796     * Fixed;  mounted a pps settin gs now inh erit from  parent app  [aheckman n]
  1797     * Fixed;  stripping  Content-L ength / Co ntent-Type  when 204
  1798     * Fixed  `res.send( )` 204. Cl oses #419
  1799     * Fixed  multiple _ Set-Cookie _ headers  via `res.h eader()`.  Closes #40 2
  1800     * Fixed  bug messin g with err or handler s when `li stenFD()`  is called  instead of  `listen() `. [thanks  guillermo ]
  1801  
  1802  
  1803   1.0.0rc2 /  2010-08-1 7
  1804   ========== ========
  1805  
  1806     * Added  `app.regis ter()` for  template  engine map ping. Clos es #390
  1807     * Added  `res.rende r()` callb ack suppor t as secon d argument  (no optio ns)
  1808     * Added  callback s upport to  `res.downl oad()`
  1809     * Added  callback s upport for  `res.send file()`
  1810     * Added  support fo r middlewa re access  via `expre ss.middlew areName()`  vs `conne ct.middlew areName()`
  1811     * Added  "partials"  setting t o docs
  1812     * Added  default ex presso tes ts to `exp ress(1)` g enerated a pp. Closes  #384
  1813     * Fixed  `res.sendf ile()` err or handlin g, defer v ia `next() `
  1814     * Fixed  `res.rende r()` callb ack when a  layout is  used [tha nks guille rmo]
  1815     * Fixed;  `make ins tall` crea ting ~/.no de_librari es when no t present
  1816     * Fixed  issue prev enting err or handler s from bei ng defined  anywhere.  Closes #3 87
  1817  
  1818   1.0.0rc /  2010-07-28
  1819   ========== ========
  1820  
  1821     * Added  mounted ho ok. Closes  #369
  1822     * Added  connect de pendency t o _package .json_
  1823  
  1824     * Remove d "reload  views" set ting and s upport cod e
  1825       develo pment env  never cach es, produc tion alway s caches.
  1826  
  1827     * Remove d _param_  in route c allbacks,  signature  is now
  1828       simply  (req, res , next), p reviously  (req, res,  params, n ext).
  1829       Use _r eq.params_  for path  captures,  _req.query _ for GET  params.
  1830  
  1831     * Fixed  "home" set ting
  1832     * Fixed  middleware /router pr ecedence i ssue. Clos es #366
  1833     * Fixed;  _configur e()_ callb acks calle d immediat ely. Close s #368
  1834  
  1835   1.0.0beta2  / 2010-07 -23
  1836   ========== ========
  1837  
  1838     * Added  more examp les
  1839     * Added;  exporting  `Server`  constructo r
  1840     * Added  `Server#he lpers()` f or view lo cals
  1841     * Added  `Server#dy namicHelpe rs()` for  dynamic vi ew locals.  Closes #3 49
  1842     * Added  support fo r absolute  view path s
  1843     * Added;  _home_ se tting defa ults to `S erver#rout e` for mou nted apps.  Closes #3 63
  1844     * Added  Guillermo  Rauch to t he contrib utor list
  1845     * Added  support fo r "as" for  non-colle ction part ials. Clos es #341
  1846     * Fixed  _install.s h_, ensuri ng _~/.nod e_librarie s_ exists.  Closes #3 62 [thanks  jf]
  1847     * Fixed  `res.rende r()` excep tions, now  passed to  `next()`  when no ca llback is  given [tha nks guille rmo]
  1848     * Fixed  instanceof  `Array` c hecks, now  `Array.is Array()`
  1849     * Fixed  express(1)  expansion  of public  dirs. Clo ses #348
  1850     * Fixed  middleware  precedenc e. Closes  #345
  1851     * Fixed  view watch er, now as ync [thank s aheckman n]
  1852  
  1853   1.0.0beta  / 2010-07- 15
  1854   ========== ========
  1855  
  1856     * Re-wri te
  1857       - much  faster
  1858       - much  lighter
  1859       - Chec k [Express JS.com](ht tp://expre ssjs.com)  for migrat ion guide  and update d docs
  1860  
  1861   0.14.0 / 2 010-06-15
  1862   ========== ========
  1863  
  1864     * Utiliz e relative  requires
  1865     * Added  Static buf ferSize op tion [ahec kmann]
  1866     * Fixed  caching of  view and  partial su bdirectori es [aheckm ann]
  1867     * Fixed  mime.type( ) comments  now that  ".ext" is  not suppor ted
  1868     * Update d haml sub module
  1869     * Update d class su bmodule
  1870     * Remove d bin/expr ess
  1871  
  1872   0.13.0 / 2 010-06-01
  1873   ========== ========
  1874  
  1875     * Added  node v0.1. 97 compati bility
  1876     * Added  support fo r deleting  cookies v ia Request #cookie('k ey', null)
  1877     * Update d haml sub module
  1878     * Fixed  not-found  page, now  using usin g charset  utf-8
  1879     * Fixed  show-excep tions page , now usin g using ch arset utf- 8
  1880     * Fixed  view suppo rt due to  fs.readFil e Buffers
  1881     * Change d; mime.ty pe() no lo nger accep ts ".type"  due to no de extname () changes
  1882  
  1883   0.12.0 / 2 010-05-22
  1884   ========== ========
  1885  
  1886     * Added  node v0.1. 96 compati bility
  1887     * Added  view `help ers` expor t which ac t as addit ional loca l variable s
  1888     * Update d haml sub module
  1889     * Change d ETag; re moved inod e, modifie d time onl y
  1890     * Fixed  LF to CRLF  for setti ng multipl e cookies
  1891     * Fixed  cookie com plation; v alues are  now urlenc oded
  1892     * Fixed  cookies pa rsing; acc epts quote d values a nd url esc aped cooki es
  1893  
  1894   0.11.0 / 2 010-05-06
  1895   ========== ========
  1896  
  1897     * Added  support fo r layouts  using diff erent engi nes
  1898       - this .render('p age.html.h aml', { la yout: 'sup er-cool-la yout.html. ejs' })
  1899       - this .render('p age.html.h aml', { la yout: 'foo ' }) // as sumes 'foo .html.haml '
  1900       - this .render('p age.html.h aml', { la yout: fals e }) // no  layout
  1901     * Update d ext subm odule
  1902     * Update d haml sub module
  1903     * Fixed  EJS partia l support  by passing  along the  context.  Issue #307
  1904  
  1905   0.10.1 / 2 010-05-03
  1906   ========== ========
  1907  
  1908     * Fixed  binary upl oads.
  1909  
  1910   0.10.0 / 2 010-04-30
  1911   ========== ========
  1912  
  1913     * Added  charset su pport via  Request#ch arset (aut omatically  assigned  to 'UTF-8'  when resp ond()'s
  1914       encodi ng is set  to 'utf8'  or 'utf-8' .
  1915     * Added  "encoding"  option to  Request#r ender(). C loses #299
  1916     * Added  "dump exce ptions" se tting, whi ch is enab led by def ault.
  1917     * Added  simple ejs  template  engine sup port
  1918     * Added  error repo nse suppor t for text /plain, ap plication/ json. Clos es #297
  1919     * Added  callback f unction pa ram to Req uest#error ()
  1920     * Added  Request#se ndHead()
  1921     * Added  Request#st ream()
  1922     * Added  support fo r Request# respond(30 4, null) f or empty r esponse bo dies
  1923     * Added  ETag suppo rt to Requ est#sendfi le()
  1924     * Added  options to  Request#s endfile(),  passed to  fs.create ReadStream ()
  1925     * Added  filename a rg to Requ est#downlo ad()
  1926     * Perfor mance enha nced due t o pre-reve rsing plug ins so tha t plugins. reverse()  is not cal led on eac h request
  1927     * Perfor mance enha nced by pr eventing s everal cal ls to toLo werCase()  in Router# match()
  1928     * Change d; Request #sendfile( ) now stre ams
  1929     * Change d; Renamed  Request#h alt() to R equest#res pond(). Cl oses #289
  1930     * Change d; Using s ys.inspect () instead  of JSON.e ncode() fo r error ou tput
  1931     * Change d; run() r eturns the  http.Serv er instanc e. Closes  #298
  1932     * Change d; Default ing Server #host to n ull (INADD R_ANY)
  1933     * Change d; Logger  "common" f ormat scal e of 0.4f
  1934     * Remove d Logger " request" f ormat
  1935     * Fixed;  Catching  ENOENT in  view cachi ng, preven ting error  when "vie ws/partial s" is not  found
  1936     * Fixed  several is sues with  http clien t
  1937     * Fixed  Logger Con tent-Lengt h output
  1938     * Fixed  bug preven ting Opera  from reta ining the  generated  session id . Closes # 292
  1939  
  1940   0.9.0 / 20 10-04-14
  1941   ========== ========
  1942  
  1943     * Added  DSL level  error() ro ute suppor t
  1944     * Added  DSL level  notFound()  route sup port
  1945     * Added  Request#er ror()
  1946     * Added  Request#no tFound()
  1947     * Added  Request#re nder() cal lback func tion. Clos es #258
  1948     * Added  "max uploa d size" se tting
  1949     * Added  "magic" va riables to  collectio n partials  (\_\_inde x\_\_, \_\ _length\_\ _, \_\_isF irst\_\_,  \_\_isLast \_\_). Clo ses #254
  1950     * Added  [haml.js]( http://git hub.com/vi sionmedia/ haml.js) s ubmodule;  removed ha ml-js
  1951     * Added  callback f unction su pport to R equest#hal t() as 3rd /4th arg
  1952     * Added  preprocess ing of rou te param w ildcards u sing param (). Closes  #251
  1953     * Added  view parti al support  (with col lections e tc)
  1954     * Fixed  bug preven ting false y params ( such as ?p age=0). Cl oses #286
  1955     * Fixed  setting of  multiple  cookies. C loses #199
  1956     * Change d; view na ming conve ntion is n ow NAME.TY PE.ENGINE  (for examp le page.ht ml.haml)
  1957     * Change d; session  cookie is  now httpO nly
  1958     * Change d; Request  is no lon ger global
  1959     * Change d; Event i s no longe r global
  1960     * Change d; "sys" m odule is n o longer g lobal
  1961     * Change d; moved R equest#dow nload to S tatic plug in where i t belongs
  1962     * Change d; Request  instance  created be fore body  parsing. C loses #262
  1963     * Change d; Pre-cac hing views  in memory  when "cac he view co ntents" is  enabled.  Closes #25 3
  1964     * Change d; Pre-cac hing view  partials i n memory w hen "cache  view part ials" is e nabled
  1965     * Update d support  to node -- version 0. 1.90
  1966     * Update d dependen cies
  1967     * Remove d set("ses sion cooki e") in fav our of use (Session,  { cookie:  { ... }})
  1968     * Remove d utils.mi xin(); use  Object#me rgeDeep()
  1969  
  1970   0.8.0 / 20 10-03-19
  1971   ========== ========
  1972  
  1973     * Added  coffeescri pt example  app. Clos es #242
  1974     * Change d; cache a pi now asy nc friendl y. Closes  #240
  1975     * Remove d deprecat ed 'expres s/static'  support. U se 'expres s/plugins/ static'
  1976  
  1977   0.7.6 / 20 10-03-19
  1978   ========== ========
  1979  
  1980     * Added  Request#is XHR. Close s #229
  1981     * Added  `make inst all` (for  the execut able)
  1982     * Added  `express`  executable  for setti ng up simp le app tem plates
  1983     * Added  "GET /publ ic/*" to S tatic plug in, defaul ting to <r oot>/publi c
  1984     * Added  Static plu gin
  1985     * Fixed;  Request#r ender() on ly calls c ache.get()  once
  1986     * Fixed;  Namespaci ng View ca ches with  "view:"
  1987     * Fixed;  Namespaci ng Static  caches wit h "static: "
  1988     * Fixed;  Both exam ple apps n ow use the  Static pl ugin
  1989     * Fixed  set("views "). Closes  #239
  1990     * Fixed  missing sp ace for co mbined log  format
  1991     * Deprec ated Reque st#sendfil e() and 'e xpress/sta tic'
  1992     * Remove d Server#r unning
  1993  
  1994   0.7.5 / 20 10-03-16
  1995   ========== ========
  1996  
  1997     * Added  Request#fl ash() supp ort withou t args, no w returns  all flashe s
  1998     * Update d ext subm odule
  1999  
  2000   0.7.4 / 20 10-03-16
  2001   ========== ========
  2002  
  2003     * Fixed  session re aper
  2004     * Change d; class.j s replacin g js-oo Cl ass implem entation ( quite a bi t faster,  no browser  cruft)
  2005  
  2006   0.7.3 / 20 10-03-16
  2007   ========== ========
  2008  
  2009     * Added  package.js on
  2010     * Fixed  requiring  of haml /  sass due t o kiwi rem oval
  2011  
  2012   0.7.2 / 20 10-03-16
  2013   ========== ========
  2014  
  2015     * Fixed  GIT submod ules (HAH! )
  2016  
  2017   0.7.1 / 20 10-03-16
  2018   ========== ========
  2019  
  2020     * Change d; Express  now using  submodule s again un til a PM i s adopted
  2021     * Change d; chat ex ample usin g millisec ond conver sions from  ext
  2022  
  2023   0.7.0 / 20 10-03-15
  2024   ========== ========
  2025  
  2026     * Added  Request#pa ss() suppo rt (finds  the next m atching ro ute, or th e given pa th)
  2027     * Added  Logger plu gin (defau lt "common " format r eplaces Co mmonLogger )
  2028     * Remove d Profiler  plugin
  2029     * Remove d CommonLo gger plugi n
  2030  
  2031   0.6.0 / 20 10-03-11
  2032   ========== ========
  2033  
  2034     * Added  seed.yml f or kiwi pa ckage mana gement sup port
  2035     * Added  HTTP clien t query st ring suppo rt when me thod is GE T. Closes  #205
  2036  
  2037     * Added  support fo r arbitrar y view eng ines.
  2038       For ex ample "foo .engine.ht ml" will n ow require ('engine') ,
  2039       the ex ports from  this modu le are cac hed after  the first  require().
  2040  
  2041     * Added  async plug in support
  2042  
  2043     * Remove d usage of  RESTful r oute funcs  as http c lient
  2044       get()  etc, use h ttp.get()  and friend s
  2045  
  2046     * Remove d custom e xceptions
  2047  
  2048   0.5.0 / 20 10-03-10
  2049   ========== ========
  2050  
  2051     * Added  ext depend ency (libr ary of js  extensions )
  2052     * Remove d extname( ) / basena me() utils . Use path  module
  2053     * Remove d toArray( ) util. Us e argument s.values
  2054     * Remove d escapeRe gexp() uti l. Use Reg Exp.escape ()
  2055     * Remove d process. mixin() de pendency.  Use utils. mixin()
  2056     * Remove d Collecti on
  2057     * Remove d ElementC ollection
  2058     * Shamel ess self p romotion o f ebook "A dvanced Ja vaScript"  (http://de v-mag.com)   ;)
  2059  
  2060   0.4.0 / 20 10-02-11
  2061   ========== ========
  2062  
  2063     * Added  flash() ex ample to s ample uplo ad app
  2064     * Added  high level  restful h ttp client  module (e xpress/htt p)
  2065     * Change d; RESTful  route fun ctions dou ble as HTT P clients.  Closes #6 9
  2066     * Change d; throwin g error wh en routes  are added  at runtime
  2067     * Change d; default ing render () context  to the cu rrent Requ est. Close s #197
  2068     * Update d haml sub module
  2069  
  2070   0.3.0 / 20 10-02-11
  2071   ========== ========
  2072  
  2073     * Update d haml / s ass submod ules. Clos es #200
  2074     * Added  flash mess age suppor t. Closes  #64
  2075     * Added  accepts()  now allows  multiple  args. fixe s #117
  2076     * Added  support fo r plugins  to halt. C loses #189
  2077     * Added  alternate  layout sup port. Clos es #119
  2078     * Remove d Route#ru n(). Close s #188
  2079     * Fixed  broken spe cs due to  use(Cookie ) missing
  2080  
  2081   0.2.1 / 20 10-02-05
  2082   ========== ========
  2083  
  2084     * Added  "plot" for mat option  for Profi ler (for g nuplot pro cessing)
  2085     * Added  request nu mber to Pr ofiler plu gin
  2086     * Fixed  binary enc oding for  multi-part  file uplo ads, was p reviously  defaulting  to UTF8
  2087     * Fixed  issue with  routes no t firing w hen not fi les are pr esent. Clo ses #184
  2088     * Fixed  process.Pr omise -> e vents.Prom ise
  2089  
  2090   0.2.0 / 20 10-02-03
  2091   ========== ========
  2092  
  2093     * Added  parseParam () support  for name[ ] etc. (al lows for f ile inputs  with "mul tiple" att r) Closes  #180
  2094     * Added  Both Cache  and Sessi on option  "reapInter val" may b e "reapEve ry". Close s #174
  2095     * Added  expiration  support t o cache ap i with rea per. Close s #133
  2096     * Added  cache Stor e.Memory#r eap()
  2097     * Added  Cache; cac he api now  uses firs t class Ca che instan ces
  2098     * Added  abstract s ession Sto re. Closes  #172
  2099     * Change d; cache M emory.Stor e#get() ut ilizing Co llection
  2100     * Rename d MemorySt ore -> Sto re.Memory
  2101     * Fixed  use() of t he same pl ugin sever al time wi ll always  use latest  options.  Closes #17 6
  2102  
  2103   0.1.0 / 20 10-02-03
  2104   ========== ========
  2105  
  2106     * Change d; Hooks ( before / a fter) pass  request a s arg as w ell as eva luated in  their cont ext
  2107     * Update d node sup port to 0. 1.27 Close s #169
  2108     * Update d dirname( __filename ) -> __dir name
  2109     * Update d libxmljs  support t o v0.2.0
  2110     * Added  session su pport with  memory st ore / reap ing
  2111     * Added  quick uid( ) helper
  2112     * Added  multi-part  upload su pport
  2113     * Added  Sass.js su pport / su bmodule
  2114     * Added  production  env cachi ng view co ntents and  static fi les
  2115     * Added  static fil e caching.  Closes #1 36
  2116     * Added  cache plug in with me mory store s
  2117     * Added  support to  StaticFil e so that  it works w ith non-te xtual file s.
  2118     * Remove d dirname( ) helper
  2119     * Remove d several  globals (n ow their m odules mus t be requi red)
  2120  
  2121   0.0.2 / 20 10-01-10
  2122   ========== ========
  2123  
  2124     * Added  view bench marks; cur rently ham l vs ejs
  2125     * Added  Request#at tachment()  specs. Cl oses #116
  2126     * Added  use of nod e's parseQ uery() uti l. Closes  #123
  2127     * Added  `make init ` for subm odules
  2128     * Update d Haml
  2129     * Update d sample c hat app to  show mess ages on lo ad
  2130     * Update d libxmljs  parseStri ng -> pars eHtmlStrin g
  2131     * Fixed  `make init ` to work  with older  versions  of git
  2132     * Fixed  specs can  now run in dependant  specs for  those who  cant build  deps. Clo ses #127
  2133     * Fixed  issues int roduced by  the node  url module  changes.  Closes 126 .
  2134     * Fixed  two assert ions faili ng due to  Collection #keys() re turning st rings
  2135     * Fixed  faulty Col lection#to Array() sp ec due to  keys() ret urning str ings
  2136     * Fixed  `make test ` now buil ds libxmlj s.node bef ore testin g
  2137  
  2138   0.0.1 / 20 10-01-03
  2139   ========== ========
  2140  
  2141     * Initia l release