webpack_rails 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webpack_rails/ErrorMessagePlugin.js +37 -0
  3. data/lib/webpack_rails/engine.rb +6 -5
  4. data/lib/webpack_rails/node_modules/cors/CONTRIBUTING.md +35 -0
  5. data/lib/webpack_rails/node_modules/cors/LICENSE +9 -0
  6. data/lib/webpack_rails/node_modules/cors/README.md +192 -0
  7. data/lib/webpack_rails/node_modules/cors/lib/index.js +242 -0
  8. data/lib/webpack_rails/node_modules/cors/node_modules/vary/HISTORY.md +29 -0
  9. data/lib/webpack_rails/node_modules/cors/node_modules/vary/LICENSE +22 -0
  10. data/lib/webpack_rails/node_modules/cors/node_modules/vary/README.md +91 -0
  11. data/lib/webpack_rails/node_modules/cors/node_modules/vary/index.js +124 -0
  12. data/lib/webpack_rails/node_modules/cors/node_modules/vary/package.json +72 -0
  13. data/lib/webpack_rails/node_modules/cors/package.json +79 -0
  14. data/lib/webpack_rails/node_modules/cors/test/basic-auth.js +40 -0
  15. data/lib/webpack_rails/node_modules/cors/test/body-events.js +81 -0
  16. data/lib/webpack_rails/node_modules/cors/test/cors.js +652 -0
  17. data/lib/webpack_rails/node_modules/cors/test/error-response.js +77 -0
  18. data/lib/webpack_rails/node_modules/cors/test/example-app.js +98 -0
  19. data/lib/webpack_rails/node_modules/cors/test/issue-2.js +56 -0
  20. data/lib/webpack_rails/node_modules/cors/test/issue-31.js +58 -0
  21. data/lib/webpack_rails/node_modules/cors/test/mocha.opts +3 -0
  22. data/lib/webpack_rails/node_modules/express/History.md +3025 -0
  23. data/lib/webpack_rails/node_modules/express/LICENSE +24 -0
  24. data/lib/webpack_rails/node_modules/express/Readme.md +138 -0
  25. data/lib/webpack_rails/node_modules/express/index.js +11 -0
  26. data/lib/webpack_rails/node_modules/express/lib/application.js +643 -0
  27. data/lib/webpack_rails/node_modules/express/lib/express.js +103 -0
  28. data/lib/webpack_rails/node_modules/express/lib/middleware/init.js +36 -0
  29. data/lib/webpack_rails/node_modules/express/lib/middleware/query.js +51 -0
  30. data/lib/webpack_rails/node_modules/express/lib/request.js +489 -0
  31. data/lib/webpack_rails/node_modules/express/lib/response.js +1053 -0
  32. data/lib/webpack_rails/node_modules/express/lib/router/index.js +645 -0
  33. data/lib/webpack_rails/node_modules/express/lib/router/layer.js +176 -0
  34. data/lib/webpack_rails/node_modules/express/lib/router/route.js +210 -0
  35. data/lib/webpack_rails/node_modules/express/lib/utils.js +300 -0
  36. data/lib/webpack_rails/node_modules/express/lib/view.js +173 -0
  37. data/lib/webpack_rails/node_modules/express/node_modules/accepts/HISTORY.md +170 -0
  38. data/lib/webpack_rails/node_modules/express/node_modules/accepts/LICENSE +23 -0
  39. data/lib/webpack_rails/node_modules/express/node_modules/accepts/README.md +135 -0
  40. data/lib/webpack_rails/node_modules/express/node_modules/accepts/index.js +231 -0
  41. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/HISTORY.md +171 -0
  42. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/LICENSE +23 -0
  43. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/README.md +103 -0
  44. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/index.js +188 -0
  45. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/HISTORY.md +274 -0
  46. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/LICENSE +22 -0
  47. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/README.md +82 -0
  48. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/db.json +6474 -0
  49. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/index.js +11 -0
  50. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/package.json +94 -0
  51. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/mime-types/package.json +84 -0
  52. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/HISTORY.md +76 -0
  53. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/LICENSE +24 -0
  54. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/README.md +203 -0
  55. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/index.js +62 -0
  56. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/charset.js +102 -0
  57. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/encoding.js +118 -0
  58. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/language.js +112 -0
  59. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/mediaType.js +179 -0
  60. data/lib/webpack_rails/node_modules/express/node_modules/accepts/node_modules/negotiator/package.json +86 -0
  61. data/lib/webpack_rails/node_modules/express/node_modules/accepts/package.json +98 -0
  62. data/lib/webpack_rails/node_modules/express/node_modules/array-flatten/LICENSE +21 -0
  63. data/lib/webpack_rails/node_modules/express/node_modules/array-flatten/README.md +43 -0
  64. data/lib/webpack_rails/node_modules/express/node_modules/array-flatten/array-flatten.js +64 -0
  65. data/lib/webpack_rails/node_modules/express/node_modules/array-flatten/package.json +62 -0
  66. data/lib/webpack_rails/node_modules/express/node_modules/content-disposition/HISTORY.md +40 -0
  67. data/lib/webpack_rails/node_modules/express/node_modules/content-disposition/LICENSE +22 -0
  68. data/lib/webpack_rails/node_modules/express/node_modules/content-disposition/README.md +141 -0
  69. data/lib/webpack_rails/node_modules/express/node_modules/content-disposition/index.js +443 -0
  70. data/lib/webpack_rails/node_modules/express/node_modules/content-disposition/package.json +66 -0
  71. data/lib/webpack_rails/node_modules/express/node_modules/content-type/HISTORY.md +9 -0
  72. data/lib/webpack_rails/node_modules/express/node_modules/content-type/LICENSE +22 -0
  73. data/lib/webpack_rails/node_modules/express/node_modules/content-type/README.md +92 -0
  74. data/lib/webpack_rails/node_modules/express/node_modules/content-type/index.js +214 -0
  75. data/lib/webpack_rails/node_modules/express/node_modules/content-type/package.json +65 -0
  76. data/lib/webpack_rails/node_modules/express/node_modules/cookie/LICENSE +23 -0
  77. data/lib/webpack_rails/node_modules/express/node_modules/cookie/README.md +64 -0
  78. data/lib/webpack_rails/node_modules/express/node_modules/cookie/index.js +116 -0
  79. data/lib/webpack_rails/node_modules/express/node_modules/cookie/package.json +68 -0
  80. data/lib/webpack_rails/node_modules/express/node_modules/cookie-signature/History.md +38 -0
  81. data/lib/webpack_rails/node_modules/express/node_modules/cookie-signature/Readme.md +42 -0
  82. data/lib/webpack_rails/node_modules/express/node_modules/cookie-signature/index.js +51 -0
  83. data/lib/webpack_rails/node_modules/express/node_modules/cookie-signature/package.json +59 -0
  84. data/lib/webpack_rails/node_modules/express/node_modules/debug/History.md +195 -0
  85. data/lib/webpack_rails/node_modules/express/node_modules/debug/Makefile +36 -0
  86. data/lib/webpack_rails/node_modules/express/node_modules/debug/Readme.md +188 -0
  87. data/lib/webpack_rails/node_modules/express/node_modules/debug/bower.json +28 -0
  88. data/lib/webpack_rails/node_modules/express/node_modules/debug/browser.js +168 -0
  89. data/lib/webpack_rails/node_modules/express/node_modules/debug/component.json +19 -0
  90. data/lib/webpack_rails/node_modules/express/node_modules/debug/debug.js +197 -0
  91. data/lib/webpack_rails/node_modules/express/node_modules/debug/node.js +209 -0
  92. data/lib/webpack_rails/node_modules/express/node_modules/debug/node_modules/ms/History.md +66 -0
  93. data/lib/webpack_rails/node_modules/express/node_modules/debug/node_modules/ms/LICENSE +20 -0
  94. data/lib/webpack_rails/node_modules/express/node_modules/debug/node_modules/ms/README.md +35 -0
  95. data/lib/webpack_rails/node_modules/express/node_modules/debug/node_modules/ms/index.js +125 -0
  96. data/lib/webpack_rails/node_modules/express/node_modules/debug/node_modules/ms/package.json +47 -0
  97. data/lib/webpack_rails/node_modules/express/node_modules/debug/package.json +73 -0
  98. data/lib/webpack_rails/node_modules/express/node_modules/depd/History.md +75 -0
  99. data/lib/webpack_rails/node_modules/express/node_modules/depd/LICENSE +22 -0
  100. data/lib/webpack_rails/node_modules/express/node_modules/depd/Readme.md +274 -0
  101. data/lib/webpack_rails/node_modules/express/node_modules/depd/index.js +529 -0
  102. data/lib/webpack_rails/node_modules/express/node_modules/depd/lib/compat/buffer-concat.js +33 -0
  103. data/lib/webpack_rails/node_modules/express/node_modules/depd/lib/compat/callsite-tostring.js +101 -0
  104. data/lib/webpack_rails/node_modules/express/node_modules/depd/lib/compat/index.js +69 -0
  105. data/lib/webpack_rails/node_modules/express/node_modules/depd/package.json +66 -0
  106. data/lib/webpack_rails/node_modules/express/node_modules/escape-html/LICENSE +22 -0
  107. data/lib/webpack_rails/node_modules/express/node_modules/escape-html/Readme.md +15 -0
  108. data/lib/webpack_rails/node_modules/express/node_modules/escape-html/index.js +29 -0
  109. data/lib/webpack_rails/node_modules/express/node_modules/escape-html/package.json +51 -0
  110. data/lib/webpack_rails/node_modules/express/node_modules/etag/HISTORY.md +71 -0
  111. data/lib/webpack_rails/node_modules/express/node_modules/etag/LICENSE +22 -0
  112. data/lib/webpack_rails/node_modules/express/node_modules/etag/README.md +165 -0
  113. data/lib/webpack_rails/node_modules/express/node_modules/etag/index.js +132 -0
  114. data/lib/webpack_rails/node_modules/express/node_modules/etag/package.json +73 -0
  115. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/HISTORY.md +90 -0
  116. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/LICENSE +22 -0
  117. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/README.md +133 -0
  118. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/index.js +151 -0
  119. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/node_modules/unpipe/HISTORY.md +4 -0
  120. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/node_modules/unpipe/LICENSE +22 -0
  121. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/node_modules/unpipe/README.md +43 -0
  122. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/node_modules/unpipe/index.js +69 -0
  123. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/node_modules/unpipe/package.json +59 -0
  124. data/lib/webpack_rails/node_modules/express/node_modules/finalhandler/package.json +81 -0
  125. data/lib/webpack_rails/node_modules/express/node_modules/fresh/HISTORY.md +38 -0
  126. data/lib/webpack_rails/node_modules/express/node_modules/fresh/LICENSE +22 -0
  127. data/lib/webpack_rails/node_modules/express/node_modules/fresh/README.md +58 -0
  128. data/lib/webpack_rails/node_modules/express/node_modules/fresh/index.js +57 -0
  129. data/lib/webpack_rails/node_modules/express/node_modules/fresh/package.json +87 -0
  130. data/lib/webpack_rails/node_modules/express/node_modules/merge-descriptors/LICENSE +22 -0
  131. data/lib/webpack_rails/node_modules/express/node_modules/merge-descriptors/README.md +34 -0
  132. data/lib/webpack_rails/node_modules/express/node_modules/merge-descriptors/index.js +57 -0
  133. data/lib/webpack_rails/node_modules/express/node_modules/merge-descriptors/package.json +125 -0
  134. data/lib/webpack_rails/node_modules/express/node_modules/methods/HISTORY.md +24 -0
  135. data/lib/webpack_rails/node_modules/express/node_modules/methods/LICENSE +23 -0
  136. data/lib/webpack_rails/node_modules/express/node_modules/methods/README.md +41 -0
  137. data/lib/webpack_rails/node_modules/express/node_modules/methods/index.js +42 -0
  138. data/lib/webpack_rails/node_modules/express/node_modules/methods/package.json +88 -0
  139. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/HISTORY.md +88 -0
  140. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/LICENSE +23 -0
  141. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/README.md +154 -0
  142. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/index.js +196 -0
  143. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/node_modules/ee-first/LICENSE +22 -0
  144. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/node_modules/ee-first/README.md +80 -0
  145. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/node_modules/ee-first/index.js +95 -0
  146. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/node_modules/ee-first/package.json +64 -0
  147. data/lib/webpack_rails/node_modules/express/node_modules/on-finished/package.json +71 -0
  148. data/lib/webpack_rails/node_modules/express/node_modules/parseurl/HISTORY.md +42 -0
  149. data/lib/webpack_rails/node_modules/express/node_modules/parseurl/LICENSE +24 -0
  150. data/lib/webpack_rails/node_modules/express/node_modules/parseurl/README.md +107 -0
  151. data/lib/webpack_rails/node_modules/express/node_modules/parseurl/index.js +136 -0
  152. data/lib/webpack_rails/node_modules/express/node_modules/parseurl/package.json +80 -0
  153. data/lib/webpack_rails/node_modules/express/node_modules/path-to-regexp/History.md +36 -0
  154. data/lib/webpack_rails/node_modules/express/node_modules/path-to-regexp/LICENSE +21 -0
  155. data/lib/webpack_rails/node_modules/express/node_modules/path-to-regexp/Readme.md +35 -0
  156. data/lib/webpack_rails/node_modules/express/node_modules/path-to-regexp/index.js +129 -0
  157. data/lib/webpack_rails/node_modules/express/node_modules/path-to-regexp/package.json +184 -0
  158. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/HISTORY.md +66 -0
  159. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/LICENSE +22 -0
  160. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/README.md +137 -0
  161. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/index.js +345 -0
  162. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/HISTORY.md +4 -0
  163. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/LICENSE +22 -0
  164. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/README.md +53 -0
  165. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/index.js +35 -0
  166. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/forwarded/package.json +65 -0
  167. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/Cakefile +18 -0
  168. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/LICENSE +19 -0
  169. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/README.md +161 -0
  170. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  171. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/lib/ipaddr.js +439 -0
  172. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/package.json +60 -0
  173. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/src/ipaddr.coffee +374 -0
  174. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/test/ipaddr.test.coffee +262 -0
  175. data/lib/webpack_rails/node_modules/express/node_modules/proxy-addr/package.json +90 -0
  176. data/lib/webpack_rails/node_modules/express/node_modules/qs/CHANGELOG.md +88 -0
  177. data/lib/webpack_rails/node_modules/express/node_modules/qs/CONTRIBUTING.md +1 -0
  178. data/lib/webpack_rails/node_modules/express/node_modules/qs/LICENSE +28 -0
  179. data/lib/webpack_rails/node_modules/express/node_modules/qs/README.md +317 -0
  180. data/lib/webpack_rails/node_modules/express/node_modules/qs/bower.json +22 -0
  181. data/lib/webpack_rails/node_modules/express/node_modules/qs/lib/index.js +15 -0
  182. data/lib/webpack_rails/node_modules/express/node_modules/qs/lib/parse.js +186 -0
  183. data/lib/webpack_rails/node_modules/express/node_modules/qs/lib/stringify.js +121 -0
  184. data/lib/webpack_rails/node_modules/express/node_modules/qs/lib/utils.js +190 -0
  185. data/lib/webpack_rails/node_modules/express/node_modules/qs/package.json +56 -0
  186. data/lib/webpack_rails/node_modules/express/node_modules/qs/test/parse.js +478 -0
  187. data/lib/webpack_rails/node_modules/express/node_modules/qs/test/stringify.js +259 -0
  188. data/lib/webpack_rails/node_modules/express/node_modules/qs/test/utils.js +28 -0
  189. data/lib/webpack_rails/node_modules/express/node_modules/range-parser/HISTORY.md +35 -0
  190. data/lib/webpack_rails/node_modules/express/node_modules/range-parser/LICENSE +22 -0
  191. data/lib/webpack_rails/node_modules/express/node_modules/range-parser/README.md +48 -0
  192. data/lib/webpack_rails/node_modules/express/node_modules/range-parser/index.js +49 -0
  193. data/lib/webpack_rails/node_modules/express/node_modules/range-parser/package.json +76 -0
  194. data/lib/webpack_rails/node_modules/express/node_modules/send/HISTORY.md +295 -0
  195. data/lib/webpack_rails/node_modules/express/node_modules/send/LICENSE +23 -0
  196. data/lib/webpack_rails/node_modules/express/node_modules/send/README.md +195 -0
  197. data/lib/webpack_rails/node_modules/express/node_modules/send/index.js +820 -0
  198. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/destroy/README.md +38 -0
  199. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/destroy/index.js +36 -0
  200. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/destroy/package.json +67 -0
  201. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/HISTORY.md +76 -0
  202. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/LICENSE +22 -0
  203. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/README.md +63 -0
  204. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/index.js +120 -0
  205. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/LICENSE +16 -0
  206. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/README.md +42 -0
  207. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/inherits.js +1 -0
  208. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/inherits_browser.js +23 -0
  209. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/package.json +50 -0
  210. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/test.js +25 -0
  211. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/http-errors/package.json +85 -0
  212. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/LICENSE +19 -0
  213. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/README.md +90 -0
  214. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/build/build.js +11 -0
  215. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/build/test.js +57 -0
  216. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/cli.js +8 -0
  217. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/mime.js +108 -0
  218. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/package.json +73 -0
  219. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/mime/types.json +1 -0
  220. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/ms/History.md +66 -0
  221. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/ms/LICENSE +20 -0
  222. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/ms/README.md +35 -0
  223. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/ms/index.js +125 -0
  224. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/ms/package.json +47 -0
  225. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/statuses/LICENSE +22 -0
  226. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/statuses/README.md +114 -0
  227. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/statuses/codes.json +64 -0
  228. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/statuses/index.js +60 -0
  229. data/lib/webpack_rails/node_modules/express/node_modules/send/node_modules/statuses/package.json +84 -0
  230. data/lib/webpack_rails/node_modules/express/node_modules/send/package.json +89 -0
  231. data/lib/webpack_rails/node_modules/express/node_modules/serve-static/HISTORY.md +284 -0
  232. data/lib/webpack_rails/node_modules/express/node_modules/serve-static/LICENSE +25 -0
  233. data/lib/webpack_rails/node_modules/express/node_modules/serve-static/README.md +235 -0
  234. data/lib/webpack_rails/node_modules/express/node_modules/serve-static/index.js +187 -0
  235. data/lib/webpack_rails/node_modules/express/node_modules/serve-static/package.json +83 -0
  236. data/lib/webpack_rails/node_modules/express/node_modules/type-is/HISTORY.md +180 -0
  237. data/lib/webpack_rails/node_modules/express/node_modules/type-is/LICENSE +23 -0
  238. data/lib/webpack_rails/node_modules/express/node_modules/type-is/README.md +132 -0
  239. data/lib/webpack_rails/node_modules/express/node_modules/type-is/index.js +262 -0
  240. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/media-typer/HISTORY.md +22 -0
  241. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/media-typer/LICENSE +22 -0
  242. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/media-typer/README.md +81 -0
  243. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/media-typer/index.js +270 -0
  244. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/media-typer/package.json +58 -0
  245. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/HISTORY.md +171 -0
  246. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/LICENSE +23 -0
  247. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/README.md +103 -0
  248. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/index.js +188 -0
  249. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/HISTORY.md +274 -0
  250. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/LICENSE +22 -0
  251. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/README.md +82 -0
  252. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/db.json +6474 -0
  253. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/index.js +11 -0
  254. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/package.json +94 -0
  255. data/lib/webpack_rails/node_modules/express/node_modules/type-is/node_modules/mime-types/package.json +84 -0
  256. data/lib/webpack_rails/node_modules/express/node_modules/type-is/package.json +93 -0
  257. data/lib/webpack_rails/node_modules/express/node_modules/utils-merge/LICENSE +20 -0
  258. data/lib/webpack_rails/node_modules/express/node_modules/utils-merge/README.md +34 -0
  259. data/lib/webpack_rails/node_modules/express/node_modules/utils-merge/index.js +23 -0
  260. data/lib/webpack_rails/node_modules/express/node_modules/utils-merge/package.json +58 -0
  261. data/lib/webpack_rails/node_modules/express/node_modules/vary/HISTORY.md +23 -0
  262. data/lib/webpack_rails/node_modules/express/node_modules/vary/LICENSE +22 -0
  263. data/lib/webpack_rails/node_modules/express/node_modules/vary/README.md +91 -0
  264. data/lib/webpack_rails/node_modules/express/node_modules/vary/index.js +117 -0
  265. data/lib/webpack_rails/node_modules/express/node_modules/vary/package.json +72 -0
  266. data/lib/webpack_rails/node_modules/express/package.json +167 -0
  267. data/lib/webpack_rails/node_modules/is-array/History.md +11 -0
  268. data/lib/webpack_rails/node_modules/is-array/Makefile +11 -0
  269. data/lib/webpack_rails/node_modules/is-array/Readme.md +27 -0
  270. data/lib/webpack_rails/node_modules/is-array/component.json +13 -0
  271. data/lib/webpack_rails/node_modules/is-array/index.js +33 -0
  272. data/lib/webpack_rails/node_modules/is-array/package.json +41 -0
  273. data/lib/webpack_rails/node_modules/is-array/test/test.html +46 -0
  274. data/lib/webpack_rails/node_modules/is-object/LICENSE +19 -0
  275. data/lib/webpack_rails/node_modules/is-object/README.md +55 -0
  276. data/lib/webpack_rails/node_modules/is-object/index.js +5 -0
  277. data/lib/webpack_rails/node_modules/is-object/package.json +91 -0
  278. data/lib/webpack_rails/node_modules/is-object/test/index.js +23 -0
  279. data/lib/webpack_rails/node_modules/is-string/CHANGELOG.md +19 -0
  280. data/lib/webpack_rails/node_modules/is-string/LICENSE +22 -0
  281. data/lib/webpack_rails/node_modules/is-string/Makefile +61 -0
  282. data/lib/webpack_rails/node_modules/is-string/README.md +57 -0
  283. data/lib/webpack_rails/node_modules/is-string/index.js +20 -0
  284. data/lib/webpack_rails/node_modules/is-string/package.json +93 -0
  285. data/lib/webpack_rails/node_modules/is-string/test.js +36 -0
  286. data/lib/webpack_rails/node_modules/js-string-escape/CHANGELOG.md +9 -0
  287. data/lib/webpack_rails/node_modules/js-string-escape/LICENSE +21 -0
  288. data/lib/webpack_rails/node_modules/js-string-escape/README.md +44 -0
  289. data/lib/webpack_rails/node_modules/js-string-escape/index.js +22 -0
  290. data/lib/webpack_rails/node_modules/js-string-escape/package.json +63 -0
  291. data/lib/webpack_rails/node_modules/js-string-escape/test/test.js +43 -0
  292. data/lib/webpack_rails/node_modules/strip-ansi/index.js +6 -0
  293. data/lib/webpack_rails/node_modules/strip-ansi/license +21 -0
  294. data/lib/webpack_rails/node_modules/strip-ansi/node_modules/ansi-regex/index.js +4 -0
  295. data/lib/webpack_rails/node_modules/strip-ansi/node_modules/ansi-regex/license +21 -0
  296. data/lib/webpack_rails/node_modules/strip-ansi/node_modules/ansi-regex/package.json +86 -0
  297. data/lib/webpack_rails/node_modules/strip-ansi/node_modules/ansi-regex/readme.md +31 -0
  298. data/lib/webpack_rails/node_modules/strip-ansi/package.json +85 -0
  299. data/lib/webpack_rails/node_modules/strip-ansi/readme.md +33 -0
  300. data/lib/webpack_rails/node_modules/webpack-hot-middleware/README.md +109 -0
  301. data/lib/webpack_rails/node_modules/webpack-hot-middleware/client-overlay.js +35 -0
  302. data/lib/webpack_rails/node_modules/webpack-hot-middleware/client.js +131 -0
  303. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/README.md +15 -0
  304. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/client.js +30 -0
  305. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/index.html +18 -0
  306. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/package.json +14 -0
  307. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/server.js +41 -0
  308. data/lib/webpack_rails/node_modules/webpack-hot-middleware/example/webpack.config.js +22 -0
  309. data/lib/webpack_rails/node_modules/webpack-hot-middleware/helpers.js +8 -0
  310. data/lib/webpack_rails/node_modules/webpack-hot-middleware/middleware.js +83 -0
  311. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/History.md +20 -0
  312. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/License.md +19 -0
  313. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/Readme.md +15 -0
  314. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/decode.js +80 -0
  315. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/encode.js +64 -0
  316. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/index.js +4 -0
  317. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/package.json +96 -0
  318. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/test/common-index.js +3 -0
  319. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/test/index.js +210 -0
  320. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/querystring/test/tap-index.js +3 -0
  321. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/cli.js +47 -0
  322. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/index.js +6 -0
  323. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/node_modules/ansi-regex/index.js +4 -0
  324. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/node_modules/ansi-regex/license +21 -0
  325. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/node_modules/ansi-regex/package.json +86 -0
  326. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/node_modules/ansi-regex/readme.md +33 -0
  327. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/package.json +89 -0
  328. data/lib/webpack_rails/node_modules/webpack-hot-middleware/node_modules/strip-ansi/readme.md +43 -0
  329. data/lib/webpack_rails/node_modules/webpack-hot-middleware/package.json +58 -0
  330. data/lib/webpack_rails/node_modules/webpack-hot-middleware/process-update.js +105 -0
  331. data/lib/webpack_rails/node_modules/webpack-hot-middleware/test/client-test.js +81 -0
  332. data/lib/webpack_rails/node_modules/webpack-hot-middleware/test/helpers-test.js +22 -0
  333. data/lib/webpack_rails/node_modules/webpack-hot-middleware/test/middleware-test.js +188 -0
  334. data/lib/webpack_rails/node_modules/webpack-hot-middleware/test/mocha.opts +1 -0
  335. data/lib/webpack_rails/node_modules/xtend/LICENCE +19 -0
  336. data/lib/webpack_rails/node_modules/xtend/Makefile +4 -0
  337. data/lib/webpack_rails/node_modules/xtend/README.md +32 -0
  338. data/lib/webpack_rails/node_modules/xtend/immutable.js +17 -0
  339. data/lib/webpack_rails/node_modules/xtend/mutable.js +15 -0
  340. data/lib/webpack_rails/node_modules/xtend/package.json +88 -0
  341. data/lib/webpack_rails/node_modules/xtend/test.js +63 -0
  342. data/lib/webpack_rails/package.json +22 -0
  343. data/lib/webpack_rails/processor.rb +28 -9
  344. data/lib/webpack_rails/require_directive_processor.rb +51 -0
  345. data/lib/webpack_rails/sprockets_environment.rb +45 -0
  346. data/lib/webpack_rails/task.rb +51 -22
  347. data/lib/webpack_rails/webpack-task-dev-server.js +122 -0
  348. data/lib/webpack_rails/{webpack-task.js → webpack-task-watch.js} +0 -0
  349. data/lib/webpack_rails/webpack.rake +5 -5
  350. data/lib/webpack_rails.rb +1 -3
  351. metadata +346 -5
  352. data/lib/webpack_rails/sprockets_base_webpack.rb +0 -14
  353. data/lib/webpack_rails/sprockets_index_webpack.rb +0 -15
