Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / connect / History.md
1 2.30.2 / 2015-07-31
2 ===================
3
4   * deps: body-parser@~1.13.3
5     - deps: type-is@~1.6.6
6   * deps: compression@~1.5.2
7     - deps: accepts@~1.2.12
8     - deps: compressible@~2.0.5
9     - deps: vary@~1.0.1
10   * deps: errorhandler@~1.4.2
11     - deps: accepts@~1.2.12
12   * deps: method-override@~2.3.5
13     - deps: vary@~1.0.1
14     - perf: enable strict mode
15   * deps: serve-index@~1.7.2
16     - deps: accepts@~1.2.12
17     - deps: mime-types@~2.1.4
18   * deps: type-is@~1.6.6
19     - deps: mime-types@~2.1.4
20   * deps: vhost@~3.0.1
21     - perf: enable strict mode
22
23 2.30.1 / 2015-07-05
24 ===================
25
26   * deps: body-parser@~1.13.2
27     - deps: iconv-lite@0.4.11
28     - deps: qs@4.0.0
29     - deps: raw-body@~2.1.2
30     - deps: type-is@~1.6.4
31   * deps: compression@~1.5.1
32     - deps: accepts@~1.2.10
33     - deps: compressible@~2.0.4
34   * deps: errorhandler@~1.4.1
35     - deps: accepts@~1.2.10
36   * deps: qs@4.0.0
37     - Fix dropping parameters like `hasOwnProperty`
38     - Fix various parsing edge cases
39   * deps: morgan@~1.6.1
40     - deps: basic-auth@~1.0.3
41   * deps: pause@0.1.0
42     - Re-emit events with all original arguments
43     - Refactor internals
44     - perf: enable strict mode
45   * deps: serve-index@~1.7.1
46     - deps: accepts@~1.2.10
47     - deps: mime-types@~2.1.2
48   * deps: type-is@~1.6.4
49     - deps: mime-types@~2.1.2
50     - perf: enable strict mode
51     - perf: remove argument reassignment
52
53 2.30.0 / 2015-06-18
54 ===================
55
56   * deps: body-parser@~1.13.1
57     - Add `statusCode` property on `Error`s, in addition to `status`
58     - Change `type` default to `application/json` for JSON parser
59     - Change `type` default to `application/x-www-form-urlencoded` for urlencoded parser
60     - Provide static `require` analysis
61     - Use the `http-errors` module to generate errors
62     - deps: bytes@2.1.0
63     - deps: iconv-lite@0.4.10
64     - deps: on-finished@~2.3.0
65     - deps: raw-body@~2.1.1
66     - deps: type-is@~1.6.3
67     - perf: enable strict mode
68     - perf: remove argument reassignment
69     - perf: remove delete call
70   * deps: bytes@2.1.0
71     - Slight optimizations
72     - Units no longer case sensitive when parsing
73   * deps: compression@~1.5.0
74     - Fix return value from `.end` and `.write` after end
75     - Improve detection of zero-length body without `Content-Length`
76     - deps: accepts@~1.2.9
77     - deps: bytes@2.1.0
78     - deps: compressible@~2.0.3
79     - perf: enable strict mode
80     - perf: remove flush reassignment
81     - perf: simplify threshold detection
82   * deps: cookie@0.1.3
83     - Slight optimizations
84   * deps: cookie-parser@~1.3.5
85     - deps: cookie@0.1.3
86   * deps: csurf@~1.8.3
87     - Add `sessionKey` option
88     - deps: cookie@0.1.3
89     - deps: csrf@~3.0.0
90   * deps: errorhandler@~1.4.0
91     - Add charset to the `Content-Type` header
92     - Support `statusCode` property on `Error` objects
93     - deps: accepts@~1.2.9
94     - deps: escape-html@1.0.2
95   * deps: express-session@~1.11.3
96     - Support an array in `secret` option for key rotation
97     - deps: cookie@0.1.3
98     - deps: crc@3.3.0
99     - deps: debug@~2.2.0
100     - deps: depd@~1.0.1
101     - deps: uid-safe@~2.0.0
102   * deps: finalhandler@0.4.0
103     - Fix a false-positive when unpiping in Node.js 0.8
104     - Support `statusCode` property on `Error` objects
105     - Use `unpipe` module for unpiping requests
106     - deps: escape-html@1.0.2
107     - deps: on-finished@~2.3.0
108     - perf: enable strict mode
109     - perf: remove argument reassignment
110   * deps: fresh@0.3.0
111     - Add weak `ETag` matching support
112   * deps: morgan@~1.6.0
113     - Add `morgan.compile(format)` export
114     - Do not color 1xx status codes in `dev` format
115     - Fix `response-time` token to not include response latency
116     - Fix `status` token incorrectly displaying before response in `dev` format
117     - Fix token return values to be `undefined` or a string
118     - Improve representation of multiple headers in `req` and `res` tokens
119     - Use `res.getHeader` in `res` token
120     - deps: basic-auth@~1.0.2
121     - deps: on-finished@~2.3.0
122     - pref: enable strict mode
123     - pref: reduce function closure scopes
124     - pref: remove dynamic compile on every request for `dev` format
125     - pref: remove an argument reassignment
126     - pref: skip function call without `skip` option
127   * deps: serve-favicon@~2.3.0
128     - Send non-chunked response for `OPTIONS`
129     - deps: etag@~1.7.0
130     - deps: fresh@0.3.0
131     - perf: enable strict mode
132     - perf: remove argument reassignment
133     - perf: remove bitwise operations
134   * deps: serve-index@~1.7.0
135     - Accept `function` value for `template` option
136     - Send non-chunked response for `OPTIONS`
137     - Stat parent directory when necessary
138     - Use `Date.prototype.toLocaleDateString` to format date
139     - deps: accepts@~1.2.9
140     - deps: escape-html@1.0.2
141     - deps: mime-types@~2.1.1
142     - perf: enable strict mode
143     - perf: remove argument reassignment
144   * deps: serve-static@~1.10.0
145     - Add `fallthrough` option
146     - Fix reading options from options prototype
147     - Improve the default redirect response headers
148     - Malformed URLs now `next()` instead of 400
149     - deps: escape-html@1.0.2
150     - deps: send@0.13.0
151     - perf: enable strict mode
152     - perf: remove argument reassignment
153   * deps: type-is@~1.6.3
154     - deps: mime-types@~2.1.1
155     - perf: reduce try block size
156     - perf: remove bitwise operations
157
158 2.29.2 / 2015-05-14
159 ===================
160
161   * deps: body-parser@~1.12.4
162     - Slight efficiency improvement when not debugging
163     - deps: debug@~2.2.0
164     - deps: depd@~1.0.1
165     - deps: iconv-lite@0.4.8
166     - deps: on-finished@~2.2.1
167     - deps: qs@2.4.2
168     - deps: raw-body@~2.0.1
169     - deps: type-is@~1.6.2
170   * deps: compression@~1.4.4
171     - deps: accepts@~1.2.7
172     - deps: debug@~2.2.0
173   * deps: connect-timeout@~1.6.2
174     - deps: debug@~2.2.0
175     - deps: ms@0.7.1
176   * deps: debug@~2.2.0
177     - deps: ms@0.7.1
178   * deps: depd@~1.0.1
179   * deps: errorhandler@~1.3.6
180     - deps: accepts@~1.2.7
181   * deps: finalhandler@0.3.6
182     - deps: debug@~2.2.0
183     - deps: on-finished@~2.2.1
184   * deps: method-override@~2.3.3
185     - deps: debug@~2.2.0
186   * deps: morgan@~1.5.3
187     - deps: basic-auth@~1.0.1
188     - deps: debug@~2.2.0
189     - deps: depd@~1.0.1
190     - deps: on-finished@~2.2.1
191   * deps: qs@2.4.2
192    - Fix allowing parameters like `constructor`
193   * deps: response-time@~2.3.1
194     - deps: depd@~1.0.1
195   * deps: serve-favicon@~2.2.1
196     - deps: etag@~1.6.0
197     - deps: ms@0.7.1
198   * deps: serve-index@~1.6.4
199     - deps: accepts@~1.2.7
200     - deps: debug@~2.2.0
201     - deps: mime-types@~2.0.11
202   * deps: serve-static@~1.9.3
203     - deps: send@0.12.3
204   * deps: type-is@~1.6.2
205     - deps: mime-types@~2.0.11
206
207 2.29.1 / 2015-03-16
208 ===================
209
210   * deps: body-parser@~1.12.2
211     - deps: debug@~2.1.3
212     - deps: qs@2.4.1
213     - deps: type-is@~1.6.1
214   * deps: compression@~1.4.3
215     - Fix error when code calls `res.end(str, encoding)`
216     - deps: accepts@~1.2.5
217     - deps: debug@~2.1.3
218   * deps: connect-timeout@~1.6.1
219     - deps: debug@~2.1.3
220   * deps: debug@~2.1.3
221     - Fix high intensity foreground color for bold
222     - deps: ms@0.7.0
223   * deps: errorhandler@~1.3.5
224     - deps: accepts@~1.2.5
225   * deps: express-session@~1.10.4
226     - deps: debug@~2.1.3
227   * deps: finalhandler@0.3.4
228     - deps: debug@~2.1.3
229   * deps: method-override@~2.3.2
230     - deps: debug@~2.1.3
231   * deps: morgan@~1.5.2
232     - deps: debug@~2.1.3
233   * deps: qs@2.4.1
234     - Fix error when parameter `hasOwnProperty` is present
235   * deps: serve-index@~1.6.3
236     - Properly escape file names in HTML
237     - deps: accepts@~1.2.5
238     - deps: debug@~2.1.3
239     - deps: escape-html@1.0.1
240     - deps: mime-types@~2.0.10
241   * deps: serve-static@~1.9.2
242     - deps: send@0.12.2
243   * deps: type-is@~1.6.1
244     - deps: mime-types@~2.0.10
245
246 2.29.0 / 2015-02-17
247 ===================
248
249   * Use `content-type` to parse `Content-Type` headers
250   * deps: body-parser@~1.12.0
251     - add `debug` messages
252     - accept a function for the `type` option
253     - make internal `extended: true` depth limit infinity
254     - use `content-type` to parse `Content-Type` headers
255     - deps: iconv-lite@0.4.7
256     - deps: raw-body@1.3.3
257     - deps: type-is@~1.6.0
258   * deps: compression@~1.4.1
259     - Prefer `gzip` over `deflate` on the server
260     - deps: accepts@~1.2.4
261   * deps: connect-timeout@~1.6.0
262     - deps: http-errors@~1.3.1
263   * deps: cookie-parser@~1.3.4
264     - deps: cookie-signature@1.0.6
265   * deps: cookie-signature@1.0.6
266   * deps: csurf@~1.7.0
267     - Accept `CSRF-Token` and `XSRF-Token` request headers
268     - Default `cookie.path` to `'/'`, if using cookies
269     - deps: cookie-signature@1.0.6
270     - deps: csrf@~2.0.6
271     - deps: http-errors@~1.3.1
272   * deps: errorhandler@~1.3.4
273     - deps: accepts@~1.2.4
274   * deps: express-session@~1.10.3
275     - deps: cookie-signature@1.0.6
276     - deps: uid-safe@1.1.0
277   * deps: http-errors@~1.3.1
278     - Construct errors using defined constructors from `createError`
279     - Fix error names that are not identifiers
280     - Set a meaningful `name` property on constructed errors
281   * deps: response-time@~2.3.0
282     - Add function argument to support recording of response time
283   * deps: serve-index@~1.6.2
284     - deps: accepts@~1.2.4
285     - deps: http-errors@~1.3.1
286     - deps: mime-types@~2.0.9
287   * deps: serve-static@~1.9.1
288     - deps: send@0.12.1
289   * deps: type-is@~1.6.0
290     - fix argument reassignment
291     - fix false-positives in `hasBody` `Transfer-Encoding` check
292     - support wildcard for both type and subtype (`*/*`)
293     - deps: mime-types@~2.0.9
294
295 2.28.3 / 2015-01-31
296 ===================
297
298   * deps: compression@~1.3.1
299     - deps: accepts@~1.2.3
300     - deps: compressible@~2.0.2
301   * deps: csurf@~1.6.6
302     - deps: csrf@~2.0.5
303   * deps: errorhandler@~1.3.3
304     - deps: accepts@~1.2.3
305   * deps: express-session@~1.10.2
306     - deps: uid-safe@1.0.3
307   * deps: serve-index@~1.6.1
308     - deps: accepts@~1.2.3
309     - deps: mime-types@~2.0.8
310   * deps: type-is@~1.5.6
311     - deps: mime-types@~2.0.8
312
313 2.28.2 / 2015-01-20
314 ===================
315
316   * deps: body-parser@~1.10.2
317     - deps: iconv-lite@0.4.6
318     - deps: raw-body@1.3.2
319   * deps: serve-static@~1.8.1
320     - Fix redirect loop in Node.js 0.11.14
321     - Fix root path disclosure
322     - deps: send@0.11.1
323
324 2.28.1 / 2015-01-08
325 ===================
326
327   * deps: csurf@~1.6.5
328     - deps: csrf@~2.0.4
329   * deps: express-session@~1.10.1
330     - deps: uid-safe@~1.0.2
331
332 2.28.0 / 2015-01-05
333 ===================
334
335   * deps: body-parser@~1.10.1
336     - Make internal `extended: true` array limit dynamic
337     - deps: on-finished@~2.2.0
338     - deps: type-is@~1.5.5
339   * deps: compression@~1.3.0
340     - Export the default `filter` function for wrapping
341     - deps: accepts@~1.2.2
342     - deps: debug@~2.1.1
343   * deps: connect-timeout@~1.5.0
344     - deps: debug@~2.1.1
345     - deps: http-errors@~1.2.8
346     - deps: ms@0.7.0
347   * deps: csurf@~1.6.4
348     - deps: csrf@~2.0.3
349     - deps: http-errors@~1.2.8
350   * deps: debug@~2.1.1
351   * deps: errorhandler@~1.3.2
352     - Add `log` option
353     - Fix heading content to not include stack
354     - deps: accepts@~1.2.2
355   * deps: express-session@~1.10.0
356     - Add `store.touch` interface for session stores
357     - Fix `MemoryStore` expiration with `resave: false`
358     - deps: debug@~2.1.1
359   * deps: finalhandler@0.3.3
360     - deps: debug@~2.1.1
361     - deps: on-finished@~2.2.0
362   * deps: method-override@~2.3.1
363     - deps: debug@~2.1.1
364     - deps: methods@~1.1.1
365   * deps: morgan@~1.5.1
366     - Add multiple date formats `clf`, `iso`, and `web`
367     - Deprecate `buffer` option
368     - Fix date format in `common` and `combined` formats
369     - Fix token arguments to accept values with `"`
370     - deps: debug@~2.1.1
371     - deps: on-finished@~2.2.0
372   * deps: serve-favicon@~2.2.0
373     - Support query string in the URL
374     - deps: etag@~1.5.1
375     - deps: ms@0.7.0
376   * deps: serve-index@~1.6.0
377     - Add link to root directory
378     - deps: accepts@~1.2.2
379     - deps: batch@0.5.2
380     - deps: debug@~2.1.1
381     - deps: mime-types@~2.0.7
382   * deps: serve-static@~1.8.0
383     - Fix potential open redirect when mounted at root
384     - deps: send@0.11.0
385   * deps: type-is@~1.5.5
386     - deps: mime-types@~2.0.7
387
388 2.27.6 / 2014-12-10
389 ===================
390
391   * deps: serve-index@~1.5.3
392     - deps: accepts@~1.1.4
393     - deps: http-errors@~1.2.8
394     - deps: mime-types@~2.0.4
395
396 2.27.5 / 2014-12-10
397 ===================
398
399   * deps: compression@~1.2.2
400     - Fix `.end` to only proxy to `.end`
401     - deps: accepts@~1.1.4
402   * deps: express-session@~1.9.3
403     - Fix error when `req.sessionID` contains a non-string value
404   * deps: http-errors@~1.2.8
405     - Fix stack trace from exported function
406     - Remove `arguments.callee` usage
407   * deps: serve-index@~1.5.2
408     - Fix icon name background alignment on mobile view
409   * deps: type-is@~1.5.4
410     - deps: mime-types@~2.0.4
411
412 2.27.4 / 2014-11-23
413 ===================
414
415   * deps: body-parser@~1.9.3
416     - deps: iconv-lite@0.4.5
417     - deps: qs@2.3.3
418     - deps: raw-body@1.3.1
419     - deps: type-is@~1.5.3
420   * deps: compression@~1.2.1
421     - deps: accepts@~1.1.3
422   * deps: errorhandler@~1.2.3
423     - deps: accepts@~1.1.3
424   * deps: express-session@~1.9.2
425     - deps: crc@3.2.1
426   * deps: qs@2.3.3
427     - Fix `arrayLimit` behavior
428   * deps: serve-favicon@~2.1.7
429     - Avoid errors from enumerables on `Object.prototype`
430   * deps: serve-index@~1.5.1
431     - deps: accepts@~1.1.3
432     - deps: mime-types@~2.0.3
433   * deps: type-is@~1.5.3
434     - deps: mime-types@~2.0.3
435
436 2.27.3 / 2014-11-09
437 ===================
438
439   * Correctly invoke async callback asynchronously
440   * deps: csurf@~1.6.3
441     - bump csrf
442     - bump http-errors
443
444 2.27.2 / 2014-10-28
445 ===================
446
447   * Fix handling of URLs containing `://` in the path
448   * deps: body-parser@~1.9.2
449     - deps: qs@2.3.2
450   * deps: qs@2.3.2
451     - Fix parsing of mixed objects and values
452
453 2.27.1 / 2014-10-22
454 ===================
455
456   * deps: body-parser@~1.9.1
457     - deps: on-finished@~2.1.1
458     - deps: qs@2.3.0
459     - deps: type-is@~1.5.2
460   * deps: express-session@~1.9.1
461     - Remove unnecessary empty write call
462   * deps: finalhandler@0.3.2
463     - deps: on-finished@~2.1.1
464   * deps: morgan@~1.4.1
465     - deps: on-finished@~2.1.1
466   * deps: qs@2.3.0
467     - Fix parsing of mixed implicit and explicit arrays
468   * deps: serve-static@~1.7.1
469     - deps: send@0.10.1
470
471 2.27.0 / 2014-10-16
472 ===================
473
474   * Use `http-errors` module for creating errors
475   * Use `utils-merge` module for merging objects
476   * deps: body-parser@~1.9.0
477     - include the charset in "unsupported charset" error message
478     - include the encoding in "unsupported content encoding" error message
479     - deps: depd@~1.0.0
480   * deps: compression@~1.2.0
481     - deps: debug@~2.1.0
482   * deps: connect-timeout@~1.4.0
483     - Create errors with `http-errors`
484     - deps: debug@~2.1.0
485   * deps: debug@~2.1.0
486     - Implement `DEBUG_FD` env variable support
487   * deps: depd@~1.0.0
488   * deps: express-session@~1.9.0
489     - deps: debug@~2.1.0
490     - deps: depd@~1.0.0
491   * deps: finalhandler@0.3.1
492     - Terminate in progress response only on error
493     - Use `on-finished` to determine request status
494     - deps: debug@~2.1.0
495   * deps: method-override@~2.3.0
496     - deps: debug@~2.1.0
497   * deps: morgan@~1.4.0
498     - Add `debug` messages
499     - deps: depd@~1.0.0
500   * deps: response-time@~2.2.0
501     - Add `header` option for custom header name
502     - Add `suffix` option
503     - Change `digits` argument to an `options` argument
504     - deps: depd@~1.0.0
505   * deps: serve-favicon@~2.1.6
506     - deps: etag@~1.5.0
507   * deps: serve-index@~1.5.0
508     - Add `dir` argument to `filter` function
509     - Add icon for mkv files
510     - Create errors with `http-errors`
511     - Fix incorrect 403 on Windows and Node.js 0.11
512     - Lookup icon by mime type for greater icon support
513     - Support using tokens multiple times
514     - deps: accepts@~1.1.2
515     - deps: debug@~2.1.0
516     - deps: mime-types@~2.0.2
517   * deps: serve-static@~1.7.0
518     - deps: send@0.10.0
519
520 2.26.6 / 2014-10-15
521 ===================
522
523   * deps: compression@~1.1.2
524     - deps: accepts@~1.1.2
525     - deps: compressible@~2.0.1
526   * deps: csurf@~1.6.2
527     - bump http-errors
528     - fix cookie name when using `cookie: true`
529   * deps: errorhandler@~1.2.2
530     - deps: accepts@~1.1.2
531
532 2.26.5 / 2014-10-08
533 ===================
534
535   * Fix accepting non-object arguments to `logger`
536   * deps: serve-static@~1.6.4
537     - Fix redirect loop when index file serving disabled
538
539 2.26.4 / 2014-10-02
540 ===================
541
542   * deps: morgan@~1.3.2
543     - Fix `req.ip` integration when `immediate: false`
544   * deps: type-is@~1.5.2
545     - deps: mime-types@~2.0.2
546
547 2.26.3 / 2014-09-24
548 ===================
549
550   * deps: body-parser@~1.8.4
551     - fix content encoding to be case-insensitive
552   * deps: serve-favicon@~2.1.5
553     - deps: etag@~1.4.0
554   * deps: serve-static@~1.6.3
555     - deps: send@0.9.3
556
557 2.26.2 / 2014-09-19
558 ===================
559
560   * deps: body-parser@~1.8.3
561     - deps: qs@2.2.4
562   * deps: qs@2.2.4
563     - Fix issue with object keys starting with numbers truncated
564
565 2.26.1 / 2014-09-15
566 ===================
567
568   * deps: body-parser@~1.8.2
569     - deps: depd@0.4.5
570   * deps: depd@0.4.5
571   * deps: express-session@~1.8.2
572     - Use `crc` instead of `buffer-crc32` for speed
573     - deps: depd@0.4.5
574   * deps: morgan@~1.3.1
575     - Remove un-used `bytes` dependency
576     - deps: depd@0.4.5
577   * deps: serve-favicon@~2.1.4
578     - Fix content headers being sent in 304 response
579     - deps: etag@~1.3.1
580   * deps: serve-static@~1.6.2
581     - deps: send@0.9.2
582
583 2.26.0 / 2014-09-08
584 ===================
585
586   * deps: body-parser@~1.8.1
587     - add `parameterLimit` option to `urlencoded` parser
588     - change `urlencoded` extended array limit to 100
589     - make empty-body-handling consistent between chunked requests
590     - respond with 415 when over `parameterLimit` in `urlencoded`
591     - deps: media-typer@0.3.0
592     - deps: qs@2.2.3
593     - deps: type-is@~1.5.1
594   * deps: compression@~1.1.0
595     - deps: accepts@~1.1.0
596     - deps: compressible@~2.0.0
597     - deps: debug@~2.0.0
598   * deps: connect-timeout@~1.3.0
599     - deps: debug@~2.0.0
600   * deps: cookie-parser@~1.3.3
601     - deps: cookie-signature@1.0.5
602   * deps: cookie-signature@1.0.5
603   * deps: csurf@~1.6.1
604     - add `ignoreMethods` option
605     - bump cookie-signature
606     - csrf-tokens -> csrf
607     - set `code` property on CSRF token errors
608   * deps: debug@~2.0.0
609   * deps: errorhandler@~1.2.0
610     - Display error using `util.inspect` if no other representation
611     - deps: accepts@~1.1.0
612   * deps: express-session@~1.8.1
613     - Do not resave already-saved session at end of request
614     - Prevent session prototype methods from being overwritten
615     - deps: cookie-signature@1.0.5
616     - deps: debug@~2.0.0
617   * deps: finalhandler@0.2.0
618     - Set `X-Content-Type-Options: nosniff` header
619     - deps: debug@~2.0.0
620   * deps: fresh@0.2.4
621   * deps: media-typer@0.3.0
622     - Throw error when parameter format invalid on parse
623   * deps: method-override@~2.2.0
624     - deps: debug@~2.0.0
625   * deps: morgan@~1.3.0
626     - Assert if `format` is not a function or string
627   * deps: qs@2.2.3
628     - Fix issue where first empty value in array is discarded
629   * deps: serve-favicon@~2.1.3
630     - Accept string for `maxAge` (converted by `ms`)
631     - Use `etag` to generate `ETag` header
632     - deps: fresh@0.2.4
633   * deps: serve-index@~1.2.1
634     - Add `debug` messages
635     - Resolve relative paths at middleware setup
636     - deps: accepts@~1.1.0
637   * deps: serve-static@~1.6.1
638     - Add `lastModified` option
639     - deps: send@0.9.1
640   * deps: type-is@~1.5.1
641     - fix `hasbody` to be true for `content-length: 0`
642     - deps: media-typer@0.3.0
643     - deps: mime-types@~2.0.1
644   * deps: vhost@~3.0.0
645
646 2.25.10 / 2014-09-04
647 ====================
648
649   * deps: serve-static@~1.5.4
650     - deps: send@0.8.5
651
652 2.25.9 / 2014-08-29
653 ===================
654
655   * deps: body-parser@~1.6.7
656     - deps: qs@2.2.2
657   * deps: qs@2.2.2
658
659 2.25.8 / 2014-08-27
660 ===================
661
662   * deps: body-parser@~1.6.6
663     - deps: qs@2.2.0
664   * deps: csurf@~1.4.1
665   * deps: qs@2.2.0
666     - Array parsing fix
667     - Performance improvements
668
669 2.25.7 / 2014-08-18
670 ===================
671
672   * deps: body-parser@~1.6.5
673     - deps: on-finished@2.1.0
674   * deps: express-session@~1.7.6
675     - Fix exception on `res.end(null)` calls
676   * deps: morgan@~1.2.3
677     - deps: on-finished@2.1.0
678   * deps: serve-static@~1.5.3
679     - deps: send@0.8.3
680
681 2.25.6 / 2014-08-14
682 ===================
683
684   * deps: body-parser@~1.6.4
685     - deps: qs@1.2.2
686   * deps: qs@1.2.2
687   * deps: serve-static@~1.5.2
688     - deps: send@0.8.2
689
690 2.25.5 / 2014-08-11
691 ===================
692
693   * Fix backwards compatibility in `logger`
694
695 2.25.4 / 2014-08-10
696 ===================
697
698   * Fix `query` middleware breaking with argument
699     - It never really took one in the first place
700   * deps: body-parser@~1.6.3
701     - deps: qs@1.2.1
702   * deps: compression@~1.0.11
703     - deps: on-headers@~1.0.0
704     - deps: parseurl@~1.3.0
705   * deps: connect-timeout@~1.2.2
706     - deps: on-headers@~1.0.0
707   * deps: express-session@~1.7.5
708     - Fix parsing original URL
709     - deps: on-headers@~1.0.0
710     - deps: parseurl@~1.3.0
711   * deps: method-override@~2.1.3
712   * deps: on-headers@~1.0.0
713   * deps: parseurl@~1.3.0
714   * deps: qs@1.2.1
715   * deps: response-time@~2.0.1
716     - deps: on-headers@~1.0.0
717   * deps: serve-index@~1.1.6
718     - Fix URL parsing
719   * deps: serve-static@~1.5.1
720     - Fix parsing of weird `req.originalUrl` values
721     - deps: parseurl@~1.3.0
722     = deps: utils-merge@1.0.0
723
724 2.25.3 / 2014-08-07
725 ===================
726
727   * deps: multiparty@3.3.2
728     - Fix potential double-callback
729
730 2.25.2 / 2014-08-07
731 ===================
732
733   * deps: body-parser@~1.6.2
734     - deps: qs@1.2.0
735   * deps: qs@1.2.0
736     - Fix parsing array of objects
737
738 2.25.1 / 2014-08-06
739 ===================
740
741   * deps: body-parser@~1.6.1
742     - deps: qs@1.1.0
743   * deps: qs@1.1.0
744     - Accept urlencoded square brackets
745     - Accept empty values in implicit array notation
746
747 2.25.0 / 2014-08-05
748 ===================
749
750   * deps: body-parser@~1.6.0
751     - deps: qs@1.0.2
752   * deps: compression@~1.0.10
753     - Fix upper-case Content-Type characters prevent compression
754     - deps: compressible@~1.1.1
755   * deps: csurf@~1.4.0
756     - Support changing `req.session` after `csurf` middleware
757     - Calling `res.csrfToken()` after `req.session.destroy()` will now work
758   * deps: express-session@~1.7.4
759     - Fix `res.end` patch to call correct upstream `res.write`
760     - Fix response end delay for non-chunked responses
761   * deps: qs@1.0.2
762     - Complete rewrite
763     - Limits array length to 20
764     - Limits object depth to 5
765     - Limits parameters to 1,000
766   * deps: serve-static@~1.5.0
767     - Add `extensions` option
768     - deps: send@0.8.1
769
770 2.24.3 / 2014-08-04
771 ===================
772
773   * deps: serve-index@~1.1.5
774     - Fix Content-Length calculation for multi-byte file names
775     - deps: accepts@~1.0.7
776   * deps: serve-static@~1.4.4
777     - Fix incorrect 403 on Windows and Node.js 0.11
778     - deps: send@0.7.4
779
780 2.24.2 / 2014-07-27
781 ===================
782
783   * deps: body-parser@~1.5.2
784   * deps: depd@0.4.4
785     - Work-around v8 generating empty stack traces
786   * deps: express-session@~1.7.2
787   * deps: morgan@~1.2.2
788   * deps: serve-static@~1.4.2
789
790 2.24.1 / 2014-07-26
791 ===================
792
793   * deps: body-parser@~1.5.1
794   * deps: depd@0.4.3
795     - Fix exception when global `Error.stackTraceLimit` is too low
796   * deps: express-session@~1.7.1
797   * deps: morgan@~1.2.1
798   * deps: serve-index@~1.1.4
799   * deps: serve-static@~1.4.1
800
801 2.24.0 / 2014-07-22
802 ===================
803
804   * deps: body-parser@~1.5.0
805     - deps: depd@0.4.2
806     - deps: iconv-lite@0.4.4
807     - deps: raw-body@1.3.0
808     - deps: type-is@~1.3.2
809   * deps: compression@~1.0.9
810     - Add `debug` messages
811     - deps: accepts@~1.0.7
812   * deps: connect-timeout@~1.2.1
813     - Accept string for `time` (converted by `ms`)
814     - deps: debug@1.0.4
815   * deps: debug@1.0.4
816   * deps: depd@0.4.2
817     - Add `TRACE_DEPRECATION` environment variable
818     - Remove non-standard grey color from color output
819     - Support `--no-deprecation` argument
820     - Support `--trace-deprecation` argument
821   * deps: express-session@~1.7.0
822     - Improve session-ending error handling
823     - deps: debug@1.0.4
824     - deps: depd@0.4.2
825   * deps: finalhandler@0.1.0
826     - Respond after request fully read
827     - deps: debug@1.0.4
828   * deps: method-override@~2.1.2
829     - deps: debug@1.0.4
830     - deps: parseurl@~1.2.0
831   * deps: morgan@~1.2.0
832     - Add `:remote-user` token
833     - Add `combined` log format
834     - Add `common` log format
835     - Remove non-standard grey color from `dev` format
836   * deps: multiparty@3.3.1
837   * deps: parseurl@~1.2.0
838     - Cache URLs based on original value
839     - Remove no-longer-needed URL mis-parse work-around
840     - Simplify the "fast-path" `RegExp`
841   * deps: serve-static@~1.4.0
842     - Add `dotfiles` option
843     - deps: parseurl@~1.2.0
844     - deps: send@0.7.0
845
846 2.23.0 / 2014-07-10
847 ===================
848
849   * deps: debug@1.0.3
850     - Add support for multiple wildcards in namespaces
851   * deps: express-session@~1.6.4
852   * deps: method-override@~2.1.0
853     - add simple debug output
854     - deps: methods@1.1.0
855     - deps: parseurl@~1.1.3
856   * deps: parseurl@~1.1.3
857     - faster parsing of href-only URLs
858   * deps: serve-static@~1.3.1
859     - deps: parseurl@~1.1.3
860
861 2.22.0 / 2014-07-03
862 ===================
863
864   * deps: csurf@~1.3.0
865     - Fix `cookie.signed` option to actually sign cookie
866   * deps: express-session@~1.6.1
867     - Fix `res.end` patch to return correct value
868     - Fix `res.end` patch to handle multiple `res.end` calls
869     - Reject cookies with missing signatures
870   * deps: multiparty@3.3.0
871     - Always emit close after all parts ended
872     - Fix callback hang in node.js 0.8 on errors
873   * deps: serve-static@~1.3.0
874     - Accept string for `maxAge` (converted by `ms`)
875     - Add `setHeaders` option
876     - Include HTML link in redirect response
877     - deps: send@0.5.0
878
879 2.21.1 / 2014-06-26
880 ===================
881
882   * deps: cookie-parser@1.3.2
883     - deps: cookie-signature@1.0.4
884   * deps: cookie-signature@1.0.4
885     - fix for timing attacks
886   * deps: express-session@~1.5.2
887     - deps: cookie-signature@1.0.4
888   * deps: type-is@~1.3.2
889     - more mime types
890
891 2.21.0 / 2014-06-20
892 ===================
893
894   * deprecate `connect(middleware)` -- use `app.use(middleware)` instead
895   * deprecate `connect.createServer()` -- use `connect()` instead
896   * fix `res.setHeader()` patch to work with get -> append -> set pattern
897   * deps: compression@~1.0.8
898   * deps: errorhandler@~1.1.1
899   * deps: express-session@~1.5.0
900     - Deprecate integration with `cookie-parser` middleware
901     - Deprecate looking for secret in `req.secret`
902     - Directly read cookies; `cookie-parser` no longer required
903     - Directly set cookies; `res.cookie` no longer required
904     - Generate session IDs with `uid-safe`, faster and even less collisions
905   * deps: serve-index@~1.1.3
906
907 2.20.2 / 2014-06-19
908 ===================
909
910   * deps: body-parser@1.4.3
911     - deps: type-is@1.3.1
912
913 2.20.1 / 2014-06-19
914 ===================
915
916   * deps: type-is@1.3.1
917     - fix global variable leak
918
919 2.20.0 / 2014-06-19
920 ===================
921
922   * deprecate `verify` option to `json` -- use `body-parser` npm module instead
923   * deprecate `verify` option to `urlencoded` -- use `body-parser` npm module instead
924   * deprecate things with `depd` module
925   * use `finalhandler` for final response handling
926   * use `media-typer` to parse `content-type` for charset
927   * deps: body-parser@1.4.2
928     - check accepted charset in content-type (accepts utf-8)
929     - check accepted encoding in content-encoding (accepts identity)
930     - deprecate `urlencoded()` without provided `extended` option
931     - lazy-load urlencoded parsers
932     - support gzip and deflate bodies
933     - set `inflate: false` to turn off
934     - deps: raw-body@1.2.2
935     - deps: type-is@1.3.0
936     - Support all encodings from `iconv-lite`
937   * deps: connect-timeout@1.1.1
938     - deps: debug@1.0.2
939   * deps: cookie-parser@1.3.1
940     - export parsing functions
941     - `req.cookies` and `req.signedCookies` are now plain objects
942     - slightly faster parsing of many cookies
943   * deps: csurf@1.2.2
944   * deps: errorhandler@1.1.0
945     - Display error on console formatted like `throw`
946     - Escape HTML in stack trace
947     - Escape HTML in title
948     - Fix up edge cases with error sent in response
949     - Set `X-Content-Type-Options: nosniff` header
950     - Use accepts for negotiation
951   * deps: express-session@1.4.0
952     - Add `genid` option to generate custom session IDs
953     - Add `saveUninitialized` option to control saving uninitialized sessions
954     - Add `unset` option to control unsetting `req.session`
955     - Generate session IDs with `rand-token` by default; reduce collisions
956     - Integrate with express "trust proxy" by default
957     - deps: buffer-crc32@0.2.3
958     - deps: debug@1.0.2
959   * deps: multiparty@3.2.9
960   * deps: serve-index@1.1.2
961     - deps: batch@0.5.1
962   * deps: type-is@1.3.0
963     - improve type parsing
964   * deps: vhost@2.0.0
965     - Accept `RegExp` object for `hostname`
966     - Provide `req.vhost` object
967     - Support IPv6 literal in `Host` header
968
969 2.19.6 / 2014-06-11
970 ===================
971
972   * deps: body-parser@1.3.1
973     - deps: type-is@1.2.1
974   * deps: compression@1.0.7
975     - use vary module for better `Vary` behavior
976     - deps: accepts@1.0.3
977     - deps: compressible@1.1.0
978   * deps: debug@1.0.2
979   * deps: serve-index@1.1.1
980     - deps: accepts@1.0.3
981   * deps: serve-static@1.2.3
982     - Do not throw un-catchable error on file open race condition
983     - deps: send@0.4.3
984
985 2.19.5 / 2014-06-09
986 ===================
987
988   * deps: csurf@1.2.1
989     - refactor to use csrf-tokens@~1.0.2
990   * deps: debug@1.0.1
991   * deps: serve-static@1.2.2
992     - fix "event emitter leak" warnings
993     - deps: send@0.4.2
994   * deps: type-is@1.2.1
995     - Switch dependency from `mime` to `mime-types@1.0.0`
996
997 2.19.4 / 2014-06-05
998 ===================
999
1000   * deps: errorhandler@1.0.2
1001     - Pass on errors from reading error files
1002   * deps: method-override@2.0.2
1003     - use vary module for better `Vary` behavior
1004   * deps: serve-favicon@2.0.1
1005     - Reduce byte size of `ETag` header
1006
1007 2.19.3 / 2014-06-03
1008 ===================
1009
1010   * deps: compression@1.0.6
1011     - fix listeners for delayed stream creation
1012     - fix regression for certain `stream.pipe(res)` situations
1013     - fix regression when negotiation fails
1014
1015 2.19.2 / 2014-06-03
1016 ===================
1017
1018   * deps: compression@1.0.4
1019     - fix adding `Vary` when value stored as array
1020     - fix back-pressure behavior
1021     - fix length check for `res.end`
1022
1023 2.19.1 / 2014-06-02
1024 ===================
1025
1026   * fix deprecated `utils.escape`
1027
1028 2.19.0 / 2014-06-02
1029 ===================
1030
1031   * deprecate `methodOverride()` -- use `method-override` npm module instead
1032   * deps: body-parser@1.3.0
1033     - add `extended` option to urlencoded parser
1034   * deps: method-override@2.0.1
1035     - set `Vary` header
1036     - deps: methods@1.0.1
1037   * deps: multiparty@3.2.8
1038   * deps: response-time@2.0.0
1039     - add `digits` argument
1040     - do not override existing `X-Response-Time` header
1041     - timer not subject to clock drift
1042     - timer resolution down to nanoseconds
1043   * deps: serve-static@1.2.1
1044     - send max-age in Cache-Control in correct format
1045     - use `escape-html` for escaping
1046     - deps: send@0.4.1
1047
1048 2.18.0 / 2014-05-29
1049 ===================
1050
1051   * deps: compression@1.0.3
1052   * deps: serve-index@1.1.0
1053     - Fix content negotiation when no `Accept` header
1054     - Properly support all HTTP methods
1055     - Support vanilla node.js http servers
1056     - Treat `ENAMETOOLONG` as code 414
1057     - Use accepts for negotiation
1058   * deps: serve-static@1.2.0
1059     - Calculate ETag with md5 for reduced collisions
1060     - Fix wrong behavior when index file matches directory
1061     - Ignore stream errors after request ends
1062     - Skip directories in index file search
1063     - deps: send@0.4.0
1064
1065 2.17.3 / 2014-05-27
1066 ===================
1067
1068   * deps: express-session@1.2.1
1069     - Fix `resave` such that `resave: true` works
1070
1071 2.17.2 / 2014-05-27
1072 ===================
1073
1074   * deps: body-parser@1.2.2
1075     - invoke `next(err)` after request fully read
1076     - deps: raw-body@1.1.6
1077   * deps: method-override@1.0.2
1078     - Handle `req.body` key referencing array or object
1079     - Handle multiple HTTP headers
1080
1081 2.17.1 / 2014-05-21
1082 ===================
1083
1084   * fix `res.charset` appending charset when `content-type` has one
1085
1086 2.17.0 / 2014-05-20
1087 ===================
1088
1089   * deps: express-session@1.2.0
1090     - Add `resave` option to control saving unmodified sessions
1091   * deps: morgan@1.1.1
1092     - "dev" format will use same tokens as other formats
1093     - `:response-time` token is now empty when immediate used
1094     - `:response-time` token is now monotonic
1095     - `:response-time` token has precision to 1 Î¼s
1096     - fix `:status` + immediate output in node.js 0.8
1097     - improve `buffer` option to prevent indefinite event loop holding
1098     - simplify method to get remote address
1099     - deps: bytes@1.0.0
1100   * deps: serve-index@1.0.3
1101     - Fix error from non-statable files in HTML view
1102
1103 2.16.2 / 2014-05-18
1104 ===================
1105
1106   * fix edge-case in `res.appendHeader` that would append in wrong order
1107   * deps: method-override@1.0.1
1108
1109 2.16.1 / 2014-05-17
1110 ===================
1111
1112   * remove usages of `res.headerSent` from core
1113
1114 2.16.0 / 2014-05-17
1115 ===================
1116
1117   * deprecate `res.headerSent` -- use `res.headersSent`
1118   * deprecate `res.on("header")` -- use on-headers module instead
1119   * fix `connect.version` to reflect the actual version
1120   * json: use body-parser
1121     - add `type` option
1122     - fix repeated limit parsing with every request
1123     - improve parser speed
1124   * urlencoded: use body-parser
1125     - add `type` option
1126     - fix repeated limit parsing with every request
1127   * dep: bytes@1.0.0
1128     * add negative support
1129   * dep: cookie-parser@1.1.0
1130     - deps: cookie@0.1.2
1131   * dep: csurf@1.2.0
1132     - add support for double-submit cookie
1133   * dep: express-session@1.1.0
1134     - Add `name` option; replacement for `key` option
1135     - Use `setImmediate` in MemoryStore for node.js >= 0.10
1136
1137 2.15.0 / 2014-05-04
1138 ===================
1139
1140   * Add simple `res.cookie` support
1141   * Add `res.appendHeader`
1142   * Call error stack even when response has been sent
1143   * Patch `res.headerSent` to return Boolean
1144   * Patch `res.headersSent` for node.js 0.8
1145   * Prevent default 404 handler after response sent
1146   * dep: compression@1.0.2
1147     * support headers given to `res.writeHead`
1148     * deps: bytes@0.3.0
1149     * deps: negotiator@0.4.3
1150   * dep: connect-timeout@1.1.0
1151     * Add `req.timedout` property
1152     * Add `respond` option to constructor
1153     * Clear timer on socket destroy
1154     * deps: debug@0.8.1
1155   * dep: debug@^0.8.0
1156     * add `enable()` method
1157     * change from stderr to stdout
1158   * dep: errorhandler@1.0.1
1159     * Clean up error CSS
1160     * Do not respond after headers sent
1161   * dep: express-session@1.0.4
1162     * Remove import of `setImmediate`
1163     * Use `res.cookie()` instead of `res.setHeader()`
1164     * deps: cookie@0.1.2
1165     * deps: debug@0.8.1
1166   * dep: morgan@1.0.1
1167     * Make buffer unique per morgan instance
1168     * deps: bytes@0.3.0
1169   * dep: serve-favicon@2.0.0
1170     * Accept `Buffer` of icon as first argument
1171     * Non-GET and HEAD requests are denied
1172     * Send valid max-age value
1173     * Support conditional requests
1174     * Support max-age=0
1175     * Support OPTIONS method
1176     * Throw if `path` argument is directory
1177   * dep: serve-index@1.0.2
1178     * Add stylesheet option
1179     * deps: negotiator@0.4.3
1180
1181 2.14.5 / 2014-04-24
1182 ===================
1183
1184   * dep: raw-body@1.1.4
1185     * allow true as an option
1186     * deps: bytes@0.3.0
1187   * dep: serve-static@1.1.0
1188     * Accept options directly to `send` module
1189     * deps: send@0.3.0
1190
1191 2.14.4 / 2014-04-07
1192 ===================
1193
1194   * dep: bytes@0.3.0
1195     * added terabyte support
1196   * dep: csurf@1.1.0
1197     * add constant-time string compare
1198   * dep: serve-static@1.0.4
1199     * Resolve relative paths at middleware setup
1200     * Use parseurl to parse the URL from request
1201   * fix node.js 0.8 compatibility with memory session
1202
1203 2.14.3 / 2014-03-18
1204 ===================
1205
1206   * dep: static-favicon@1.0.2
1207     * Fixed content of default icon
1208
1209 2.14.2 / 2014-03-11
1210 ===================
1211
1212   * dep: static-favicon@1.0.1
1213     * Fixed path to default icon
1214
1215 2.14.1 / 2014-03-06
1216 ===================
1217
1218   * dep: fresh@0.2.2
1219     * no real changes
1220   * dep: serve-index@1.0.1
1221     * deps: negotiator@0.4.2
1222   * dep: serve-static@1.0.2
1223     * deps: send@0.2.0
1224
1225 2.14.0 / 2014-03-05
1226 ===================
1227
1228  * basicAuth: use basic-auth-connect
1229  * cookieParser: use cookie-parser
1230  * compress: use compression
1231  * csrf: use csurf
1232  * dep: cookie-signature@1.0.3
1233  * directory: use serve-index
1234  * errorHandler: use errorhandler
1235  * favicon: use static-favicon
1236  * logger: use morgan
1237  * methodOverride: use method-override
1238  * responseTime: use response-time
1239  * session: use express-session
1240  * static: use serve-static
1241  * timeout: use connect-timeout
1242  * vhost: use vhost
1243
1244 2.13.1 / 2014-03-05
1245 ===================
1246
1247  * cookieSession: compare full value rather than crc32
1248  * deps: raw-body@1.1.3
1249
1250 2.13.0 / 2014-02-14
1251 ===================
1252
1253  * fix typo in memory store warning #974 @rvagg
1254  * compress: use compressible
1255  * directory: add template option #990 @gottaloveit @Earl-Brown
1256  * csrf: prevent deprecated warning with old sessions
1257
1258 2.12.0 / 2013-12-10
1259 ===================
1260
1261  * bump qs
1262  * directory: sort folders before files
1263  * directory: add folder icons
1264  * directory: de-duplicate icons, details/mobile views #968 @simov
1265  * errorHandler: end default 404 handler with a newline #972 @rlidwka
1266  * session: remove long cookie expire check #870 @undoZen
1267
1268 2.11.2 / 2013-12-01
1269 ===================
1270
1271  * bump raw-body
1272
1273 2.11.1 / 2013-11-27
1274 ===================
1275
1276  * bump raw-body
1277  * errorHandler: use `res.setHeader()` instead of `res.writeHead()` #949 @lo1tuma
1278
1279 2.11.0 / 2013-10-29
1280 ===================
1281
1282  * update bytes
1283  * update uid2
1284  * update negotiator
1285  * sessions: add rolling session option #944 @ilmeo
1286  * sessions: property set cookies when given FQDN
1287  * cookieSessions: properly set cookies when given FQDN #948 @bmancini55
1288  * proto: fix FQDN mounting when multiple handlers #945 @bmancini55
1289
1290 2.10.1 / 2013-10-23
1291 ===================
1292
1293  * fixed; fixed a bug with static middleware at root and trailing slashes #942 (@dougwilson)
1294
1295 2.10.0 / 2013-10-22
1296 ===================
1297
1298  * fixed: set headers written by writeHead before emitting 'header'
1299  * fixed: mounted path should ignore querystrings on FQDNs #940 (@dougwilson)
1300  * fixed: parsing protocol-relative URLs with @ as pathnames #938 (@dougwilson)
1301  * fixed: fix static directory redirect for mount's root #937 (@dougwilson)
1302  * fixed: setting set-cookie header when mixing arrays and strings #893 (@anuj123)
1303  * bodyParser: optional verify function for urlencoded and json parsers for signing request bodies
1304  * compress: compress checks content-length to check threshold
1305  * compress: expose `res.flush()` for flushing responses
1306  * cookieParser: pass options into node-cookie #803 (@cauldrath)
1307  * errorHandler: replace `\n`s with `<br/>`s in error handler
1308
1309 2.9.2 / 2013-10-18
1310 ==================
1311
1312  * warn about multiparty and limit middleware deprecation for v3
1313  * fix fully qualified domain name mounting. #920 (@dougwilson)
1314  * directory: Fix potential security issue with serving files outside the root. #929 (@dougwilson)
1315  * logger: store IP at beginning in case socket prematurely closes #930 (@dougwilson)
1316
1317 2.9.1 / 2013-10-15
1318 ==================
1319
1320  * update multiparty
1321  * compress: Set vary header only if Content-Type passes filter #904
1322  * directory: Fix directory middleware URI escaping #917 (@dougwilson)
1323  * directory: Fix directory seperators for Windows #914 (@dougwilson)
1324  * directory: Keep query string intact during directory redirect #913 (@dougwilson)
1325  * directory: Fix paths in links #730 (@JacksonTian)
1326  * errorHandler: Don't escape text/plain as HTML #875 (@johan)
1327  * logger: Write '0' instead of '-' when response time is zero #910 (@dougwilson)
1328  * logger: Log even when connections are aborted #760 (@dylanahsmith)
1329  * methodOverride: Check req.body is an object #907 (@kbjr)
1330  * multipart: Add .type back to file parts for backwards compatibility #912 (@dougwilson)
1331  * multipart: Allow passing options to the Multiparty constructor #902 (@niftylettuce)
1332
1333 2.9.0 / 2013-09-07
1334 ==================
1335
1336  * multipart: add docs regarding tmpfiles
1337  * multipart: add .name back to file parts
1338  * multipart: use multiparty instead of formidable
1339
1340 2.8.8 / 2013-09-02
1341 ==================
1342
1343  * csrf: change to math.random() salt and remove csrfToken() callback
1344
1345 2.8.7 / 2013-08-28
1346 ==================
1347
1348  * csrf: prevent salt generation on every request, and add async req.csrfToken(fn)
1349
1350 2.8.6 / 2013-08-28
1351 ==================
1352
1353  * csrf: refactor to use HMAC tokens (BREACH attack)
1354  * compress: add compression of SVG and common font files by default.
1355
1356 2.8.5 / 2013-08-11
1357 ==================
1358
1359  * add: compress Dart source files by default
1360  * update fresh
1361
1362 2.8.4 / 2013-07-08
1363 ==================
1364
1365  * update send
1366
1367 2.8.3 / 2013-07-04
1368 ==================
1369
1370  * add a name back to static middleware ("staticMiddleware")
1371  * fix .hasBody() utility to require transfer-encoding or content-length
1372
1373 2.8.2 / 2013-07-03
1374 ==================
1375
1376  * update send
1377  * update cookie dep.
1378  * add better debug() for middleware
1379  * add whitelisting of supported methods to methodOverride()
1380
1381 2.8.1 / 2013-06-27
1382 ==================
1383
1384  * fix: escape req.method in 404 response
1385
1386 2.8.0 / 2013-06-26
1387 ==================
1388
1389  * add `threshold` option to `compress()` to prevent compression of small responses
1390  * add support for vendor JSON mime types in json()
1391  * add X-Forwarded-Proto initial https proxy support
1392  * change static redirect to 303
1393  * change octal escape sequences for strict mode
1394  * change: replace utils.uid() with uid2 lib
1395  * remove other "static" function name. Fixes #794
1396  * fix: hasBody() should return false if Content-Length: 0
1397
1398 2.7.11 / 2013-06-02
1399 ==================
1400
1401  * update send
1402
1403 2.7.10 / 2013-05-21
1404 ==================
1405
1406  * update qs
1407  * update formidable
1408  * fix: write/end to noop() when request aborted
1409
1410 2.7.9 / 2013-05-07
1411 ==================
1412
1413   * update qs
1414   * drop support for node < v0.8
1415
1416 2.7.8 / 2013-05-03
1417 ==================
1418
1419   * update qs
1420
1421 2.7.7 / 2013-04-29
1422 ==================
1423
1424   * update qs dependency
1425   * remove "static" function name. Closes #794
1426   * update node-formidable
1427   * update buffer-crc32
1428
1429 2.7.6 / 2013-04-15
1430 ==================
1431
1432   * revert cookie signature which was creating session race conditions
1433
1434 2.7.5 / 2013-04-12
1435 ==================
1436
1437   * update cookie-signature
1438   * limit: do not consume request in node 0.10.x
1439
1440 2.7.4 / 2013-04-01
1441 ==================
1442
1443   * session: add long expires check and prevent excess set-cookie
1444   * session: add console.error() of session#save() errors
1445
1446 2.7.3 / 2013-02-19
1447 ==================
1448
1449   * add name to compress middleware
1450   * add appending Accept-Encoding to Vary when set but missing
1451   * add tests for csrf middleware
1452   * add 'next' support for connect() server handler
1453   * change utils.uid() to return url-safe chars. Closes #753
1454   * fix treating '.' as a regexp in vhost()
1455   * fix duplicate bytes dep in package.json. Closes #743
1456   * fix #733 - parse x-forwarded-proto in a more generally compatibly way
1457   * revert "add support for `next(status[, msg])`"; makes composition hard
1458
1459 2.7.2 / 2013-01-04
1460 ==================
1461
1462   * add support for `next(status[, msg])` back
1463   * add utf-8 meta tag to support foreign characters in filenames/directories
1464   * change `timeout()` 408 to 503
1465   * replace 'node-crc' with 'buffer-crc32', fixes licensing
1466   * fix directory.html IE support
1467
1468 2.7.1 / 2012-12-05
1469 ==================
1470
1471   * add directory() tests
1472   * add support for bodyParser to ignore Content-Type if no body is present (jquery primarily does this poorely)
1473   * fix errorHandler signature
1474
1475 2.7.0 / 2012-11-13
1476 ==================
1477
1478   * add support for leading JSON whitespace
1479   * add logging of `req.ip` when present
1480   * add basicAuth support for `:`-delimited string
1481   * update cookie module. Closes #688
1482
1483 2.6.2 / 2012-11-01
1484 ==================
1485
1486   * add `debug()` for disconnected session store
1487   * fix session regeneration bug. Closes #681
1488
1489 2.6.1 / 2012-10-25
1490 ==================
1491
1492   * add passing of `connect.timeout()` errors to `next()`
1493   * replace signature utils with cookie-signature module
1494
1495 2.6.0 / 2012-10-09
1496 ==================
1497
1498   * add `defer` option to `multipart()` [Blake Miner]
1499   * fix mount path case sensitivity. Closes #663
1500   * fix default of ascii encoding from `logger()`, now utf8. Closes #293
1501
1502 2.5.0 / 2012-09-27
1503 ==================
1504
1505   * add `err.status = 400` to multipart() errors
1506   * add double-encoding protection to `compress()`. Closes #659
1507   * add graceful handling cookie parsing errors [shtylman]
1508   * fix typo X-Response-time to X-Response-Time
1509
1510 2.4.6 / 2012-09-18
1511 ==================
1512
1513   * update qs
1514
1515 2.4.5 / 2012-09-03
1516 ==================
1517
1518   * add session store "connect" / "disconnect" support [louischatriot]
1519   * fix `:url` log token
1520
1521 2.4.4 / 2012-08-21
1522 ==================
1523
1524   * fix `static()` pause regression from "send" integration
1525
1526 2.4.3 / 2012-08-07
1527 ==================
1528
1529   * fix `.write()` encoding for zlib inconstancy. Closes #561
1530
1531 2.4.2 / 2012-07-25
1532 ==================
1533
1534   * remove limit default from `urlencoded()`
1535   * remove limit default from `json()`
1536   * remove limit default from `multipart()`
1537   * fix `cookieSession()` clear cookie path / domain bug. Closes #636
1538
1539 2.4.1 / 2012-07-24
1540 ==================
1541
1542   * fix `options` mutation in `static()`
1543
1544 2.4.0 / 2012-07-23
1545 ==================
1546
1547   * add `connect.timeout()`
1548   * add __GET__ / __HEAD__ check to `directory()`. Closes #634
1549   * add "pause" util dep
1550   * update send dep for normalization bug
1551
1552 2.3.9 / 2012-07-16
1553 ==================
1554
1555   * add more descriptive invalid json error message
1556   * update send dep for root normalization regression
1557   * fix staticCache fresh dep
1558
1559 2.3.8 / 2012-07-12
1560 ==================
1561
1562   * fix `connect.static()` 404 regression, pass `next()`. Closes #629
1563
1564 2.3.7 / 2012-07-05
1565 ==================
1566
1567   * add `json()` utf-8 illustration test. Closes #621
1568   * add "send" dependency
1569   * change `connect.static()` internals to use "send"
1570   * fix `session()` req.session generation with pathname mismatch
1571   * fix `cookieSession()` req.session generation with pathname mismatch
1572   * fix mime export. Closes #618
1573
1574 2.3.6 / 2012-07-03
1575 ==================
1576
1577   * Fixed cookieSession() with cookieParser() secret regression. Closes #602
1578   * Fixed set-cookie header fields on cookie.path mismatch. Closes #615
1579
1580 2.3.5 / 2012-06-28
1581 ==================
1582
1583   * Remove `logger()` mount check
1584   * Fixed `staticCache()` dont cache responses with set-cookie. Closes #607
1585   * Fixed `staticCache()` when Cookie is present
1586
1587 2.3.4 / 2012-06-22
1588 ==================
1589
1590   * Added `err.buf` to urlencoded() and json()
1591   * Update cookie to 0.0.4. Closes #604
1592   * Fixed: only send 304 if original response in 2xx or 304 [timkuijsten]
1593
1594 2.3.3 / 2012-06-11
1595 ==================
1596
1597   * Added ETags back to `static()` [timkuijsten]
1598   * Replaced `utils.parseRange()` with `range-parser` module
1599   * Replaced `utils.parseBytes()` with `bytes` module
1600   * Replaced `utils.modified()` with `fresh` module
1601   * Fixed `cookieSession()` regression with invalid cookie signing [shtylman]
1602
1603 2.3.2 / 2012-06-08
1604 ==================
1605
1606   * expose mime module
1607   * Update crc dep (which bundled nodeunit)
1608
1609 2.3.1 / 2012-06-06
1610 ==================
1611
1612   * Added `secret` option to `cookieSession` middleware [shtylman]
1613   * Added `secret` option to `session` middleware [shtylman]
1614   * Added `req.remoteUser` back to `basicAuth()` as alias of `req.user`
1615   * Performance: improve signed cookie parsing
1616   * Update `cookie` dependency [shtylman]
1617
1618 2.3.0 / 2012-05-20
1619 ==================
1620
1621   * Added limit option to `json()`
1622   * Added limit option to `urlencoded()`
1623   * Added limit option to `multipart()`
1624   * Fixed: remove socket error event listener on callback
1625   * Fixed __ENOTDIR__ error on `static` middleware
1626
1627 2.2.2 / 2012-05-07
1628 ==================
1629
1630   * Added support to csrf middle for pre-flight CORS requests
1631   * Updated `engines` to allow newer version of node
1632   * Removed duplicate repo prop. Closes #560
1633
1634 2.2.1 / 2012-04-28
1635 ==================
1636
1637   * Fixed `static()` redirect when mounted. Closes #554
1638
1639 2.2.0 / 2012-04-25
1640 ==================
1641
1642   * Added `make benchmark`
1643   * Perf: memoize url parsing (~20% increase)
1644   * Fixed `connect(fn, fn2, ...)`. Closes #549
1645
1646 2.1.3 / 2012-04-20
1647 ==================
1648
1649   * Added optional json() `reviver` function to be passed to JSON.parse [jed]
1650   * Fixed: emit drain in compress middleware [nsabovic]
1651
1652 2.1.2 / 2012-04-11
1653 ==================
1654
1655   * Fixed cookieParser() `req.cookies` regression
1656
1657 2.1.1 / 2012-04-11
1658 ==================
1659
1660   * Fixed `session()` browser-session length cookies & examples
1661   * Fixed: make `query()` "self-aware" [jed]
1662
1663 2.1.0 / 2012-04-05
1664 ==================
1665
1666   * Added `debug()` calls to `.use()` (`DEBUG=connect:displatcher`)
1667   * Added `urlencoded()` support for GET
1668   * Added `json()` support for GET. Closes #497
1669   * Added `strict` option to `json()`
1670   * Changed: `session()` only set-cookie when modified
1671   * Removed `Session#lastAccess` property. Closes #399
1672
1673 2.0.3 / 2012-03-20
1674 ==================
1675
1676   * Added: `cookieSession()` only sets cookie on change. Closes #442
1677   * Added `connect:dispatcher` debug() probes
1678
1679 2.0.2 / 2012-03-04
1680 ==================
1681
1682   * Added test for __ENAMETOOLONG__ now that node is fixed
1683   * Fixed static() index "/" check on windows. Closes #498
1684   * Fixed Content-Range behaviour to match RFC2616 [matthiasdg / visionmedia]
1685
1686 2.0.1 / 2012-02-29
1687 ==================
1688
1689   * Added test coverage for `vhost()` middleware
1690   * Changed `cookieParser()` signed cookie support to use SHA-2 [senotrusov]
1691   * Fixed `static()` Range: respond with 416 when unsatisfiable
1692   * Fixed `vhost()` middleware. Closes #494
1693
1694 2.0.0 / 2011-10-05
1695 ==================
1696
1697   * Added `cookieSession()` middleware for cookie-only sessions
1698   * Added `compress()` middleware for gzip / deflate support
1699   * Added `session()` "proxy" setting to trust `X-Forwarded-Proto`
1700   * Added `json()` middleware to parse "application/json"
1701   * Added `urlencoded()` middleware to parse "application/x-www-form-urlencoded"
1702   * Added `multipart()` middleware to parse "multipart/form-data"
1703   * Added `cookieParser(secret)` support so anything using this middleware may access signed cookies
1704   * Added signed cookie support to `cookieParser()`
1705   * Added support for JSON-serialized cookies to `cookieParser()`
1706   * Added `err.status` support in Connect's default end-point
1707   * Added X-Cache MISS / HIT to `staticCache()`
1708   * Added public `res.headerSent` checking nodes `res._headerSent` until node does
1709   * Changed `basicAuth()` req.remoteUser to req.user
1710   * Changed: default `session()` to a browser-session cookie. Closes #475
1711   * Changed: no longer lowercase cookie names
1712   * Changed `bodyParser()` to use `json()`, `urlencoded()`, and `multipart()`
1713   * Changed: `errorHandler()` is now a development-only middleware
1714   * Changed middleware to `next()` errors when possible so applications can unify logging / handling
1715   * Removed `http[s].Server` inheritance, now just a function, making it easy to have an app providing both http and https
1716   * Removed `.createServer()` (use `connect()`)
1717   * Removed `secret` option from `session()`, use `cookieParser(secret)`
1718   * Removed `connect.session.ignore` array support
1719   * Removed `router()` middleware. Closes #262
1720   * Fixed: set-cookie only once for browser-session cookies
1721   * Fixed FQDN support. dont add leading "/"
1722   * Fixed 404 XSS attack vector. Closes #473
1723   * Fixed __HEAD__ support for 404s and 500s generated by Connect's end-point
1724
1725 1.8.5 / 2011-12-22
1726 ==================
1727
1728   * Fixed: actually allow empty body for json
1729
1730 1.8.4 / 2011-12-22
1731 ==================
1732
1733   * Changed: allow empty body for json/urlencoded requests. Backport for #443
1734
1735 1.8.3 / 2011-12-16
1736 ==================
1737
1738   * Fixed `static()` _index.html_ support on windows
1739
1740 1.8.2 / 2011-12-03
1741 ==================
1742
1743   * Fixed potential security issue, store files in req.files. Closes #431 [reported by dobesv]
1744
1745 1.8.1 / 2011-11-21
1746 ==================
1747
1748   * Added nesting support for _multipart/form-data_ [jackyz]
1749
1750 1.8.0 / 2011-11-17
1751 ==================
1752
1753   * Added _multipart/form-data_ support to `bodyParser()` using formidable
1754
1755 1.7.3 / 2011-11-11
1756 ==================
1757
1758   * Fixed `req.body`, always default to {}
1759   * Fixed HEAD support for 404s and 500s
1760
1761 1.7.2 / 2011-10-24
1762 ==================
1763
1764   * "node": ">= 0.4.1 < 0.7.0"
1765   * Added `static()` redirect option. Closes #398
1766   * Changed `limit()`: respond with 413 when content-length exceeds the limit
1767   * Removed socket error listener in static(). Closes #389
1768   * Fixed `staticCache()` Age header field
1769   * Fixed race condition causing errors reported in #329.
1770
1771 1.7.1 / 2011-09-12
1772 ==================
1773
1774   * Added: make `Store` inherit from `EventEmitter`
1775   * Added session `Store#load(sess, fn)` to fetch a `Session` instance
1776   * Added backpressure support to `staticCache()`
1777   * Changed `res.socket.destroy()` to `req.socket.destroy()`
1778
1779 1.7.0 / 2011-08-31
1780 ==================
1781
1782   * Added `staticCache()` middleware, a memory cache for `static()`
1783   * Added public `res.headerSent` checking nodes `res._headerSent` (remove when node adds this)
1784   * Changed: ignore error handling middleware when header is sent
1785   * Changed: dispatcher errors after header is sent destroy the sock
1786
1787 1.6.4 / 2011-08-26
1788 ==================
1789
1790   * Revert "Added double-next reporting"
1791
1792 1.6.3 / 2011-08-26
1793 ==================
1794
1795   * Added double-`next()` reporting
1796   * Added `immediate` option to `logger()`. Closes #321
1797   * Dependency `qs >= 0.3.1`
1798
1799 1.6.2 / 2011-08-11
1800 ==================
1801
1802   * Fixed `connect.static()` null byte vulnerability
1803   * Fixed `connect.directory()` null byte vulnerability
1804   * Changed: 301 redirect in `static()` to postfix "/" on directory. Closes #289
1805
1806 1.6.1 / 2011-08-03
1807 ==================
1808
1809   * Added: allow retval `== null` from logger callback to ignore line
1810   * Added `getOnly` option to `connect.static.send()`
1811   * Added response "header" event allowing augmentation
1812   * Added `X-CSRF-Token` header field check
1813   * Changed dep `qs >= 0.3.0`
1814   * Changed: persist csrf token. Closes #322
1815   * Changed: sort directory middleware files alphabetically
1816
1817 1.6.0 / 2011-07-10
1818 ==================
1819
1820   * Added :response-time to "dev" logger format
1821   * Added simple `csrf()` middleware. Closes #315
1822   * Fixed `res._headers` logger regression. Closes #318
1823   * Removed support for multiple middleware being passed to `.use()`
1824
1825 1.5.2 / 2011-07-06
1826 ==================
1827
1828   * Added `filter` function option to `directory()` [David Rio Deiros]
1829   * Changed: re-write of the `logger()` middleware, with extensible tokens and formats
1830   * Changed: `static.send()` ".." in path without root considered malicious
1831   * Fixed quotes in docs. Closes #312
1832   * Fixed urls when mounting `directory()`, use `originalUrl` [Daniel Dickison]
1833
1834
1835 1.5.1 / 2011-06-20
1836 ==================
1837
1838   * Added malicious path check to `directory()` middleware
1839   * Added `utils.forbidden(res)`
1840   * Added `connect.query()` middleware
1841
1842 1.5.0 / 2011-06-20
1843 ==================
1844
1845   * Added `connect.directory()` middleware for serving directory listings
1846
1847 1.4.6 / 2011-06-18
1848 ==================
1849
1850   * Fixed `connect.static()` root with `..`
1851   * Fixed `connect.static()` __EBADF__
1852
1853 1.4.5 / 2011-06-17
1854 ==================
1855
1856   * Fixed EBADF in `connect.static()`. Closes #297
1857
1858 1.4.4 / 2011-06-16
1859 ==================
1860
1861   * Changed `connect.static()` to check resolved dirname. Closes #294
1862
1863 1.4.3 / 2011-06-06
1864 ==================
1865
1866   * Fixed fd leak in `connect.static()` when the socket is closed
1867   * Fixed; `bodyParser()` ignoring __GET/HEAD__. Closes #285
1868
1869 1.4.2 / 2011-05-27
1870 ==================
1871
1872   * Changed to `devDependencies`
1873   * Fixed stream creation on `static()` __HEAD__ request. [Andreas Lind Petersen]
1874   * Fixed Win32 support for `static()`
1875   * Fixed monkey-patch issue. Closes #261
1876
1877 1.4.1 / 2011-05-08
1878 ==================
1879
1880   * Added "hidden" option to `static()`. ignores hidden files by default. Closes   * Added; expose `connect.static.mime.define()`. Closes #251
1881   * Fixed `errorHandler` middleware for missing stack traces. [aseemk]
1882 #274
1883
1884 1.4.0 / 2011-04-25
1885 ==================
1886
1887   * Added route-middleware `next('route')` support to jump passed the route itself
1888   * Added Content-Length support to `limit()`
1889   * Added route-specific middleware support (used to be in express)
1890   * Changed; refactored duplicate session logic
1891   * Changed; prevent redefining `store.generate` per request
1892   * Fixed; `static()` does not set Content-Type when explicitly set [nateps]
1893   * Fixed escape `errorHandler()` {error} contents
1894   * NOTE: `router` will be removed in 2.0
1895
1896
1897 1.3.0 / 2011-04-06
1898 ==================
1899
1900   * Added `router.remove(path[, method])` to remove a route
1901
1902 1.2.3 / 2011-04-05
1903 ==================
1904
1905   * Fixed basicAuth realm issue when passing strings. Closes #253
1906
1907 1.2.2 / 2011-04-05
1908 ==================
1909
1910   * Added `basicAuth(username, password)` support
1911   * Added `errorHandler.title` defaulting to "Connect"
1912   * Changed `errorHandler` css
1913
1914 1.2.1 / 2011-03-30
1915 ==================
1916
1917   * Fixed `logger()` https `remoteAddress` logging [Alexander Simmerl]
1918
1919 1.2.0 / 2011-03-30
1920 ==================
1921
1922   * Added `router.lookup(path[, method])`
1923   * Added `router.match(url[, method])`
1924   * Added basicAuth async support. Closes #223
1925
1926 1.1.5 / 2011-03-27
1927 ==================
1928
1929   * Added; allow `logger()` callback function to return an empty string to ignore logging
1930   * Fixed; utilizing `mime.charsets.lookup()` for `static()`. Closes 245
1931
1932 1.1.4 / 2011-03-23
1933 ==================
1934
1935   * Added `logger()` support for format function
1936   * Fixed `logger()` to support mess of writeHead()/progressive api for node 0.4.x
1937
1938 1.1.3 / 2011-03-21
1939 ==================
1940
1941   * Changed; `limit()` now calls `req.destroy()`
1942
1943 1.1.2 / 2011-03-21
1944 ==================
1945
1946   * Added request "limit" event to `limit()` middleware
1947   * Changed; `limit()` middleware will `next(err)` on failure
1948
1949 1.1.1 / 2011-03-18
1950 ==================
1951
1952   * Fixed session middleware for HTTPS. Closes #241 [reported by mt502]
1953
1954 1.1.0 / 2011-03-17
1955 ==================
1956
1957   * Added `Session#reload(fn)`
1958
1959 1.0.6 / 2011-03-09
1960 ==================
1961
1962   * Fixed `res.setHeader()` patch, preserve casing
1963
1964 1.0.5 / 2011-03-09
1965 ==================
1966
1967   * Fixed; `logger()` using `req.originalUrl` instead of `req.url`
1968
1969 1.0.4 / 2011-03-09
1970 ==================
1971
1972   * Added `res.charset`
1973   * Added conditional sessions example
1974   * Added support for `session.ignore` to be replaced. Closes #227
1975   * Fixed `Cache-Control` delimiters. Closes #228
1976
1977 1.0.3 / 2011-03-03
1978 ==================
1979
1980   * Fixed; `static.send()` invokes callback with connection error
1981
1982 1.0.2 / 2011-03-02
1983 ==================
1984
1985   * Fixed exported connect function
1986   * Fixed package.json; node ">= 0.4.1 < 0.5.0"
1987
1988 1.0.1 / 2011-03-02
1989 ==================
1990
1991   * Added `Session#save(fn)`. Closes #213
1992   * Added callback support to `connect.static.send()` for express
1993   * Added `connect.static.send()` "path" option
1994   * Fixed content-type in `static()` for _index.html_
1995
1996 1.0.0 / 2011-03-01
1997 ==================
1998
1999   * Added `stack`, `message`, and `dump` errorHandler option aliases
2000   * Added `req.originalMethod` to methodOverride
2001   * Added `favicon()` maxAge option support
2002   * Added `connect()` alternative to `connect.createServer()`
2003   * Added new [documentation](http://senchalabs.github.com/connect)
2004   * Added Range support to `static()`
2005   * Added HTTPS support
2006   * Rewrote session middleware. The session API now allows for
2007     session-specific cookies, so you may alter each individually.
2008     Click to view the new [session api](http://senchalabs.github.com/connect/middleware-session.html).
2009   * Added middleware self-awareness. This helps prevent
2010     middleware breakage when used within mounted servers.
2011     For example `cookieParser()` will not parse cookies more
2012     than once even when within a mounted server.
2013   * Added new examples in the `./examples` directory
2014   * Added [limit()](http://senchalabs.github.com/connect/middleware-limit.html) middleware
2015   * Added [profiler()](http://senchalabs.github.com/connect/middleware-profiler.html) middleware
2016   * Added [responseTime()](http://senchalabs.github.com/connect/middleware-responseTime.html) middleware
2017   * Renamed `staticProvider` to `static`
2018   * Renamed `bodyDecoder` to `bodyParser`
2019   * Renamed `cookieDecoder` to `cookieParser`
2020   * Fixed ETag quotes. [reported by papandreou]
2021   * Fixed If-None-Match comma-delimited ETag support. [reported by papandreou]
2022   * Fixed; only set req.originalUrl once. Closes #124
2023   * Fixed symlink support for `static()`. Closes #123
2024
2025 0.5.10 / 2011-02-14
2026 ==================
2027
2028   * Fixed SID space issue. Closes #196
2029   * Fixed; proxy `res.end()` to commit session data
2030   * Fixed directory traversal attack in `staticProvider`. Closes #198
2031
2032 0.5.9 / 2011-02-09
2033 ==================
2034
2035   * qs >= 0.0.4
2036
2037 0.5.8 / 2011-02-04
2038 ==================
2039
2040   * Added `qs` dependency
2041   * Fixed router race-condition causing possible failure
2042     when `next()`ing to one or more routes with parallel
2043     requests
2044
2045 0.5.7 / 2011-02-01
2046 ==================
2047
2048   * Added `onvhost()` call so Express (and others) can know when they are
2049   * Revert "Added stylus support" (use the middleware which ships with stylus)
2050   * Removed custom `Server#listen()` to allow regular `http.Server#listen()` args to work properly
2051   * Fixed long standing router issue (#83) that causes '.' to be disallowed within named placeholders in routes [Andreas Lind Petersen]
2052   * Fixed `utils.uid()` length error [Jxck]
2053 mounted
2054
2055 0.5.6 / 2011-01-23
2056 ==================
2057
2058   * Added stylus support to `compiler`
2059   * _favicon.js_ cleanup
2060   * _compiler.js_ cleanup
2061   * _bodyDecoder.js_ cleanup
2062
2063 0.5.5 / 2011-01-13
2064 ==================
2065
2066   * Changed; using sha256 HMAC instead of md5. [Paul Querna]
2067   * Changed; generated a longer random UID, without time influence. [Paul Querna]
2068   * Fixed; session middleware throws when secret is not present. [Paul Querna]
2069
2070 0.5.4 / 2011-01-07
2071 ==================
2072
2073   * Added; throw when router path or callback is missing
2074   * Fixed; `next(err)` on cookie parse exception instead of ignoring
2075   * Revert "Added utils.pathname(), memoized url.parse(str).pathname"
2076
2077 0.5.3 / 2011-01-05
2078 ==================
2079
2080   * Added _docs/api.html_
2081   * Added `utils.pathname()`, memoized url.parse(str).pathname
2082   * Fixed `session.id` issue. Closes #183
2083   * Changed; Defaulting `staticProvider` maxAge to 0 not 1 year. Closes #179
2084   * Removed bad outdated docs, we need something new / automated eventually
2085
2086 0.5.2 / 2010-12-28
2087 ==================
2088
2089   * Added default __OPTIONS__ support to _router_ middleware
2090
2091 0.5.1 / 2010-12-28
2092 ==================
2093
2094   * Added `req.session.id` mirroring `req.sessionID`
2095   * Refactored router, exposing `connect.router.methods`
2096   * Exclude non-lib files from npm
2097   * Removed imposed headers `X-Powered-By`, `Server`, etc
2098
2099 0.5.0 / 2010-12-06
2100 ==================
2101
2102   * Added _./index.js_
2103   * Added route segment precondition support and example
2104   * Added named capture group support to router
2105
2106 0.4.0 / 2010-11-29
2107 ==================
2108
2109   * Added `basicAuth` middleware
2110   * Added more HTTP methods to the `router` middleware
2111
2112 0.3.0 / 2010-07-21
2113 ==================
2114
2115   * Added _staticGzip_ middleware
2116   * Added `connect.utils` to expose utils
2117   * Added `connect.session.Session`
2118   * Added `connect.session.Store`
2119   * Added `connect.session.MemoryStore`
2120   * Added `connect.middleware` to expose the middleware getters
2121   * Added `buffer` option to _logger_ for performance increase
2122   * Added _favicon_ middleware for serving your own favicon or the connect default
2123   * Added option support to _staticProvider_, can now pass _root_ and _lifetime_.
2124   * Added; mounted `Server` instances now have the `route` property exposed for reflection
2125   * Added support for callback as first arg to `Server#use()`
2126   * Added support for `next(true)` in _router_ to bypass match attempts
2127   * Added `Server#listen()` _host_ support
2128   * Added `Server#route` when `Server#use()` is called with a route on a `Server` instance
2129   * Added _methodOverride_ X-HTTP-Method-Override support
2130   * Refactored session internals, adds _secret_ option
2131   * Renamed `lifetime` option to `maxAge` in _staticProvider_
2132   * Removed connect(1), it is now [spark(1)](http://github.com/senchalabs/spark)
2133   * Removed connect(1) dependency on examples, they can all now run with node(1)
2134   * Remove a typo that was leaking a global.
2135   * Removed `Object.prototype` forEach() and map() methods
2136   * Removed a few utils not used
2137   * Removed `connect.createApp()`
2138   * Removed `res.simpleBody()`
2139   * Removed _format_ middleware
2140   * Removed _flash_ middleware
2141   * Removed _redirect_ middleware
2142   * Removed _jsonrpc_ middleware, use [visionmedia/connect-jsonrpc](http://github.com/visionmedia/connect-jsonrpc)
2143   * Removed _pubsub_ middleware
2144   * Removed need for `params.{captures,splat}` in _router_ middleware, `params` is an array
2145   * Changed; _compiler_ no longer 404s
2146   * Changed; _router_ signature now matches connect middleware signature
2147   * Fixed a require in _session_ for default `MemoryStore`
2148   * Fixed nasty request body bug in _router_. Closes #54
2149   * Fixed _less_ support in _compiler_
2150   * Fixed bug preventing proper bubbling of exceptions in mounted servers
2151   * Fixed bug in `Server#use()` preventing `Server` instances as the first arg
2152   * Fixed **ENOENT** special case, is now treated as any other exception
2153   * Fixed spark env support
2154
2155 0.2.1 / 2010-07-09
2156 ==================
2157
2158   * Added support for _router_ `next()` to continue calling matched routes
2159   * Added mime type for _cache.manifest_ files.
2160   * Changed _compiler_ middleware to use async require
2161   * Changed session api, stores now only require `#get()`, and `#set()`
2162   * Fixed _cacheManifest_ by adding `utils.find()` back
2163
2164 0.2.0 / 2010-07-01
2165 ==================
2166
2167   * Added calls to `Session()` casts the given object as a `Session` instance
2168   * Added passing of `next()` to _router_ callbacks. Closes #46
2169   * Changed; `MemoryStore#destroy()` removes `req.session`
2170   * Changed `res.redirect("back")` to default to "/" when Referr?er is not present
2171   * Fixed _staticProvider_ urlencoded paths issue. Closes #47
2172   * Fixed _staticProvider_ middleware responding to **GET** requests
2173   * Fixed _jsonrpc_ middleware `Accept` header check. Closes #43
2174   * Fixed _logger_ format option
2175   * Fixed typo in _compiler_ middleware preventing the _dest_ option from working
2176
2177 0.1.0 / 2010-06-25
2178 ==================
2179
2180   * Revamped the api, view the [Connect documentation](http://extjs.github.com/Connect/index.html#Middleware-Authoring) for more info (hover on the right for menu)
2181   * Added [extended api docs](http://extjs.github.com/Connect/api.html)
2182   * Added docs for several more middleware layers
2183   * Added `connect.Server#use()`
2184   * Added _compiler_ middleware which provides arbitrary static compilation
2185   * Added `req.originalUrl`
2186   * Removed _blog_ example
2187   * Removed _sass_ middleware (use _compiler_)
2188   * Removed _less_ middleware (use _compiler_)
2189   * Renamed middleware to be camelcase, _body-decoder_ is now _bodyDecoder_ etc.
2190   * Fixed `req.url` mutation bug when matching `connect.Server#use()` routes
2191   * Fixed `mkdir -p` implementation used in _bin/connect_. Closes #39
2192   * Fixed bug in _bodyDecoder_ throwing exceptions on request empty bodies
2193   * `make install` installing lib to $LIB_PREFIX aka $HOME/.node_libraries
2194
2195 0.0.6 / 2010-06-22
2196 ==================
2197
2198   * Added _static_ middleware usage example
2199   * Added support for regular expressions as paths for _router_
2200   * Added `util.merge()`
2201   * Increased performance of _static_ by ~ 200 rps
2202   * Renamed the _rest_ middleware to _router_
2203   * Changed _rest_ api to accept a callback function
2204   * Removed _router_ middleware
2205   * Removed _proto.js_, only `Object#forEach()` remains
2206
2207 0.0.5 / 2010-06-21
2208 ==================
2209
2210   * Added Server#use() which contains the Layer normalization logic
2211   * Added documentation for several middleware
2212   * Added several new examples
2213   * Added _less_ middleware
2214   * Added _repl_ middleware
2215   * Added _vhost_ middleware
2216   * Added _flash_ middleware
2217   * Added _cookie_ middleware
2218   * Added _session_ middleware
2219   * Added `utils.htmlEscape()`
2220   * Added `utils.base64Decode()`
2221   * Added `utils.base64Encode()`
2222   * Added `utils.uid()`
2223   * Added bin/connect app path and --config path support for .js suffix, although optional. Closes #26
2224   * Moved mime code to `utils.mime`, ex `utils.mime.types`, and `utils.mime.type()`
2225   * Renamed req.redirect() to res.redirect(). Closes #29
2226   * Fixed _sass_ 404 on **ENOENT**
2227   * Fixed +new Date duplication. Closes #24
2228
2229 0.0.4 / 2010-06-16
2230 ==================
2231
2232   * Added workerPidfile() to bin/connect
2233   * Added --workers support to bin/connect stop and status commands
2234   * Added _redirect_ middleware
2235   * Added better --config support to bin/connect. All flags can be utilized
2236   * Added auto-detection of _./config.js_
2237   * Added config example
2238   * Added `net.Server` support to bin/connect
2239   * Writing worker pids relative to `env.pidfile`
2240   * s/parseQuery/parse/g
2241   * Fixed npm support
2242
2243 0.0.3 / 2010-06-16
2244 ==================
2245
2246   * Fixed node dependency in package.json, now _">= 0.1.98-0"_ to support __HEAD__
2247
2248 0.0.2 / 2010-06-15
2249 ==================
2250
2251   * Added `-V, --version` to bin/connect
2252   * Added `utils.parseCookie()`
2253   * Added `utils.serializeCookie()`
2254   * Added `utils.toBoolean()`
2255   * Added _sass_ middleware
2256   * Added _cookie_ middleware
2257   * Added _format_ middleware
2258   * Added _lint_ middleware
2259   * Added _rest_ middleware
2260   * Added _./package.json_ (npm install connect)
2261   * Added `handleError()` support
2262   * Added `process.connectEnv`
2263   * Added custom log format support to _log_ middleware
2264   * Added arbitrary env variable support to bin/connect (ext: --logFormat ":method :url")
2265   * Added -w, --workers to bin/connect
2266   * Added bin/connect support for --user NAME and --group NAME
2267   * Fixed url re-writing support
2268
2269 0.0.1 / 2010-06-03
2270 ==================
2271
2272   * Initial release
2273