@@ -0,0 +1,3025 @@
1
+ 4.13.3 / 2015-08-02
2
+ ===================
3
+
4
+ * Fix infinite loop condition using `mergeParams: true`
5
+ * Fix inner numeric indices incorrectly altering parent `req.params`
6
+
7
+ 4.13.2 / 2015-07-31
8
+ ===================
9
+
10
+ * deps: accepts@~1.2.12
11
+ - deps: mime-types@~2.1.4
12
+ * deps: array-flatten@1.1.1
13
+ - perf: enable strict mode
14
+ * deps: path-to-regexp@0.1.7
15
+ - Fix regression with escaped round brackets and matching groups
16
+ * deps: type-is@~1.6.6
17
+ - deps: mime-types@~2.1.4
18
+
19
+ 4.13.1 / 2015-07-05
20
+ ===================
21
+
22
+ * deps: accepts@~1.2.10
23
+ - deps: mime-types@~2.1.2
24
+ * deps: qs@4.0.0
25
+ - Fix dropping parameters like `hasOwnProperty`
26
+ - Fix various parsing edge cases
27
+ * deps: type-is@~1.6.4
28
+ - deps: mime-types@~2.1.2
29
+ - perf: enable strict mode
30
+ - perf: remove argument reassignment
31
+
32
+ 4.13.0 / 2015-06-20
33
+ ===================
34
+
35
+ * Add settings to debug output
36
+ * Fix `res.format` error when only `default` provided
37
+ * Fix issue where `next('route')` in `app.param` would incorrectly skip values
38
+ * Fix hiding platform issues with `decodeURIComponent`
39
+ - Only `URIError`s are a 400
40
+ * Fix using `*` before params in routes
41
+ * Fix using capture groups before params in routes
42
+ * Simplify `res.cookie` to call `res.append`
43
+ * Use `array-flatten` module for flattening arrays
44
+ * deps: accepts@~1.2.9
45
+ - deps: mime-types@~2.1.1
46
+ - perf: avoid argument reassignment & argument slice
47
+ - perf: avoid negotiator recursive construction
48
+ - perf: enable strict mode
49
+ - perf: remove unnecessary bitwise operator
50
+ * deps: cookie@0.1.3
51
+ - perf: deduce the scope of try-catch deopt
52
+ - perf: remove argument reassignments
53
+ * deps: escape-html@1.0.2
54
+ * deps: etag@~1.7.0
55
+ - Always include entity length in ETags for hash length extensions
56
+ - Generate non-Stats ETags using MD5 only (no longer CRC32)
57
+ - Improve stat performance by removing hashing
58
+ - Improve support for JXcore
59
+ - Remove base64 padding in ETags to shorten
60
+ - Support "fake" stats objects in environments without fs
61
+ - Use MD5 instead of MD4 in weak ETags over 1KB
62
+ * deps: finalhandler@0.4.0
63
+ - Fix a false-positive when unpiping in Node.js 0.8
64
+ - Support `statusCode` property on `Error` objects
65
+ - Use `unpipe` module for unpiping requests
66
+ - deps: escape-html@1.0.2
67
+ - deps: on-finished@~2.3.0
68
+ - perf: enable strict mode
69
+ - perf: remove argument reassignment
70
+ * deps: fresh@0.3.0
71
+ - Add weak `ETag` matching support
72
+ * deps: on-finished@~2.3.0
73
+ - Add defined behavior for HTTP `CONNECT` requests
74
+ - Add defined behavior for HTTP `Upgrade` requests
75
+ - deps: ee-first@1.1.1
76
+ * deps: path-to-regexp@0.1.6
77
+ * deps: send@0.13.0
78
+ - Allow Node.js HTTP server to set `Date` response header
79
+ - Fix incorrectly removing `Content-Location` on 304 response
80
+ - Improve the default redirect response headers
81
+ - Send appropriate headers on default error response
82
+ - Use `http-errors` for standard emitted errors
83
+ - Use `statuses` instead of `http` module for status messages
84
+ - deps: escape-html@1.0.2
85
+ - deps: etag@~1.7.0
86
+ - deps: fresh@0.3.0
87
+ - deps: on-finished@~2.3.0
88
+ - perf: enable strict mode
89
+ - perf: remove unnecessary array allocations
90
+ * deps: serve-static@~1.10.0
91
+ - Add `fallthrough` option
92
+ - Fix reading options from options prototype
93
+ - Improve the default redirect response headers
94
+ - Malformed URLs now `next()` instead of 400
95
+ - deps: escape-html@1.0.2
96
+ - deps: send@0.13.0
97
+ - perf: enable strict mode
98
+ - perf: remove argument reassignment
99
+ * deps: type-is@~1.6.3
100
+ - deps: mime-types@~2.1.1
101
+ - perf: reduce try block size
102
+ - perf: remove bitwise operations
103
+ * perf: enable strict mode
104
+ * perf: isolate `app.render` try block
105
+ * perf: remove argument reassignments in application
106
+ * perf: remove argument reassignments in request prototype
107
+ * perf: remove argument reassignments in response prototype
108
+ * perf: remove argument reassignments in routing
109
+ * perf: remove argument reassignments in `View`
110
+ * perf: skip attempting to decode zero length string
111
+ * perf: use saved reference to `http.STATUS_CODES`
112
+
113
+ 4.12.4 / 2015-05-17
114
+ ===================
115
+
116
+ * deps: accepts@~1.2.7
117
+ - deps: mime-types@~2.0.11
118
+ - deps: negotiator@0.5.3
119
+ * deps: debug@~2.2.0
120
+ - deps: ms@0.7.1
121
+ * deps: depd@~1.0.1
122
+ * deps: etag@~1.6.0
123
+ - Improve support for JXcore
124
+ - Support "fake" stats objects in environments without `fs`
125
+ * deps: finalhandler@0.3.6
126
+ - deps: debug@~2.2.0
127
+ - deps: on-finished@~2.2.1
128
+ * deps: on-finished@~2.2.1
129
+ - Fix `isFinished(req)` when data buffered
130
+ * deps: proxy-addr@~1.0.8
131
+ - deps: ipaddr.js@1.0.1
132
+ * deps: qs@2.4.2
133
+ - Fix allowing parameters like `constructor`
134
+ * deps: send@0.12.3
135
+ - deps: debug@~2.2.0
136
+ - deps: depd@~1.0.1
137
+ - deps: etag@~1.6.0
138
+ - deps: ms@0.7.1
139
+ - deps: on-finished@~2.2.1
140
+ * deps: serve-static@~1.9.3
141
+ - deps: send@0.12.3
142
+ * deps: type-is@~1.6.2
143
+ - deps: mime-types@~2.0.11
144
+
145
+ 4.12.3 / 2015-03-17
146
+ ===================
147
+
148
+ * deps: accepts@~1.2.5
149
+ - deps: mime-types@~2.0.10
150
+ * deps: debug@~2.1.3
151
+ - Fix high intensity foreground color for bold
152
+ - deps: ms@0.7.0
153
+ * deps: finalhandler@0.3.4
154
+ - deps: debug@~2.1.3
155
+ * deps: proxy-addr@~1.0.7
156
+ - deps: ipaddr.js@0.1.9
157
+ * deps: qs@2.4.1
158
+ - Fix error when parameter `hasOwnProperty` is present
159
+ * deps: send@0.12.2
160
+ - Throw errors early for invalid `extensions` or `index` options
161
+ - deps: debug@~2.1.3
162
+ * deps: serve-static@~1.9.2
163
+ - deps: send@0.12.2
164
+ * deps: type-is@~1.6.1
165
+ - deps: mime-types@~2.0.10
166
+
167
+ 4.12.2 / 2015-03-02
168
+ ===================
169
+
170
+ * Fix regression where `"Request aborted"` is logged using `res.sendFile`
171
+
172
+ 4.12.1 / 2015-03-01
173
+ ===================
174
+
175
+ * Fix constructing application with non-configurable prototype properties
176
+ * Fix `ECONNRESET` errors from `res.sendFile` usage
177
+ * Fix `req.host` when using "trust proxy" hops count
178
+ * Fix `req.protocol`/`req.secure` when using "trust proxy" hops count
179
+ * Fix wrong `code` on aborted connections from `res.sendFile`
180
+ * deps: merge-descriptors@1.0.0
181
+
182
+ 4.12.0 / 2015-02-23
183
+ ===================
184
+
185
+ * Fix `"trust proxy"` setting to inherit when app is mounted
186
+ * Generate `ETag`s for all request responses
187
+ - No longer restricted to only responses for `GET` and `HEAD` requests
188
+ * Use `content-type` to parse `Content-Type` headers
189
+ * deps: accepts@~1.2.4
190
+ - Fix preference sorting to be stable for long acceptable lists
191
+ - deps: mime-types@~2.0.9
192
+ - deps: negotiator@0.5.1
193
+ * deps: cookie-signature@1.0.6
194
+ * deps: send@0.12.1
195
+ - Always read the stat size from the file
196
+ - Fix mutating passed-in `options`
197
+ - deps: mime@1.3.4
198
+ * deps: serve-static@~1.9.1
199
+ - deps: send@0.12.1
200
+ * deps: type-is@~1.6.0
201
+ - fix argument reassignment
202
+ - fix false-positives in `hasBody` `Transfer-Encoding` check
203
+ - support wildcard for both type and subtype (`*/*`)
204
+ - deps: mime-types@~2.0.9
205
+
206
+ 4.11.2 / 2015-02-01
207
+ ===================
208
+
209
+ * Fix `res.redirect` double-calling `res.end` for `HEAD` requests
210
+ * deps: accepts@~1.2.3
211
+ - deps: mime-types@~2.0.8
212
+ * deps: proxy-addr@~1.0.6
213
+ - deps: ipaddr.js@0.1.8
214
+ * deps: type-is@~1.5.6
215
+ - deps: mime-types@~2.0.8
216
+
217
+ 4.11.1 / 2015-01-20
218
+ ===================
219
+
220
+ * deps: send@0.11.1
221
+ - Fix root path disclosure
222
+ * deps: serve-static@~1.8.1
223
+ - Fix redirect loop in Node.js 0.11.14
224
+ - Fix root path disclosure
225
+ - deps: send@0.11.1
226
+
227
+ 4.11.0 / 2015-01-13
228
+ ===================
229
+
230
+ * Add `res.append(field, val)` to append headers
231
+ * Deprecate leading `:` in `name` for `app.param(name, fn)`
232
+ * Deprecate `req.param()` -- use `req.params`, `req.body`, or `req.query` instead
233
+ * Deprecate `app.param(fn)`
234
+ * Fix `OPTIONS` responses to include the `HEAD` method properly
235
+ * Fix `res.sendFile` not always detecting aborted connection
236
+ * Match routes iteratively to prevent stack overflows
237
+ * deps: accepts@~1.2.2
238
+ - deps: mime-types@~2.0.7
239
+ - deps: negotiator@0.5.0
240
+ * deps: send@0.11.0
241
+ - deps: debug@~2.1.1
242
+ - deps: etag@~1.5.1
243
+ - deps: ms@0.7.0
244
+ - deps: on-finished@~2.2.0
245
+ * deps: serve-static@~1.8.0
246
+ - deps: send@0.11.0
247
+
248
+ 4.10.8 / 2015-01-13
249
+ ===================
250
+
251
+ * Fix crash from error within `OPTIONS` response handler
252
+ * deps: proxy-addr@~1.0.5
253
+ - deps: ipaddr.js@0.1.6
254
+
255
+ 4.10.7 / 2015-01-04
256
+ ===================
257
+
258
+ * Fix `Allow` header for `OPTIONS` to not contain duplicate methods
259
+ * Fix incorrect "Request aborted" for `res.sendFile` when `HEAD` or 304
260
+ * deps: debug@~2.1.1
261
+ * deps: finalhandler@0.3.3
262
+ - deps: debug@~2.1.1
263
+ - deps: on-finished@~2.2.0
264
+ * deps: methods@~1.1.1
265
+ * deps: on-finished@~2.2.0
266
+ * deps: serve-static@~1.7.2
267
+ - Fix potential open redirect when mounted at root
268
+ * deps: type-is@~1.5.5
269
+ - deps: mime-types@~2.0.7
270
+
271
+ 4.10.6 / 2014-12-12
272
+ ===================
273
+
274
+ * Fix exception in `req.fresh`/`req.stale` without response headers
275
+
276
+ 4.10.5 / 2014-12-10
277
+ ===================
278
+
279
+ * Fix `res.send` double-calling `res.end` for `HEAD` requests
280
+ * deps: accepts@~1.1.4
281
+ - deps: mime-types@~2.0.4
282
+ * deps: type-is@~1.5.4
283
+ - deps: mime-types@~2.0.4
284
+
285
+ 4.10.4 / 2014-11-24
286
+ ===================
287
+
288
+ * Fix `res.sendfile` logging standard write errors
289
+
290
+ 4.10.3 / 2014-11-23
291
+ ===================
292
+
293
+ * Fix `res.sendFile` logging standard write errors
294
+ * deps: etag@~1.5.1
295
+ * deps: proxy-addr@~1.0.4
296
+ - deps: ipaddr.js@0.1.5
297
+ * deps: qs@2.3.3
298
+ - Fix `arrayLimit` behavior
299
+
300
+ 4.10.2 / 2014-11-09
301
+ ===================
302
+
303
+ * Correctly invoke async router callback asynchronously
304
+ * deps: accepts@~1.1.3
305
+ - deps: mime-types@~2.0.3
306
+ * deps: type-is@~1.5.3
307
+ - deps: mime-types@~2.0.3
308
+
309
+ 4.10.1 / 2014-10-28
310
+ ===================
311
+
312
+ * Fix handling of URLs containing `://` in the path
313
+ * deps: qs@2.3.2
314
+ - Fix parsing of mixed objects and values
315
+
316
+ 4.10.0 / 2014-10-23
317
+ ===================
318
+
319
+ * Add support for `app.set('views', array)`
320
+ - Views are looked up in sequence in array of directories
321
+ * Fix `res.send(status)` to mention `res.sendStatus(status)`
322
+ * Fix handling of invalid empty URLs
323
+ * Use `content-disposition` module for `res.attachment`/`res.download`
324
+ - Sends standards-compliant `Content-Disposition` header
325
+ - Full Unicode support
326
+ * Use `path.resolve` in view lookup
327
+ * deps: debug@~2.1.0
328
+ - Implement `DEBUG_FD` env variable support
329
+ * deps: depd@~1.0.0
330
+ * deps: etag@~1.5.0
331
+ - Improve string performance
332
+ - Slightly improve speed for weak ETags over 1KB
333
+ * deps: finalhandler@0.3.2
334
+ - Terminate in progress response only on error
335
+ - Use `on-finished` to determine request status
336
+ - deps: debug@~2.1.0
337
+ - deps: on-finished@~2.1.1
338
+ * deps: on-finished@~2.1.1
339
+ - Fix handling of pipelined requests
340
+ * deps: qs@2.3.0
341
+ - Fix parsing of mixed implicit and explicit arrays
342
+ * deps: send@0.10.1
343
+ - deps: debug@~2.1.0
344
+ - deps: depd@~1.0.0
345
+ - deps: etag@~1.5.0
346
+ - deps: on-finished@~2.1.1
347
+ * deps: serve-static@~1.7.1
348
+ - deps: send@0.10.1
349
+
350
+ 4.9.8 / 2014-10-17
351
+ ==================
352
+
353
+ * Fix `res.redirect` body when redirect status specified
354
+ * deps: accepts@~1.1.2
355
+ - Fix error when media type has invalid parameter
356
+ - deps: negotiator@0.4.9
357
+
358
+ 4.9.7 / 2014-10-10
359
+ ==================
360
+
361
+ * Fix using same param name in array of paths
362
+
363
+ 4.9.6 / 2014-10-08
364
+ ==================
365
+
366
+ * deps: accepts@~1.1.1
367
+ - deps: mime-types@~2.0.2
368
+ - deps: negotiator@0.4.8
369
+ * deps: serve-static@~1.6.4
370
+ - Fix redirect loop when index file serving disabled
371
+ * deps: type-is@~1.5.2
372
+ - deps: mime-types@~2.0.2
373
+
374
+ 4.9.5 / 2014-09-24
375
+ ==================
376
+
377
+ * deps: etag@~1.4.0
378
+ * deps: proxy-addr@~1.0.3
379
+ - Use `forwarded` npm module
380
+ * deps: send@0.9.3
381
+ - deps: etag@~1.4.0
382
+ * deps: serve-static@~1.6.3
383
+ - deps: send@0.9.3
384
+
385
+ 4.9.4 / 2014-09-19
386
+ ==================
387
+
388
+ * deps: qs@2.2.4
389
+ - Fix issue with object keys starting with numbers truncated
390
+
391
+ 4.9.3 / 2014-09-18
392
+ ==================
393
+
394
+ * deps: proxy-addr@~1.0.2
395
+ - Fix a global leak when multiple subnets are trusted
396
+ - deps: ipaddr.js@0.1.3
397
+
398
+ 4.9.2 / 2014-09-17
399
+ ==================
400
+
401
+ * Fix regression for empty string `path` in `app.use`
402
+ * Fix `router.use` to accept array of middleware without path
403
+ * Improve error message for bad `app.use` arguments
404
+
405
+ 4.9.1 / 2014-09-16
406
+ ==================
407
+
408
+ * Fix `app.use` to accept array of middleware without path
409
+ * deps: depd@0.4.5
410
+ * deps: etag@~1.3.1
411
+ * deps: send@0.9.2
412
+ - deps: depd@0.4.5
413
+ - deps: etag@~1.3.1
414
+ - deps: range-parser@~1.0.2
415
+ * deps: serve-static@~1.6.2
416
+ - deps: send@0.9.2
417
+
418
+ 4.9.0 / 2014-09-08
419
+ ==================
420
+
421
+ * Add `res.sendStatus`
422
+ * Invoke callback for sendfile when client aborts
423
+ - Applies to `res.sendFile`, `res.sendfile`, and `res.download`
424
+ - `err` will be populated with request aborted error
425
+ * Support IP address host in `req.subdomains`
426
+ * Use `etag` to generate `ETag` headers
427
+ * deps: accepts@~1.1.0
428
+ - update `mime-types`
429
+ * deps: cookie-signature@1.0.5
430
+ * deps: debug@~2.0.0
431
+ * deps: finalhandler@0.2.0
432
+ - Set `X-Content-Type-Options: nosniff` header
433
+ - deps: debug@~2.0.0
434
+ * deps: fresh@0.2.4
435
+ * deps: media-typer@0.3.0
436
+ - Throw error when parameter format invalid on parse
437
+ * deps: qs@2.2.3
438
+ - Fix issue where first empty value in array is discarded
439
+ * deps: range-parser@~1.0.2
440
+ * deps: send@0.9.1
441
+ - Add `lastModified` option
442
+ - Use `etag` to generate `ETag` header
443
+ - deps: debug@~2.0.0
444
+ - deps: fresh@0.2.4
445
+ * deps: serve-static@~1.6.1
446
+ - Add `lastModified` option
447
+ - deps: send@0.9.1
448
+ * deps: type-is@~1.5.1
449
+ - fix `hasbody` to be true for `content-length: 0`
450
+ - deps: media-typer@0.3.0
451
+ - deps: mime-types@~2.0.1
452
+ * deps: vary@~1.0.0
453
+ - Accept valid `Vary` header string as `field`
454
+
455
+ 4.8.8 / 2014-09-04
456
+ ==================
457
+
458
+ * deps: send@0.8.5
459
+ - Fix a path traversal issue when using `root`
460
+ - Fix malicious path detection for empty string path
461
+ * deps: serve-static@~1.5.4
462
+ - deps: send@0.8.5
463
+
464
+ 4.8.7 / 2014-08-29
465
+ ==================
466
+
467
+ * deps: qs@2.2.2
468
+ - Remove unnecessary cloning
469
+
470
+ 4.8.6 / 2014-08-27
471
+ ==================
472
+
473
+ * deps: qs@2.2.0
474
+ - Array parsing fix
475
+ - Performance improvements
476
+
477
+ 4.8.5 / 2014-08-18
478
+ ==================
479
+
480
+ * deps: send@0.8.3
481
+ - deps: destroy@1.0.3
482
+ - deps: on-finished@2.1.0
483
+ * deps: serve-static@~1.5.3
484
+ - deps: send@0.8.3
485
+
486
+ 4.8.4 / 2014-08-14
487
+ ==================
488
+
489
+ * deps: qs@1.2.2
490
+ * deps: send@0.8.2
491
+ - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream`
492
+ * deps: serve-static@~1.5.2
493
+ - deps: send@0.8.2
494
+
495
+ 4.8.3 / 2014-08-10
496
+ ==================
497
+
498
+ * deps: parseurl@~1.3.0
499
+ * deps: qs@1.2.1
500
+ * deps: serve-static@~1.5.1
501
+ - Fix parsing of weird `req.originalUrl` values
502
+ - deps: parseurl@~1.3.0
503
+ - deps: utils-merge@1.0.0
504
+
505
+ 4.8.2 / 2014-08-07
506
+ ==================
507
+
508
+ * deps: qs@1.2.0
509
+ - Fix parsing array of objects
510
+
511
+ 4.8.1 / 2014-08-06
512
+ ==================
513
+
514
+ * fix incorrect deprecation warnings on `res.download`
515
+ * deps: qs@1.1.0
516
+ - Accept urlencoded square brackets
517
+ - Accept empty values in implicit array notation
518
+
519
+ 4.8.0 / 2014-08-05
520
+ ==================
521
+
522
+ * add `res.sendFile`
523
+ - accepts a file system path instead of a URL
524
+ - requires an absolute path or `root` option specified
525
+ * deprecate `res.sendfile` -- use `res.sendFile` instead
526
+ * support mounted app as any argument to `app.use()`
527
+ * deps: qs@1.0.2
528
+ - Complete rewrite
529
+ - Limits array length to 20
530
+ - Limits object depth to 5
531
+ - Limits parameters to 1,000
532
+ * deps: send@0.8.1
533
+ - Add `extensions` option
534
+ * deps: serve-static@~1.5.0
535
+ - Add `extensions` option
536
+ - deps: send@0.8.1
537
+
538
+ 4.7.4 / 2014-08-04
539
+ ==================
540
+
541
+ * fix `res.sendfile` regression for serving directory index files
542
+ * deps: send@0.7.4
543
+ - Fix incorrect 403 on Windows and Node.js 0.11
544
+ - Fix serving index files without root dir
545
+ * deps: serve-static@~1.4.4
546
+ - deps: send@0.7.4
547
+
548
+ 4.7.3 / 2014-08-04
549
+ ==================
550
+
551
+ * deps: send@0.7.3
552
+ - Fix incorrect 403 on Windows and Node.js 0.11
553
+ * deps: serve-static@~1.4.3
554
+ - Fix incorrect 403 on Windows and Node.js 0.11
555
+ - deps: send@0.7.3
556
+
557
+ 4.7.2 / 2014-07-27
558
+ ==================
559
+
560
+ * deps: depd@0.4.4
561
+ - Work-around v8 generating empty stack traces
562
+ * deps: send@0.7.2
563
+ - deps: depd@0.4.4
564
+ * deps: serve-static@~1.4.2
565
+
566
+ 4.7.1 / 2014-07-26
567
+ ==================
568
+
569
+ * deps: depd@0.4.3
570
+ - Fix exception when global `Error.stackTraceLimit` is too low
571
+ * deps: send@0.7.1
572
+ - deps: depd@0.4.3
573
+ * deps: serve-static@~1.4.1
574
+
575
+ 4.7.0 / 2014-07-25
576
+ ==================
577
+
578
+ * fix `req.protocol` for proxy-direct connections
579
+ * configurable query parser with `app.set('query parser', parser)`
580
+ - `app.set('query parser', 'extended')` parse with "qs" module
581
+ - `app.set('query parser', 'simple')` parse with "querystring" core module
582
+ - `app.set('query parser', false)` disable query string parsing
583
+ - `app.set('query parser', true)` enable simple parsing
584
+ * deprecate `res.json(status, obj)` -- use `res.status(status).json(obj)` instead
585
+ * deprecate `res.jsonp(status, obj)` -- use `res.status(status).jsonp(obj)` instead
586
+ * deprecate `res.send(status, body)` -- use `res.status(status).send(body)` instead
587
+ * deps: debug@1.0.4
588
+ * deps: depd@0.4.2
589
+ - Add `TRACE_DEPRECATION` environment variable
590
+ - Remove non-standard grey color from color output
591
+ - Support `--no-deprecation` argument
592
+ - Support `--trace-deprecation` argument
593
+ * deps: finalhandler@0.1.0
594
+ - Respond after request fully read
595
+ - deps: debug@1.0.4
596
+ * deps: parseurl@~1.2.0
597
+ - Cache URLs based on original value
598
+ - Remove no-longer-needed URL mis-parse work-around
599
+ - Simplify the "fast-path" `RegExp`
600
+ * deps: send@0.7.0
601
+ - Add `dotfiles` option
602
+ - Cap `maxAge` value to 1 year
603
+ - deps: debug@1.0.4
604
+ - deps: depd@0.4.2
605
+ * deps: serve-static@~1.4.0
606
+ - deps: parseurl@~1.2.0
607
+ - deps: send@0.7.0
608
+ * perf: prevent multiple `Buffer` creation in `res.send`
609
+
610
+ 4.6.1 / 2014-07-12
611
+ ==================
612
+
613
+ * fix `subapp.mountpath` regression for `app.use(subapp)`
614
+
615
+ 4.6.0 / 2014-07-11
616
+ ==================
617
+
618
+ * accept multiple callbacks to `app.use()`
619
+ * add explicit "Rosetta Flash JSONP abuse" protection
620
+ - previous versions are not vulnerable; this is just explicit protection
621
+ * catch errors in multiple `req.param(name, fn)` handlers
622
+ * deprecate `res.redirect(url, status)` -- use `res.redirect(status, url)` instead
623
+ * fix `res.send(status, num)` to send `num` as json (not error)
624
+ * remove unnecessary escaping when `res.jsonp` returns JSON response
625
+ * support non-string `path` in `app.use(path, fn)`
626
+ - supports array of paths
627
+ - supports `RegExp`
628
+ * router: fix optimization on router exit
629
+ * router: refactor location of `try` blocks
630
+ * router: speed up standard `app.use(fn)`
631
+ * deps: debug@1.0.3
632
+ - Add support for multiple wildcards in namespaces
633
+ * deps: finalhandler@0.0.3
634
+ - deps: debug@1.0.3
635
+ * deps: methods@1.1.0
636
+ - add `CONNECT`
637
+ * deps: parseurl@~1.1.3
638
+ - faster parsing of href-only URLs
639
+ * deps: path-to-regexp@0.1.3
640
+ * deps: send@0.6.0
641
+ - deps: debug@1.0.3
642
+ * deps: serve-static@~1.3.2
643
+ - deps: parseurl@~1.1.3
644
+ - deps: send@0.6.0
645
+ * perf: fix arguments reassign deopt in some `res` methods
646
+
647
+ 4.5.1 / 2014-07-06
648
+ ==================
649
+
650
+ * fix routing regression when altering `req.method`
651
+
652
+ 4.5.0 / 2014-07-04
653
+ ==================
654
+
655
+ * add deprecation message to non-plural `req.accepts*`
656
+ * add deprecation message to `res.send(body, status)`
657
+ * add deprecation message to `res.vary()`
658
+ * add `headers` option to `res.sendfile`
659
+ - use to set headers on successful file transfer
660
+ * add `mergeParams` option to `Router`
661
+ - merges `req.params` from parent routes
662
+ * add `req.hostname` -- correct name for what `req.host` returns
663
+ * deprecate things with `depd` module
664
+ * deprecate `req.host` -- use `req.hostname` instead
665
+ * fix behavior when handling request without routes
666
+ * fix handling when `route.all` is only route
667
+ * invoke `router.param()` only when route matches
668
+ * restore `req.params` after invoking router
669
+ * use `finalhandler` for final response handling
670
+ * use `media-typer` to alter content-type charset
671
+ * deps: accepts@~1.0.7
672
+ * deps: send@0.5.0
673
+ - Accept string for `maxage` (converted by `ms`)
674
+ - Include link in default redirect response
675
+ * deps: serve-static@~1.3.0
676
+ - Accept string for `maxAge` (converted by `ms`)
677
+ - Add `setHeaders` option
678
+ - Include HTML link in redirect response
679
+ - deps: send@0.5.0
680
+ * deps: type-is@~1.3.2
681
+
682
+ 4.4.5 / 2014-06-26
683
+ ==================
684
+
685
+ * deps: cookie-signature@1.0.4
686
+ - fix for timing attacks
687
+
688
+ 4.4.4 / 2014-06-20
689
+ ==================
690
+
691
+ * fix `res.attachment` Unicode filenames in Safari
692
+ * fix "trim prefix" debug message in `express:router`
693
+ * deps: accepts@~1.0.5
694
+ * deps: buffer-crc32@0.2.3
695
+
696
+ 4.4.3 / 2014-06-11
697
+ ==================
698
+
699
+ * fix persistence of modified `req.params[name]` from `app.param()`
700
+ * deps: accepts@1.0.3
701
+ - deps: negotiator@0.4.6
702
+ * deps: debug@1.0.2
703
+ * deps: send@0.4.3
704
+ - Do not throw un-catchable error on file open race condition
705
+ - Use `escape-html` for HTML escaping
706
+ - deps: debug@1.0.2
707
+ - deps: finished@1.2.2
708
+ - deps: fresh@0.2.2
709
+ * deps: serve-static@1.2.3
710
+ - Do not throw un-catchable error on file open race condition
711
+ - deps: send@0.4.3
712
+
713
+ 4.4.2 / 2014-06-09
714
+ ==================
715
+
716
+ * fix catching errors from top-level handlers
717
+ * use `vary` module for `res.vary`
718
+ * deps: debug@1.0.1
719
+ * deps: proxy-addr@1.0.1
720
+ * deps: send@0.4.2
721
+ - fix "event emitter leak" warnings
722
+ - deps: debug@1.0.1
723
+ - deps: finished@1.2.1
724
+ * deps: serve-static@1.2.2
725
+ - fix "event emitter leak" warnings
726
+ - deps: send@0.4.2
727
+ * deps: type-is@1.2.1
728
+
729
+ 4.4.1 / 2014-06-02
730
+ ==================
731
+
732
+ * deps: methods@1.0.1
733
+ * deps: send@0.4.1
734
+ - Send `max-age` in `Cache-Control` in correct format
735
+ * deps: serve-static@1.2.1
736
+ - use `escape-html` for escaping
737
+ - deps: send@0.4.1
738
+
739
+ 4.4.0 / 2014-05-30
740
+ ==================
741
+
742
+ * custom etag control with `app.set('etag', val)`
743
+ - `app.set('etag', function(body, encoding){ return '"etag"' })` custom etag generation
744
+ - `app.set('etag', 'weak')` weak tag
745
+ - `app.set('etag', 'strong')` strong etag
746
+ - `app.set('etag', false)` turn off
747
+ - `app.set('etag', true)` standard etag
748
+ * mark `res.send` ETag as weak and reduce collisions
749
+ * update accepts to 1.0.2
750
+ - Fix interpretation when header not in request
751
+ * update send to 0.4.0
752
+ - Calculate ETag with md5 for reduced collisions
753
+ - Ignore stream errors after request ends
754
+ - deps: debug@0.8.1
755
+ * update serve-static to 1.2.0
756
+ - Calculate ETag with md5 for reduced collisions
757
+ - Ignore stream errors after request ends
758
+ - deps: send@0.4.0
759
+
760
+ 4.3.2 / 2014-05-28
761
+ ==================
762
+
763
+ * fix handling of errors from `router.param()` callbacks
764
+
765
+ 4.3.1 / 2014-05-23
766
+ ==================
767
+
768
+ * revert "fix behavior of multiple `app.VERB` for the same path"
769
+ - this caused a regression in the order of route execution
770
+
771
+ 4.3.0 / 2014-05-21
772
+ ==================
773
+
774
+ * add `req.baseUrl` to access the path stripped from `req.url` in routes
775
+ * fix behavior of multiple `app.VERB` for the same path
776
+ * fix issue routing requests among sub routers
777
+ * invoke `router.param()` only when necessary instead of every match
778
+ * proper proxy trust with `app.set('trust proxy', trust)`
779
+ - `app.set('trust proxy', 1)` trust first hop
780
+ - `app.set('trust proxy', 'loopback')` trust loopback addresses
781
+ - `app.set('trust proxy', '10.0.0.1')` trust single IP
782
+ - `app.set('trust proxy', '10.0.0.1/16')` trust subnet
783
+ - `app.set('trust proxy', '10.0.0.1, 10.0.0.2')` trust list
784
+ - `app.set('trust proxy', false)` turn off
785
+ - `app.set('trust proxy', true)` trust everything
786
+ * set proper `charset` in `Content-Type` for `res.send`
787
+ * update type-is to 1.2.0
788
+ - support suffix matching
789
+
790
+ 4.2.0 / 2014-05-11
791
+ ==================
792
+
793
+ * deprecate `app.del()` -- use `app.delete()` instead
794
+ * deprecate `res.json(obj, status)` -- use `res.json(status, obj)` instead
795
+ - the edge-case `res.json(status, num)` requires `res.status(status).json(num)`
796
+ * deprecate `res.jsonp(obj, status)` -- use `res.jsonp(status, obj)` instead
797
+ - the edge-case `res.jsonp(status, num)` requires `res.status(status).jsonp(num)`
798
+ * fix `req.next` when inside router instance
799
+ * include `ETag` header in `HEAD` requests
800
+ * keep previous `Content-Type` for `res.jsonp`
801
+ * support PURGE method
802
+ - add `app.purge`
803
+ - add `router.purge`
804
+ - include PURGE in `app.all`
805
+ * update debug to 0.8.0
806
+ - add `enable()` method
807
+ - change from stderr to stdout
808
+ * update methods to 1.0.0
809
+ - add PURGE
810
+
811
+ 4.1.2 / 2014-05-08
812
+ ==================
813
+
814
+ * fix `req.host` for IPv6 literals
815
+ * fix `res.jsonp` error if callback param is object
816
+
817
+ 4.1.1 / 2014-04-27
818
+ ==================
819
+
820
+ * fix package.json to reflect supported node version
821
+
822
+ 4.1.0 / 2014-04-24
823
+ ==================
824
+
825
+ * pass options from `res.sendfile` to `send`
826
+ * preserve casing of headers in `res.header` and `res.set`
827
+ * support unicode file names in `res.attachment` and `res.download`
828
+ * update accepts to 1.0.1
829
+ - deps: negotiator@0.4.0
830
+ * update cookie to 0.1.2
831
+ - Fix for maxAge == 0
832
+ - made compat with expires field
833
+ * update send to 0.3.0
834
+ - Accept API options in options object
835
+ - Coerce option types
836
+ - Control whether to generate etags
837
+ - Default directory access to 403 when index disabled
838
+ - Fix sending files with dots without root set
839
+ - Include file path in etag
840
+ - Make "Can't set headers after they are sent." catchable
841
+ - Send full entity-body for multi range requests
842
+ - Set etags to "weak"
843
+ - Support "If-Range" header
844
+ - Support multiple index paths
845
+ - deps: mime@1.2.11
846
+ * update serve-static to 1.1.0
847
+ - Accept options directly to `send` module
848
+ - Resolve relative paths at middleware setup
849
+ - Use parseurl to parse the URL from request
850
+ - deps: send@0.3.0
851
+ * update type-is to 1.1.0
852
+ - add non-array values support
853
+ - add `multipart` as a shorthand
854
+
855
+ 4.0.0 / 2014-04-09
856
+ ==================
857
+
858
+ * remove:
859
+ - node 0.8 support
860
+ - connect and connect's patches except for charset handling
861
+ - express(1) - moved to [express-generator](https://github.com/expressjs/generator)
862
+ - `express.createServer()` - it has been deprecated for a long time. Use `express()`
863
+ - `app.configure` - use logic in your own app code
864
+ - `app.router` - is removed
865
+ - `req.auth` - use `basic-auth` instead
866
+ - `req.accepted*` - use `req.accepts*()` instead
867
+ - `res.location` - relative URL resolution is removed
868
+ - `res.charset` - include the charset in the content type when using `res.set()`
869
+ - all bundled middleware except `static`
870
+ * change:
871
+ - `app.route` -> `app.mountpath` when mounting an express app in another express app
872
+ - `json spaces` no longer enabled by default in development
873
+ - `req.accepts*` -> `req.accepts*s` - i.e. `req.acceptsEncoding` -> `req.acceptsEncodings`
874
+ - `req.params` is now an object instead of an array
875
+ - `res.locals` is no longer a function. It is a plain js object. Treat it as such.
876
+ - `res.headerSent` -> `res.headersSent` to match node.js ServerResponse object
877
+ * refactor:
878
+ - `req.accepts*` with [accepts](https://github.com/expressjs/accepts)
879
+ - `req.is` with [type-is](https://github.com/expressjs/type-is)
880
+ - [path-to-regexp](https://github.com/component/path-to-regexp)
881
+ * add:
882
+ - `app.router()` - returns the app Router instance
883
+ - `app.route()` - Proxy to the app's `Router#route()` method to create a new route
884
+ - Router & Route - public API
885
+
886
+ 3.21.2 / 2015-07-31
887
+ ===================
888
+
889
+ * deps: connect@2.30.2
890
+ - deps: body-parser@~1.13.3
891
+ - deps: compression@~1.5.2
892
+ - deps: errorhandler@~1.4.2
893
+ - deps: method-override@~2.3.5
894
+ - deps: serve-index@~1.7.2
895
+ - deps: type-is@~1.6.6
896
+ - deps: vhost@~3.0.1
897
+ * deps: vary@~1.0.1
898
+ - Fix setting empty header from empty `field`
899
+ - perf: enable strict mode
900
+ - perf: remove argument reassignments
901
+
902
+ 3.21.1 / 2015-07-05
903
+ ===================
904
+
905
+ * deps: basic-auth@~1.0.3
906
+ * deps: connect@2.30.1
907
+ - deps: body-parser@~1.13.2
908
+ - deps: compression@~1.5.1
909
+ - deps: errorhandler@~1.4.1
910
+ - deps: morgan@~1.6.1
911
+ - deps: pause@0.1.0
912
+ - deps: qs@4.0.0
913
+ - deps: serve-index@~1.7.1
914
+ - deps: type-is@~1.6.4
915
+
916
+ 3.21.0 / 2015-06-18
917
+ ===================
918
+
919
+ * deps: basic-auth@1.0.2
920
+ - perf: enable strict mode
921
+ - perf: hoist regular expression
922
+ - perf: parse with regular expressions
923
+ - perf: remove argument reassignment
924
+ * deps: connect@2.30.0
925
+ - deps: body-parser@~1.13.1
926
+ - deps: bytes@2.1.0
927
+ - deps: compression@~1.5.0
928
+ - deps: cookie@0.1.3
929
+ - deps: cookie-parser@~1.3.5
930
+ - deps: csurf@~1.8.3
931
+ - deps: errorhandler@~1.4.0
932
+ - deps: express-session@~1.11.3
933
+ - deps: finalhandler@0.4.0
934
+ - deps: fresh@0.3.0
935
+ - deps: morgan@~1.6.0
936
+ - deps: serve-favicon@~2.3.0
937
+ - deps: serve-index@~1.7.0
938
+ - deps: serve-static@~1.10.0
939
+ - deps: type-is@~1.6.3
940
+ * deps: cookie@0.1.3
941
+ - perf: deduce the scope of try-catch deopt
942
+ - perf: remove argument reassignments
943
+ * deps: escape-html@1.0.2
944
+ * deps: etag@~1.7.0
945
+ - Always include entity length in ETags for hash length extensions
946
+ - Generate non-Stats ETags using MD5 only (no longer CRC32)
947
+ - Improve stat performance by removing hashing
948
+ - Improve support for JXcore
949
+ - Remove base64 padding in ETags to shorten
950
+ - Support "fake" stats objects in environments without fs
951
+ - Use MD5 instead of MD4 in weak ETags over 1KB
952
+ * deps: fresh@0.3.0
953
+ - Add weak `ETag` matching support
954
+ * deps: mkdirp@0.5.1
955
+ - Work in global strict mode
956
+ * deps: send@0.13.0
957
+ - Allow Node.js HTTP server to set `Date` response header
958
+ - Fix incorrectly removing `Content-Location` on 304 response
959
+ - Improve the default redirect response headers
960
+ - Send appropriate headers on default error response
961
+ - Use `http-errors` for standard emitted errors
962
+ - Use `statuses` instead of `http` module for status messages
963
+ - deps: escape-html@1.0.2
964
+ - deps: etag@~1.7.0
965
+ - deps: fresh@0.3.0
966
+ - deps: on-finished@~2.3.0
967
+ - perf: enable strict mode
968
+ - perf: remove unnecessary array allocations
969
+
970
+ 3.20.3 / 2015-05-17
971
+ ===================
972
+
973
+ * deps: connect@2.29.2
974
+ - deps: body-parser@~1.12.4
975
+ - deps: compression@~1.4.4
976
+ - deps: connect-timeout@~1.6.2
977
+ - deps: debug@~2.2.0
978
+ - deps: depd@~1.0.1
979
+ - deps: errorhandler@~1.3.6
980
+ - deps: finalhandler@0.3.6
981
+ - deps: method-override@~2.3.3
982
+ - deps: morgan@~1.5.3
983
+ - deps: qs@2.4.2
984
+ - deps: response-time@~2.3.1
985
+ - deps: serve-favicon@~2.2.1
986
+ - deps: serve-index@~1.6.4
987
+ - deps: serve-static@~1.9.3
988
+ - deps: type-is@~1.6.2
989
+ * deps: debug@~2.2.0
990
+ - deps: ms@0.7.1
991
+ * deps: depd@~1.0.1
992
+ * deps: proxy-addr@~1.0.8
993
+ - deps: ipaddr.js@1.0.1
994
+ * deps: send@0.12.3
995
+ - deps: debug@~2.2.0
996
+ - deps: depd@~1.0.1
997
+ - deps: etag@~1.6.0
998
+ - deps: ms@0.7.1
999
+ - deps: on-finished@~2.2.1
1000
+
1001
+ 3.20.2 / 2015-03-16
1002
+ ===================
1003
+
1004
+ * deps: connect@2.29.1
1005
+ - deps: body-parser@~1.12.2
1006
+ - deps: compression@~1.4.3
1007
+ - deps: connect-timeout@~1.6.1
1008
+ - deps: debug@~2.1.3
1009
+ - deps: errorhandler@~1.3.5
1010
+ - deps: express-session@~1.10.4
1011
+ - deps: finalhandler@0.3.4
1012
+ - deps: method-override@~2.3.2
1013
+ - deps: morgan@~1.5.2
1014
+ - deps: qs@2.4.1
1015
+ - deps: serve-index@~1.6.3
1016
+ - deps: serve-static@~1.9.2
1017
+ - deps: type-is@~1.6.1
1018
+ * deps: debug@~2.1.3
1019
+ - Fix high intensity foreground color for bold
1020
+ - deps: ms@0.7.0
1021
+ * deps: merge-descriptors@1.0.0
1022
+ * deps: proxy-addr@~1.0.7
1023
+ - deps: ipaddr.js@0.1.9
1024
+ * deps: send@0.12.2
1025
+ - Throw errors early for invalid `extensions` or `index` options
1026
+ - deps: debug@~2.1.3
1027
+
1028
+ 3.20.1 / 2015-02-28
1029
+ ===================
1030
+
1031
+ * Fix `req.host` when using "trust proxy" hops count
1032
+ * Fix `req.protocol`/`req.secure` when using "trust proxy" hops count
1033
+
1034
+ 3.20.0 / 2015-02-18
1035
+ ===================
1036
+
1037
+ * Fix `"trust proxy"` setting to inherit when app is mounted
1038
+ * Generate `ETag`s for all request responses
1039
+ - No longer restricted to only responses for `GET` and `HEAD` requests
1040
+ * Use `content-type` to parse `Content-Type` headers
1041
+ * deps: connect@2.29.0
1042
+ - Use `content-type` to parse `Content-Type` headers
1043
+ - deps: body-parser@~1.12.0
1044
+ - deps: compression@~1.4.1
1045
+ - deps: connect-timeout@~1.6.0
1046
+ - deps: cookie-parser@~1.3.4
1047
+ - deps: cookie-signature@1.0.6
1048
+ - deps: csurf@~1.7.0
1049
+ - deps: errorhandler@~1.3.4
1050
+ - deps: express-session@~1.10.3
1051
+ - deps: http-errors@~1.3.1
1052
+ - deps: response-time@~2.3.0
1053
+ - deps: serve-index@~1.6.2
1054
+ - deps: serve-static@~1.9.1
1055
+ - deps: type-is@~1.6.0
1056
+ * deps: cookie-signature@1.0.6
1057
+ * deps: send@0.12.1
1058
+ - Always read the stat size from the file
1059
+ - Fix mutating passed-in `options`
1060
+ - deps: mime@1.3.4
1061
+
1062
+ 3.19.2 / 2015-02-01
1063
+ ===================
1064
+
1065
+ * deps: connect@2.28.3
1066
+ - deps: compression@~1.3.1
1067
+ - deps: csurf@~1.6.6
1068
+ - deps: errorhandler@~1.3.3
1069
+ - deps: express-session@~1.10.2
1070
+ - deps: serve-index@~1.6.1
1071
+ - deps: type-is@~1.5.6
1072
+ * deps: proxy-addr@~1.0.6
1073
+ - deps: ipaddr.js@0.1.8
1074
+
1075
+ 3.19.1 / 2015-01-20
1076
+ ===================
1077
+
1078
+ * deps: connect@2.28.2
1079
+ - deps: body-parser@~1.10.2
1080
+ - deps: serve-static@~1.8.1
1081
+ * deps: send@0.11.1
1082
+ - Fix root path disclosure
1083
+
1084
+ 3.19.0 / 2015-01-09
1085
+ ===================
1086
+
1087
+ * Fix `OPTIONS` responses to include the `HEAD` method property
1088
+ * Use `readline` for prompt in `express(1)`
1089
+ * deps: commander@2.6.0
1090
+ * deps: connect@2.28.1
1091
+ - deps: body-parser@~1.10.1
1092
+ - deps: compression@~1.3.0
1093
+ - deps: connect-timeout@~1.5.0
1094
+ - deps: csurf@~1.6.4
1095
+ - deps: debug@~2.1.1
1096
+ - deps: errorhandler@~1.3.2
1097
+ - deps: express-session@~1.10.1
1098
+ - deps: finalhandler@0.3.3
1099
+ - deps: method-override@~2.3.1
1100
+ - deps: morgan@~1.5.1
1101
+ - deps: serve-favicon@~2.2.0
1102
+ - deps: serve-index@~1.6.0
1103
+ - deps: serve-static@~1.8.0
1104
+ - deps: type-is@~1.5.5
1105
+ * deps: debug@~2.1.1
1106
+ * deps: methods@~1.1.1
1107
+ * deps: proxy-addr@~1.0.5
1108
+ - deps: ipaddr.js@0.1.6
1109
+ * deps: send@0.11.0
1110
+ - deps: debug@~2.1.1
1111
+ - deps: etag@~1.5.1
1112
+ - deps: ms@0.7.0
1113
+ - deps: on-finished@~2.2.0
1114
+
1115
+ 3.18.6 / 2014-12-12
1116
+ ===================
1117
+
1118
+ * Fix exception in `req.fresh`/`req.stale` without response headers
1119
+
1120
+ 3.18.5 / 2014-12-11
1121
+ ===================
1122
+
1123
+ * deps: connect@2.27.6
1124
+ - deps: compression@~1.2.2
1125
+ - deps: express-session@~1.9.3
1126
+ - deps: http-errors@~1.2.8
1127
+ - deps: serve-index@~1.5.3
1128
+ - deps: type-is@~1.5.4
1129
+
1130
+ 3.18.4 / 2014-11-23
1131
+ ===================
1132
+
1133
+ * deps: connect@2.27.4
1134
+ - deps: body-parser@~1.9.3
1135
+ - deps: compression@~1.2.1
1136
+ - deps: errorhandler@~1.2.3
1137
+ - deps: express-session@~1.9.2
1138
+ - deps: qs@2.3.3
1139
+ - deps: serve-favicon@~2.1.7
1140
+ - deps: serve-static@~1.5.1
1141
+ - deps: type-is@~1.5.3
1142
+ * deps: etag@~1.5.1
1143
+ * deps: proxy-addr@~1.0.4
1144
+ - deps: ipaddr.js@0.1.5
1145
+
1146
+ 3.18.3 / 2014-11-09
1147
+ ===================
1148
+
1149
+ * deps: connect@2.27.3
1150
+ - Correctly invoke async callback asynchronously
1151
+ - deps: csurf@~1.6.3
1152
+
1153
+ 3.18.2 / 2014-10-28
1154
+ ===================
1155
+
1156
+ * deps: connect@2.27.2
1157
+ - Fix handling of URLs containing `://` in the path
1158
+ - deps: body-parser@~1.9.2
1159
+ - deps: qs@2.3.2
1160
+
1161
+ 3.18.1 / 2014-10-22
1162
+ ===================
1163
+
1164
+ * Fix internal `utils.merge` deprecation warnings
1165
+ * deps: connect@2.27.1
1166
+ - deps: body-parser@~1.9.1
1167
+ - deps: express-session@~1.9.1
1168
+ - deps: finalhandler@0.3.2
1169
+ - deps: morgan@~1.4.1
1170
+ - deps: qs@2.3.0
1171
+ - deps: serve-static@~1.7.1
1172
+ * deps: send@0.10.1
1173
+ - deps: on-finished@~2.1.1
1174
+
1175
+ 3.18.0 / 2014-10-17
1176
+ ===================
1177
+
1178
+ * Use `content-disposition` module for `res.attachment`/`res.download`
1179
+ - Sends standards-compliant `Content-Disposition` header
1180
+ - Full Unicode support
1181
+ * Use `etag` module to generate `ETag` headers
1182
+ * deps: connect@2.27.0
1183
+ - Use `http-errors` module for creating errors
1184
+ - Use `utils-merge` module for merging objects
1185
+ - deps: body-parser@~1.9.0
1186
+ - deps: compression@~1.2.0
1187
+ - deps: connect-timeout@~1.4.0
1188
+ - deps: debug@~2.1.0
1189
+ - deps: depd@~1.0.0
1190
+ - deps: express-session@~1.9.0
1191
+ - deps: finalhandler@0.3.1
1192
+ - deps: method-override@~2.3.0
1193
+ - deps: morgan@~1.4.0
1194
+ - deps: response-time@~2.2.0
1195
+ - deps: serve-favicon@~2.1.6
1196
+ - deps: serve-index@~1.5.0
1197
+ - deps: serve-static@~1.7.0
1198
+ * deps: debug@~2.1.0
1199
+ - Implement `DEBUG_FD` env variable support
1200
+ * deps: depd@~1.0.0
1201
+ * deps: send@0.10.0
1202
+ - deps: debug@~2.1.0
1203
+ - deps: depd@~1.0.0
1204
+ - deps: etag@~1.5.0
1205
+
1206
+ 3.17.8 / 2014-10-15
1207
+ ===================
1208
+
1209
+ * deps: connect@2.26.6
1210
+ - deps: compression@~1.1.2
1211
+ - deps: csurf@~1.6.2
1212
+ - deps: errorhandler@~1.2.2
1213
+
1214
+ 3.17.7 / 2014-10-08
1215
+ ===================
1216
+
1217
+ * deps: connect@2.26.5
1218
+ - Fix accepting non-object arguments to `logger`
1219
+ - deps: serve-static@~1.6.4
1220
+
1221
+ 3.17.6 / 2014-10-02
1222
+ ===================
1223
+
1224
+ * deps: connect@2.26.4
1225
+ - deps: morgan@~1.3.2
1226
+ - deps: type-is@~1.5.2
1227
+
1228
+ 3.17.5 / 2014-09-24
1229
+ ===================
1230
+
1231
+ * deps: connect@2.26.3
1232
+ - deps: body-parser@~1.8.4
1233
+ - deps: serve-favicon@~2.1.5
1234
+ - deps: serve-static@~1.6.3
1235
+ * deps: proxy-addr@~1.0.3
1236
+ - Use `forwarded` npm module
1237
+ * deps: send@0.9.3
1238
+ - deps: etag@~1.4.0
1239
+
1240
+ 3.17.4 / 2014-09-19
1241
+ ===================
1242
+
1243
+ * deps: connect@2.26.2
1244
+ - deps: body-parser@~1.8.3
1245
+ - deps: qs@2.2.4
1246
+
1247
+ 3.17.3 / 2014-09-18
1248
+ ===================
1249
+
1250
+ * deps: proxy-addr@~1.0.2
1251
+ - Fix a global leak when multiple subnets are trusted
1252
+ - deps: ipaddr.js@0.1.3
1253
+
1254
+ 3.17.2 / 2014-09-15
1255
+ ===================
1256
+
1257
+ * Use `crc` instead of `buffer-crc32` for speed
1258
+ * deps: connect@2.26.1
1259
+ - deps: body-parser@~1.8.2
1260
+ - deps: depd@0.4.5
1261
+ - deps: express-session@~1.8.2
1262
+ - deps: morgan@~1.3.1
1263
+ - deps: serve-favicon@~2.1.3
1264
+ - deps: serve-static@~1.6.2
1265
+ * deps: depd@0.4.5
1266
+ * deps: send@0.9.2
1267
+ - deps: depd@0.4.5
1268
+ - deps: etag@~1.3.1
1269
+ - deps: range-parser@~1.0.2
1270
+
1271
+ 3.17.1 / 2014-09-08
1272
+ ===================
1273
+
1274
+ * Fix error in `req.subdomains` on empty host
1275
+
1276
+ 3.17.0 / 2014-09-08
1277
+ ===================
1278
+
1279
+ * Support `X-Forwarded-Host` in `req.subdomains`
1280
+ * Support IP address host in `req.subdomains`
1281
+ * deps: connect@2.26.0
1282
+ - deps: body-parser@~1.8.1
1283
+ - deps: compression@~1.1.0
1284
+ - deps: connect-timeout@~1.3.0
1285
+ - deps: cookie-parser@~1.3.3
1286
+ - deps: cookie-signature@1.0.5
1287
+ - deps: csurf@~1.6.1
1288
+ - deps: debug@~2.0.0
1289
+ - deps: errorhandler@~1.2.0
1290
+ - deps: express-session@~1.8.1
1291
+ - deps: finalhandler@0.2.0
1292
+ - deps: fresh@0.2.4
1293
+ - deps: media-typer@0.3.0
1294
+ - deps: method-override@~2.2.0
1295
+ - deps: morgan@~1.3.0
1296
+ - deps: qs@2.2.3
1297
+ - deps: serve-favicon@~2.1.3
1298
+ - deps: serve-index@~1.2.1
1299
+ - deps: serve-static@~1.6.1
1300
+ - deps: type-is@~1.5.1
1301
+ - deps: vhost@~3.0.0
1302
+ * deps: cookie-signature@1.0.5
1303
+ * deps: debug@~2.0.0
1304
+ * deps: fresh@0.2.4
1305
+ * deps: media-typer@0.3.0
1306
+ - Throw error when parameter format invalid on parse
1307
+ * deps: range-parser@~1.0.2
1308
+ * deps: send@0.9.1
1309
+ - Add `lastModified` option
1310
+ - Use `etag` to generate `ETag` header
1311
+ - deps: debug@~2.0.0
1312
+ - deps: fresh@0.2.4
1313
+ * deps: vary@~1.0.0
1314
+ - Accept valid `Vary` header string as `field`
1315
+
1316
+ 3.16.10 / 2014-09-04
1317
+ ====================
1318
+
1319
+ * deps: connect@2.25.10
1320
+ - deps: serve-static@~1.5.4
1321
+ * deps: send@0.8.5
1322
+ - Fix a path traversal issue when using `root`
1323
+ - Fix malicious path detection for empty string path
1324
+
1325
+ 3.16.9 / 2014-08-29
1326
+ ===================
1327
+
1328
+ * deps: connect@2.25.9
1329
+ - deps: body-parser@~1.6.7
1330
+ - deps: qs@2.2.2
1331
+
1332
+ 3.16.8 / 2014-08-27
1333
+ ===================
1334
+
1335
+ * deps: connect@2.25.8
1336
+ - deps: body-parser@~1.6.6
1337
+ - deps: csurf@~1.4.1
1338
+ - deps: qs@2.2.0
1339
+
1340
+ 3.16.7 / 2014-08-18
1341
+ ===================
1342
+
1343
+ * deps: connect@2.25.7
1344
+ - deps: body-parser@~1.6.5
1345
+ - deps: express-session@~1.7.6
1346
+ - deps: morgan@~1.2.3
1347
+ - deps: serve-static@~1.5.3
1348
+ * deps: send@0.8.3
1349
+ - deps: destroy@1.0.3
1350
+ - deps: on-finished@2.1.0
1351
+
1352
+ 3.16.6 / 2014-08-14
1353
+ ===================
1354
+
1355
+ * deps: connect@2.25.6
1356
+ - deps: body-parser@~1.6.4
1357
+ - deps: qs@1.2.2
1358
+ - deps: serve-static@~1.5.2
1359
+ * deps: send@0.8.2
1360
+ - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream`
1361
+
1362
+ 3.16.5 / 2014-08-11
1363
+ ===================
1364
+
1365
+ * deps: connect@2.25.5
1366
+ - Fix backwards compatibility in `logger`
1367
+
1368
+ 3.16.4 / 2014-08-10
1369
+ ===================
1370
+
1371
+ * Fix original URL parsing in `res.location`
1372
+ * deps: connect@2.25.4
1373
+ - Fix `query` middleware breaking with argument
1374
+ - deps: body-parser@~1.6.3
1375
+ - deps: compression@~1.0.11
1376
+ - deps: connect-timeout@~1.2.2
1377
+ - deps: express-session@~1.7.5
1378
+ - deps: method-override@~2.1.3
1379
+ - deps: on-headers@~1.0.0
1380
+ - deps: parseurl@~1.3.0
1381
+ - deps: qs@1.2.1
1382
+ - deps: response-time@~2.0.1
1383
+ - deps: serve-index@~1.1.6
1384
+ - deps: serve-static@~1.5.1
1385
+ * deps: parseurl@~1.3.0
1386
+
1387
+ 3.16.3 / 2014-08-07
1388
+ ===================
1389
+
1390
+ * deps: connect@2.25.3
1391
+ - deps: multiparty@3.3.2
1392
+
1393
+ 3.16.2 / 2014-08-07
1394
+ ===================
1395
+
1396
+ * deps: connect@2.25.2
1397
+ - deps: body-parser@~1.6.2
1398
+ - deps: qs@1.2.0
1399
+
1400
+ 3.16.1 / 2014-08-06
1401
+ ===================
1402
+
1403
+ * deps: connect@2.25.1
1404
+ - deps: body-parser@~1.6.1
1405
+ - deps: qs@1.1.0
1406
+
1407
+ 3.16.0 / 2014-08-05
1408
+ ===================
1409
+
1410
+ * deps: connect@2.25.0
1411
+ - deps: body-parser@~1.6.0
1412
+ - deps: compression@~1.0.10
1413
+ - deps: csurf@~1.4.0
1414
+ - deps: express-session@~1.7.4
1415
+ - deps: qs@1.0.2
1416
+ - deps: serve-static@~1.5.0
1417
+ * deps: send@0.8.1
1418
+ - Add `extensions` option
1419
+
1420
+ 3.15.3 / 2014-08-04
1421
+ ===================
1422
+
1423
+ * fix `res.sendfile` regression for serving directory index files
1424
+ * deps: connect@2.24.3
1425
+ - deps: serve-index@~1.1.5
1426
+ - deps: serve-static@~1.4.4
1427
+ * deps: send@0.7.4
1428
+ - Fix incorrect 403 on Windows and Node.js 0.11
1429
+ - Fix serving index files without root dir
1430
+
1431
+ 3.15.2 / 2014-07-27
1432
+ ===================
1433
+
1434
+ * deps: connect@2.24.2
1435
+ - deps: body-parser@~1.5.2
1436
+ - deps: depd@0.4.4
1437
+ - deps: express-session@~1.7.2
1438
+ - deps: morgan@~1.2.2
1439
+ - deps: serve-static@~1.4.2
1440
+ * deps: depd@0.4.4
1441
+ - Work-around v8 generating empty stack traces
1442
+ * deps: send@0.7.2
1443
+ - deps: depd@0.4.4
1444
+
1445
+ 3.15.1 / 2014-07-26
1446
+ ===================
1447
+
1448
+ * deps: connect@2.24.1
1449
+ - deps: body-parser@~1.5.1
1450
+ - deps: depd@0.4.3
1451
+ - deps: express-session@~1.7.1
1452
+ - deps: morgan@~1.2.1
1453
+ - deps: serve-index@~1.1.4
1454
+ - deps: serve-static@~1.4.1
1455
+ * deps: depd@0.4.3
1456
+ - Fix exception when global `Error.stackTraceLimit` is too low
1457
+ * deps: send@0.7.1
1458
+ - deps: depd@0.4.3
1459
+
1460
+ 3.15.0 / 2014-07-22
1461
+ ===================
1462
+
1463
+ * Fix `req.protocol` for proxy-direct connections
1464
+ * Pass options from `res.sendfile` to `send`
1465
+ * deps: connect@2.24.0
1466
+ - deps: body-parser@~1.5.0
1467
+ - deps: compression@~1.0.9
1468
+ - deps: connect-timeout@~1.2.1
1469
+ - deps: debug@1.0.4
1470
+ - deps: depd@0.4.2
1471
+ - deps: express-session@~1.7.0
1472
+ - deps: finalhandler@0.1.0
1473
+ - deps: method-override@~2.1.2
1474
+ - deps: morgan@~1.2.0
1475
+ - deps: multiparty@3.3.1
1476
+ - deps: parseurl@~1.2.0
1477
+ - deps: serve-static@~1.4.0
1478
+ * deps: debug@1.0.4
1479
+ * deps: depd@0.4.2
1480
+ - Add `TRACE_DEPRECATION` environment variable
1481
+ - Remove non-standard grey color from color output
1482
+ - Support `--no-deprecation` argument
1483
+ - Support `--trace-deprecation` argument
1484
+ * deps: parseurl@~1.2.0
1485
+ - Cache URLs based on original value
1486
+ - Remove no-longer-needed URL mis-parse work-around
1487
+ - Simplify the "fast-path" `RegExp`
1488
+ * deps: send@0.7.0
1489
+ - Add `dotfiles` option
1490
+ - Cap `maxAge` value to 1 year
1491
+ - deps: debug@1.0.4
1492
+ - deps: depd@0.4.2
1493
+
1494
+ 3.14.0 / 2014-07-11
1495
+ ===================
1496
+
1497
+ * add explicit "Rosetta Flash JSONP abuse" protection
1498
+ - previous versions are not vulnerable; this is just explicit protection
1499
+ * deprecate `res.redirect(url, status)` -- use `res.redirect(status, url)` instead
1500
+ * fix `res.send(status, num)` to send `num` as json (not error)
1501
+ * remove unnecessary escaping when `res.jsonp` returns JSON response
1502
+ * deps: basic-auth@1.0.0
1503
+ - support empty password
1504
+ - support empty username
1505
+ * deps: connect@2.23.0
1506
+ - deps: debug@1.0.3
1507
+ - deps: express-session@~1.6.4
1508
+ - deps: method-override@~2.1.0
1509
+ - deps: parseurl@~1.1.3
1510
+ - deps: serve-static@~1.3.1
1511
+ * deps: debug@1.0.3
1512
+ - Add support for multiple wildcards in namespaces
1513
+ * deps: methods@1.1.0
1514
+ - add `CONNECT`
1515
+ * deps: parseurl@~1.1.3
1516
+ - faster parsing of href-only URLs
1517
+
1518
+ 3.13.0 / 2014-07-03
1519
+ ===================
1520
+
1521
+ * add deprecation message to `app.configure`
1522
+ * add deprecation message to `req.auth`
1523
+ * use `basic-auth` to parse `Authorization` header
1524
+ * deps: connect@2.22.0
1525
+ - deps: csurf@~1.3.0
1526
+ - deps: express-session@~1.6.1
1527
+ - deps: multiparty@3.3.0
1528
+ - deps: serve-static@~1.3.0
1529
+ * deps: send@0.5.0
1530
+ - Accept string for `maxage` (converted by `ms`)
1531
+ - Include link in default redirect response
1532
+
1533
+ 3.12.1 / 2014-06-26
1534
+ ===================
1535
+
1536
+ * deps: connect@2.21.1
1537
+ - deps: cookie-parser@1.3.2
1538
+ - deps: cookie-signature@1.0.4
1539
+ - deps: express-session@~1.5.2
1540
+ - deps: type-is@~1.3.2
1541
+ * deps: cookie-signature@1.0.4
1542
+ - fix for timing attacks
1543
+
1544
+ 3.12.0 / 2014-06-21
1545
+ ===================
1546
+
1547
+ * use `media-typer` to alter content-type charset
1548
+ * deps: connect@2.21.0
1549
+ - deprecate `connect(middleware)` -- use `app.use(middleware)` instead
1550
+ - deprecate `connect.createServer()` -- use `connect()` instead
1551
+ - fix `res.setHeader()` patch to work with with get -> append -> set pattern
1552
+ - deps: compression@~1.0.8
1553
+ - deps: errorhandler@~1.1.1
1554
+ - deps: express-session@~1.5.0
1555
+ - deps: serve-index@~1.1.3
1556
+
1557
+ 3.11.0 / 2014-06-19
1558
+ ===================
1559
+
1560
+ * deprecate things with `depd` module
1561
+ * deps: buffer-crc32@0.2.3
1562
+ * deps: connect@2.20.2
1563
+ - deprecate `verify` option to `json` -- use `body-parser` npm module instead
1564
+ - deprecate `verify` option to `urlencoded` -- use `body-parser` npm module instead
1565
+ - deprecate things with `depd` module
1566
+ - use `finalhandler` for final response handling
1567
+ - use `media-typer` to parse `content-type` for charset
1568
+ - deps: body-parser@1.4.3
1569
+ - deps: connect-timeout@1.1.1
1570
+ - deps: cookie-parser@1.3.1
1571
+ - deps: csurf@1.2.2
1572
+ - deps: errorhandler@1.1.0
1573
+ - deps: express-session@1.4.0
1574
+ - deps: multiparty@3.2.9
1575
+ - deps: serve-index@1.1.2
1576
+ - deps: type-is@1.3.1
1577
+ - deps: vhost@2.0.0
1578
+
1579
+ 3.10.5 / 2014-06-11
1580
+ ===================
1581
+
1582
+ * deps: connect@2.19.6
1583
+ - deps: body-parser@1.3.1
1584
+ - deps: compression@1.0.7
1585
+ - deps: debug@1.0.2
1586
+ - deps: serve-index@1.1.1
1587
+ - deps: serve-static@1.2.3
1588
+ * deps: debug@1.0.2
1589
+ * deps: send@0.4.3
1590
+ - Do not throw un-catchable error on file open race condition
1591
+ - Use `escape-html` for HTML escaping
1592
+ - deps: debug@1.0.2
1593
+ - deps: finished@1.2.2
1594
+ - deps: fresh@0.2.2
1595
+
1596
+ 3.10.4 / 2014-06-09
1597
+ ===================
1598
+
1599
+ * deps: connect@2.19.5
1600
+ - fix "event emitter leak" warnings
1601
+ - deps: csurf@1.2.1
1602
+ - deps: debug@1.0.1
1603
+ - deps: serve-static@1.2.2
1604
+ - deps: type-is@1.2.1
1605
+ * deps: debug@1.0.1
1606
+ * deps: send@0.4.2
1607
+ - fix "event emitter leak" warnings
1608
+ - deps: finished@1.2.1
1609
+ - deps: debug@1.0.1
1610
+
1611
+ 3.10.3 / 2014-06-05
1612
+ ===================
1613
+
1614
+ * use `vary` module for `res.vary`
1615
+ * deps: connect@2.19.4
1616
+ - deps: errorhandler@1.0.2
1617
+ - deps: method-override@2.0.2
1618
+ - deps: serve-favicon@2.0.1
1619
+ * deps: debug@1.0.0
1620
+
1621
+ 3.10.2 / 2014-06-03
1622
+ ===================
1623
+
1624
+ * deps: connect@2.19.3
1625
+ - deps: compression@1.0.6
1626
+
1627
+ 3.10.1 / 2014-06-03
1628
+ ===================
1629
+
1630
+ * deps: connect@2.19.2
1631
+ - deps: compression@1.0.4
1632
+ * deps: proxy-addr@1.0.1
1633
+
1634
+ 3.10.0 / 2014-06-02
1635
+ ===================
1636
+
1637
+ * deps: connect@2.19.1
1638
+ - deprecate `methodOverride()` -- use `method-override` npm module instead
1639
+ - deps: body-parser@1.3.0
1640
+ - deps: method-override@2.0.1
1641
+ - deps: multiparty@3.2.8
1642
+ - deps: response-time@2.0.0
1643
+ - deps: serve-static@1.2.1
1644
+ * deps: methods@1.0.1
1645
+ * deps: send@0.4.1
1646
+ - Send `max-age` in `Cache-Control` in correct format
1647
+
1648
+ 3.9.0 / 2014-05-30
1649
+ ==================
1650
+
1651
+ * custom etag control with `app.set('etag', val)`
1652
+ - `app.set('etag', function(body, encoding){ return '"etag"' })` custom etag generation
1653
+ - `app.set('etag', 'weak')` weak tag
1654
+ - `app.set('etag', 'strong')` strong etag
1655
+ - `app.set('etag', false)` turn off
1656
+ - `app.set('etag', true)` standard etag
1657
+ * Include ETag in HEAD requests
1658
+ * mark `res.send` ETag as weak and reduce collisions
1659
+ * update connect to 2.18.0
1660
+ - deps: compression@1.0.3
1661
+ - deps: serve-index@1.1.0
1662
+ - deps: serve-static@1.2.0
1663
+ * update send to 0.4.0
1664
+ - Calculate ETag with md5 for reduced collisions
1665
+ - Ignore stream errors after request ends
1666
+ - deps: debug@0.8.1
1667
+
1668
+ 3.8.1 / 2014-05-27
1669
+ ==================
1670
+
1671
+ * update connect to 2.17.3
1672
+ - deps: body-parser@1.2.2
1673
+ - deps: express-session@1.2.1
1674
+ - deps: method-override@1.0.2
1675
+
1676
+ 3.8.0 / 2014-05-21
1677
+ ==================
1678
+
1679
+ * keep previous `Content-Type` for `res.jsonp`
1680
+ * set proper `charset` in `Content-Type` for `res.send`
1681
+ * update connect to 2.17.1
1682
+ - fix `res.charset` appending charset when `content-type` has one
1683
+ - deps: express-session@1.2.0
1684
+ - deps: morgan@1.1.1
1685
+ - deps: serve-index@1.0.3
1686
+
1687
+ 3.7.0 / 2014-05-18
1688
+ ==================
1689
+
1690
+ * proper proxy trust with `app.set('trust proxy', trust)`
1691
+ - `app.set('trust proxy', 1)` trust first hop
1692
+ - `app.set('trust proxy', 'loopback')` trust loopback addresses
1693
+ - `app.set('trust proxy', '10.0.0.1')` trust single IP
1694
+ - `app.set('trust proxy', '10.0.0.1/16')` trust subnet
1695
+ - `app.set('trust proxy', '10.0.0.1, 10.0.0.2')` trust list
1696
+ - `app.set('trust proxy', false)` turn off
1697
+ - `app.set('trust proxy', true)` trust everything
1698
+ * update connect to 2.16.2
1699
+ - deprecate `res.headerSent` -- use `res.headersSent`
1700
+ - deprecate `res.on("header")` -- use on-headers module instead
1701
+ - fix edge-case in `res.appendHeader` that would append in wrong order
1702
+ - json: use body-parser
1703
+ - urlencoded: use body-parser
1704
+ - dep: bytes@1.0.0
1705
+ - dep: cookie-parser@1.1.0
1706
+ - dep: csurf@1.2.0
1707
+ - dep: express-session@1.1.0
1708
+ - dep: method-override@1.0.1
1709
+
1710
+ 3.6.0 / 2014-05-09
1711
+ ==================
1712
+
1713
+ * deprecate `app.del()` -- use `app.delete()` instead
1714
+ * deprecate `res.json(obj, status)` -- use `res.json(status, obj)` instead
1715
+ - the edge-case `res.json(status, num)` requires `res.status(status).json(num)`
1716
+ * deprecate `res.jsonp(obj, status)` -- use `res.jsonp(status, obj)` instead
1717
+ - the edge-case `res.jsonp(status, num)` requires `res.status(status).jsonp(num)`
1718
+ * support PURGE method
1719
+ - add `app.purge`
1720
+ - add `router.purge`
1721
+ - include PURGE in `app.all`
1722
+ * update connect to 2.15.0
1723
+ * Add `res.appendHeader`
1724
+ * Call error stack even when response has been sent
1725
+ * Patch `res.headerSent` to return Boolean
1726
+ * Patch `res.headersSent` for node.js 0.8
1727
+ * Prevent default 404 handler after response sent
1728
+ * dep: compression@1.0.2
1729
+ * dep: connect-timeout@1.1.0
1730
+ * dep: debug@^0.8.0
1731
+ * dep: errorhandler@1.0.1
1732
+ * dep: express-session@1.0.4
1733
+ * dep: morgan@1.0.1
1734
+ * dep: serve-favicon@2.0.0
1735
+ * dep: serve-index@1.0.2
1736
+ * update debug to 0.8.0
1737
+ * add `enable()` method
1738
+ * change from stderr to stdout
1739
+ * update methods to 1.0.0
1740
+ - add PURGE
1741
+ * update mkdirp to 0.5.0
1742
+
1743
+ 3.5.3 / 2014-05-08
1744
+ ==================
1745
+
1746
+ * fix `req.host` for IPv6 literals
1747
+ * fix `res.jsonp` error if callback param is object
1748
+
1749
+ 3.5.2 / 2014-04-24
1750
+ ==================
1751
+
1752
+ * update connect to 2.14.5
1753
+ * update cookie to 0.1.2
1754
+ * update mkdirp to 0.4.0
1755
+ * update send to 0.3.0
1756
+
1757
+ 3.5.1 / 2014-03-25
1758
+ ==================
1759
+
1760
+ * pin less-middleware in generated app
1761
+
1762
+ 3.5.0 / 2014-03-06
1763
+ ==================
1764
+
1765
+ * bump deps
1766
+
1767
+ 3.4.8 / 2014-01-13
1768
+ ==================
1769
+
1770
+ * prevent incorrect automatic OPTIONS responses #1868 @dpatti
1771
+ * update binary and examples for jade 1.0 #1876 @yossi, #1877 @reqshark, #1892 @matheusazzi
1772
+ * throw 400 in case of malformed paths @rlidwka
1773
+
1774
+ 3.4.7 / 2013-12-10
1775
+ ==================
1776
+
1777
+ * update connect
1778
+
1779
+ 3.4.6 / 2013-12-01
1780
+ ==================
1781
+
1782
+ * update connect (raw-body)
1783
+
1784
+ 3.4.5 / 2013-11-27
1785
+ ==================
1786
+
1787
+ * update connect
1788
+ * res.location: remove leading ./ #1802 @kapouer
1789
+ * res.redirect: fix `res.redirect('toString') #1829 @michaelficarra
1790
+ * res.send: always send ETag when content-length > 0
1791
+ * router: add Router.all() method
1792
+
1793
+ 3.4.4 / 2013-10-29
1794
+ ==================
1795
+
1796
+ * update connect
1797
+ * update supertest
1798
+ * update methods
1799
+ * express(1): replace bodyParser() with urlencoded() and json() #1795 @chirag04
1800
+
1801
+ 3.4.3 / 2013-10-23
1802
+ ==================
1803
+
1804
+ * update connect
1805
+
1806
+ 3.4.2 / 2013-10-18
1807
+ ==================
1808
+
1809
+ * update connect
1810
+ * downgrade commander
1811
+
1812
+ 3.4.1 / 2013-10-15
1813
+ ==================
1814
+
1815
+ * update connect
1816
+ * update commander
1817
+ * jsonp: check if callback is a function
1818
+ * router: wrap encodeURIComponent in a try/catch #1735 (@lxe)
1819
+ * res.format: now includes charset @1747 (@sorribas)
1820
+ * res.links: allow multiple calls @1746 (@sorribas)
1821
+
1822
+ 3.4.0 / 2013-09-07
1823
+ ==================
1824
+
1825
+ * add res.vary(). Closes #1682
1826
+ * update connect
1827
+
1828
+ 3.3.8 / 2013-09-02
1829
+ ==================
1830
+
1831
+ * update connect
1832
+
1833
+ 3.3.7 / 2013-08-28
1834
+ ==================
1835
+
1836
+ * update connect
1837
+
1838
+ 3.3.6 / 2013-08-27
1839
+ ==================
1840
+
1841
+ * Revert "remove charset from json responses. Closes #1631" (causes issues in some clients)
1842
+ * add: req.accepts take an argument list
1843
+
1844
+ 3.3.4 / 2013-07-08
1845
+ ==================
1846
+
1847
+ * update send and connect
1848
+
1849
+ 3.3.3 / 2013-07-04
1850
+ ==================
1851
+
1852
+ * update connect
1853
+
1854
+ 3.3.2 / 2013-07-03
1855
+ ==================
1856
+
1857
+ * update connect
1858
+ * update send
1859
+ * remove .version export
1860
+
1861
+ 3.3.1 / 2013-06-27
1862
+ ==================
1863
+
1864
+ * update connect
1865
+
1866
+ 3.3.0 / 2013-06-26
1867
+ ==================
1868
+
1869
+ * update connect
1870
+ * add support for multiple X-Forwarded-Proto values. Closes #1646
1871
+ * change: remove charset from json responses. Closes #1631
1872
+ * change: return actual booleans from req.accept* functions
1873
+ * fix jsonp callback array throw
1874
+
1875
+ 3.2.6 / 2013-06-02
1876
+ ==================
1877
+
1878
+ * update connect
1879
+
1880
+ 3.2.5 / 2013-05-21
1881
+ ==================
1882
+
1883
+ * update connect
1884
+ * update node-cookie
1885
+ * add: throw a meaningful error when there is no default engine
1886
+ * change generation of ETags with res.send() to GET requests only. Closes #1619
1887
+
1888
+ 3.2.4 / 2013-05-09
1889
+ ==================
1890
+
1891
+ * fix `req.subdomains` when no Host is present
1892
+ * fix `req.host` when no Host is present, return undefined
1893
+
1894
+ 3.2.3 / 2013-05-07
1895
+ ==================
1896
+
1897
+ * update connect / qs
1898
+
1899
+ 3.2.2 / 2013-05-03
1900
+ ==================
1901
+
1902
+ * update qs
1903
+
1904
+ 3.2.1 / 2013-04-29
1905
+ ==================
1906
+
1907
+ * add app.VERB() paths array deprecation warning
1908
+ * update connect
1909
+ * update qs and remove all ~ semver crap
1910
+ * fix: accept number as value of Signed Cookie
1911
+
1912
+ 3.2.0 / 2013-04-15
1913
+ ==================
1914
+
1915
+ * add "view" constructor setting to override view behaviour
1916
+ * add req.acceptsEncoding(name)
1917
+ * add req.acceptedEncodings
1918
+ * revert cookie signature change causing session race conditions
1919
+ * fix sorting of Accept values of the same quality
1920
+
1921
+ 3.1.2 / 2013-04-12
1922
+ ==================
1923
+
1924
+ * add support for custom Accept parameters
1925
+ * update cookie-signature
1926
+
1927
+ 3.1.1 / 2013-04-01
1928
+ ==================
1929
+
1930
+ * add X-Forwarded-Host support to `req.host`
1931
+ * fix relative redirects
1932
+ * update mkdirp
1933
+ * update buffer-crc32
1934
+ * remove legacy app.configure() method from app template.
1935
+
1936
+ 3.1.0 / 2013-01-25
1937
+ ==================
1938
+
1939
+ * add support for leading "." in "view engine" setting
1940
+ * add array support to `res.set()`
1941
+ * add node 0.8.x to travis.yml
1942
+ * add "subdomain offset" setting for tweaking `req.subdomains`
1943
+ * add `res.location(url)` implementing `res.redirect()`-like setting of Location
1944
+ * use app.get() for x-powered-by setting for inheritance
1945
+ * fix colons in passwords for `req.auth`
1946
+
1947
+ 3.0.6 / 2013-01-04
1948
+ ==================
1949
+
1950
+ * add http verb methods to Router
1951
+ * update connect
1952
+ * fix mangling of the `res.cookie()` options object
1953
+ * fix jsonp whitespace escape. Closes #1132
1954
+
1955
+ 3.0.5 / 2012-12-19
1956
+ ==================
1957
+
1958
+ * add throwing when a non-function is passed to a route
1959
+ * fix: explicitly remove Transfer-Encoding header from 204 and 304 responses
1960
+ * revert "add 'etag' option"
1961
+
1962
+ 3.0.4 / 2012-12-05
1963
+ ==================
1964
+
1965
+ * add 'etag' option to disable `res.send()` Etags
1966
+ * add escaping of urls in text/plain in `res.redirect()`
1967
+ for old browsers interpreting as html
1968
+ * change crc32 module for a more liberal license
1969
+ * update connect
1970
+
1971
+ 3.0.3 / 2012-11-13
1972
+ ==================
1973
+
1974
+ * update connect
1975
+ * update cookie module
1976
+ * fix cookie max-age
1977
+
1978
+ 3.0.2 / 2012-11-08
1979
+ ==================
1980
+
1981
+ * add OPTIONS to cors example. Closes #1398
1982
+ * fix route chaining regression. Closes #1397
1983
+
1984
+ 3.0.1 / 2012-11-01
1985
+ ==================
1986
+
1987
+ * update connect
1988
+
1989
+ 3.0.0 / 2012-10-23
1990
+ ==================
1991
+
1992
+ * add `make clean`
1993
+ * add "Basic" check to req.auth
1994
+ * add `req.auth` test coverage
1995
+ * add cb && cb(payload) to `res.jsonp()`. Closes #1374
1996
+ * add backwards compat for `res.redirect()` status. Closes #1336
1997
+ * add support for `res.json()` to retain previously defined Content-Types. Closes #1349
1998
+ * update connect
1999
+ * change `res.redirect()` to utilize a pathname-relative Location again. Closes #1382
2000
+ * remove non-primitive string support for `res.send()`
2001
+ * fix view-locals example. Closes #1370
2002
+ * fix route-separation example
2003
+
2004
+ 3.0.0rc5 / 2012-09-18
2005
+ ==================
2006
+
2007
+ * update connect
2008
+ * add redis search example
2009
+ * add static-files example
2010
+ * add "x-powered-by" setting (`app.disable('x-powered-by')`)
2011
+ * add "application/octet-stream" redirect Accept test case. Closes #1317
2012
+
2013
+ 3.0.0rc4 / 2012-08-30
2014
+ ==================
2015
+
2016
+ * add `res.jsonp()`. Closes #1307
2017
+ * add "verbose errors" option to error-pages example
2018
+ * add another route example to express(1) so people are not so confused
2019
+ * add redis online user activity tracking example
2020
+ * update connect dep
2021
+ * fix etag quoting. Closes #1310
2022
+ * fix error-pages 404 status
2023
+ * fix jsonp callback char restrictions
2024
+ * remove old OPTIONS default response
2025
+
2026
+ 3.0.0rc3 / 2012-08-13
2027
+ ==================
2028
+
2029
+ * update connect dep
2030
+ * fix signed cookies to work with `connect.cookieParser()` ("s:" prefix was missing) [tnydwrds]
2031
+ * fix `res.render()` clobbering of "locals"
2032
+
2033
+ 3.0.0rc2 / 2012-08-03
2034
+ ==================
2035
+
2036
+ * add CORS example
2037
+ * update connect dep
2038
+ * deprecate `.createServer()` & remove old stale examples
2039
+ * fix: escape `res.redirect()` link
2040
+ * fix vhost example
2041
+
2042
+ 3.0.0rc1 / 2012-07-24
2043
+ ==================
2044
+
2045
+ * add more examples to view-locals
2046
+ * add scheme-relative redirects (`res.redirect("//foo.com")`) support
2047
+ * update cookie dep
2048
+ * update connect dep
2049
+ * update send dep
2050
+ * fix `express(1)` -h flag, use -H for hogan. Closes #1245
2051
+ * fix `res.sendfile()` socket error handling regression
2052
+
2053
+ 3.0.0beta7 / 2012-07-16
2054
+ ==================
2055
+
2056
+ * update connect dep for `send()` root normalization regression
2057
+
2058
+ 3.0.0beta6 / 2012-07-13
2059
+ ==================
2060
+
2061
+ * add `err.view` property for view errors. Closes #1226
2062
+ * add "jsonp callback name" setting
2063
+ * add support for "/foo/:bar*" non-greedy matches
2064
+ * change `res.sendfile()` to use `send()` module
2065
+ * change `res.send` to use "response-send" module
2066
+ * remove `app.locals.use` and `res.locals.use`, use regular middleware
2067
+
2068
+ 3.0.0beta5 / 2012-07-03
2069
+ ==================
2070
+
2071
+ * add "make check" support
2072
+ * add route-map example
2073
+ * add `res.json(obj, status)` support back for BC
2074
+ * add "methods" dep, remove internal methods module
2075
+ * update connect dep
2076
+ * update auth example to utilize cores pbkdf2
2077
+ * updated tests to use "supertest"
2078
+
2079
+ 3.0.0beta4 / 2012-06-25
2080
+ ==================
2081
+
2082
+ * Added `req.auth`
2083
+ * Added `req.range(size)`
2084
+ * Added `res.links(obj)`
2085
+ * Added `res.send(body, status)` support back for backwards compat
2086
+ * Added `.default()` support to `res.format()`
2087
+ * Added 2xx / 304 check to `req.fresh`
2088
+ * Revert "Added + support to the router"
2089
+ * Fixed `res.send()` freshness check, respect res.statusCode
2090
+
2091
+ 3.0.0beta3 / 2012-06-15
2092
+ ==================
2093
+
2094
+ * Added hogan `--hjs` to express(1) [nullfirm]
2095
+ * Added another example to content-negotiation
2096
+ * Added `fresh` dep
2097
+ * Changed: `res.send()` always checks freshness
2098
+ * Fixed: expose connects mime module. Closes #1165
2099
+
2100
+ 3.0.0beta2 / 2012-06-06
2101
+ ==================
2102
+
2103
+ * Added `+` support to the router
2104
+ * Added `req.host`
2105
+ * Changed `req.param()` to check route first
2106
+ * Update connect dep
2107
+
2108
+ 3.0.0beta1 / 2012-06-01
2109
+ ==================
2110
+
2111
+ * Added `res.format()` callback to override default 406 behaviour
2112
+ * Fixed `res.redirect()` 406. Closes #1154
2113
+
2114
+ 3.0.0alpha5 / 2012-05-30
2115
+ ==================
2116
+
2117
+ * Added `req.ip`
2118
+ * Added `{ signed: true }` option to `res.cookie()`
2119
+ * Removed `res.signedCookie()`
2120
+ * Changed: dont reverse `req.ips`
2121
+ * Fixed "trust proxy" setting check for `req.ips`
2122
+
2123
+ 3.0.0alpha4 / 2012-05-09
2124
+ ==================
2125
+
2126
+ * Added: allow `[]` in jsonp callback. Closes #1128
2127
+ * Added `PORT` env var support in generated template. Closes #1118 [benatkin]
2128
+ * Updated: connect 2.2.2
2129
+
2130
+ 3.0.0alpha3 / 2012-05-04
2131
+ ==================
2132
+
2133
+ * Added public `app.routes`. Closes #887
2134
+ * Added _view-locals_ example
2135
+ * Added _mvc_ example
2136
+ * Added `res.locals.use()`. Closes #1120
2137
+ * Added conditional-GET support to `res.send()`
2138
+ * Added: coerce `res.set()` values to strings
2139
+ * Changed: moved `static()` in generated apps below router
2140
+ * Changed: `res.send()` only set ETag when not previously set
2141
+ * Changed connect 2.2.1 dep
2142
+ * Changed: `make test` now runs unit / acceptance tests
2143
+ * Fixed req/res proto inheritance
2144
+
2145
+ 3.0.0alpha2 / 2012-04-26
2146
+ ==================
2147
+
2148
+ * Added `make benchmark` back
2149
+ * Added `res.send()` support for `String` objects
2150
+ * Added client-side data exposing example
2151
+ * Added `res.header()` and `req.header()` aliases for BC
2152
+ * Added `express.createServer()` for BC
2153
+ * Perf: memoize parsed urls
2154
+ * Perf: connect 2.2.0 dep
2155
+ * Changed: make `expressInit()` middleware self-aware
2156
+ * Fixed: use app.get() for all core settings
2157
+ * Fixed redis session example
2158
+ * Fixed session example. Closes #1105
2159
+ * Fixed generated express dep. Closes #1078
2160
+
2161
+ 3.0.0alpha1 / 2012-04-15
2162
+ ==================
2163
+
2164
+ * Added `app.locals.use(callback)`
2165
+ * Added `app.locals` object
2166
+ * Added `app.locals(obj)`
2167
+ * Added `res.locals` object
2168
+ * Added `res.locals(obj)`
2169
+ * Added `res.format()` for content-negotiation
2170
+ * Added `app.engine()`
2171
+ * Added `res.cookie()` JSON cookie support
2172
+ * Added "trust proxy" setting
2173
+ * Added `req.subdomains`
2174
+ * Added `req.protocol`
2175
+ * Added `req.secure`
2176
+ * Added `req.path`
2177
+ * Added `req.ips`
2178
+ * Added `req.fresh`
2179
+ * Added `req.stale`
2180
+ * Added comma-delimited / array support for `req.accepts()`
2181
+ * Added debug instrumentation
2182
+ * Added `res.set(obj)`
2183
+ * Added `res.set(field, value)`
2184
+ * Added `res.get(field)`
2185
+ * Added `app.get(setting)`. Closes #842
2186
+ * Added `req.acceptsLanguage()`
2187
+ * Added `req.acceptsCharset()`
2188
+ * Added `req.accepted`
2189
+ * Added `req.acceptedLanguages`
2190
+ * Added `req.acceptedCharsets`
2191
+ * Added "json replacer" setting
2192
+ * Added "json spaces" setting
2193
+ * Added X-Forwarded-Proto support to `res.redirect()`. Closes #92
2194
+ * Added `--less` support to express(1)
2195
+ * Added `express.response` prototype
2196
+ * Added `express.request` prototype
2197
+ * Added `express.application` prototype
2198
+ * Added `app.path()`
2199
+ * Added `app.render()`
2200
+ * Added `res.type()` to replace `res.contentType()`
2201
+ * Changed: `res.redirect()` to add relative support
2202
+ * Changed: enable "jsonp callback" by default
2203
+ * Changed: renamed "case sensitive routes" to "case sensitive routing"
2204
+ * Rewrite of all tests with mocha
2205
+ * Removed "root" setting
2206
+ * Removed `res.redirect('home')` support
2207
+ * Removed `req.notify()`
2208
+ * Removed `app.register()`
2209
+ * Removed `app.redirect()`
2210
+ * Removed `app.is()`
2211
+ * Removed `app.helpers()`
2212
+ * Removed `app.dynamicHelpers()`
2213
+ * Fixed `res.sendfile()` with non-GET. Closes #723
2214
+ * Fixed express(1) public dir for windows. Closes #866
2215
+
2216
+ 2.5.9/ 2012-04-02
2217
+ ==================
2218
+
2219
+ * Added support for PURGE request method [pbuyle]
2220
+ * Fixed `express(1)` generated app `app.address()` before `listening` [mmalecki]
2221
+
2222
+ 2.5.8 / 2012-02-08
2223
+ ==================
2224
+
2225
+ * Update mkdirp dep. Closes #991
2226
+
2227
+ 2.5.7 / 2012-02-06
2228
+ ==================
2229
+
2230
+ * Fixed `app.all` duplicate DELETE requests [mscdex]
2231
+
2232
+ 2.5.6 / 2012-01-13
2233
+ ==================
2234
+
2235
+ * Updated hamljs dev dep. Closes #953
2236
+
2237
+ 2.5.5 / 2012-01-08
2238
+ ==================
2239
+
2240
+ * Fixed: set `filename` on cached templates [matthewleon]
2241
+
2242
+ 2.5.4 / 2012-01-02
2243
+ ==================
2244
+
2245
+ * Fixed `express(1)` eol on 0.4.x. Closes #947
2246
+
2247
+ 2.5.3 / 2011-12-30
2248
+ ==================
2249
+
2250
+ * Fixed `req.is()` when a charset is present
2251
+
2252
+ 2.5.2 / 2011-12-10
2253
+ ==================
2254
+
2255
+ * Fixed: express(1) LF -> CRLF for windows
2256
+
2257
+ 2.5.1 / 2011-11-17
2258
+ ==================
2259
+
2260
+ * Changed: updated connect to 1.8.x
2261
+ * Removed sass.js support from express(1)
2262
+
2263
+ 2.5.0 / 2011-10-24
2264
+ ==================
2265
+
2266
+ * Added ./routes dir for generated app by default
2267
+ * Added npm install reminder to express(1) app gen
2268
+ * Added 0.5.x support
2269
+ * Removed `make test-cov` since it wont work with node 0.5.x
2270
+ * Fixed express(1) public dir for windows. Closes #866
2271
+
2272
+ 2.4.7 / 2011-10-05
2273
+ ==================
2274
+
2275
+ * Added mkdirp to express(1). Closes #795
2276
+ * Added simple _json-config_ example
2277
+ * Added shorthand for the parsed request's pathname via `req.path`
2278
+ * Changed connect dep to 1.7.x to fix npm issue...
2279
+ * Fixed `res.redirect()` __HEAD__ support. [reported by xerox]
2280
+ * Fixed `req.flash()`, only escape args
2281
+ * Fixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie]
2282
+
2283
+ 2.4.6 / 2011-08-22
2284
+ ==================
2285
+
2286
+ * Fixed multiple param callback regression. Closes #824 [reported by TroyGoode]
2287
+
2288
+ 2.4.5 / 2011-08-19
2289
+ ==================
2290
+
2291
+ * Added support for routes to handle errors. Closes #809
2292
+ * Added `app.routes.all()`. Closes #803
2293
+ * Added "basepath" setting to work in conjunction with reverse proxies etc.
2294
+ * Refactored `Route` to use a single array of callbacks
2295
+ * Added support for multiple callbacks for `app.param()`. Closes #801
2296
+ Closes #805
2297
+ * Changed: removed .call(self) for route callbacks
2298
+ * Dependency: `qs >= 0.3.1`
2299
+ * Fixed `res.redirect()` on windows due to `join()` usage. Closes #808
2300
+
2301
+ 2.4.4 / 2011-08-05
2302
+ ==================
2303
+
2304
+ * Fixed `res.header()` intention of a set, even when `undefined`
2305
+ * Fixed `*`, value no longer required
2306
+ * Fixed `res.send(204)` support. Closes #771
2307
+
2308
+ 2.4.3 / 2011-07-14
2309
+ ==================
2310
+
2311
+ * Added docs for `status` option special-case. Closes #739
2312
+ * Fixed `options.filename`, exposing the view path to template engines
2313
+
2314
+ 2.4.2. / 2011-07-06
2315
+ ==================
2316
+
2317
+ * Revert "removed jsonp stripping" for XSS
2318
+
2319
+ 2.4.1 / 2011-07-06
2320
+ ==================
2321
+
2322
+ * Added `res.json()` JSONP support. Closes #737
2323
+ * Added _extending-templates_ example. Closes #730
2324
+ * Added "strict routing" setting for trailing slashes
2325
+ * Added support for multiple envs in `app.configure()` calls. Closes #735
2326
+ * Changed: `res.send()` using `res.json()`
2327
+ * Changed: when cookie `path === null` don't default it
2328
+ * Changed; default cookie path to "home" setting. Closes #731
2329
+ * Removed _pids/logs_ creation from express(1)
2330
+
2331
+ 2.4.0 / 2011-06-28
2332
+ ==================
2333
+
2334
+ * Added chainable `res.status(code)`
2335
+ * Added `res.json()`, an explicit version of `res.send(obj)`
2336
+ * Added simple web-service example
2337
+
2338
+ 2.3.12 / 2011-06-22
2339
+ ==================
2340
+
2341
+ * \#express is now on freenode! come join!
2342
+ * Added `req.get(field, param)`
2343
+ * Added links to Japanese documentation, thanks @hideyukisaito!
2344
+ * Added; the `express(1)` generated app outputs the env
2345
+ * Added `content-negotiation` example
2346
+ * Dependency: connect >= 1.5.1 < 2.0.0
2347
+ * Fixed view layout bug. Closes #720
2348
+ * Fixed; ignore body on 304. Closes #701
2349
+
2350
+ 2.3.11 / 2011-06-04
2351
+ ==================
2352
+
2353
+ * Added `npm test`
2354
+ * Removed generation of dummy test file from `express(1)`
2355
+ * Fixed; `express(1)` adds express as a dep
2356
+ * Fixed; prune on `prepublish`
2357
+
2358
+ 2.3.10 / 2011-05-27
2359
+ ==================
2360
+
2361
+ * Added `req.route`, exposing the current route
2362
+ * Added _package.json_ generation support to `express(1)`
2363
+ * Fixed call to `app.param()` function for optional params. Closes #682
2364
+
2365
+ 2.3.9 / 2011-05-25
2366
+ ==================
2367
+
2368
+ * Fixed bug-ish with `../' in `res.partial()` calls
2369
+
2370
+ 2.3.8 / 2011-05-24
2371
+ ==================
2372
+
2373
+ * Fixed `app.options()`
2374
+
2375
+ 2.3.7 / 2011-05-23
2376
+ ==================
2377
+
2378
+ * Added route `Collection`, ex: `app.get('/user/:id').remove();`
2379
+ * Added support for `app.param(fn)` to define param logic
2380
+ * Removed `app.param()` support for callback with return value
2381
+ * Removed module.parent check from express(1) generated app. Closes #670
2382
+ * Refactored router. Closes #639
2383
+
2384
+ 2.3.6 / 2011-05-20
2385
+ ==================
2386
+
2387
+ * Changed; using devDependencies instead of git submodules
2388
+ * Fixed redis session example
2389
+ * Fixed markdown example
2390
+ * Fixed view caching, should not be enabled in development
2391
+
2392
+ 2.3.5 / 2011-05-20
2393
+ ==================
2394
+
2395
+ * Added export `.view` as alias for `.View`
2396
+
2397
+ 2.3.4 / 2011-05-08
2398
+ ==================
2399
+
2400
+ * Added `./examples/say`
2401
+ * Fixed `res.sendfile()` bug preventing the transfer of files with spaces
2402
+
2403
+ 2.3.3 / 2011-05-03
2404
+ ==================
2405
+
2406
+ * Added "case sensitive routes" option.
2407
+ * Changed; split methods supported per rfc [slaskis]
2408
+ * Fixed route-specific middleware when using the same callback function several times
2409
+
2410
+ 2.3.2 / 2011-04-27
2411
+ ==================
2412
+
2413
+ * Fixed view hints
2414
+
2415
+ 2.3.1 / 2011-04-26
2416
+ ==================
2417
+
2418
+ * Added `app.match()` as `app.match.all()`
2419
+ * Added `app.lookup()` as `app.lookup.all()`
2420
+ * Added `app.remove()` for `app.remove.all()`
2421
+ * Added `app.remove.VERB()`
2422
+ * Fixed template caching collision issue. Closes #644
2423
+ * Moved router over from connect and started refactor
2424
+
2425
+ 2.3.0 / 2011-04-25
2426
+ ==================
2427
+
2428
+ * Added options support to `res.clearCookie()`
2429
+ * Added `res.helpers()` as alias of `res.locals()`
2430
+ * Added; json defaults to UTF-8 with `res.send()`. Closes #632. [Daniel * Dependency `connect >= 1.4.0`
2431
+ * Changed; auto set Content-Type in res.attachement [Aaron Heckmann]
2432
+ * Renamed "cache views" to "view cache". Closes #628
2433
+ * Fixed caching of views when using several apps. Closes #637
2434
+ * Fixed gotcha invoking `app.param()` callbacks once per route middleware.
2435
+ Closes #638
2436
+ * Fixed partial lookup precedence. Closes #631
2437
+ Shaw]
2438
+
2439
+ 2.2.2 / 2011-04-12
2440
+ ==================
2441
+
2442
+ * Added second callback support for `res.download()` connection errors
2443
+ * Fixed `filename` option passing to template engine
2444
+
2445
+ 2.2.1 / 2011-04-04
2446
+ ==================
2447
+
2448
+ * Added `layout(path)` helper to change the layout within a view. Closes #610
2449
+ * Fixed `partial()` collection object support.
2450
+ Previously only anything with `.length` would work.
2451
+ When `.length` is present one must still be aware of holes,
2452
+ however now `{ collection: {foo: 'bar'}}` is valid, exposes
2453
+ `keyInCollection` and `keysInCollection`.
2454
+
2455
+ * Performance improved with better view caching
2456
+ * Removed `request` and `response` locals
2457
+ * Changed; errorHandler page title is now `Express` instead of `Connect`
2458
+
2459
+ 2.2.0 / 2011-03-30
2460
+ ==================
2461
+
2462
+ * Added `app.lookup.VERB()`, ex `app.lookup.put('/user/:id')`. Closes #606
2463
+ * Added `app.match.VERB()`, ex `app.match.put('/user/12')`. Closes #606
2464
+ * Added `app.VERB(path)` as alias of `app.lookup.VERB()`.
2465
+ * Dependency `connect >= 1.2.0`
2466
+
2467
+ 2.1.1 / 2011-03-29
2468
+ ==================
2469
+
2470
+ * Added; expose `err.view` object when failing to locate a view
2471
+ * Fixed `res.partial()` call `next(err)` when no callback is given [reported by aheckmann]
2472
+ * Fixed; `res.send(undefined)` responds with 204 [aheckmann]
2473
+
2474
+ 2.1.0 / 2011-03-24
2475
+ ==================
2476
+
2477
+ * Added `<root>/_?<name>` partial lookup support. Closes #447
2478
+ * Added `request`, `response`, and `app` local variables
2479
+ * Added `settings` local variable, containing the app's settings
2480
+ * Added `req.flash()` exception if `req.session` is not available
2481
+ * Added `res.send(bool)` support (json response)
2482
+ * Fixed stylus example for latest version
2483
+ * Fixed; wrap try/catch around `res.render()`
2484
+
2485
+ 2.0.0 / 2011-03-17
2486
+ ==================
2487
+
2488
+ * Fixed up index view path alternative.
2489
+ * Changed; `res.locals()` without object returns the locals
2490
+
2491
+ 2.0.0rc3 / 2011-03-17
2492
+ ==================
2493
+
2494
+ * Added `res.locals(obj)` to compliment `res.local(key, val)`
2495
+ * Added `res.partial()` callback support
2496
+ * Fixed recursive error reporting issue in `res.render()`
2497
+
2498
+ 2.0.0rc2 / 2011-03-17
2499
+ ==================
2500
+
2501
+ * Changed; `partial()` "locals" are now optional
2502
+ * Fixed `SlowBuffer` support. Closes #584 [reported by tyrda01]
2503
+ * Fixed .filename view engine option [reported by drudge]
2504
+ * Fixed blog example
2505
+ * Fixed `{req,res}.app` reference when mounting [Ben Weaver]
2506
+
2507
+ 2.0.0rc / 2011-03-14
2508
+ ==================
2509
+
2510
+ * Fixed; expose `HTTPSServer` constructor
2511
+ * Fixed express(1) default test charset. Closes #579 [reported by secoif]
2512
+ * Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP]
2513
+
2514
+ 2.0.0beta3 / 2011-03-09
2515
+ ==================
2516
+
2517
+ * Added support for `res.contentType()` literal
2518
+ The original `res.contentType('.json')`,
2519
+ `res.contentType('application/json')`, and `res.contentType('json')`
2520
+ will work now.
2521
+ * Added `res.render()` status option support back
2522
+ * Added charset option for `res.render()`
2523
+ * Added `.charset` support (via connect 1.0.4)
2524
+ * Added view resolution hints when in development and a lookup fails
2525
+ * Added layout lookup support relative to the page view.
2526
+ For example while rendering `./views/user/index.jade` if you create
2527
+ `./views/user/layout.jade` it will be used in favour of the root layout.
2528
+ * Fixed `res.redirect()`. RFC states absolute url [reported by unlink]
2529
+ * Fixed; default `res.send()` string charset to utf8
2530
+ * Removed `Partial` constructor (not currently used)
2531
+
2532
+ 2.0.0beta2 / 2011-03-07
2533
+ ==================
2534
+
2535
+ * Added res.render() `.locals` support back to aid in migration process
2536
+ * Fixed flash example
2537
+
2538
+ 2.0.0beta / 2011-03-03
2539
+ ==================
2540
+
2541
+ * Added HTTPS support
2542
+ * Added `res.cookie()` maxAge support
2543
+ * Added `req.header()` _Referrer_ / _Referer_ special-case, either works
2544
+ * Added mount support for `res.redirect()`, now respects the mount-point
2545
+ * Added `union()` util, taking place of `merge(clone())` combo
2546
+ * Added stylus support to express(1) generated app
2547
+ * Added secret to session middleware used in examples and generated app
2548
+ * Added `res.local(name, val)` for progressive view locals
2549
+ * Added default param support to `req.param(name, default)`
2550
+ * Added `app.disabled()` and `app.enabled()`
2551
+ * Added `app.register()` support for omitting leading ".", either works
2552
+ * Added `res.partial()`, using the same interface as `partial()` within a view. Closes #539
2553
+ * Added `app.param()` to map route params to async/sync logic
2554
+ * Added; aliased `app.helpers()` as `app.locals()`. Closes #481
2555
+ * Added extname with no leading "." support to `res.contentType()`
2556
+ * Added `cache views` setting, defaulting to enabled in "production" env
2557
+ * Added index file partial resolution, eg: partial('user') may try _views/user/index.jade_.
2558
+ * Added `req.accepts()` support for extensions
2559
+ * Changed; `res.download()` and `res.sendfile()` now utilize Connect's
2560
+ static file server `connect.static.send()`.
2561
+ * Changed; replaced `connect.utils.mime()` with npm _mime_ module
2562
+ * Changed; allow `req.query` to be pre-defined (via middleware or other parent
2563
+ * Changed view partial resolution, now relative to parent view
2564
+ * Changed view engine signature. no longer `engine.render(str, options, callback)`, now `engine.compile(str, options) -> Function`, the returned function accepts `fn(locals)`.
2565
+ * Fixed `req.param()` bug returning Array.prototype methods. Closes #552
2566
+ * Fixed; using `Stream#pipe()` instead of `sys.pump()` in `res.sendfile()`
2567
+ * Fixed; using _qs_ module instead of _querystring_
2568
+ * Fixed; strip unsafe chars from jsonp callbacks
2569
+ * Removed "stream threshold" setting
2570
+
2571
+ 1.0.8 / 2011-03-01
2572
+ ==================
2573
+
2574
+ * Allow `req.query` to be pre-defined (via middleware or other parent app)
2575
+ * "connect": ">= 0.5.0 < 1.0.0". Closes #547
2576
+ * Removed the long deprecated __EXPRESS_ENV__ support
2577
+
2578
+ 1.0.7 / 2011-02-07
2579
+ ==================
2580
+
2581
+ * Fixed `render()` setting inheritance.
2582
+ Mounted apps would not inherit "view engine"
2583
+
2584
+ 1.0.6 / 2011-02-07
2585
+ ==================
2586
+
2587
+ * Fixed `view engine` setting bug when period is in dirname
2588
+
2589
+ 1.0.5 / 2011-02-05
2590
+ ==================
2591
+
2592
+ * Added secret to generated app `session()` call
2593
+
2594
+ 1.0.4 / 2011-02-05
2595
+ ==================
2596
+
2597
+ * Added `qs` dependency to _package.json_
2598
+ * Fixed namespaced `require()`s for latest connect support
2599
+
2600
+ 1.0.3 / 2011-01-13
2601
+ ==================
2602
+
2603
+ * Remove unsafe characters from JSONP callback names [Ryan Grove]
2604
+
2605
+ 1.0.2 / 2011-01-10
2606
+ ==================
2607
+
2608
+ * Removed nested require, using `connect.router`
2609
+
2610
+ 1.0.1 / 2010-12-29
2611
+ ==================
2612
+
2613
+ * Fixed for middleware stacked via `createServer()`
2614
+ previously the `foo` middleware passed to `createServer(foo)`
2615
+ would not have access to Express methods such as `res.send()`
2616
+ or props like `req.query` etc.
2617
+
2618
+ 1.0.0 / 2010-11-16
2619
+ ==================
2620
+
2621
+ * Added; deduce partial object names from the last segment.
2622
+ For example by default `partial('forum/post', postObject)` will
2623
+ give you the _post_ object, providing a meaningful default.
2624
+ * Added http status code string representation to `res.redirect()` body
2625
+ * Added; `res.redirect()` supporting _text/plain_ and _text/html_ via __Accept__.
2626
+ * Added `req.is()` to aid in content negotiation
2627
+ * Added partial local inheritance [suggested by masylum]. Closes #102
2628
+ providing access to parent template locals.
2629
+ * Added _-s, --session[s]_ flag to express(1) to add session related middleware
2630
+ * Added _--template_ flag to express(1) to specify the
2631
+ template engine to use.
2632
+ * Added _--css_ flag to express(1) to specify the
2633
+ stylesheet engine to use (or just plain css by default).
2634
+ * Added `app.all()` support [thanks aheckmann]
2635
+ * Added partial direct object support.
2636
+ You may now `partial('user', user)` providing the "user" local,
2637
+ vs previously `partial('user', { object: user })`.
2638
+ * Added _route-separation_ example since many people question ways
2639
+ to do this with CommonJS modules. Also view the _blog_ example for
2640
+ an alternative.
2641
+ * Performance; caching view path derived partial object names
2642
+ * Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454
2643
+ * Fixed jsonp support; _text/javascript_ as per mailinglist discussion
2644
+
2645
+ 1.0.0rc4 / 2010-10-14
2646
+ ==================
2647
+
2648
+ * Added _NODE_ENV_ support, _EXPRESS_ENV_ is deprecated and will be removed in 1.0.0
2649
+ * Added route-middleware support (very helpful, see the [docs](http://expressjs.com/guide.html#Route-Middleware))
2650
+ * Added _jsonp callback_ setting to enable/disable jsonp autowrapping [Dav Glass]
2651
+ * Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass]
2652
+ * Added `partial()` support for array-like collections. Closes #434
2653
+ * Added support for swappable querystring parsers
2654
+ * Added session usage docs. Closes #443
2655
+ * Added dynamic helper caching. Closes #439 [suggested by maritz]
2656
+ * Added authentication example
2657
+ * Added basic Range support to `res.sendfile()` (and `res.download()` etc)
2658
+ * Changed; `express(1)` generated app using 2 spaces instead of 4
2659
+ * Default env to "development" again [aheckmann]
2660
+ * Removed _context_ option is no more, use "scope"
2661
+ * Fixed; exposing _./support_ libs to examples so they can run without installs
2662
+ * Fixed mvc example
2663
+
2664
+ 1.0.0rc3 / 2010-09-20
2665
+ ==================
2666
+
2667
+ * Added confirmation for `express(1)` app generation. Closes #391
2668
+ * Added extending of flash formatters via `app.flashFormatters`
2669
+ * Added flash formatter support. Closes #411
2670
+ * Added streaming support to `res.sendfile()` using `sys.pump()` when >= "stream threshold"
2671
+ * Added _stream threshold_ setting for `res.sendfile()`
2672
+ * Added `res.send()` __HEAD__ support
2673
+ * Added `res.clearCookie()`
2674
+ * Added `res.cookie()`
2675
+ * Added `res.render()` headers option
2676
+ * Added `res.redirect()` response bodies
2677
+ * Added `res.render()` status option support. Closes #425 [thanks aheckmann]
2678
+ * Fixed `res.sendfile()` responding with 403 on malicious path
2679
+ * Fixed `res.download()` bug; when an error occurs remove _Content-Disposition_
2680
+ * Fixed; mounted apps settings now inherit from parent app [aheckmann]
2681
+ * Fixed; stripping Content-Length / Content-Type when 204
2682
+ * Fixed `res.send()` 204. Closes #419
2683
+ * Fixed multiple _Set-Cookie_ headers via `res.header()`. Closes #402
2684
+ * Fixed bug messing with error handlers when `listenFD()` is called instead of `listen()`. [thanks guillermo]
2685
+
2686
+
2687
+ 1.0.0rc2 / 2010-08-17
2688
+ ==================
2689
+
2690
+ * Added `app.register()` for template engine mapping. Closes #390
2691
+ * Added `res.render()` callback support as second argument (no options)
2692
+ * Added callback support to `res.download()`
2693
+ * Added callback support for `res.sendfile()`
2694
+ * Added support for middleware access via `express.middlewareName()` vs `connect.middlewareName()`
2695
+ * Added "partials" setting to docs
2696
+ * Added default expresso tests to `express(1)` generated app. Closes #384
2697
+ * Fixed `res.sendfile()` error handling, defer via `next()`
2698
+ * Fixed `res.render()` callback when a layout is used [thanks guillermo]
2699
+ * Fixed; `make install` creating ~/.node_libraries when not present
2700
+ * Fixed issue preventing error handlers from being defined anywhere. Closes #387
2701
+
2702
+ 1.0.0rc / 2010-07-28
2703
+ ==================
2704
+
2705
+ * Added mounted hook. Closes #369
2706
+ * Added connect dependency to _package.json_
2707
+
2708
+ * Removed "reload views" setting and support code
2709
+ development env never caches, production always caches.
2710
+
2711
+ * Removed _param_ in route callbacks, signature is now
2712
+ simply (req, res, next), previously (req, res, params, next).
2713
+ Use _req.params_ for path captures, _req.query_ for GET params.
2714
+
2715
+ * Fixed "home" setting
2716
+ * Fixed middleware/router precedence issue. Closes #366
2717
+ * Fixed; _configure()_ callbacks called immediately. Closes #368
2718
+
2719
+ 1.0.0beta2 / 2010-07-23
2720
+ ==================
2721
+
2722
+ * Added more examples
2723
+ * Added; exporting `Server` constructor
2724
+ * Added `Server#helpers()` for view locals
2725
+ * Added `Server#dynamicHelpers()` for dynamic view locals. Closes #349
2726
+ * Added support for absolute view paths
2727
+ * Added; _home_ setting defaults to `Server#route` for mounted apps. Closes #363
2728
+ * Added Guillermo Rauch to the contributor list
2729
+ * Added support for "as" for non-collection partials. Closes #341
2730
+ * Fixed _install.sh_, ensuring _~/.node_libraries_ exists. Closes #362 [thanks jf]
2731
+ * Fixed `res.render()` exceptions, now passed to `next()` when no callback is given [thanks guillermo]
2732
+ * Fixed instanceof `Array` checks, now `Array.isArray()`
2733
+ * Fixed express(1) expansion of public dirs. Closes #348
2734
+ * Fixed middleware precedence. Closes #345
2735
+ * Fixed view watcher, now async [thanks aheckmann]
2736
+
2737
+ 1.0.0beta / 2010-07-15
2738
+ ==================
2739
+
2740
+ * Re-write
2741
+ - much faster
2742
+ - much lighter
2743
+ - Check [ExpressJS.com](http://expressjs.com) for migration guide and updated docs
2744
+
2745
+ 0.14.0 / 2010-06-15
2746
+ ==================
2747
+
2748
+ * Utilize relative requires
2749
+ * Added Static bufferSize option [aheckmann]
2750
+ * Fixed caching of view and partial subdirectories [aheckmann]
2751
+ * Fixed mime.type() comments now that ".ext" is not supported
2752
+ * Updated haml submodule
2753
+ * Updated class submodule
2754
+ * Removed bin/express
2755
+
2756
+ 0.13.0 / 2010-06-01
2757
+ ==================
2758
+
2759
+ * Added node v0.1.97 compatibility
2760
+ * Added support for deleting cookies via Request#cookie('key', null)
2761
+ * Updated haml submodule
2762
+ * Fixed not-found page, now using using charset utf-8
2763
+ * Fixed show-exceptions page, now using using charset utf-8
2764
+ * Fixed view support due to fs.readFile Buffers
2765
+ * Changed; mime.type() no longer accepts ".type" due to node extname() changes
2766
+
2767
+ 0.12.0 / 2010-05-22
2768
+ ==================
2769
+
2770
+ * Added node v0.1.96 compatibility
2771
+ * Added view `helpers` export which act as additional local variables
2772
+ * Updated haml submodule
2773
+ * Changed ETag; removed inode, modified time only
2774
+ * Fixed LF to CRLF for setting multiple cookies
2775
+ * Fixed cookie complation; values are now urlencoded
2776
+ * Fixed cookies parsing; accepts quoted values and url escaped cookies
2777
+
2778
+ 0.11.0 / 2010-05-06
2779
+ ==================
2780
+
2781
+ * Added support for layouts using different engines
2782
+ - this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' })
2783
+ - this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml'
2784
+ - this.render('page.html.haml', { layout: false }) // no layout
2785
+ * Updated ext submodule
2786
+ * Updated haml submodule
2787
+ * Fixed EJS partial support by passing along the context. Issue #307
2788
+
2789
+ 0.10.1 / 2010-05-03
2790
+ ==================
2791
+
2792
+ * Fixed binary uploads.
2793
+
2794
+ 0.10.0 / 2010-04-30
2795
+ ==================
2796
+
2797
+ * Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s
2798
+ encoding is set to 'utf8' or 'utf-8'.
2799
+ * Added "encoding" option to Request#render(). Closes #299
2800
+ * Added "dump exceptions" setting, which is enabled by default.
2801
+ * Added simple ejs template engine support
2802
+ * Added error response support for text/plain, application/json. Closes #297
2803
+ * Added callback function param to Request#error()
2804
+ * Added Request#sendHead()
2805
+ * Added Request#stream()
2806
+ * Added support for Request#respond(304, null) for empty response bodies
2807
+ * Added ETag support to Request#sendfile()
2808
+ * Added options to Request#sendfile(), passed to fs.createReadStream()
2809
+ * Added filename arg to Request#download()
2810
+ * Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request
2811
+ * Performance enhanced by preventing several calls to toLowerCase() in Router#match()
2812
+ * Changed; Request#sendfile() now streams
2813
+ * Changed; Renamed Request#halt() to Request#respond(). Closes #289
2814
+ * Changed; Using sys.inspect() instead of JSON.encode() for error output
2815
+ * Changed; run() returns the http.Server instance. Closes #298
2816
+ * Changed; Defaulting Server#host to null (INADDR_ANY)
2817
+ * Changed; Logger "common" format scale of 0.4f
2818
+ * Removed Logger "request" format
2819
+ * Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found
2820
+ * Fixed several issues with http client
2821
+ * Fixed Logger Content-Length output
2822
+ * Fixed bug preventing Opera from retaining the generated session id. Closes #292
2823
+
2824
+ 0.9.0 / 2010-04-14
2825
+ ==================
2826
+
2827
+ * Added DSL level error() route support
2828
+ * Added DSL level notFound() route support
2829
+ * Added Request#error()
2830
+ * Added Request#notFound()
2831
+ * Added Request#render() callback function. Closes #258
2832
+ * Added "max upload size" setting
2833
+ * Added "magic" variables to collection partials (\_\_index\_\_, \_\_length\_\_, \_\_isFirst\_\_, \_\_isLast\_\_). Closes #254
2834
+ * Added [haml.js](http://github.com/visionmedia/haml.js) submodule; removed haml-js
2835
+ * Added callback function support to Request#halt() as 3rd/4th arg
2836
+ * Added preprocessing of route param wildcards using param(). Closes #251
2837
+ * Added view partial support (with collections etc)
2838
+ * Fixed bug preventing falsey params (such as ?page=0). Closes #286
2839
+ * Fixed setting of multiple cookies. Closes #199
2840
+ * Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml)
2841
+ * Changed; session cookie is now httpOnly
2842
+ * Changed; Request is no longer global
2843
+ * Changed; Event is no longer global
2844
+ * Changed; "sys" module is no longer global
2845
+ * Changed; moved Request#download to Static plugin where it belongs
2846
+ * Changed; Request instance created before body parsing. Closes #262
2847
+ * Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253
2848
+ * Changed; Pre-caching view partials in memory when "cache view partials" is enabled
2849
+ * Updated support to node --version 0.1.90
2850
+ * Updated dependencies
2851
+ * Removed set("session cookie") in favour of use(Session, { cookie: { ... }})
2852
+ * Removed utils.mixin(); use Object#mergeDeep()
2853
+
2854
+ 0.8.0 / 2010-03-19
2855
+ ==================
2856
+
2857
+ * Added coffeescript example app. Closes #242
2858
+ * Changed; cache api now async friendly. Closes #240
2859
+ * Removed deprecated 'express/static' support. Use 'express/plugins/static'
2860
+
2861
+ 0.7.6 / 2010-03-19
2862
+ ==================
2863
+
2864
+ * Added Request#isXHR. Closes #229
2865
+ * Added `make install` (for the executable)
2866
+ * Added `express` executable for setting up simple app templates
2867
+ * Added "GET /public/*" to Static plugin, defaulting to <root>/public
2868
+ * Added Static plugin
2869
+ * Fixed; Request#render() only calls cache.get() once
2870
+ * Fixed; Namespacing View caches with "view:"
2871
+ * Fixed; Namespacing Static caches with "static:"
2872
+ * Fixed; Both example apps now use the Static plugin
2873
+ * Fixed set("views"). Closes #239
2874
+ * Fixed missing space for combined log format
2875
+ * Deprecated Request#sendfile() and 'express/static'
2876
+ * Removed Server#running
2877
+
2878
+ 0.7.5 / 2010-03-16
2879
+ ==================
2880
+
2881
+ * Added Request#flash() support without args, now returns all flashes
2882
+ * Updated ext submodule
2883
+
2884
+ 0.7.4 / 2010-03-16
2885
+ ==================
2886
+
2887
+ * Fixed session reaper
2888
+ * Changed; class.js replacing js-oo Class implementation (quite a bit faster, no browser cruft)
2889
+
2890
+ 0.7.3 / 2010-03-16
2891
+ ==================
2892
+
2893
+ * Added package.json
2894
+ * Fixed requiring of haml / sass due to kiwi removal
2895
+
2896
+ 0.7.2 / 2010-03-16
2897
+ ==================
2898
+
2899
+ * Fixed GIT submodules (HAH!)
2900
+
2901
+ 0.7.1 / 2010-03-16
2902
+ ==================
2903
+
2904
+ * Changed; Express now using submodules again until a PM is adopted
2905
+ * Changed; chat example using millisecond conversions from ext
2906
+
2907
+ 0.7.0 / 2010-03-15
2908
+ ==================
2909
+
2910
+ * Added Request#pass() support (finds the next matching route, or the given path)
2911
+ * Added Logger plugin (default "common" format replaces CommonLogger)
2912
+ * Removed Profiler plugin
2913
+ * Removed CommonLogger plugin
2914
+
2915
+ 0.6.0 / 2010-03-11
2916
+ ==================
2917
+
2918
+ * Added seed.yml for kiwi package management support
2919
+ * Added HTTP client query string support when method is GET. Closes #205
2920
+
2921
+ * Added support for arbitrary view engines.
2922
+ For example "foo.engine.html" will now require('engine'),
2923
+ the exports from this module are cached after the first require().
2924
+
2925
+ * Added async plugin support
2926
+
2927
+ * Removed usage of RESTful route funcs as http client
2928
+ get() etc, use http.get() and friends
2929
+
2930
+ * Removed custom exceptions
2931
+
2932
+ 0.5.0 / 2010-03-10
2933
+ ==================
2934
+
2935
+ * Added ext dependency (library of js extensions)
2936
+ * Removed extname() / basename() utils. Use path module
2937
+ * Removed toArray() util. Use arguments.values
2938
+ * Removed escapeRegexp() util. Use RegExp.escape()
2939
+ * Removed process.mixin() dependency. Use utils.mixin()
2940
+ * Removed Collection
2941
+ * Removed ElementCollection
2942
+ * Shameless self promotion of ebook "Advanced JavaScript" (http://dev-mag.com) ;)
2943
+
2944
+ 0.4.0 / 2010-02-11
2945
+ ==================
2946
+
2947
+ * Added flash() example to sample upload app
2948
+ * Added high level restful http client module (express/http)
2949
+ * Changed; RESTful route functions double as HTTP clients. Closes #69
2950
+ * Changed; throwing error when routes are added at runtime
2951
+ * Changed; defaulting render() context to the current Request. Closes #197
2952
+ * Updated haml submodule
2953
+
2954
+ 0.3.0 / 2010-02-11
2955
+ ==================
2956
+
2957
+ * Updated haml / sass submodules. Closes #200
2958
+ * Added flash message support. Closes #64
2959
+ * Added accepts() now allows multiple args. fixes #117
2960
+ * Added support for plugins to halt. Closes #189
2961
+ * Added alternate layout support. Closes #119
2962
+ * Removed Route#run(). Closes #188
2963
+ * Fixed broken specs due to use(Cookie) missing
2964
+
2965
+ 0.2.1 / 2010-02-05
2966
+ ==================
2967
+
2968
+ * Added "plot" format option for Profiler (for gnuplot processing)
2969
+ * Added request number to Profiler plugin
2970
+ * Fixed binary encoding for multi-part file uploads, was previously defaulting to UTF8
2971
+ * Fixed issue with routes not firing when not files are present. Closes #184
2972
+ * Fixed process.Promise -> events.Promise
2973
+
2974
+ 0.2.0 / 2010-02-03
2975
+ ==================
2976
+
2977
+ * Added parseParam() support for name[] etc. (allows for file inputs with "multiple" attr) Closes #180
2978
+ * Added Both Cache and Session option "reapInterval" may be "reapEvery". Closes #174
2979
+ * Added expiration support to cache api with reaper. Closes #133
2980
+ * Added cache Store.Memory#reap()
2981
+ * Added Cache; cache api now uses first class Cache instances
2982
+ * Added abstract session Store. Closes #172
2983
+ * Changed; cache Memory.Store#get() utilizing Collection
2984
+ * Renamed MemoryStore -> Store.Memory
2985
+ * Fixed use() of the same plugin several time will always use latest options. Closes #176
2986
+
2987
+ 0.1.0 / 2010-02-03
2988
+ ==================
2989
+
2990
+ * Changed; Hooks (before / after) pass request as arg as well as evaluated in their context
2991
+ * Updated node support to 0.1.27 Closes #169
2992
+ * Updated dirname(__filename) -> __dirname
2993
+ * Updated libxmljs support to v0.2.0
2994
+ * Added session support with memory store / reaping
2995
+ * Added quick uid() helper
2996
+ * Added multi-part upload support
2997
+ * Added Sass.js support / submodule
2998
+ * Added production env caching view contents and static files
2999
+ * Added static file caching. Closes #136
3000
+ * Added cache plugin with memory stores
3001
+ * Added support to StaticFile so that it works with non-textual files.
3002
+ * Removed dirname() helper
3003
+ * Removed several globals (now their modules must be required)
3004
+
3005
+ 0.0.2 / 2010-01-10
3006
+ ==================
3007
+
3008
+ * Added view benchmarks; currently haml vs ejs
3009
+ * Added Request#attachment() specs. Closes #116
3010
+ * Added use of node's parseQuery() util. Closes #123
3011
+ * Added `make init` for submodules
3012
+ * Updated Haml
3013
+ * Updated sample chat app to show messages on load
3014
+ * Updated libxmljs parseString -> parseHtmlString
3015
+ * Fixed `make init` to work with older versions of git
3016
+ * Fixed specs can now run independent specs for those who cant build deps. Closes #127
3017
+ * Fixed issues introduced by the node url module changes. Closes 126.
3018
+ * Fixed two assertions failing due to Collection#keys() returning strings
3019
+ * Fixed faulty Collection#toArray() spec due to keys() returning strings
3020
+ * Fixed `make test` now builds libxmljs.node before testing
3021
+
3022
+ 0.0.1 / 2010-01-03
3023
+ ==================
3024
+
3025
+ * Initial release