coupeeeez 0.0.1

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 (881) hide show
  1. package/LICENSE.MD +7 -0
  2. package/command +18 -0
  3. package/makeApp.ts +17 -0
  4. package/package.json +41 -0
  5. package/stream-api/Message.ts +6 -0
  6. package/stream-api/SSEInjected.ts +3 -0
  7. package/stream-api/SSEServer.ts +37 -0
  8. package/stream-api/SSEServers.ts +36 -0
  9. package/stream-api/StreamApi.ts +39 -0
  10. package/stream-api/app.ts +14 -0
  11. package/stream-api/index.ts +1 -0
  12. package/stream-api/node_modules/.package-lock.json +971 -0
  13. package/stream-api/node_modules/@types/body-parser/LICENSE +21 -0
  14. package/stream-api/node_modules/@types/body-parser/README.md +15 -0
  15. package/stream-api/node_modules/@types/body-parser/index.d.ts +95 -0
  16. package/stream-api/node_modules/@types/body-parser/package.json +64 -0
  17. package/stream-api/node_modules/@types/connect/LICENSE +21 -0
  18. package/stream-api/node_modules/@types/connect/README.md +15 -0
  19. package/stream-api/node_modules/@types/connect/index.d.ts +91 -0
  20. package/stream-api/node_modules/@types/connect/package.json +32 -0
  21. package/stream-api/node_modules/@types/express/LICENSE +21 -0
  22. package/stream-api/node_modules/@types/express/README.md +15 -0
  23. package/stream-api/node_modules/@types/express/index.d.ts +122 -0
  24. package/stream-api/node_modules/@types/express/package.json +45 -0
  25. package/stream-api/node_modules/@types/express-serve-static-core/LICENSE +21 -0
  26. package/stream-api/node_modules/@types/express-serve-static-core/README.md +15 -0
  27. package/stream-api/node_modules/@types/express-serve-static-core/index.d.ts +1244 -0
  28. package/stream-api/node_modules/@types/express-serve-static-core/package.json +51 -0
  29. package/stream-api/node_modules/@types/http-errors/LICENSE +21 -0
  30. package/stream-api/node_modules/@types/http-errors/README.md +15 -0
  31. package/stream-api/node_modules/@types/http-errors/index.d.ts +77 -0
  32. package/stream-api/node_modules/@types/http-errors/package.json +36 -0
  33. package/stream-api/node_modules/@types/mime/LICENSE +21 -0
  34. package/stream-api/node_modules/@types/mime/Mime.d.ts +10 -0
  35. package/stream-api/node_modules/@types/mime/README.md +15 -0
  36. package/stream-api/node_modules/@types/mime/index.d.ts +31 -0
  37. package/stream-api/node_modules/@types/mime/lite.d.ts +7 -0
  38. package/stream-api/node_modules/@types/mime/package.json +30 -0
  39. package/stream-api/node_modules/@types/node/LICENSE +21 -0
  40. package/stream-api/node_modules/@types/node/README.md +15 -0
  41. package/stream-api/node_modules/@types/node/assert/strict.d.ts +111 -0
  42. package/stream-api/node_modules/@types/node/assert.d.ts +1115 -0
  43. package/stream-api/node_modules/@types/node/async_hooks.d.ts +623 -0
  44. package/stream-api/node_modules/@types/node/buffer.buffer.d.ts +472 -0
  45. package/stream-api/node_modules/@types/node/buffer.d.ts +1934 -0
  46. package/stream-api/node_modules/@types/node/child_process.d.ts +1476 -0
  47. package/stream-api/node_modules/@types/node/cluster.d.ts +578 -0
  48. package/stream-api/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
  49. package/stream-api/node_modules/@types/node/console.d.ts +453 -0
  50. package/stream-api/node_modules/@types/node/constants.d.ts +21 -0
  51. package/stream-api/node_modules/@types/node/crypto.d.ts +5417 -0
  52. package/stream-api/node_modules/@types/node/dgram.d.ts +600 -0
  53. package/stream-api/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
  54. package/stream-api/node_modules/@types/node/dns/promises.d.ts +503 -0
  55. package/stream-api/node_modules/@types/node/dns.d.ts +923 -0
  56. package/stream-api/node_modules/@types/node/domain.d.ts +170 -0
  57. package/stream-api/node_modules/@types/node/events.d.ts +976 -0
  58. package/stream-api/node_modules/@types/node/fs/promises.d.ts +1317 -0
  59. package/stream-api/node_modules/@types/node/fs.d.ts +4714 -0
  60. package/stream-api/node_modules/@types/node/globals.d.ts +170 -0
  61. package/stream-api/node_modules/@types/node/globals.typedarray.d.ts +41 -0
  62. package/stream-api/node_modules/@types/node/http.d.ts +2134 -0
  63. package/stream-api/node_modules/@types/node/http2.d.ts +2756 -0
  64. package/stream-api/node_modules/@types/node/https.d.ts +579 -0
  65. package/stream-api/node_modules/@types/node/index.d.ts +101 -0
  66. package/stream-api/node_modules/@types/node/inspector.d.ts +277 -0
  67. package/stream-api/node_modules/@types/node/inspector.generated.d.ts +4233 -0
  68. package/stream-api/node_modules/@types/node/module.d.ts +894 -0
  69. package/stream-api/node_modules/@types/node/net.d.ts +1054 -0
  70. package/stream-api/node_modules/@types/node/os.d.ts +507 -0
  71. package/stream-api/node_modules/@types/node/package.json +155 -0
  72. package/stream-api/node_modules/@types/node/path.d.ts +200 -0
  73. package/stream-api/node_modules/@types/node/perf_hooks.d.ts +982 -0
  74. package/stream-api/node_modules/@types/node/process.d.ts +2069 -0
  75. package/stream-api/node_modules/@types/node/punycode.d.ts +117 -0
  76. package/stream-api/node_modules/@types/node/querystring.d.ts +152 -0
  77. package/stream-api/node_modules/@types/node/readline/promises.d.ts +161 -0
  78. package/stream-api/node_modules/@types/node/readline.d.ts +594 -0
  79. package/stream-api/node_modules/@types/node/repl.d.ts +438 -0
  80. package/stream-api/node_modules/@types/node/sea.d.ts +162 -0
  81. package/stream-api/node_modules/@types/node/sqlite.d.ts +937 -0
  82. package/stream-api/node_modules/@types/node/stream/consumers.d.ts +38 -0
  83. package/stream-api/node_modules/@types/node/stream/promises.d.ts +90 -0
  84. package/stream-api/node_modules/@types/node/stream/web.d.ts +573 -0
  85. package/stream-api/node_modules/@types/node/stream.d.ts +1683 -0
  86. package/stream-api/node_modules/@types/node/string_decoder.d.ts +67 -0
  87. package/stream-api/node_modules/@types/node/test.d.ts +2339 -0
  88. package/stream-api/node_modules/@types/node/timers/promises.d.ts +108 -0
  89. package/stream-api/node_modules/@types/node/timers.d.ts +285 -0
  90. package/stream-api/node_modules/@types/node/tls.d.ts +1269 -0
  91. package/stream-api/node_modules/@types/node/trace_events.d.ts +197 -0
  92. package/stream-api/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +468 -0
  93. package/stream-api/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  94. package/stream-api/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
  95. package/stream-api/node_modules/@types/node/ts5.6/index.d.ts +103 -0
  96. package/stream-api/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  97. package/stream-api/node_modules/@types/node/ts5.7/index.d.ts +103 -0
  98. package/stream-api/node_modules/@types/node/tty.d.ts +208 -0
  99. package/stream-api/node_modules/@types/node/url.d.ts +1057 -0
  100. package/stream-api/node_modules/@types/node/util.d.ts +2325 -0
  101. package/stream-api/node_modules/@types/node/v8.d.ts +952 -0
  102. package/stream-api/node_modules/@types/node/vm.d.ts +1180 -0
  103. package/stream-api/node_modules/@types/node/wasi.d.ts +202 -0
  104. package/stream-api/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  105. package/stream-api/node_modules/@types/node/web-globals/crypto.d.ts +32 -0
  106. package/stream-api/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  107. package/stream-api/node_modules/@types/node/web-globals/events.d.ts +97 -0
  108. package/stream-api/node_modules/@types/node/web-globals/fetch.d.ts +50 -0
  109. package/stream-api/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
  110. package/stream-api/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  111. package/stream-api/node_modules/@types/node/web-globals/streams.d.ts +22 -0
  112. package/stream-api/node_modules/@types/node/worker_threads.d.ts +896 -0
  113. package/stream-api/node_modules/@types/node/zlib.d.ts +681 -0
  114. package/stream-api/node_modules/@types/qs/LICENSE +21 -0
  115. package/stream-api/node_modules/@types/qs/README.md +15 -0
  116. package/stream-api/node_modules/@types/qs/index.d.ts +82 -0
  117. package/stream-api/node_modules/@types/qs/package.json +66 -0
  118. package/stream-api/node_modules/@types/range-parser/LICENSE +21 -0
  119. package/stream-api/node_modules/@types/range-parser/README.md +53 -0
  120. package/stream-api/node_modules/@types/range-parser/index.d.ts +34 -0
  121. package/stream-api/node_modules/@types/range-parser/package.json +25 -0
  122. package/stream-api/node_modules/@types/send/LICENSE +21 -0
  123. package/stream-api/node_modules/@types/send/README.md +15 -0
  124. package/stream-api/node_modules/@types/send/index.d.ts +187 -0
  125. package/stream-api/node_modules/@types/send/package.json +38 -0
  126. package/stream-api/node_modules/@types/serve-static/LICENSE +21 -0
  127. package/stream-api/node_modules/@types/serve-static/README.md +15 -0
  128. package/stream-api/node_modules/@types/serve-static/index.d.ts +107 -0
  129. package/stream-api/node_modules/@types/serve-static/node_modules/@types/send/LICENSE +21 -0
  130. package/stream-api/node_modules/@types/serve-static/node_modules/@types/send/README.md +15 -0
  131. package/stream-api/node_modules/@types/serve-static/node_modules/@types/send/index.d.ts +225 -0
  132. package/stream-api/node_modules/@types/serve-static/node_modules/@types/send/package.json +39 -0
  133. package/stream-api/node_modules/@types/serve-static/package.json +45 -0
  134. package/stream-api/node_modules/accepts/HISTORY.md +250 -0
  135. package/stream-api/node_modules/accepts/LICENSE +23 -0
  136. package/stream-api/node_modules/accepts/README.md +140 -0
  137. package/stream-api/node_modules/accepts/index.js +238 -0
  138. package/stream-api/node_modules/accepts/package.json +47 -0
  139. package/stream-api/node_modules/any-base/LICENSE +21 -0
  140. package/stream-api/node_modules/any-base/README.md +55 -0
  141. package/stream-api/node_modules/any-base/dist/any-base.js +94 -0
  142. package/stream-api/node_modules/any-base/dist/any-base.min.js +1 -0
  143. package/stream-api/node_modules/any-base/index.js +30 -0
  144. package/stream-api/node_modules/any-base/package.json +40 -0
  145. package/stream-api/node_modules/any-base/src/converter.js +80 -0
  146. package/stream-api/node_modules/body-parser/LICENSE +23 -0
  147. package/stream-api/node_modules/body-parser/README.md +494 -0
  148. package/stream-api/node_modules/body-parser/index.js +80 -0
  149. package/stream-api/node_modules/body-parser/lib/read.js +250 -0
  150. package/stream-api/node_modules/body-parser/lib/types/json.js +166 -0
  151. package/stream-api/node_modules/body-parser/lib/types/raw.js +43 -0
  152. package/stream-api/node_modules/body-parser/lib/types/text.js +37 -0
  153. package/stream-api/node_modules/body-parser/lib/types/urlencoded.js +142 -0
  154. package/stream-api/node_modules/body-parser/lib/utils.js +96 -0
  155. package/stream-api/node_modules/body-parser/package.json +52 -0
  156. package/stream-api/node_modules/bytes/History.md +97 -0
  157. package/stream-api/node_modules/bytes/LICENSE +23 -0
  158. package/stream-api/node_modules/bytes/Readme.md +152 -0
  159. package/stream-api/node_modules/bytes/index.js +170 -0
  160. package/stream-api/node_modules/bytes/package.json +42 -0
  161. package/stream-api/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  162. package/stream-api/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  163. package/stream-api/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  164. package/stream-api/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  165. package/stream-api/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  166. package/stream-api/node_modules/call-bind-apply-helpers/README.md +62 -0
  167. package/stream-api/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  168. package/stream-api/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  169. package/stream-api/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  170. package/stream-api/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  171. package/stream-api/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  172. package/stream-api/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  173. package/stream-api/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  174. package/stream-api/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  175. package/stream-api/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  176. package/stream-api/node_modules/call-bind-apply-helpers/index.js +15 -0
  177. package/stream-api/node_modules/call-bind-apply-helpers/package.json +85 -0
  178. package/stream-api/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  179. package/stream-api/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  180. package/stream-api/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  181. package/stream-api/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  182. package/stream-api/node_modules/call-bound/.eslintrc +13 -0
  183. package/stream-api/node_modules/call-bound/.github/FUNDING.yml +12 -0
  184. package/stream-api/node_modules/call-bound/.nycrc +9 -0
  185. package/stream-api/node_modules/call-bound/CHANGELOG.md +42 -0
  186. package/stream-api/node_modules/call-bound/LICENSE +21 -0
  187. package/stream-api/node_modules/call-bound/README.md +53 -0
  188. package/stream-api/node_modules/call-bound/index.d.ts +94 -0
  189. package/stream-api/node_modules/call-bound/index.js +19 -0
  190. package/stream-api/node_modules/call-bound/package.json +99 -0
  191. package/stream-api/node_modules/call-bound/test/index.js +61 -0
  192. package/stream-api/node_modules/call-bound/tsconfig.json +10 -0
  193. package/stream-api/node_modules/commander/LICENSE +22 -0
  194. package/stream-api/node_modules/commander/Readme.md +1159 -0
  195. package/stream-api/node_modules/commander/esm.mjs +16 -0
  196. package/stream-api/node_modules/commander/index.js +24 -0
  197. package/stream-api/node_modules/commander/lib/argument.js +150 -0
  198. package/stream-api/node_modules/commander/lib/command.js +2777 -0
  199. package/stream-api/node_modules/commander/lib/error.js +39 -0
  200. package/stream-api/node_modules/commander/lib/help.js +747 -0
  201. package/stream-api/node_modules/commander/lib/option.js +380 -0
  202. package/stream-api/node_modules/commander/lib/suggestSimilar.js +101 -0
  203. package/stream-api/node_modules/commander/package-support.json +16 -0
  204. package/stream-api/node_modules/commander/package.json +82 -0
  205. package/stream-api/node_modules/commander/typings/esm.d.mts +3 -0
  206. package/stream-api/node_modules/commander/typings/index.d.ts +1113 -0
  207. package/stream-api/node_modules/content-disposition/HISTORY.md +72 -0
  208. package/stream-api/node_modules/content-disposition/LICENSE +22 -0
  209. package/stream-api/node_modules/content-disposition/README.md +142 -0
  210. package/stream-api/node_modules/content-disposition/index.js +458 -0
  211. package/stream-api/node_modules/content-disposition/package.json +43 -0
  212. package/stream-api/node_modules/content-type/HISTORY.md +29 -0
  213. package/stream-api/node_modules/content-type/LICENSE +22 -0
  214. package/stream-api/node_modules/content-type/README.md +94 -0
  215. package/stream-api/node_modules/content-type/index.js +225 -0
  216. package/stream-api/node_modules/content-type/package.json +42 -0
  217. package/stream-api/node_modules/cookie/LICENSE +24 -0
  218. package/stream-api/node_modules/cookie/README.md +317 -0
  219. package/stream-api/node_modules/cookie/SECURITY.md +25 -0
  220. package/stream-api/node_modules/cookie/index.js +335 -0
  221. package/stream-api/node_modules/cookie/package.json +44 -0
  222. package/stream-api/node_modules/cookie-signature/History.md +70 -0
  223. package/stream-api/node_modules/cookie-signature/LICENSE +22 -0
  224. package/stream-api/node_modules/cookie-signature/Readme.md +23 -0
  225. package/stream-api/node_modules/cookie-signature/index.js +47 -0
  226. package/stream-api/node_modules/cookie-signature/package.json +24 -0
  227. package/stream-api/node_modules/debug/LICENSE +20 -0
  228. package/stream-api/node_modules/debug/README.md +481 -0
  229. package/stream-api/node_modules/debug/package.json +64 -0
  230. package/stream-api/node_modules/debug/src/browser.js +272 -0
  231. package/stream-api/node_modules/debug/src/common.js +292 -0
  232. package/stream-api/node_modules/debug/src/index.js +10 -0
  233. package/stream-api/node_modules/debug/src/node.js +263 -0
  234. package/stream-api/node_modules/depd/History.md +103 -0
  235. package/stream-api/node_modules/depd/LICENSE +22 -0
  236. package/stream-api/node_modules/depd/Readme.md +280 -0
  237. package/stream-api/node_modules/depd/index.js +538 -0
  238. package/stream-api/node_modules/depd/lib/browser/index.js +77 -0
  239. package/stream-api/node_modules/depd/package.json +45 -0
  240. package/stream-api/node_modules/dunder-proto/.eslintrc +5 -0
  241. package/stream-api/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  242. package/stream-api/node_modules/dunder-proto/.nycrc +13 -0
  243. package/stream-api/node_modules/dunder-proto/CHANGELOG.md +24 -0
  244. package/stream-api/node_modules/dunder-proto/LICENSE +21 -0
  245. package/stream-api/node_modules/dunder-proto/README.md +54 -0
  246. package/stream-api/node_modules/dunder-proto/get.d.ts +5 -0
  247. package/stream-api/node_modules/dunder-proto/get.js +30 -0
  248. package/stream-api/node_modules/dunder-proto/package.json +76 -0
  249. package/stream-api/node_modules/dunder-proto/set.d.ts +5 -0
  250. package/stream-api/node_modules/dunder-proto/set.js +35 -0
  251. package/stream-api/node_modules/dunder-proto/test/get.js +34 -0
  252. package/stream-api/node_modules/dunder-proto/test/index.js +4 -0
  253. package/stream-api/node_modules/dunder-proto/test/set.js +50 -0
  254. package/stream-api/node_modules/dunder-proto/tsconfig.json +9 -0
  255. package/stream-api/node_modules/ee-first/LICENSE +22 -0
  256. package/stream-api/node_modules/ee-first/README.md +80 -0
  257. package/stream-api/node_modules/ee-first/index.js +95 -0
  258. package/stream-api/node_modules/ee-first/package.json +29 -0
  259. package/stream-api/node_modules/encodeurl/LICENSE +22 -0
  260. package/stream-api/node_modules/encodeurl/README.md +109 -0
  261. package/stream-api/node_modules/encodeurl/index.js +60 -0
  262. package/stream-api/node_modules/encodeurl/package.json +40 -0
  263. package/stream-api/node_modules/es-define-property/.eslintrc +13 -0
  264. package/stream-api/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  265. package/stream-api/node_modules/es-define-property/.nycrc +9 -0
  266. package/stream-api/node_modules/es-define-property/CHANGELOG.md +29 -0
  267. package/stream-api/node_modules/es-define-property/LICENSE +21 -0
  268. package/stream-api/node_modules/es-define-property/README.md +49 -0
  269. package/stream-api/node_modules/es-define-property/index.d.ts +3 -0
  270. package/stream-api/node_modules/es-define-property/index.js +14 -0
  271. package/stream-api/node_modules/es-define-property/package.json +81 -0
  272. package/stream-api/node_modules/es-define-property/test/index.js +56 -0
  273. package/stream-api/node_modules/es-define-property/tsconfig.json +10 -0
  274. package/stream-api/node_modules/es-errors/.eslintrc +5 -0
  275. package/stream-api/node_modules/es-errors/.github/FUNDING.yml +12 -0
  276. package/stream-api/node_modules/es-errors/CHANGELOG.md +40 -0
  277. package/stream-api/node_modules/es-errors/LICENSE +21 -0
  278. package/stream-api/node_modules/es-errors/README.md +55 -0
  279. package/stream-api/node_modules/es-errors/eval.d.ts +3 -0
  280. package/stream-api/node_modules/es-errors/eval.js +4 -0
  281. package/stream-api/node_modules/es-errors/index.d.ts +3 -0
  282. package/stream-api/node_modules/es-errors/index.js +4 -0
  283. package/stream-api/node_modules/es-errors/package.json +80 -0
  284. package/stream-api/node_modules/es-errors/range.d.ts +3 -0
  285. package/stream-api/node_modules/es-errors/range.js +4 -0
  286. package/stream-api/node_modules/es-errors/ref.d.ts +3 -0
  287. package/stream-api/node_modules/es-errors/ref.js +4 -0
  288. package/stream-api/node_modules/es-errors/syntax.d.ts +3 -0
  289. package/stream-api/node_modules/es-errors/syntax.js +4 -0
  290. package/stream-api/node_modules/es-errors/test/index.js +19 -0
  291. package/stream-api/node_modules/es-errors/tsconfig.json +49 -0
  292. package/stream-api/node_modules/es-errors/type.d.ts +3 -0
  293. package/stream-api/node_modules/es-errors/type.js +4 -0
  294. package/stream-api/node_modules/es-errors/uri.d.ts +3 -0
  295. package/stream-api/node_modules/es-errors/uri.js +4 -0
  296. package/stream-api/node_modules/es-object-atoms/.eslintrc +16 -0
  297. package/stream-api/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  298. package/stream-api/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  299. package/stream-api/node_modules/es-object-atoms/LICENSE +21 -0
  300. package/stream-api/node_modules/es-object-atoms/README.md +63 -0
  301. package/stream-api/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  302. package/stream-api/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  303. package/stream-api/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  304. package/stream-api/node_modules/es-object-atoms/ToObject.js +10 -0
  305. package/stream-api/node_modules/es-object-atoms/index.d.ts +3 -0
  306. package/stream-api/node_modules/es-object-atoms/index.js +4 -0
  307. package/stream-api/node_modules/es-object-atoms/isObject.d.ts +3 -0
  308. package/stream-api/node_modules/es-object-atoms/isObject.js +6 -0
  309. package/stream-api/node_modules/es-object-atoms/package.json +80 -0
  310. package/stream-api/node_modules/es-object-atoms/test/index.js +38 -0
  311. package/stream-api/node_modules/es-object-atoms/tsconfig.json +6 -0
  312. package/stream-api/node_modules/escape-html/LICENSE +24 -0
  313. package/stream-api/node_modules/escape-html/Readme.md +43 -0
  314. package/stream-api/node_modules/escape-html/index.js +78 -0
  315. package/stream-api/node_modules/escape-html/package.json +24 -0
  316. package/stream-api/node_modules/etag/HISTORY.md +83 -0
  317. package/stream-api/node_modules/etag/LICENSE +22 -0
  318. package/stream-api/node_modules/etag/README.md +159 -0
  319. package/stream-api/node_modules/etag/index.js +131 -0
  320. package/stream-api/node_modules/etag/package.json +47 -0
  321. package/stream-api/node_modules/express/History.md +3858 -0
  322. package/stream-api/node_modules/express/LICENSE +24 -0
  323. package/stream-api/node_modules/express/Readme.md +266 -0
  324. package/stream-api/node_modules/express/index.js +11 -0
  325. package/stream-api/node_modules/express/lib/application.js +631 -0
  326. package/stream-api/node_modules/express/lib/express.js +81 -0
  327. package/stream-api/node_modules/express/lib/request.js +515 -0
  328. package/stream-api/node_modules/express/lib/response.js +1039 -0
  329. package/stream-api/node_modules/express/lib/utils.js +269 -0
  330. package/stream-api/node_modules/express/lib/view.js +205 -0
  331. package/stream-api/node_modules/express/package.json +98 -0
  332. package/stream-api/node_modules/finalhandler/HISTORY.md +233 -0
  333. package/stream-api/node_modules/finalhandler/LICENSE +22 -0
  334. package/stream-api/node_modules/finalhandler/README.md +147 -0
  335. package/stream-api/node_modules/finalhandler/index.js +293 -0
  336. package/stream-api/node_modules/finalhandler/package.json +43 -0
  337. package/stream-api/node_modules/forwarded/HISTORY.md +21 -0
  338. package/stream-api/node_modules/forwarded/LICENSE +22 -0
  339. package/stream-api/node_modules/forwarded/README.md +57 -0
  340. package/stream-api/node_modules/forwarded/index.js +90 -0
  341. package/stream-api/node_modules/forwarded/package.json +45 -0
  342. package/stream-api/node_modules/fresh/HISTORY.md +80 -0
  343. package/stream-api/node_modules/fresh/LICENSE +23 -0
  344. package/stream-api/node_modules/fresh/README.md +117 -0
  345. package/stream-api/node_modules/fresh/index.js +136 -0
  346. package/stream-api/node_modules/fresh/package.json +46 -0
  347. package/stream-api/node_modules/function-bind/.eslintrc +21 -0
  348. package/stream-api/node_modules/function-bind/.github/FUNDING.yml +12 -0
  349. package/stream-api/node_modules/function-bind/.github/SECURITY.md +3 -0
  350. package/stream-api/node_modules/function-bind/.nycrc +13 -0
  351. package/stream-api/node_modules/function-bind/CHANGELOG.md +136 -0
  352. package/stream-api/node_modules/function-bind/LICENSE +20 -0
  353. package/stream-api/node_modules/function-bind/README.md +46 -0
  354. package/stream-api/node_modules/function-bind/implementation.js +84 -0
  355. package/stream-api/node_modules/function-bind/index.js +5 -0
  356. package/stream-api/node_modules/function-bind/package.json +87 -0
  357. package/stream-api/node_modules/function-bind/test/.eslintrc +9 -0
  358. package/stream-api/node_modules/function-bind/test/index.js +252 -0
  359. package/stream-api/node_modules/get-intrinsic/.eslintrc +42 -0
  360. package/stream-api/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  361. package/stream-api/node_modules/get-intrinsic/.nycrc +9 -0
  362. package/stream-api/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  363. package/stream-api/node_modules/get-intrinsic/LICENSE +21 -0
  364. package/stream-api/node_modules/get-intrinsic/README.md +71 -0
  365. package/stream-api/node_modules/get-intrinsic/index.js +378 -0
  366. package/stream-api/node_modules/get-intrinsic/package.json +97 -0
  367. package/stream-api/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  368. package/stream-api/node_modules/get-proto/.eslintrc +10 -0
  369. package/stream-api/node_modules/get-proto/.github/FUNDING.yml +12 -0
  370. package/stream-api/node_modules/get-proto/.nycrc +9 -0
  371. package/stream-api/node_modules/get-proto/CHANGELOG.md +21 -0
  372. package/stream-api/node_modules/get-proto/LICENSE +21 -0
  373. package/stream-api/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  374. package/stream-api/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  375. package/stream-api/node_modules/get-proto/README.md +50 -0
  376. package/stream-api/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  377. package/stream-api/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  378. package/stream-api/node_modules/get-proto/index.d.ts +5 -0
  379. package/stream-api/node_modules/get-proto/index.js +27 -0
  380. package/stream-api/node_modules/get-proto/package.json +81 -0
  381. package/stream-api/node_modules/get-proto/test/index.js +68 -0
  382. package/stream-api/node_modules/get-proto/tsconfig.json +9 -0
  383. package/stream-api/node_modules/gopd/.eslintrc +16 -0
  384. package/stream-api/node_modules/gopd/.github/FUNDING.yml +12 -0
  385. package/stream-api/node_modules/gopd/CHANGELOG.md +45 -0
  386. package/stream-api/node_modules/gopd/LICENSE +21 -0
  387. package/stream-api/node_modules/gopd/README.md +40 -0
  388. package/stream-api/node_modules/gopd/gOPD.d.ts +1 -0
  389. package/stream-api/node_modules/gopd/gOPD.js +4 -0
  390. package/stream-api/node_modules/gopd/index.d.ts +5 -0
  391. package/stream-api/node_modules/gopd/index.js +15 -0
  392. package/stream-api/node_modules/gopd/package.json +77 -0
  393. package/stream-api/node_modules/gopd/test/index.js +36 -0
  394. package/stream-api/node_modules/gopd/tsconfig.json +9 -0
  395. package/stream-api/node_modules/has-symbols/.eslintrc +11 -0
  396. package/stream-api/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  397. package/stream-api/node_modules/has-symbols/.nycrc +9 -0
  398. package/stream-api/node_modules/has-symbols/CHANGELOG.md +91 -0
  399. package/stream-api/node_modules/has-symbols/LICENSE +21 -0
  400. package/stream-api/node_modules/has-symbols/README.md +46 -0
  401. package/stream-api/node_modules/has-symbols/index.d.ts +3 -0
  402. package/stream-api/node_modules/has-symbols/index.js +14 -0
  403. package/stream-api/node_modules/has-symbols/package.json +111 -0
  404. package/stream-api/node_modules/has-symbols/shams.d.ts +3 -0
  405. package/stream-api/node_modules/has-symbols/shams.js +45 -0
  406. package/stream-api/node_modules/has-symbols/test/index.js +22 -0
  407. package/stream-api/node_modules/has-symbols/test/shams/core-js.js +29 -0
  408. package/stream-api/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  409. package/stream-api/node_modules/has-symbols/test/tests.js +58 -0
  410. package/stream-api/node_modules/has-symbols/tsconfig.json +10 -0
  411. package/stream-api/node_modules/hasown/.eslintrc +5 -0
  412. package/stream-api/node_modules/hasown/.github/FUNDING.yml +12 -0
  413. package/stream-api/node_modules/hasown/.nycrc +13 -0
  414. package/stream-api/node_modules/hasown/CHANGELOG.md +40 -0
  415. package/stream-api/node_modules/hasown/LICENSE +21 -0
  416. package/stream-api/node_modules/hasown/README.md +40 -0
  417. package/stream-api/node_modules/hasown/index.d.ts +3 -0
  418. package/stream-api/node_modules/hasown/index.js +8 -0
  419. package/stream-api/node_modules/hasown/package.json +92 -0
  420. package/stream-api/node_modules/hasown/tsconfig.json +6 -0
  421. package/stream-api/node_modules/http-errors/HISTORY.md +186 -0
  422. package/stream-api/node_modules/http-errors/LICENSE +23 -0
  423. package/stream-api/node_modules/http-errors/README.md +169 -0
  424. package/stream-api/node_modules/http-errors/index.js +290 -0
  425. package/stream-api/node_modules/http-errors/package.json +54 -0
  426. package/stream-api/node_modules/iconv-lite/Changelog.md +236 -0
  427. package/stream-api/node_modules/iconv-lite/LICENSE +21 -0
  428. package/stream-api/node_modules/iconv-lite/README.md +138 -0
  429. package/stream-api/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  430. package/stream-api/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  431. package/stream-api/node_modules/iconv-lite/encodings/index.js +23 -0
  432. package/stream-api/node_modules/iconv-lite/encodings/internal.js +218 -0
  433. package/stream-api/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  434. package/stream-api/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  435. package/stream-api/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  436. package/stream-api/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  437. package/stream-api/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  438. package/stream-api/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  439. package/stream-api/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  440. package/stream-api/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  441. package/stream-api/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  442. package/stream-api/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  443. package/stream-api/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  444. package/stream-api/node_modules/iconv-lite/encodings/utf16.js +187 -0
  445. package/stream-api/node_modules/iconv-lite/encodings/utf32.js +307 -0
  446. package/stream-api/node_modules/iconv-lite/encodings/utf7.js +283 -0
  447. package/stream-api/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  448. package/stream-api/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  449. package/stream-api/node_modules/iconv-lite/lib/index.d.ts +41 -0
  450. package/stream-api/node_modules/iconv-lite/lib/index.js +183 -0
  451. package/stream-api/node_modules/iconv-lite/lib/streams.js +105 -0
  452. package/stream-api/node_modules/iconv-lite/package.json +59 -0
  453. package/stream-api/node_modules/inherits/LICENSE +16 -0
  454. package/stream-api/node_modules/inherits/README.md +42 -0
  455. package/stream-api/node_modules/inherits/inherits.js +9 -0
  456. package/stream-api/node_modules/inherits/inherits_browser.js +27 -0
  457. package/stream-api/node_modules/inherits/package.json +29 -0
  458. package/stream-api/node_modules/ipaddr.js/LICENSE +19 -0
  459. package/stream-api/node_modules/ipaddr.js/README.md +233 -0
  460. package/stream-api/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  461. package/stream-api/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  462. package/stream-api/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  463. package/stream-api/node_modules/ipaddr.js/package.json +35 -0
  464. package/stream-api/node_modules/is-promise/LICENSE +19 -0
  465. package/stream-api/node_modules/is-promise/index.d.ts +2 -0
  466. package/stream-api/node_modules/is-promise/index.js +6 -0
  467. package/stream-api/node_modules/is-promise/index.mjs +3 -0
  468. package/stream-api/node_modules/is-promise/package.json +30 -0
  469. package/stream-api/node_modules/is-promise/readme.md +33 -0
  470. package/stream-api/node_modules/math-intrinsics/.eslintrc +16 -0
  471. package/stream-api/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  472. package/stream-api/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  473. package/stream-api/node_modules/math-intrinsics/LICENSE +21 -0
  474. package/stream-api/node_modules/math-intrinsics/README.md +50 -0
  475. package/stream-api/node_modules/math-intrinsics/abs.d.ts +1 -0
  476. package/stream-api/node_modules/math-intrinsics/abs.js +4 -0
  477. package/stream-api/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  478. package/stream-api/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  479. package/stream-api/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  480. package/stream-api/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  481. package/stream-api/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  482. package/stream-api/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  483. package/stream-api/node_modules/math-intrinsics/floor.d.ts +1 -0
  484. package/stream-api/node_modules/math-intrinsics/floor.js +4 -0
  485. package/stream-api/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  486. package/stream-api/node_modules/math-intrinsics/isFinite.js +12 -0
  487. package/stream-api/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  488. package/stream-api/node_modules/math-intrinsics/isInteger.js +16 -0
  489. package/stream-api/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  490. package/stream-api/node_modules/math-intrinsics/isNaN.js +6 -0
  491. package/stream-api/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  492. package/stream-api/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  493. package/stream-api/node_modules/math-intrinsics/max.d.ts +1 -0
  494. package/stream-api/node_modules/math-intrinsics/max.js +4 -0
  495. package/stream-api/node_modules/math-intrinsics/min.d.ts +1 -0
  496. package/stream-api/node_modules/math-intrinsics/min.js +4 -0
  497. package/stream-api/node_modules/math-intrinsics/mod.d.ts +3 -0
  498. package/stream-api/node_modules/math-intrinsics/mod.js +9 -0
  499. package/stream-api/node_modules/math-intrinsics/package.json +86 -0
  500. package/stream-api/node_modules/math-intrinsics/pow.d.ts +1 -0
  501. package/stream-api/node_modules/math-intrinsics/pow.js +4 -0
  502. package/stream-api/node_modules/math-intrinsics/round.d.ts +1 -0
  503. package/stream-api/node_modules/math-intrinsics/round.js +4 -0
  504. package/stream-api/node_modules/math-intrinsics/sign.d.ts +3 -0
  505. package/stream-api/node_modules/math-intrinsics/sign.js +11 -0
  506. package/stream-api/node_modules/math-intrinsics/test/index.js +192 -0
  507. package/stream-api/node_modules/math-intrinsics/tsconfig.json +3 -0
  508. package/stream-api/node_modules/media-typer/HISTORY.md +50 -0
  509. package/stream-api/node_modules/media-typer/LICENSE +22 -0
  510. package/stream-api/node_modules/media-typer/README.md +93 -0
  511. package/stream-api/node_modules/media-typer/index.js +143 -0
  512. package/stream-api/node_modules/media-typer/package.json +33 -0
  513. package/stream-api/node_modules/merge-descriptors/index.d.ts +11 -0
  514. package/stream-api/node_modules/merge-descriptors/index.js +26 -0
  515. package/stream-api/node_modules/merge-descriptors/license +11 -0
  516. package/stream-api/node_modules/merge-descriptors/package.json +50 -0
  517. package/stream-api/node_modules/merge-descriptors/readme.md +55 -0
  518. package/stream-api/node_modules/mime-db/HISTORY.md +541 -0
  519. package/stream-api/node_modules/mime-db/LICENSE +23 -0
  520. package/stream-api/node_modules/mime-db/README.md +109 -0
  521. package/stream-api/node_modules/mime-db/db.json +9342 -0
  522. package/stream-api/node_modules/mime-db/index.js +12 -0
  523. package/stream-api/node_modules/mime-db/package.json +56 -0
  524. package/stream-api/node_modules/mime-types/HISTORY.md +428 -0
  525. package/stream-api/node_modules/mime-types/LICENSE +23 -0
  526. package/stream-api/node_modules/mime-types/README.md +126 -0
  527. package/stream-api/node_modules/mime-types/index.js +211 -0
  528. package/stream-api/node_modules/mime-types/mimeScore.js +57 -0
  529. package/stream-api/node_modules/mime-types/package.json +49 -0
  530. package/stream-api/node_modules/ms/index.js +162 -0
  531. package/stream-api/node_modules/ms/license.md +21 -0
  532. package/stream-api/node_modules/ms/package.json +38 -0
  533. package/stream-api/node_modules/ms/readme.md +59 -0
  534. package/stream-api/node_modules/negotiator/HISTORY.md +114 -0
  535. package/stream-api/node_modules/negotiator/LICENSE +24 -0
  536. package/stream-api/node_modules/negotiator/README.md +212 -0
  537. package/stream-api/node_modules/negotiator/index.js +83 -0
  538. package/stream-api/node_modules/negotiator/lib/charset.js +169 -0
  539. package/stream-api/node_modules/negotiator/lib/encoding.js +205 -0
  540. package/stream-api/node_modules/negotiator/lib/language.js +179 -0
  541. package/stream-api/node_modules/negotiator/lib/mediaType.js +294 -0
  542. package/stream-api/node_modules/negotiator/package.json +43 -0
  543. package/stream-api/node_modules/object-inspect/.eslintrc +53 -0
  544. package/stream-api/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  545. package/stream-api/node_modules/object-inspect/.nycrc +13 -0
  546. package/stream-api/node_modules/object-inspect/CHANGELOG.md +424 -0
  547. package/stream-api/node_modules/object-inspect/LICENSE +21 -0
  548. package/stream-api/node_modules/object-inspect/example/all.js +23 -0
  549. package/stream-api/node_modules/object-inspect/example/circular.js +6 -0
  550. package/stream-api/node_modules/object-inspect/example/fn.js +5 -0
  551. package/stream-api/node_modules/object-inspect/example/inspect.js +10 -0
  552. package/stream-api/node_modules/object-inspect/index.js +544 -0
  553. package/stream-api/node_modules/object-inspect/package-support.json +20 -0
  554. package/stream-api/node_modules/object-inspect/package.json +105 -0
  555. package/stream-api/node_modules/object-inspect/readme.markdown +84 -0
  556. package/stream-api/node_modules/object-inspect/test/bigint.js +58 -0
  557. package/stream-api/node_modules/object-inspect/test/browser/dom.js +15 -0
  558. package/stream-api/node_modules/object-inspect/test/circular.js +16 -0
  559. package/stream-api/node_modules/object-inspect/test/deep.js +12 -0
  560. package/stream-api/node_modules/object-inspect/test/element.js +53 -0
  561. package/stream-api/node_modules/object-inspect/test/err.js +48 -0
  562. package/stream-api/node_modules/object-inspect/test/fakes.js +29 -0
  563. package/stream-api/node_modules/object-inspect/test/fn.js +76 -0
  564. package/stream-api/node_modules/object-inspect/test/global.js +17 -0
  565. package/stream-api/node_modules/object-inspect/test/has.js +15 -0
  566. package/stream-api/node_modules/object-inspect/test/holes.js +15 -0
  567. package/stream-api/node_modules/object-inspect/test/indent-option.js +271 -0
  568. package/stream-api/node_modules/object-inspect/test/inspect.js +139 -0
  569. package/stream-api/node_modules/object-inspect/test/lowbyte.js +12 -0
  570. package/stream-api/node_modules/object-inspect/test/number.js +58 -0
  571. package/stream-api/node_modules/object-inspect/test/quoteStyle.js +26 -0
  572. package/stream-api/node_modules/object-inspect/test/toStringTag.js +40 -0
  573. package/stream-api/node_modules/object-inspect/test/undef.js +12 -0
  574. package/stream-api/node_modules/object-inspect/test/values.js +261 -0
  575. package/stream-api/node_modules/object-inspect/test-core-js.js +26 -0
  576. package/stream-api/node_modules/object-inspect/util.inspect.js +1 -0
  577. package/stream-api/node_modules/on-finished/HISTORY.md +98 -0
  578. package/stream-api/node_modules/on-finished/LICENSE +23 -0
  579. package/stream-api/node_modules/on-finished/README.md +162 -0
  580. package/stream-api/node_modules/on-finished/index.js +234 -0
  581. package/stream-api/node_modules/on-finished/package.json +39 -0
  582. package/stream-api/node_modules/once/LICENSE +15 -0
  583. package/stream-api/node_modules/once/README.md +79 -0
  584. package/stream-api/node_modules/once/once.js +42 -0
  585. package/stream-api/node_modules/once/package.json +33 -0
  586. package/stream-api/node_modules/parseurl/HISTORY.md +58 -0
  587. package/stream-api/node_modules/parseurl/LICENSE +24 -0
  588. package/stream-api/node_modules/parseurl/README.md +133 -0
  589. package/stream-api/node_modules/parseurl/index.js +158 -0
  590. package/stream-api/node_modules/parseurl/package.json +40 -0
  591. package/stream-api/node_modules/path-to-regexp/LICENSE +21 -0
  592. package/stream-api/node_modules/path-to-regexp/Readme.md +224 -0
  593. package/stream-api/node_modules/path-to-regexp/dist/index.d.ts +144 -0
  594. package/stream-api/node_modules/path-to-regexp/dist/index.js +409 -0
  595. package/stream-api/node_modules/path-to-regexp/dist/index.js.map +1 -0
  596. package/stream-api/node_modules/path-to-regexp/package.json +64 -0
  597. package/stream-api/node_modules/proxy-addr/HISTORY.md +161 -0
  598. package/stream-api/node_modules/proxy-addr/LICENSE +22 -0
  599. package/stream-api/node_modules/proxy-addr/README.md +139 -0
  600. package/stream-api/node_modules/proxy-addr/index.js +327 -0
  601. package/stream-api/node_modules/proxy-addr/package.json +47 -0
  602. package/stream-api/node_modules/qs/.editorconfig +46 -0
  603. package/stream-api/node_modules/qs/.eslintrc +39 -0
  604. package/stream-api/node_modules/qs/.github/FUNDING.yml +12 -0
  605. package/stream-api/node_modules/qs/.nycrc +13 -0
  606. package/stream-api/node_modules/qs/CHANGELOG.md +622 -0
  607. package/stream-api/node_modules/qs/LICENSE.md +29 -0
  608. package/stream-api/node_modules/qs/README.md +733 -0
  609. package/stream-api/node_modules/qs/dist/qs.js +141 -0
  610. package/stream-api/node_modules/qs/lib/formats.js +23 -0
  611. package/stream-api/node_modules/qs/lib/index.js +11 -0
  612. package/stream-api/node_modules/qs/lib/parse.js +328 -0
  613. package/stream-api/node_modules/qs/lib/stringify.js +356 -0
  614. package/stream-api/node_modules/qs/lib/utils.js +268 -0
  615. package/stream-api/node_modules/qs/package.json +93 -0
  616. package/stream-api/node_modules/qs/test/empty-keys-cases.js +267 -0
  617. package/stream-api/node_modules/qs/test/parse.js +1276 -0
  618. package/stream-api/node_modules/qs/test/stringify.js +1306 -0
  619. package/stream-api/node_modules/qs/test/utils.js +262 -0
  620. package/stream-api/node_modules/range-parser/HISTORY.md +56 -0
  621. package/stream-api/node_modules/range-parser/LICENSE +23 -0
  622. package/stream-api/node_modules/range-parser/README.md +84 -0
  623. package/stream-api/node_modules/range-parser/index.js +162 -0
  624. package/stream-api/node_modules/range-parser/package.json +44 -0
  625. package/stream-api/node_modules/raw-body/LICENSE +22 -0
  626. package/stream-api/node_modules/raw-body/README.md +223 -0
  627. package/stream-api/node_modules/raw-body/index.d.ts +85 -0
  628. package/stream-api/node_modules/raw-body/index.js +336 -0
  629. package/stream-api/node_modules/raw-body/package.json +46 -0
  630. package/stream-api/node_modules/router/HISTORY.md +228 -0
  631. package/stream-api/node_modules/router/LICENSE +23 -0
  632. package/stream-api/node_modules/router/README.md +416 -0
  633. package/stream-api/node_modules/router/index.js +748 -0
  634. package/stream-api/node_modules/router/lib/layer.js +247 -0
  635. package/stream-api/node_modules/router/lib/route.js +242 -0
  636. package/stream-api/node_modules/router/package.json +44 -0
  637. package/stream-api/node_modules/safer-buffer/LICENSE +21 -0
  638. package/stream-api/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  639. package/stream-api/node_modules/safer-buffer/Readme.md +156 -0
  640. package/stream-api/node_modules/safer-buffer/dangerous.js +58 -0
  641. package/stream-api/node_modules/safer-buffer/package.json +34 -0
  642. package/stream-api/node_modules/safer-buffer/safer.js +77 -0
  643. package/stream-api/node_modules/safer-buffer/tests.js +406 -0
  644. package/stream-api/node_modules/send/HISTORY.md +580 -0
  645. package/stream-api/node_modules/send/LICENSE +23 -0
  646. package/stream-api/node_modules/send/README.md +317 -0
  647. package/stream-api/node_modules/send/index.js +997 -0
  648. package/stream-api/node_modules/send/package.json +60 -0
  649. package/stream-api/node_modules/serve-static/HISTORY.md +516 -0
  650. package/stream-api/node_modules/serve-static/LICENSE +25 -0
  651. package/stream-api/node_modules/serve-static/README.md +253 -0
  652. package/stream-api/node_modules/serve-static/index.js +208 -0
  653. package/stream-api/node_modules/serve-static/package.json +41 -0
  654. package/stream-api/node_modules/setprototypeof/LICENSE +13 -0
  655. package/stream-api/node_modules/setprototypeof/README.md +31 -0
  656. package/stream-api/node_modules/setprototypeof/index.d.ts +2 -0
  657. package/stream-api/node_modules/setprototypeof/index.js +17 -0
  658. package/stream-api/node_modules/setprototypeof/package.json +38 -0
  659. package/stream-api/node_modules/setprototypeof/test/index.js +24 -0
  660. package/stream-api/node_modules/short-uuid/.codeclimate.yml +21 -0
  661. package/stream-api/node_modules/short-uuid/.csslintrc +2 -0
  662. package/stream-api/node_modules/short-uuid/.editorconfig +11 -0
  663. package/stream-api/node_modules/short-uuid/.eslintrc.js +15 -0
  664. package/stream-api/node_modules/short-uuid/.github/workflows/node.js.yml +31 -0
  665. package/stream-api/node_modules/short-uuid/.nyc_output/3a60ecc2-69fc-4d0a-81dd-ad79b6071e14.json +1 -0
  666. package/stream-api/node_modules/short-uuid/.nyc_output/3f261446-c11a-4630-b995-4f5dbc1395ef.json +1 -0
  667. package/stream-api/node_modules/short-uuid/.nyc_output/processinfo/3a60ecc2-69fc-4d0a-81dd-ad79b6071e14.json +1 -0
  668. package/stream-api/node_modules/short-uuid/.nyc_output/processinfo/3f261446-c11a-4630-b995-4f5dbc1395ef.json +1 -0
  669. package/stream-api/node_modules/short-uuid/.nyc_output/processinfo/index.json +1 -0
  670. package/stream-api/node_modules/short-uuid/CHANGELOG.md +237 -0
  671. package/stream-api/node_modules/short-uuid/LICENSE +21 -0
  672. package/stream-api/node_modules/short-uuid/README.md +128 -0
  673. package/stream-api/node_modules/short-uuid/index.d.ts +51 -0
  674. package/stream-api/node_modules/short-uuid/index.js +157 -0
  675. package/stream-api/node_modules/short-uuid/package.json +41 -0
  676. package/stream-api/node_modules/short-uuid/revisions.md +193 -0
  677. package/stream-api/node_modules/short-uuid/test/index.js +339 -0
  678. package/stream-api/node_modules/short-uuid/test/uuid25examples.js +74 -0
  679. package/stream-api/node_modules/side-channel/.editorconfig +9 -0
  680. package/stream-api/node_modules/side-channel/.eslintrc +12 -0
  681. package/stream-api/node_modules/side-channel/.github/FUNDING.yml +12 -0
  682. package/stream-api/node_modules/side-channel/.nycrc +13 -0
  683. package/stream-api/node_modules/side-channel/CHANGELOG.md +110 -0
  684. package/stream-api/node_modules/side-channel/LICENSE +21 -0
  685. package/stream-api/node_modules/side-channel/README.md +61 -0
  686. package/stream-api/node_modules/side-channel/index.d.ts +14 -0
  687. package/stream-api/node_modules/side-channel/index.js +43 -0
  688. package/stream-api/node_modules/side-channel/package.json +85 -0
  689. package/stream-api/node_modules/side-channel/test/index.js +104 -0
  690. package/stream-api/node_modules/side-channel/tsconfig.json +9 -0
  691. package/stream-api/node_modules/side-channel-list/.editorconfig +9 -0
  692. package/stream-api/node_modules/side-channel-list/.eslintrc +11 -0
  693. package/stream-api/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  694. package/stream-api/node_modules/side-channel-list/.nycrc +13 -0
  695. package/stream-api/node_modules/side-channel-list/CHANGELOG.md +15 -0
  696. package/stream-api/node_modules/side-channel-list/LICENSE +21 -0
  697. package/stream-api/node_modules/side-channel-list/README.md +62 -0
  698. package/stream-api/node_modules/side-channel-list/index.d.ts +13 -0
  699. package/stream-api/node_modules/side-channel-list/index.js +113 -0
  700. package/stream-api/node_modules/side-channel-list/list.d.ts +14 -0
  701. package/stream-api/node_modules/side-channel-list/package.json +77 -0
  702. package/stream-api/node_modules/side-channel-list/test/index.js +104 -0
  703. package/stream-api/node_modules/side-channel-list/tsconfig.json +9 -0
  704. package/stream-api/node_modules/side-channel-map/.editorconfig +9 -0
  705. package/stream-api/node_modules/side-channel-map/.eslintrc +11 -0
  706. package/stream-api/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  707. package/stream-api/node_modules/side-channel-map/.nycrc +13 -0
  708. package/stream-api/node_modules/side-channel-map/CHANGELOG.md +22 -0
  709. package/stream-api/node_modules/side-channel-map/LICENSE +21 -0
  710. package/stream-api/node_modules/side-channel-map/README.md +62 -0
  711. package/stream-api/node_modules/side-channel-map/index.d.ts +15 -0
  712. package/stream-api/node_modules/side-channel-map/index.js +68 -0
  713. package/stream-api/node_modules/side-channel-map/package.json +80 -0
  714. package/stream-api/node_modules/side-channel-map/test/index.js +114 -0
  715. package/stream-api/node_modules/side-channel-map/tsconfig.json +9 -0
  716. package/stream-api/node_modules/side-channel-weakmap/.editorconfig +9 -0
  717. package/stream-api/node_modules/side-channel-weakmap/.eslintrc +12 -0
  718. package/stream-api/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  719. package/stream-api/node_modules/side-channel-weakmap/.nycrc +13 -0
  720. package/stream-api/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  721. package/stream-api/node_modules/side-channel-weakmap/LICENSE +21 -0
  722. package/stream-api/node_modules/side-channel-weakmap/README.md +62 -0
  723. package/stream-api/node_modules/side-channel-weakmap/index.d.ts +15 -0
  724. package/stream-api/node_modules/side-channel-weakmap/index.js +84 -0
  725. package/stream-api/node_modules/side-channel-weakmap/package.json +87 -0
  726. package/stream-api/node_modules/side-channel-weakmap/test/index.js +114 -0
  727. package/stream-api/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  728. package/stream-api/node_modules/statuses/HISTORY.md +87 -0
  729. package/stream-api/node_modules/statuses/LICENSE +23 -0
  730. package/stream-api/node_modules/statuses/README.md +139 -0
  731. package/stream-api/node_modules/statuses/codes.json +65 -0
  732. package/stream-api/node_modules/statuses/index.js +146 -0
  733. package/stream-api/node_modules/statuses/package.json +49 -0
  734. package/stream-api/node_modules/toidentifier/HISTORY.md +9 -0
  735. package/stream-api/node_modules/toidentifier/LICENSE +21 -0
  736. package/stream-api/node_modules/toidentifier/README.md +61 -0
  737. package/stream-api/node_modules/toidentifier/index.js +32 -0
  738. package/stream-api/node_modules/toidentifier/package.json +38 -0
  739. package/stream-api/node_modules/type-is/HISTORY.md +292 -0
  740. package/stream-api/node_modules/type-is/LICENSE +23 -0
  741. package/stream-api/node_modules/type-is/README.md +198 -0
  742. package/stream-api/node_modules/type-is/index.js +250 -0
  743. package/stream-api/node_modules/type-is/package.json +47 -0
  744. package/stream-api/node_modules/undici-types/LICENSE +21 -0
  745. package/stream-api/node_modules/undici-types/README.md +6 -0
  746. package/stream-api/node_modules/undici-types/agent.d.ts +32 -0
  747. package/stream-api/node_modules/undici-types/api.d.ts +43 -0
  748. package/stream-api/node_modules/undici-types/balanced-pool.d.ts +29 -0
  749. package/stream-api/node_modules/undici-types/cache-interceptor.d.ts +172 -0
  750. package/stream-api/node_modules/undici-types/cache.d.ts +36 -0
  751. package/stream-api/node_modules/undici-types/client-stats.d.ts +15 -0
  752. package/stream-api/node_modules/undici-types/client.d.ts +108 -0
  753. package/stream-api/node_modules/undici-types/connector.d.ts +34 -0
  754. package/stream-api/node_modules/undici-types/content-type.d.ts +21 -0
  755. package/stream-api/node_modules/undici-types/cookies.d.ts +30 -0
  756. package/stream-api/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
  757. package/stream-api/node_modules/undici-types/dispatcher.d.ts +276 -0
  758. package/stream-api/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
  759. package/stream-api/node_modules/undici-types/errors.d.ts +161 -0
  760. package/stream-api/node_modules/undici-types/eventsource.d.ts +66 -0
  761. package/stream-api/node_modules/undici-types/fetch.d.ts +211 -0
  762. package/stream-api/node_modules/undici-types/formdata.d.ts +108 -0
  763. package/stream-api/node_modules/undici-types/global-dispatcher.d.ts +9 -0
  764. package/stream-api/node_modules/undici-types/global-origin.d.ts +7 -0
  765. package/stream-api/node_modules/undici-types/h2c-client.d.ts +73 -0
  766. package/stream-api/node_modules/undici-types/handlers.d.ts +15 -0
  767. package/stream-api/node_modules/undici-types/header.d.ts +160 -0
  768. package/stream-api/node_modules/undici-types/index.d.ts +80 -0
  769. package/stream-api/node_modules/undici-types/interceptors.d.ts +39 -0
  770. package/stream-api/node_modules/undici-types/mock-agent.d.ts +68 -0
  771. package/stream-api/node_modules/undici-types/mock-call-history.d.ts +111 -0
  772. package/stream-api/node_modules/undici-types/mock-client.d.ts +27 -0
  773. package/stream-api/node_modules/undici-types/mock-errors.d.ts +12 -0
  774. package/stream-api/node_modules/undici-types/mock-interceptor.d.ts +94 -0
  775. package/stream-api/node_modules/undici-types/mock-pool.d.ts +27 -0
  776. package/stream-api/node_modules/undici-types/package.json +55 -0
  777. package/stream-api/node_modules/undici-types/patch.d.ts +29 -0
  778. package/stream-api/node_modules/undici-types/pool-stats.d.ts +19 -0
  779. package/stream-api/node_modules/undici-types/pool.d.ts +41 -0
  780. package/stream-api/node_modules/undici-types/proxy-agent.d.ts +29 -0
  781. package/stream-api/node_modules/undici-types/readable.d.ts +68 -0
  782. package/stream-api/node_modules/undici-types/retry-agent.d.ts +8 -0
  783. package/stream-api/node_modules/undici-types/retry-handler.d.ts +125 -0
  784. package/stream-api/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  785. package/stream-api/node_modules/undici-types/util.d.ts +18 -0
  786. package/stream-api/node_modules/undici-types/utility.d.ts +7 -0
  787. package/stream-api/node_modules/undici-types/webidl.d.ts +341 -0
  788. package/stream-api/node_modules/undici-types/websocket.d.ts +186 -0
  789. package/stream-api/node_modules/unpipe/HISTORY.md +4 -0
  790. package/stream-api/node_modules/unpipe/LICENSE +22 -0
  791. package/stream-api/node_modules/unpipe/README.md +43 -0
  792. package/stream-api/node_modules/unpipe/index.js +69 -0
  793. package/stream-api/node_modules/unpipe/package.json +27 -0
  794. package/stream-api/node_modules/uuid/CHANGELOG.md +274 -0
  795. package/stream-api/node_modules/uuid/CONTRIBUTING.md +18 -0
  796. package/stream-api/node_modules/uuid/LICENSE.md +9 -0
  797. package/stream-api/node_modules/uuid/README.md +466 -0
  798. package/stream-api/node_modules/uuid/dist/bin/uuid +2 -0
  799. package/stream-api/node_modules/uuid/dist/commonjs-browser/index.js +79 -0
  800. package/stream-api/node_modules/uuid/dist/commonjs-browser/md5.js +223 -0
  801. package/stream-api/node_modules/uuid/dist/commonjs-browser/native.js +11 -0
  802. package/stream-api/node_modules/uuid/dist/commonjs-browser/nil.js +8 -0
  803. package/stream-api/node_modules/uuid/dist/commonjs-browser/parse.js +45 -0
  804. package/stream-api/node_modules/uuid/dist/commonjs-browser/regex.js +8 -0
  805. package/stream-api/node_modules/uuid/dist/commonjs-browser/rng.js +25 -0
  806. package/stream-api/node_modules/uuid/dist/commonjs-browser/sha1.js +104 -0
  807. package/stream-api/node_modules/uuid/dist/commonjs-browser/stringify.js +44 -0
  808. package/stream-api/node_modules/uuid/dist/commonjs-browser/v1.js +107 -0
  809. package/stream-api/node_modules/uuid/dist/commonjs-browser/v3.js +16 -0
  810. package/stream-api/node_modules/uuid/dist/commonjs-browser/v35.js +80 -0
  811. package/stream-api/node_modules/uuid/dist/commonjs-browser/v4.js +43 -0
  812. package/stream-api/node_modules/uuid/dist/commonjs-browser/v5.js +16 -0
  813. package/stream-api/node_modules/uuid/dist/commonjs-browser/validate.js +17 -0
  814. package/stream-api/node_modules/uuid/dist/commonjs-browser/version.js +21 -0
  815. package/stream-api/node_modules/uuid/dist/esm-browser/index.js +9 -0
  816. package/stream-api/node_modules/uuid/dist/esm-browser/md5.js +215 -0
  817. package/stream-api/node_modules/uuid/dist/esm-browser/native.js +4 -0
  818. package/stream-api/node_modules/uuid/dist/esm-browser/nil.js +1 -0
  819. package/stream-api/node_modules/uuid/dist/esm-browser/parse.js +35 -0
  820. package/stream-api/node_modules/uuid/dist/esm-browser/regex.js +1 -0
  821. package/stream-api/node_modules/uuid/dist/esm-browser/rng.js +18 -0
  822. package/stream-api/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
  823. package/stream-api/node_modules/uuid/dist/esm-browser/stringify.js +33 -0
  824. package/stream-api/node_modules/uuid/dist/esm-browser/v1.js +95 -0
  825. package/stream-api/node_modules/uuid/dist/esm-browser/v3.js +4 -0
  826. package/stream-api/node_modules/uuid/dist/esm-browser/v35.js +66 -0
  827. package/stream-api/node_modules/uuid/dist/esm-browser/v4.js +29 -0
  828. package/stream-api/node_modules/uuid/dist/esm-browser/v5.js +4 -0
  829. package/stream-api/node_modules/uuid/dist/esm-browser/validate.js +7 -0
  830. package/stream-api/node_modules/uuid/dist/esm-browser/version.js +11 -0
  831. package/stream-api/node_modules/uuid/dist/esm-node/index.js +9 -0
  832. package/stream-api/node_modules/uuid/dist/esm-node/md5.js +13 -0
  833. package/stream-api/node_modules/uuid/dist/esm-node/native.js +4 -0
  834. package/stream-api/node_modules/uuid/dist/esm-node/nil.js +1 -0
  835. package/stream-api/node_modules/uuid/dist/esm-node/parse.js +35 -0
  836. package/stream-api/node_modules/uuid/dist/esm-node/regex.js +1 -0
  837. package/stream-api/node_modules/uuid/dist/esm-node/rng.js +12 -0
  838. package/stream-api/node_modules/uuid/dist/esm-node/sha1.js +13 -0
  839. package/stream-api/node_modules/uuid/dist/esm-node/stringify.js +33 -0
  840. package/stream-api/node_modules/uuid/dist/esm-node/v1.js +95 -0
  841. package/stream-api/node_modules/uuid/dist/esm-node/v3.js +4 -0
  842. package/stream-api/node_modules/uuid/dist/esm-node/v35.js +66 -0
  843. package/stream-api/node_modules/uuid/dist/esm-node/v4.js +29 -0
  844. package/stream-api/node_modules/uuid/dist/esm-node/v5.js +4 -0
  845. package/stream-api/node_modules/uuid/dist/esm-node/validate.js +7 -0
  846. package/stream-api/node_modules/uuid/dist/esm-node/version.js +11 -0
  847. package/stream-api/node_modules/uuid/dist/index.js +79 -0
  848. package/stream-api/node_modules/uuid/dist/md5-browser.js +223 -0
  849. package/stream-api/node_modules/uuid/dist/md5.js +23 -0
  850. package/stream-api/node_modules/uuid/dist/native-browser.js +11 -0
  851. package/stream-api/node_modules/uuid/dist/native.js +15 -0
  852. package/stream-api/node_modules/uuid/dist/nil.js +8 -0
  853. package/stream-api/node_modules/uuid/dist/parse.js +45 -0
  854. package/stream-api/node_modules/uuid/dist/regex.js +8 -0
  855. package/stream-api/node_modules/uuid/dist/rng-browser.js +25 -0
  856. package/stream-api/node_modules/uuid/dist/rng.js +24 -0
  857. package/stream-api/node_modules/uuid/dist/sha1-browser.js +104 -0
  858. package/stream-api/node_modules/uuid/dist/sha1.js +23 -0
  859. package/stream-api/node_modules/uuid/dist/stringify.js +44 -0
  860. package/stream-api/node_modules/uuid/dist/uuid-bin.js +85 -0
  861. package/stream-api/node_modules/uuid/dist/v1.js +107 -0
  862. package/stream-api/node_modules/uuid/dist/v3.js +16 -0
  863. package/stream-api/node_modules/uuid/dist/v35.js +80 -0
  864. package/stream-api/node_modules/uuid/dist/v4.js +43 -0
  865. package/stream-api/node_modules/uuid/dist/v5.js +16 -0
  866. package/stream-api/node_modules/uuid/dist/validate.js +17 -0
  867. package/stream-api/node_modules/uuid/dist/version.js +21 -0
  868. package/stream-api/node_modules/uuid/package.json +135 -0
  869. package/stream-api/node_modules/uuid/wrapper.mjs +10 -0
  870. package/stream-api/node_modules/vary/HISTORY.md +39 -0
  871. package/stream-api/node_modules/vary/LICENSE +22 -0
  872. package/stream-api/node_modules/vary/README.md +101 -0
  873. package/stream-api/node_modules/vary/index.js +149 -0
  874. package/stream-api/node_modules/vary/package.json +43 -0
  875. package/stream-api/node_modules/wrappy/LICENSE +15 -0
  876. package/stream-api/node_modules/wrappy/README.md +36 -0
  877. package/stream-api/node_modules/wrappy/package.json +29 -0
  878. package/stream-api/node_modules/wrappy/wrappy.js +33 -0
  879. package/stream-api/package-lock.json +985 -0
  880. package/stream-api/package.json +25 -0
  881. package/stream-api/tsconfig.json +10 -0
@@ -0,0 +1,3858 @@
1
+ 5.1.0 / 2025-03-31
2
+ ========================
3
+
4
+ * Add support for `Uint8Array` in `res.send()`
5
+ * Add support for ETag option in `res.sendFile()`
6
+ * Add support for multiple links with the same rel in `res.links()`
7
+ * Add funding field to package.json
8
+ * perf: use loop for acceptParams
9
+ * refactor: prefix built-in node module imports
10
+ * deps: remove `setprototypeof`
11
+ * deps: remove `safe-buffer`
12
+ * deps: remove `utils-merge`
13
+ * deps: remove `methods`
14
+ * deps: remove `depd`
15
+ * deps: `debug@^4.4.0`
16
+ * deps: `body-parser@^2.2.0`
17
+ * deps: `router@^2.2.0`
18
+ * deps: `content-type@^1.0.5`
19
+ * deps: `finalhandler@^2.1.0`
20
+ * deps: `qs@^6.14.0`
21
+ * deps: `server-static@2.2.0`
22
+ * deps: `type-is@2.0.1`
23
+
24
+ 5.0.1 / 2024-10-08
25
+ ==========
26
+
27
+ * Update `cookie` semver lock to address [CVE-2024-47764](https://nvd.nist.gov/vuln/detail/CVE-2024-47764)
28
+
29
+ 5.0.0 / 2024-09-10
30
+ =========================
31
+ * remove:
32
+ - `path-is-absolute` dependency - use `path.isAbsolute` instead
33
+ * breaking:
34
+ * `res.status()` accepts only integers, and input must be greater than 99 and less than 1000
35
+ * will throw a `RangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.` for inputs outside this range
36
+ * will throw a `TypeError: Invalid status code: ${code}. Status code must be an integer.` for non integer inputs
37
+ * deps: send@1.0.0
38
+ * `res.redirect('back')` and `res.location('back')` is no longer a supported magic string, explicitly use `req.get('Referrer') || '/'`.
39
+ * change:
40
+ - `res.clearCookie` will ignore user provided `maxAge` and `expires` options
41
+ * deps: cookie-signature@^1.2.1
42
+ * deps: debug@4.3.6
43
+ * deps: merge-descriptors@^2.0.0
44
+ * deps: serve-static@^2.1.0
45
+ * deps: qs@6.13.0
46
+ * deps: accepts@^2.0.0
47
+ * deps: mime-types@^3.0.0
48
+ - `application/javascript` => `text/javascript`
49
+ * deps: type-is@^2.0.0
50
+ * deps: content-disposition@^1.0.0
51
+ * deps: finalhandler@^2.0.0
52
+ * deps: fresh@^2.0.0
53
+ * deps: body-parser@^2.0.1
54
+ * deps: send@^1.1.0
55
+
56
+ 5.0.0-beta.3 / 2024-03-25
57
+ =========================
58
+
59
+ This incorporates all changes after 4.19.1 up to 4.19.2.
60
+
61
+ 5.0.0-beta.2 / 2024-03-20
62
+ =========================
63
+
64
+ This incorporates all changes after 4.17.2 up to 4.19.1.
65
+
66
+ 5.0.0-beta.1 / 2022-02-14
67
+ =========================
68
+
69
+ This is the first Express 5.0 beta release, based off 4.17.2 and includes
70
+ changes from 5.0.0-alpha.8.
71
+
72
+ * change:
73
+ - Default "query parser" setting to `'simple'`
74
+ - Requires Node.js 4+
75
+ - Use `mime-types` for file to content type mapping
76
+ * deps: array-flatten@3.0.0
77
+ * deps: body-parser@2.0.0-beta.1
78
+ - `req.body` is no longer always initialized to `{}`
79
+ - `urlencoded` parser now defaults `extended` to `false`
80
+ - Use `on-finished` to determine when body read
81
+ * deps: router@2.0.0-beta.1
82
+ - Add new `?`, `*`, and `+` parameter modifiers
83
+ - Internalize private `router.process_params` method
84
+ - Matching group expressions are only RegExp syntax
85
+ - Named matching groups no longer available by position in `req.params`
86
+ - Regular expressions can only be used in a matching group
87
+ - Remove `debug` dependency
88
+ - Special `*` path segment behavior removed
89
+ - deps: array-flatten@3.0.0
90
+ - deps: parseurl@~1.3.3
91
+ - deps: path-to-regexp@3.2.0
92
+ - deps: setprototypeof@1.2.0
93
+ * deps: send@1.0.0-beta.1
94
+ - Change `dotfiles` option default to `'ignore'`
95
+ - Remove `hidden` option; use `dotfiles` option instead
96
+ - Use `mime-types` for file to content type mapping
97
+ - deps: debug@3.1.0
98
+ * deps: serve-static@2.0.0-beta.1
99
+ - Change `dotfiles` option default to `'ignore'`
100
+ - Remove `hidden` option; use `dotfiles` option instead
101
+ - Use `mime-types` for file to content type mapping
102
+ - Remove `express.static.mime` export; use `mime-types` package instead
103
+ - deps: send@1.0.0-beta.1
104
+
105
+ 5.0.0-alpha.8 / 2020-03-25
106
+ ==========================
107
+
108
+ This is the eighth Express 5.0 alpha release, based off 4.17.1 and includes
109
+ changes from 5.0.0-alpha.7.
110
+
111
+ 5.0.0-alpha.7 / 2018-10-26
112
+ ==========================
113
+
114
+ This is the seventh Express 5.0 alpha release, based off 4.16.4 and includes
115
+ changes from 5.0.0-alpha.6.
116
+
117
+ The major change with this alpha is the basic support for returned, rejected
118
+ Promises in the router.
119
+
120
+ * remove:
121
+ - `path-to-regexp` dependency
122
+ * deps: debug@3.1.0
123
+ - Add `DEBUG_HIDE_DATE` environment variable
124
+ - Change timer to per-namespace instead of global
125
+ - Change non-TTY date format
126
+ - Remove `DEBUG_FD` environment variable support
127
+ - Support 256 namespace colors
128
+ * deps: router@2.0.0-alpha.1
129
+ - Add basic support for returned, rejected Promises
130
+ - Fix JSDoc for `Router` constructor
131
+ - deps: debug@3.1.0
132
+ - deps: parseurl@~1.3.2
133
+ - deps: setprototypeof@1.1.0
134
+ - deps: utils-merge@1.0.1
135
+
136
+ 5.0.0-alpha.6 / 2017-09-24
137
+ ==========================
138
+
139
+ This is the sixth Express 5.0 alpha release, based off 4.15.5 and includes
140
+ changes from 5.0.0-alpha.5.
141
+
142
+ * remove:
143
+ - `res.redirect(url, status)` signature - use `res.redirect(status, url)`
144
+ - `res.send(status, body)` signature - use `res.status(status).send(body)`
145
+ * deps: router@~1.3.1
146
+ - deps: debug@2.6.8
147
+
148
+ 5.0.0-alpha.5 / 2017-03-06
149
+ ==========================
150
+
151
+ This is the fifth Express 5.0 alpha release, based off 4.15.2 and includes
152
+ changes from 5.0.0-alpha.4.
153
+
154
+ 5.0.0-alpha.4 / 2017-03-01
155
+ ==========================
156
+
157
+ This is the fourth Express 5.0 alpha release, based off 4.15.0 and includes
158
+ changes from 5.0.0-alpha.3.
159
+
160
+ * remove:
161
+ - Remove Express 3.x middleware error stubs
162
+ * deps: router@~1.3.0
163
+ - Add `next("router")` to exit from router
164
+ - Fix case where `router.use` skipped requests routes did not
165
+ - Skip routing when `req.url` is not set
166
+ - Use `%o` in path debug to tell types apart
167
+ - deps: debug@2.6.1
168
+ - deps: setprototypeof@1.0.3
169
+ - perf: add fast match path for `*` route
170
+
171
+ 5.0.0-alpha.3 / 2017-01-28
172
+ ==========================
173
+
174
+ This is the third Express 5.0 alpha release, based off 4.14.1 and includes
175
+ changes from 5.0.0-alpha.2.
176
+
177
+ * remove:
178
+ - `res.json(status, obj)` signature - use `res.status(status).json(obj)`
179
+ - `res.jsonp(status, obj)` signature - use `res.status(status).jsonp(obj)`
180
+ - `res.vary()` (no arguments) -- provide a field name as an argument
181
+ * deps: array-flatten@2.1.1
182
+ * deps: path-is-absolute@1.0.1
183
+ * deps: router@~1.1.5
184
+ - deps: array-flatten@2.0.1
185
+ - deps: methods@~1.1.2
186
+ - deps: parseurl@~1.3.1
187
+ - deps: setprototypeof@1.0.2
188
+
189
+ 5.0.0-alpha.2 / 2015-07-06
190
+ ==========================
191
+
192
+ This is the second Express 5.0 alpha release, based off 4.13.1 and includes
193
+ changes from 5.0.0-alpha.1.
194
+
195
+ * remove:
196
+ - `app.param(fn)`
197
+ - `req.param()` -- use `req.params`, `req.body`, or `req.query` instead
198
+ * change:
199
+ - `res.render` callback is always async, even for sync view engines
200
+ - The leading `:` character in `name` for `app.param(name, fn)` is no longer removed
201
+ - Use `router` module for routing
202
+ - Use `path-is-absolute` module for absolute path detection
203
+
204
+ 5.0.0-alpha.1 / 2014-11-06
205
+ ==========================
206
+
207
+ This is the first Express 5.0 alpha release, based off 4.10.1.
208
+
209
+ * remove:
210
+ - `app.del` - use `app.delete`
211
+ - `req.acceptsCharset` - use `req.acceptsCharsets`
212
+ - `req.acceptsEncoding` - use `req.acceptsEncodings`
213
+ - `req.acceptsLanguage` - use `req.acceptsLanguages`
214
+ - `res.json(obj, status)` signature - use `res.json(status, obj)`
215
+ - `res.jsonp(obj, status)` signature - use `res.jsonp(status, obj)`
216
+ - `res.send(body, status)` signature - use `res.send(status, body)`
217
+ - `res.send(status)` signature - use `res.sendStatus(status)`
218
+ - `res.sendfile` - use `res.sendFile` instead
219
+ - `express.query` middleware
220
+ * change:
221
+ - `req.host` now returns host (`hostname:port`) - use `req.hostname` for only hostname
222
+ - `req.query` is now a getter instead of a plain property
223
+ * add:
224
+ - `app.router` is a reference to the base router
225
+
226
+ 4.20.0 / 2024-09-10
227
+ ==========
228
+ * deps: serve-static@0.16.0
229
+ * Remove link renderization in html while redirecting
230
+ * deps: send@0.19.0
231
+ * Remove link renderization in html while redirecting
232
+ * deps: body-parser@0.6.0
233
+ * add `depth` option to customize the depth level in the parser
234
+ * IMPORTANT: The default `depth` level for parsing URL-encoded data is now `32` (previously was `Infinity`)
235
+ * Remove link renderization in html while using `res.redirect`
236
+ * deps: path-to-regexp@0.1.10
237
+ - Adds support for named matching groups in the routes using a regex
238
+ - Adds backtracking protection to parameters without regexes defined
239
+ * deps: encodeurl@~2.0.0
240
+ - Removes encoding of `\`, `|`, and `^` to align better with URL spec
241
+ * Deprecate passing `options.maxAge` and `options.expires` to `res.clearCookie`
242
+ - Will be ignored in v5, clearCookie will set a cookie with an expires in the past to instruct clients to delete the cookie
243
+
244
+ 4.19.2 / 2024-03-25
245
+ ==========
246
+
247
+ * Improved fix for open redirect allow list bypass
248
+
249
+ 4.19.1 / 2024-03-20
250
+ ==========
251
+
252
+ * Allow passing non-strings to res.location with new encoding handling checks
253
+
254
+ 4.19.0 / 2024-03-20
255
+ ==========
256
+
257
+ * Prevent open redirect allow list bypass due to encodeurl
258
+ * deps: cookie@0.6.0
259
+
260
+ 4.18.3 / 2024-02-29
261
+ ==========
262
+
263
+ * Fix routing requests without method
264
+ * deps: body-parser@1.20.2
265
+ - Fix strict json error message on Node.js 19+
266
+ - deps: content-type@~1.0.5
267
+ - deps: raw-body@2.5.2
268
+ * deps: cookie@0.6.0
269
+ - Add `partitioned` option
270
+
271
+ 4.18.2 / 2022-10-08
272
+ ===================
273
+
274
+ * Fix regression routing a large stack in a single route
275
+ * deps: body-parser@1.20.1
276
+ - deps: qs@6.11.0
277
+ - perf: remove unnecessary object clone
278
+ * deps: qs@6.11.0
279
+
280
+ 4.18.1 / 2022-04-29
281
+ ===================
282
+
283
+ * Fix hanging on large stack of sync routes
284
+
285
+ 4.18.0 / 2022-04-25
286
+ ===================
287
+
288
+ * Add "root" option to `res.download`
289
+ * Allow `options` without `filename` in `res.download`
290
+ * Deprecate string and non-integer arguments to `res.status`
291
+ * Fix behavior of `null`/`undefined` as `maxAge` in `res.cookie`
292
+ * Fix handling very large stacks of sync middleware
293
+ * Ignore `Object.prototype` values in settings through `app.set`/`app.get`
294
+ * Invoke `default` with same arguments as types in `res.format`
295
+ * Support proper 205 responses using `res.send`
296
+ * Use `http-errors` for `res.format` error
297
+ * deps: body-parser@1.20.0
298
+ - Fix error message for json parse whitespace in `strict`
299
+ - Fix internal error when inflated body exceeds limit
300
+ - Prevent loss of async hooks context
301
+ - Prevent hanging when request already read
302
+ - deps: depd@2.0.0
303
+ - deps: http-errors@2.0.0
304
+ - deps: on-finished@2.4.1
305
+ - deps: qs@6.10.3
306
+ - deps: raw-body@2.5.1
307
+ * deps: cookie@0.5.0
308
+ - Add `priority` option
309
+ - Fix `expires` option to reject invalid dates
310
+ * deps: depd@2.0.0
311
+ - Replace internal `eval` usage with `Function` constructor
312
+ - Use instance methods on `process` to check for listeners
313
+ * deps: finalhandler@1.2.0
314
+ - Remove set content headers that break response
315
+ - deps: on-finished@2.4.1
316
+ - deps: statuses@2.0.1
317
+ * deps: on-finished@2.4.1
318
+ - Prevent loss of async hooks context
319
+ * deps: qs@6.10.3
320
+ * deps: send@0.18.0
321
+ - Fix emitted 416 error missing headers property
322
+ - Limit the headers removed for 304 response
323
+ - deps: depd@2.0.0
324
+ - deps: destroy@1.2.0
325
+ - deps: http-errors@2.0.0
326
+ - deps: on-finished@2.4.1
327
+ - deps: statuses@2.0.1
328
+ * deps: serve-static@1.15.0
329
+ - deps: send@0.18.0
330
+ * deps: statuses@2.0.1
331
+ - Remove code 306
332
+ - Rename `425 Unordered Collection` to standard `425 Too Early`
333
+
334
+ 4.17.3 / 2022-02-16
335
+ ===================
336
+
337
+ * deps: accepts@~1.3.8
338
+ - deps: mime-types@~2.1.34
339
+ - deps: negotiator@0.6.3
340
+ * deps: body-parser@1.19.2
341
+ - deps: bytes@3.1.2
342
+ - deps: qs@6.9.7
343
+ - deps: raw-body@2.4.3
344
+ * deps: cookie@0.4.2
345
+ * deps: qs@6.9.7
346
+ * Fix handling of `__proto__` keys
347
+ * pref: remove unnecessary regexp for trust proxy
348
+
349
+ 4.17.2 / 2021-12-16
350
+ ===================
351
+
352
+ * Fix handling of `undefined` in `res.jsonp`
353
+ * Fix handling of `undefined` when `"json escape"` is enabled
354
+ * Fix incorrect middleware execution with unanchored `RegExp`s
355
+ * Fix `res.jsonp(obj, status)` deprecation message
356
+ * Fix typo in `res.is` JSDoc
357
+ * deps: body-parser@1.19.1
358
+ - deps: bytes@3.1.1
359
+ - deps: http-errors@1.8.1
360
+ - deps: qs@6.9.6
361
+ - deps: raw-body@2.4.2
362
+ - deps: safe-buffer@5.2.1
363
+ - deps: type-is@~1.6.18
364
+ * deps: content-disposition@0.5.4
365
+ - deps: safe-buffer@5.2.1
366
+ * deps: cookie@0.4.1
367
+ - Fix `maxAge` option to reject invalid values
368
+ * deps: proxy-addr@~2.0.7
369
+ - Use `req.socket` over deprecated `req.connection`
370
+ - deps: forwarded@0.2.0
371
+ - deps: ipaddr.js@1.9.1
372
+ * deps: qs@6.9.6
373
+ * deps: safe-buffer@5.2.1
374
+ * deps: send@0.17.2
375
+ - deps: http-errors@1.8.1
376
+ - deps: ms@2.1.3
377
+ - pref: ignore empty http tokens
378
+ * deps: serve-static@1.14.2
379
+ - deps: send@0.17.2
380
+ * deps: setprototypeof@1.2.0
381
+
382
+ 4.17.1 / 2019-05-25
383
+ ===================
384
+
385
+ * Revert "Improve error message for `null`/`undefined` to `res.status`"
386
+
387
+ 4.17.0 / 2019-05-16
388
+ ===================
389
+
390
+ * Add `express.raw` to parse bodies into `Buffer`
391
+ * Add `express.text` to parse bodies into string
392
+ * Improve error message for non-strings to `res.sendFile`
393
+ * Improve error message for `null`/`undefined` to `res.status`
394
+ * Support multiple hosts in `X-Forwarded-Host`
395
+ * deps: accepts@~1.3.7
396
+ * deps: body-parser@1.19.0
397
+ - Add encoding MIK
398
+ - Add petabyte (`pb`) support
399
+ - Fix parsing array brackets after index
400
+ - deps: bytes@3.1.0
401
+ - deps: http-errors@1.7.2
402
+ - deps: iconv-lite@0.4.24
403
+ - deps: qs@6.7.0
404
+ - deps: raw-body@2.4.0
405
+ - deps: type-is@~1.6.17
406
+ * deps: content-disposition@0.5.3
407
+ * deps: cookie@0.4.0
408
+ - Add `SameSite=None` support
409
+ * deps: finalhandler@~1.1.2
410
+ - Set stricter `Content-Security-Policy` header
411
+ - deps: parseurl@~1.3.3
412
+ - deps: statuses@~1.5.0
413
+ * deps: parseurl@~1.3.3
414
+ * deps: proxy-addr@~2.0.5
415
+ - deps: ipaddr.js@1.9.0
416
+ * deps: qs@6.7.0
417
+ - Fix parsing array brackets after index
418
+ * deps: range-parser@~1.2.1
419
+ * deps: send@0.17.1
420
+ - Set stricter CSP header in redirect & error responses
421
+ - deps: http-errors@~1.7.2
422
+ - deps: mime@1.6.0
423
+ - deps: ms@2.1.1
424
+ - deps: range-parser@~1.2.1
425
+ - deps: statuses@~1.5.0
426
+ - perf: remove redundant `path.normalize` call
427
+ * deps: serve-static@1.14.1
428
+ - Set stricter CSP header in redirect response
429
+ - deps: parseurl@~1.3.3
430
+ - deps: send@0.17.1
431
+ * deps: setprototypeof@1.1.1
432
+ * deps: statuses@~1.5.0
433
+ - Add `103 Early Hints`
434
+ * deps: type-is@~1.6.18
435
+ - deps: mime-types@~2.1.24
436
+ - perf: prevent internal `throw` on invalid type
437
+
438
+ 4.16.4 / 2018-10-10
439
+ ===================
440
+
441
+ * Fix issue where `"Request aborted"` may be logged in `res.sendfile`
442
+ * Fix JSDoc for `Router` constructor
443
+ * deps: body-parser@1.18.3
444
+ - Fix deprecation warnings on Node.js 10+
445
+ - Fix stack trace for strict json parse error
446
+ - deps: depd@~1.1.2
447
+ - deps: http-errors@~1.6.3
448
+ - deps: iconv-lite@0.4.23
449
+ - deps: qs@6.5.2
450
+ - deps: raw-body@2.3.3
451
+ - deps: type-is@~1.6.16
452
+ * deps: proxy-addr@~2.0.4
453
+ - deps: ipaddr.js@1.8.0
454
+ * deps: qs@6.5.2
455
+ * deps: safe-buffer@5.1.2
456
+
457
+ 4.16.3 / 2018-03-12
458
+ ===================
459
+
460
+ * deps: accepts@~1.3.5
461
+ - deps: mime-types@~2.1.18
462
+ * deps: depd@~1.1.2
463
+ - perf: remove argument reassignment
464
+ * deps: encodeurl@~1.0.2
465
+ - Fix encoding `%` as last character
466
+ * deps: finalhandler@1.1.1
467
+ - Fix 404 output for bad / missing pathnames
468
+ - deps: encodeurl@~1.0.2
469
+ - deps: statuses@~1.4.0
470
+ * deps: proxy-addr@~2.0.3
471
+ - deps: ipaddr.js@1.6.0
472
+ * deps: send@0.16.2
473
+ - Fix incorrect end tag in default error & redirects
474
+ - deps: depd@~1.1.2
475
+ - deps: encodeurl@~1.0.2
476
+ - deps: statuses@~1.4.0
477
+ * deps: serve-static@1.13.2
478
+ - Fix incorrect end tag in redirects
479
+ - deps: encodeurl@~1.0.2
480
+ - deps: send@0.16.2
481
+ * deps: statuses@~1.4.0
482
+ * deps: type-is@~1.6.16
483
+ - deps: mime-types@~2.1.18
484
+
485
+ 4.16.2 / 2017-10-09
486
+ ===================
487
+
488
+ * Fix `TypeError` in `res.send` when given `Buffer` and `ETag` header set
489
+ * perf: skip parsing of entire `X-Forwarded-Proto` header
490
+
491
+ 4.16.1 / 2017-09-29
492
+ ===================
493
+
494
+ * deps: send@0.16.1
495
+ * deps: serve-static@1.13.1
496
+ - Fix regression when `root` is incorrectly set to a file
497
+ - deps: send@0.16.1
498
+
499
+ 4.16.0 / 2017-09-28
500
+ ===================
501
+
502
+ * Add `"json escape"` setting for `res.json` and `res.jsonp`
503
+ * Add `express.json` and `express.urlencoded` to parse bodies
504
+ * Add `options` argument to `res.download`
505
+ * Improve error message when autoloading invalid view engine
506
+ * Improve error messages when non-function provided as middleware
507
+ * Skip `Buffer` encoding when not generating ETag for small response
508
+ * Use `safe-buffer` for improved Buffer API
509
+ * deps: accepts@~1.3.4
510
+ - deps: mime-types@~2.1.16
511
+ * deps: content-type@~1.0.4
512
+ - perf: remove argument reassignment
513
+ - perf: skip parameter parsing when no parameters
514
+ * deps: etag@~1.8.1
515
+ - perf: replace regular expression with substring
516
+ * deps: finalhandler@1.1.0
517
+ - Use `res.headersSent` when available
518
+ * deps: parseurl@~1.3.2
519
+ - perf: reduce overhead for full URLs
520
+ - perf: unroll the "fast-path" `RegExp`
521
+ * deps: proxy-addr@~2.0.2
522
+ - Fix trimming leading / trailing OWS in `X-Forwarded-For`
523
+ - deps: forwarded@~0.1.2
524
+ - deps: ipaddr.js@1.5.2
525
+ - perf: reduce overhead when no `X-Forwarded-For` header
526
+ * deps: qs@6.5.1
527
+ - Fix parsing & compacting very deep objects
528
+ * deps: send@0.16.0
529
+ - Add 70 new types for file extensions
530
+ - Add `immutable` option
531
+ - Fix missing `</html>` in default error & redirects
532
+ - Set charset as "UTF-8" for .js and .json
533
+ - Use instance methods on steam to check for listeners
534
+ - deps: mime@1.4.1
535
+ - perf: improve path validation speed
536
+ * deps: serve-static@1.13.0
537
+ - Add 70 new types for file extensions
538
+ - Add `immutable` option
539
+ - Set charset as "UTF-8" for .js and .json
540
+ - deps: send@0.16.0
541
+ * deps: setprototypeof@1.1.0
542
+ * deps: utils-merge@1.0.1
543
+ * deps: vary@~1.1.2
544
+ - perf: improve header token parsing speed
545
+ * perf: re-use options object when generating ETags
546
+ * perf: remove dead `.charset` set in `res.jsonp`
547
+
548
+ 4.15.5 / 2017-09-24
549
+ ===================
550
+
551
+ * deps: debug@2.6.9
552
+ * deps: finalhandler@~1.0.6
553
+ - deps: debug@2.6.9
554
+ - deps: parseurl@~1.3.2
555
+ * deps: fresh@0.5.2
556
+ - Fix handling of modified headers with invalid dates
557
+ - perf: improve ETag match loop
558
+ - perf: improve `If-None-Match` token parsing
559
+ * deps: send@0.15.6
560
+ - Fix handling of modified headers with invalid dates
561
+ - deps: debug@2.6.9
562
+ - deps: etag@~1.8.1
563
+ - deps: fresh@0.5.2
564
+ - perf: improve `If-Match` token parsing
565
+ * deps: serve-static@1.12.6
566
+ - deps: parseurl@~1.3.2
567
+ - deps: send@0.15.6
568
+ - perf: improve slash collapsing
569
+
570
+ 4.15.4 / 2017-08-06
571
+ ===================
572
+
573
+ * deps: debug@2.6.8
574
+ * deps: depd@~1.1.1
575
+ - Remove unnecessary `Buffer` loading
576
+ * deps: finalhandler@~1.0.4
577
+ - deps: debug@2.6.8
578
+ * deps: proxy-addr@~1.1.5
579
+ - Fix array argument being altered
580
+ - deps: ipaddr.js@1.4.0
581
+ * deps: qs@6.5.0
582
+ * deps: send@0.15.4
583
+ - deps: debug@2.6.8
584
+ - deps: depd@~1.1.1
585
+ - deps: http-errors@~1.6.2
586
+ * deps: serve-static@1.12.4
587
+ - deps: send@0.15.4
588
+
589
+ 4.15.3 / 2017-05-16
590
+ ===================
591
+
592
+ * Fix error when `res.set` cannot add charset to `Content-Type`
593
+ * deps: debug@2.6.7
594
+ - Fix `DEBUG_MAX_ARRAY_LENGTH`
595
+ - deps: ms@2.0.0
596
+ * deps: finalhandler@~1.0.3
597
+ - Fix missing `</html>` in HTML document
598
+ - deps: debug@2.6.7
599
+ * deps: proxy-addr@~1.1.4
600
+ - deps: ipaddr.js@1.3.0
601
+ * deps: send@0.15.3
602
+ - deps: debug@2.6.7
603
+ - deps: ms@2.0.0
604
+ * deps: serve-static@1.12.3
605
+ - deps: send@0.15.3
606
+ * deps: type-is@~1.6.15
607
+ - deps: mime-types@~2.1.15
608
+ * deps: vary@~1.1.1
609
+ - perf: hoist regular expression
610
+
611
+ 4.15.2 / 2017-03-06
612
+ ===================
613
+
614
+ * deps: qs@6.4.0
615
+ - Fix regression parsing keys starting with `[`
616
+
617
+ 4.15.1 / 2017-03-05
618
+ ===================
619
+
620
+ * deps: send@0.15.1
621
+ - Fix issue when `Date.parse` does not return `NaN` on invalid date
622
+ - Fix strict violation in broken environments
623
+ * deps: serve-static@1.12.1
624
+ - Fix issue when `Date.parse` does not return `NaN` on invalid date
625
+ - deps: send@0.15.1
626
+
627
+ 4.15.0 / 2017-03-01
628
+ ===================
629
+
630
+ * Add debug message when loading view engine
631
+ * Add `next("router")` to exit from router
632
+ * Fix case where `router.use` skipped requests routes did not
633
+ * Remove usage of `res._headers` private field
634
+ - Improves compatibility with Node.js 8 nightly
635
+ * Skip routing when `req.url` is not set
636
+ * Use `%o` in path debug to tell types apart
637
+ * Use `Object.create` to setup request & response prototypes
638
+ * Use `setprototypeof` module to replace `__proto__` setting
639
+ * Use `statuses` instead of `http` module for status messages
640
+ * deps: debug@2.6.1
641
+ - Allow colors in workers
642
+ - Deprecated `DEBUG_FD` environment variable set to `3` or higher
643
+ - Fix error when running under React Native
644
+ - Use same color for same namespace
645
+ - deps: ms@0.7.2
646
+ * deps: etag@~1.8.0
647
+ - Use SHA1 instead of MD5 for ETag hashing
648
+ - Works with FIPS 140-2 OpenSSL configuration
649
+ * deps: finalhandler@~1.0.0
650
+ - Fix exception when `err` cannot be converted to a string
651
+ - Fully URL-encode the pathname in the 404
652
+ - Only include the pathname in the 404 message
653
+ - Send complete HTML document
654
+ - Set `Content-Security-Policy: default-src 'self'` header
655
+ - deps: debug@2.6.1
656
+ * deps: fresh@0.5.0
657
+ - Fix false detection of `no-cache` request directive
658
+ - Fix incorrect result when `If-None-Match` has both `*` and ETags
659
+ - Fix weak `ETag` matching to match spec
660
+ - perf: delay reading header values until needed
661
+ - perf: enable strict mode
662
+ - perf: hoist regular expressions
663
+ - perf: remove duplicate conditional
664
+ - perf: remove unnecessary boolean coercions
665
+ - perf: skip checking modified time if ETag check failed
666
+ - perf: skip parsing `If-None-Match` when no `ETag` header
667
+ - perf: use `Date.parse` instead of `new Date`
668
+ * deps: qs@6.3.1
669
+ - Fix array parsing from skipping empty values
670
+ - Fix compacting nested arrays
671
+ * deps: send@0.15.0
672
+ - Fix false detection of `no-cache` request directive
673
+ - Fix incorrect result when `If-None-Match` has both `*` and ETags
674
+ - Fix weak `ETag` matching to match spec
675
+ - Remove usage of `res._headers` private field
676
+ - Support `If-Match` and `If-Unmodified-Since` headers
677
+ - Use `res.getHeaderNames()` when available
678
+ - Use `res.headersSent` when available
679
+ - deps: debug@2.6.1
680
+ - deps: etag@~1.8.0
681
+ - deps: fresh@0.5.0
682
+ - deps: http-errors@~1.6.1
683
+ * deps: serve-static@1.12.0
684
+ - Fix false detection of `no-cache` request directive
685
+ - Fix incorrect result when `If-None-Match` has both `*` and ETags
686
+ - Fix weak `ETag` matching to match spec
687
+ - Remove usage of `res._headers` private field
688
+ - Send complete HTML document in redirect response
689
+ - Set default CSP header in redirect response
690
+ - Support `If-Match` and `If-Unmodified-Since` headers
691
+ - Use `res.getHeaderNames()` when available
692
+ - Use `res.headersSent` when available
693
+ - deps: send@0.15.0
694
+ * perf: add fast match path for `*` route
695
+ * perf: improve `req.ips` performance
696
+
697
+ 4.14.1 / 2017-01-28
698
+ ===================
699
+
700
+ * deps: content-disposition@0.5.2
701
+ * deps: finalhandler@0.5.1
702
+ - Fix exception when `err.headers` is not an object
703
+ - deps: statuses@~1.3.1
704
+ - perf: hoist regular expressions
705
+ - perf: remove duplicate validation path
706
+ * deps: proxy-addr@~1.1.3
707
+ - deps: ipaddr.js@1.2.0
708
+ * deps: send@0.14.2
709
+ - deps: http-errors@~1.5.1
710
+ - deps: ms@0.7.2
711
+ - deps: statuses@~1.3.1
712
+ * deps: serve-static@~1.11.2
713
+ - deps: send@0.14.2
714
+ * deps: type-is@~1.6.14
715
+ - deps: mime-types@~2.1.13
716
+
717
+ 4.14.0 / 2016-06-16
718
+ ===================
719
+
720
+ * Add `acceptRanges` option to `res.sendFile`/`res.sendfile`
721
+ * Add `cacheControl` option to `res.sendFile`/`res.sendfile`
722
+ * Add `options` argument to `req.range`
723
+ - Includes the `combine` option
724
+ * Encode URL in `res.location`/`res.redirect` if not already encoded
725
+ * Fix some redirect handling in `res.sendFile`/`res.sendfile`
726
+ * Fix Windows absolute path check using forward slashes
727
+ * Improve error with invalid arguments to `req.get()`
728
+ * Improve performance for `res.json`/`res.jsonp` in most cases
729
+ * Improve `Range` header handling in `res.sendFile`/`res.sendfile`
730
+ * deps: accepts@~1.3.3
731
+ - Fix including type extensions in parameters in `Accept` parsing
732
+ - Fix parsing `Accept` parameters with quoted equals
733
+ - Fix parsing `Accept` parameters with quoted semicolons
734
+ - Many performance improvements
735
+ - deps: mime-types@~2.1.11
736
+ - deps: negotiator@0.6.1
737
+ * deps: content-type@~1.0.2
738
+ - perf: enable strict mode
739
+ * deps: cookie@0.3.1
740
+ - Add `sameSite` option
741
+ - Fix cookie `Max-Age` to never be a floating point number
742
+ - Improve error message when `encode` is not a function
743
+ - Improve error message when `expires` is not a `Date`
744
+ - Throw better error for invalid argument to parse
745
+ - Throw on invalid values provided to `serialize`
746
+ - perf: enable strict mode
747
+ - perf: hoist regular expression
748
+ - perf: use for loop in parse
749
+ - perf: use string concatenation for serialization
750
+ * deps: finalhandler@0.5.0
751
+ - Change invalid or non-numeric status code to 500
752
+ - Overwrite status message to match set status code
753
+ - Prefer `err.statusCode` if `err.status` is invalid
754
+ - Set response headers from `err.headers` object
755
+ - Use `statuses` instead of `http` module for status messages
756
+ * deps: proxy-addr@~1.1.2
757
+ - Fix accepting various invalid netmasks
758
+ - Fix IPv6-mapped IPv4 validation edge cases
759
+ - IPv4 netmasks must be contiguous
760
+ - IPv6 addresses cannot be used as a netmask
761
+ - deps: ipaddr.js@1.1.1
762
+ * deps: qs@6.2.0
763
+ - Add `decoder` option in `parse` function
764
+ * deps: range-parser@~1.2.0
765
+ - Add `combine` option to combine overlapping ranges
766
+ - Fix incorrectly returning -1 when there is at least one valid range
767
+ - perf: remove internal function
768
+ * deps: send@0.14.1
769
+ - Add `acceptRanges` option
770
+ - Add `cacheControl` option
771
+ - Attempt to combine multiple ranges into single range
772
+ - Correctly inherit from `Stream` class
773
+ - Fix `Content-Range` header in 416 responses when using `start`/`end` options
774
+ - Fix `Content-Range` header missing from default 416 responses
775
+ - Fix redirect error when `path` contains raw non-URL characters
776
+ - Fix redirect when `path` starts with multiple forward slashes
777
+ - Ignore non-byte `Range` headers
778
+ - deps: http-errors@~1.5.0
779
+ - deps: range-parser@~1.2.0
780
+ - deps: statuses@~1.3.0
781
+ - perf: remove argument reassignment
782
+ * deps: serve-static@~1.11.1
783
+ - Add `acceptRanges` option
784
+ - Add `cacheControl` option
785
+ - Attempt to combine multiple ranges into single range
786
+ - Fix redirect error when `req.url` contains raw non-URL characters
787
+ - Ignore non-byte `Range` headers
788
+ - Use status code 301 for redirects
789
+ - deps: send@0.14.1
790
+ * deps: type-is@~1.6.13
791
+ - Fix type error when given invalid type to match against
792
+ - deps: mime-types@~2.1.11
793
+ * deps: vary@~1.1.0
794
+ - Only accept valid field names in the `field` argument
795
+ * perf: use strict equality when possible
796
+
797
+ 4.13.4 / 2016-01-21
798
+ ===================
799
+
800
+ * deps: content-disposition@0.5.1
801
+ - perf: enable strict mode
802
+ * deps: cookie@0.1.5
803
+ - Throw on invalid values provided to `serialize`
804
+ * deps: depd@~1.1.0
805
+ - Support web browser loading
806
+ - perf: enable strict mode
807
+ * deps: escape-html@~1.0.3
808
+ - perf: enable strict mode
809
+ - perf: optimize string replacement
810
+ - perf: use faster string coercion
811
+ * deps: finalhandler@0.4.1
812
+ - deps: escape-html@~1.0.3
813
+ * deps: merge-descriptors@1.0.1
814
+ - perf: enable strict mode
815
+ * deps: methods@~1.1.2
816
+ - perf: enable strict mode
817
+ * deps: parseurl@~1.3.1
818
+ - perf: enable strict mode
819
+ * deps: proxy-addr@~1.0.10
820
+ - deps: ipaddr.js@1.0.5
821
+ - perf: enable strict mode
822
+ * deps: range-parser@~1.0.3
823
+ - perf: enable strict mode
824
+ * deps: send@0.13.1
825
+ - deps: depd@~1.1.0
826
+ - deps: destroy@~1.0.4
827
+ - deps: escape-html@~1.0.3
828
+ - deps: range-parser@~1.0.3
829
+ * deps: serve-static@~1.10.2
830
+ - deps: escape-html@~1.0.3
831
+ - deps: parseurl@~1.3.0
832
+ - deps: send@0.13.1
833
+
834
+ 4.13.3 / 2015-08-02
835
+ ===================
836
+
837
+ * Fix infinite loop condition using `mergeParams: true`
838
+ * Fix inner numeric indices incorrectly altering parent `req.params`
839
+
840
+ 4.13.2 / 2015-07-31
841
+ ===================
842
+
843
+ * deps: accepts@~1.2.12
844
+ - deps: mime-types@~2.1.4
845
+ * deps: array-flatten@1.1.1
846
+ - perf: enable strict mode
847
+ * deps: path-to-regexp@0.1.7
848
+ - Fix regression with escaped round brackets and matching groups
849
+ * deps: type-is@~1.6.6
850
+ - deps: mime-types@~2.1.4
851
+
852
+ 4.13.1 / 2015-07-05
853
+ ===================
854
+
855
+ * deps: accepts@~1.2.10
856
+ - deps: mime-types@~2.1.2
857
+ * deps: qs@4.0.0
858
+ - Fix dropping parameters like `hasOwnProperty`
859
+ - Fix various parsing edge cases
860
+ * deps: type-is@~1.6.4
861
+ - deps: mime-types@~2.1.2
862
+ - perf: enable strict mode
863
+ - perf: remove argument reassignment
864
+
865
+ 4.13.0 / 2015-06-20
866
+ ===================
867
+
868
+ * Add settings to debug output
869
+ * Fix `res.format` error when only `default` provided
870
+ * Fix issue where `next('route')` in `app.param` would incorrectly skip values
871
+ * Fix hiding platform issues with `decodeURIComponent`
872
+ - Only `URIError`s are a 400
873
+ * Fix using `*` before params in routes
874
+ * Fix using capture groups before params in routes
875
+ * Simplify `res.cookie` to call `res.append`
876
+ * Use `array-flatten` module for flattening arrays
877
+ * deps: accepts@~1.2.9
878
+ - deps: mime-types@~2.1.1
879
+ - perf: avoid argument reassignment & argument slice
880
+ - perf: avoid negotiator recursive construction
881
+ - perf: enable strict mode
882
+ - perf: remove unnecessary bitwise operator
883
+ * deps: cookie@0.1.3
884
+ - perf: deduce the scope of try-catch deopt
885
+ - perf: remove argument reassignments
886
+ * deps: escape-html@1.0.2
887
+ * deps: etag@~1.7.0
888
+ - Always include entity length in ETags for hash length extensions
889
+ - Generate non-Stats ETags using MD5 only (no longer CRC32)
890
+ - Improve stat performance by removing hashing
891
+ - Improve support for JXcore
892
+ - Remove base64 padding in ETags to shorten
893
+ - Support "fake" stats objects in environments without fs
894
+ - Use MD5 instead of MD4 in weak ETags over 1KB
895
+ * deps: finalhandler@0.4.0
896
+ - Fix a false-positive when unpiping in Node.js 0.8
897
+ - Support `statusCode` property on `Error` objects
898
+ - Use `unpipe` module for unpiping requests
899
+ - deps: escape-html@1.0.2
900
+ - deps: on-finished@~2.3.0
901
+ - perf: enable strict mode
902
+ - perf: remove argument reassignment
903
+ * deps: fresh@0.3.0
904
+ - Add weak `ETag` matching support
905
+ * deps: on-finished@~2.3.0
906
+ - Add defined behavior for HTTP `CONNECT` requests
907
+ - Add defined behavior for HTTP `Upgrade` requests
908
+ - deps: ee-first@1.1.1
909
+ * deps: path-to-regexp@0.1.6
910
+ * deps: send@0.13.0
911
+ - Allow Node.js HTTP server to set `Date` response header
912
+ - Fix incorrectly removing `Content-Location` on 304 response
913
+ - Improve the default redirect response headers
914
+ - Send appropriate headers on default error response
915
+ - Use `http-errors` for standard emitted errors
916
+ - Use `statuses` instead of `http` module for status messages
917
+ - deps: escape-html@1.0.2
918
+ - deps: etag@~1.7.0
919
+ - deps: fresh@0.3.0
920
+ - deps: on-finished@~2.3.0
921
+ - perf: enable strict mode
922
+ - perf: remove unnecessary array allocations
923
+ * deps: serve-static@~1.10.0
924
+ - Add `fallthrough` option
925
+ - Fix reading options from options prototype
926
+ - Improve the default redirect response headers
927
+ - Malformed URLs now `next()` instead of 400
928
+ - deps: escape-html@1.0.2
929
+ - deps: send@0.13.0
930
+ - perf: enable strict mode
931
+ - perf: remove argument reassignment
932
+ * deps: type-is@~1.6.3
933
+ - deps: mime-types@~2.1.1
934
+ - perf: reduce try block size
935
+ - perf: remove bitwise operations
936
+ * perf: enable strict mode
937
+ * perf: isolate `app.render` try block
938
+ * perf: remove argument reassignments in application
939
+ * perf: remove argument reassignments in request prototype
940
+ * perf: remove argument reassignments in response prototype
941
+ * perf: remove argument reassignments in routing
942
+ * perf: remove argument reassignments in `View`
943
+ * perf: skip attempting to decode zero length string
944
+ * perf: use saved reference to `http.STATUS_CODES`
945
+
946
+ 4.12.4 / 2015-05-17
947
+ ===================
948
+
949
+ * deps: accepts@~1.2.7
950
+ - deps: mime-types@~2.0.11
951
+ - deps: negotiator@0.5.3
952
+ * deps: debug@~2.2.0
953
+ - deps: ms@0.7.1
954
+ * deps: depd@~1.0.1
955
+ * deps: etag@~1.6.0
956
+ - Improve support for JXcore
957
+ - Support "fake" stats objects in environments without `fs`
958
+ * deps: finalhandler@0.3.6
959
+ - deps: debug@~2.2.0
960
+ - deps: on-finished@~2.2.1
961
+ * deps: on-finished@~2.2.1
962
+ - Fix `isFinished(req)` when data buffered
963
+ * deps: proxy-addr@~1.0.8
964
+ - deps: ipaddr.js@1.0.1
965
+ * deps: qs@2.4.2
966
+ - Fix allowing parameters like `constructor`
967
+ * deps: send@0.12.3
968
+ - deps: debug@~2.2.0
969
+ - deps: depd@~1.0.1
970
+ - deps: etag@~1.6.0
971
+ - deps: ms@0.7.1
972
+ - deps: on-finished@~2.2.1
973
+ * deps: serve-static@~1.9.3
974
+ - deps: send@0.12.3
975
+ * deps: type-is@~1.6.2
976
+ - deps: mime-types@~2.0.11
977
+
978
+ 4.12.3 / 2015-03-17
979
+ ===================
980
+
981
+ * deps: accepts@~1.2.5
982
+ - deps: mime-types@~2.0.10
983
+ * deps: debug@~2.1.3
984
+ - Fix high intensity foreground color for bold
985
+ - deps: ms@0.7.0
986
+ * deps: finalhandler@0.3.4
987
+ - deps: debug@~2.1.3
988
+ * deps: proxy-addr@~1.0.7
989
+ - deps: ipaddr.js@0.1.9
990
+ * deps: qs@2.4.1
991
+ - Fix error when parameter `hasOwnProperty` is present
992
+ * deps: send@0.12.2
993
+ - Throw errors early for invalid `extensions` or `index` options
994
+ - deps: debug@~2.1.3
995
+ * deps: serve-static@~1.9.2
996
+ - deps: send@0.12.2
997
+ * deps: type-is@~1.6.1
998
+ - deps: mime-types@~2.0.10
999
+
1000
+ 4.12.2 / 2015-03-02
1001
+ ===================
1002
+
1003
+ * Fix regression where `"Request aborted"` is logged using `res.sendFile`
1004
+
1005
+ 4.12.1 / 2015-03-01
1006
+ ===================
1007
+
1008
+ * Fix constructing application with non-configurable prototype properties
1009
+ * Fix `ECONNRESET` errors from `res.sendFile` usage
1010
+ * Fix `req.host` when using "trust proxy" hops count
1011
+ * Fix `req.protocol`/`req.secure` when using "trust proxy" hops count
1012
+ * Fix wrong `code` on aborted connections from `res.sendFile`
1013
+ * deps: merge-descriptors@1.0.0
1014
+
1015
+ 4.12.0 / 2015-02-23
1016
+ ===================
1017
+
1018
+ * Fix `"trust proxy"` setting to inherit when app is mounted
1019
+ * Generate `ETag`s for all request responses
1020
+ - No longer restricted to only responses for `GET` and `HEAD` requests
1021
+ * Use `content-type` to parse `Content-Type` headers
1022
+ * deps: accepts@~1.2.4
1023
+ - Fix preference sorting to be stable for long acceptable lists
1024
+ - deps: mime-types@~2.0.9
1025
+ - deps: negotiator@0.5.1
1026
+ * deps: cookie-signature@1.0.6
1027
+ * deps: send@0.12.1
1028
+ - Always read the stat size from the file
1029
+ - Fix mutating passed-in `options`
1030
+ - deps: mime@1.3.4
1031
+ * deps: serve-static@~1.9.1
1032
+ - deps: send@0.12.1
1033
+ * deps: type-is@~1.6.0
1034
+ - fix argument reassignment
1035
+ - fix false-positives in `hasBody` `Transfer-Encoding` check
1036
+ - support wildcard for both type and subtype (`*/*`)
1037
+ - deps: mime-types@~2.0.9
1038
+
1039
+ 4.11.2 / 2015-02-01
1040
+ ===================
1041
+
1042
+ * Fix `res.redirect` double-calling `res.end` for `HEAD` requests
1043
+ * deps: accepts@~1.2.3
1044
+ - deps: mime-types@~2.0.8
1045
+ * deps: proxy-addr@~1.0.6
1046
+ - deps: ipaddr.js@0.1.8
1047
+ * deps: type-is@~1.5.6
1048
+ - deps: mime-types@~2.0.8
1049
+
1050
+ 4.11.1 / 2015-01-20
1051
+ ===================
1052
+
1053
+ * deps: send@0.11.1
1054
+ - Fix root path disclosure
1055
+ * deps: serve-static@~1.8.1
1056
+ - Fix redirect loop in Node.js 0.11.14
1057
+ - Fix root path disclosure
1058
+ - deps: send@0.11.1
1059
+
1060
+ 4.11.0 / 2015-01-13
1061
+ ===================
1062
+
1063
+ * Add `res.append(field, val)` to append headers
1064
+ * Deprecate leading `:` in `name` for `app.param(name, fn)`
1065
+ * Deprecate `req.param()` -- use `req.params`, `req.body`, or `req.query` instead
1066
+ * Deprecate `app.param(fn)`
1067
+ * Fix `OPTIONS` responses to include the `HEAD` method properly
1068
+ * Fix `res.sendFile` not always detecting aborted connection
1069
+ * Match routes iteratively to prevent stack overflows
1070
+ * deps: accepts@~1.2.2
1071
+ - deps: mime-types@~2.0.7
1072
+ - deps: negotiator@0.5.0
1073
+ * deps: send@0.11.0
1074
+ - deps: debug@~2.1.1
1075
+ - deps: etag@~1.5.1
1076
+ - deps: ms@0.7.0
1077
+ - deps: on-finished@~2.2.0
1078
+ * deps: serve-static@~1.8.0
1079
+ - deps: send@0.11.0
1080
+
1081
+ 4.10.8 / 2015-01-13
1082
+ ===================
1083
+
1084
+ * Fix crash from error within `OPTIONS` response handler
1085
+ * deps: proxy-addr@~1.0.5
1086
+ - deps: ipaddr.js@0.1.6
1087
+
1088
+ 4.10.7 / 2015-01-04
1089
+ ===================
1090
+
1091
+ * Fix `Allow` header for `OPTIONS` to not contain duplicate methods
1092
+ * Fix incorrect "Request aborted" for `res.sendFile` when `HEAD` or 304
1093
+ * deps: debug@~2.1.1
1094
+ * deps: finalhandler@0.3.3
1095
+ - deps: debug@~2.1.1
1096
+ - deps: on-finished@~2.2.0
1097
+ * deps: methods@~1.1.1
1098
+ * deps: on-finished@~2.2.0
1099
+ * deps: serve-static@~1.7.2
1100
+ - Fix potential open redirect when mounted at root
1101
+ * deps: type-is@~1.5.5
1102
+ - deps: mime-types@~2.0.7
1103
+
1104
+ 4.10.6 / 2014-12-12
1105
+ ===================
1106
+
1107
+ * Fix exception in `req.fresh`/`req.stale` without response headers
1108
+
1109
+ 4.10.5 / 2014-12-10
1110
+ ===================
1111
+
1112
+ * Fix `res.send` double-calling `res.end` for `HEAD` requests
1113
+ * deps: accepts@~1.1.4
1114
+ - deps: mime-types@~2.0.4
1115
+ * deps: type-is@~1.5.4
1116
+ - deps: mime-types@~2.0.4
1117
+
1118
+ 4.10.4 / 2014-11-24
1119
+ ===================
1120
+
1121
+ * Fix `res.sendfile` logging standard write errors
1122
+
1123
+ 4.10.3 / 2014-11-23
1124
+ ===================
1125
+
1126
+ * Fix `res.sendFile` logging standard write errors
1127
+ * deps: etag@~1.5.1
1128
+ * deps: proxy-addr@~1.0.4
1129
+ - deps: ipaddr.js@0.1.5
1130
+ * deps: qs@2.3.3
1131
+ - Fix `arrayLimit` behavior
1132
+
1133
+ 4.10.2 / 2014-11-09
1134
+ ===================
1135
+
1136
+ * Correctly invoke async router callback asynchronously
1137
+ * deps: accepts@~1.1.3
1138
+ - deps: mime-types@~2.0.3
1139
+ * deps: type-is@~1.5.3
1140
+ - deps: mime-types@~2.0.3
1141
+
1142
+ 4.10.1 / 2014-10-28
1143
+ ===================
1144
+
1145
+ * Fix handling of URLs containing `://` in the path
1146
+ * deps: qs@2.3.2
1147
+ - Fix parsing of mixed objects and values
1148
+
1149
+ 4.10.0 / 2014-10-23
1150
+ ===================
1151
+
1152
+ * Add support for `app.set('views', array)`
1153
+ - Views are looked up in sequence in array of directories
1154
+ * Fix `res.send(status)` to mention `res.sendStatus(status)`
1155
+ * Fix handling of invalid empty URLs
1156
+ * Use `content-disposition` module for `res.attachment`/`res.download`
1157
+ - Sends standards-compliant `Content-Disposition` header
1158
+ - Full Unicode support
1159
+ * Use `path.resolve` in view lookup
1160
+ * deps: debug@~2.1.0
1161
+ - Implement `DEBUG_FD` env variable support
1162
+ * deps: depd@~1.0.0
1163
+ * deps: etag@~1.5.0
1164
+ - Improve string performance
1165
+ - Slightly improve speed for weak ETags over 1KB
1166
+ * deps: finalhandler@0.3.2
1167
+ - Terminate in progress response only on error
1168
+ - Use `on-finished` to determine request status
1169
+ - deps: debug@~2.1.0
1170
+ - deps: on-finished@~2.1.1
1171
+ * deps: on-finished@~2.1.1
1172
+ - Fix handling of pipelined requests
1173
+ * deps: qs@2.3.0
1174
+ - Fix parsing of mixed implicit and explicit arrays
1175
+ * deps: send@0.10.1
1176
+ - deps: debug@~2.1.0
1177
+ - deps: depd@~1.0.0
1178
+ - deps: etag@~1.5.0
1179
+ - deps: on-finished@~2.1.1
1180
+ * deps: serve-static@~1.7.1
1181
+ - deps: send@0.10.1
1182
+
1183
+ 4.9.8 / 2014-10-17
1184
+ ==================
1185
+
1186
+ * Fix `res.redirect` body when redirect status specified
1187
+ * deps: accepts@~1.1.2
1188
+ - Fix error when media type has invalid parameter
1189
+ - deps: negotiator@0.4.9
1190
+
1191
+ 4.9.7 / 2014-10-10
1192
+ ==================
1193
+
1194
+ * Fix using same param name in array of paths
1195
+
1196
+ 4.9.6 / 2014-10-08
1197
+ ==================
1198
+
1199
+ * deps: accepts@~1.1.1
1200
+ - deps: mime-types@~2.0.2
1201
+ - deps: negotiator@0.4.8
1202
+ * deps: serve-static@~1.6.4
1203
+ - Fix redirect loop when index file serving disabled
1204
+ * deps: type-is@~1.5.2
1205
+ - deps: mime-types@~2.0.2
1206
+
1207
+ 4.9.5 / 2014-09-24
1208
+ ==================
1209
+
1210
+ * deps: etag@~1.4.0
1211
+ * deps: proxy-addr@~1.0.3
1212
+ - Use `forwarded` npm module
1213
+ * deps: send@0.9.3
1214
+ - deps: etag@~1.4.0
1215
+ * deps: serve-static@~1.6.3
1216
+ - deps: send@0.9.3
1217
+
1218
+ 4.9.4 / 2014-09-19
1219
+ ==================
1220
+
1221
+ * deps: qs@2.2.4
1222
+ - Fix issue with object keys starting with numbers truncated
1223
+
1224
+ 4.9.3 / 2014-09-18
1225
+ ==================
1226
+
1227
+ * deps: proxy-addr@~1.0.2
1228
+ - Fix a global leak when multiple subnets are trusted
1229
+ - deps: ipaddr.js@0.1.3
1230
+
1231
+ 4.9.2 / 2014-09-17
1232
+ ==================
1233
+
1234
+ * Fix regression for empty string `path` in `app.use`
1235
+ * Fix `router.use` to accept array of middleware without path
1236
+ * Improve error message for bad `app.use` arguments
1237
+
1238
+ 4.9.1 / 2014-09-16
1239
+ ==================
1240
+
1241
+ * Fix `app.use` to accept array of middleware without path
1242
+ * deps: depd@0.4.5
1243
+ * deps: etag@~1.3.1
1244
+ * deps: send@0.9.2
1245
+ - deps: depd@0.4.5
1246
+ - deps: etag@~1.3.1
1247
+ - deps: range-parser@~1.0.2
1248
+ * deps: serve-static@~1.6.2
1249
+ - deps: send@0.9.2
1250
+
1251
+ 4.9.0 / 2014-09-08
1252
+ ==================
1253
+
1254
+ * Add `res.sendStatus`
1255
+ * Invoke callback for sendfile when client aborts
1256
+ - Applies to `res.sendFile`, `res.sendfile`, and `res.download`
1257
+ - `err` will be populated with request aborted error
1258
+ * Support IP address host in `req.subdomains`
1259
+ * Use `etag` to generate `ETag` headers
1260
+ * deps: accepts@~1.1.0
1261
+ - update `mime-types`
1262
+ * deps: cookie-signature@1.0.5
1263
+ * deps: debug@~2.0.0
1264
+ * deps: finalhandler@0.2.0
1265
+ - Set `X-Content-Type-Options: nosniff` header
1266
+ - deps: debug@~2.0.0
1267
+ * deps: fresh@0.2.4
1268
+ * deps: media-typer@0.3.0
1269
+ - Throw error when parameter format invalid on parse
1270
+ * deps: qs@2.2.3
1271
+ - Fix issue where first empty value in array is discarded
1272
+ * deps: range-parser@~1.0.2
1273
+ * deps: send@0.9.1
1274
+ - Add `lastModified` option
1275
+ - Use `etag` to generate `ETag` header
1276
+ - deps: debug@~2.0.0
1277
+ - deps: fresh@0.2.4
1278
+ * deps: serve-static@~1.6.1
1279
+ - Add `lastModified` option
1280
+ - deps: send@0.9.1
1281
+ * deps: type-is@~1.5.1
1282
+ - fix `hasbody` to be true for `content-length: 0`
1283
+ - deps: media-typer@0.3.0
1284
+ - deps: mime-types@~2.0.1
1285
+ * deps: vary@~1.0.0
1286
+ - Accept valid `Vary` header string as `field`
1287
+
1288
+ 4.8.8 / 2014-09-04
1289
+ ==================
1290
+
1291
+ * deps: send@0.8.5
1292
+ - Fix a path traversal issue when using `root`
1293
+ - Fix malicious path detection for empty string path
1294
+ * deps: serve-static@~1.5.4
1295
+ - deps: send@0.8.5
1296
+
1297
+ 4.8.7 / 2014-08-29
1298
+ ==================
1299
+
1300
+ * deps: qs@2.2.2
1301
+ - Remove unnecessary cloning
1302
+
1303
+ 4.8.6 / 2014-08-27
1304
+ ==================
1305
+
1306
+ * deps: qs@2.2.0
1307
+ - Array parsing fix
1308
+ - Performance improvements
1309
+
1310
+ 4.8.5 / 2014-08-18
1311
+ ==================
1312
+
1313
+ * deps: send@0.8.3
1314
+ - deps: destroy@1.0.3
1315
+ - deps: on-finished@2.1.0
1316
+ * deps: serve-static@~1.5.3
1317
+ - deps: send@0.8.3
1318
+
1319
+ 4.8.4 / 2014-08-14
1320
+ ==================
1321
+
1322
+ * deps: qs@1.2.2
1323
+ * deps: send@0.8.2
1324
+ - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream`
1325
+ * deps: serve-static@~1.5.2
1326
+ - deps: send@0.8.2
1327
+
1328
+ 4.8.3 / 2014-08-10
1329
+ ==================
1330
+
1331
+ * deps: parseurl@~1.3.0
1332
+ * deps: qs@1.2.1
1333
+ * deps: serve-static@~1.5.1
1334
+ - Fix parsing of weird `req.originalUrl` values
1335
+ - deps: parseurl@~1.3.0
1336
+ - deps: utils-merge@1.0.0
1337
+
1338
+ 4.8.2 / 2014-08-07
1339
+ ==================
1340
+
1341
+ * deps: qs@1.2.0
1342
+ - Fix parsing array of objects
1343
+
1344
+ 4.8.1 / 2014-08-06
1345
+ ==================
1346
+
1347
+ * fix incorrect deprecation warnings on `res.download`
1348
+ * deps: qs@1.1.0
1349
+ - Accept urlencoded square brackets
1350
+ - Accept empty values in implicit array notation
1351
+
1352
+ 4.8.0 / 2014-08-05
1353
+ ==================
1354
+
1355
+ * add `res.sendFile`
1356
+ - accepts a file system path instead of a URL
1357
+ - requires an absolute path or `root` option specified
1358
+ * deprecate `res.sendfile` -- use `res.sendFile` instead
1359
+ * support mounted app as any argument to `app.use()`
1360
+ * deps: qs@1.0.2
1361
+ - Complete rewrite
1362
+ - Limits array length to 20
1363
+ - Limits object depth to 5
1364
+ - Limits parameters to 1,000
1365
+ * deps: send@0.8.1
1366
+ - Add `extensions` option
1367
+ * deps: serve-static@~1.5.0
1368
+ - Add `extensions` option
1369
+ - deps: send@0.8.1
1370
+
1371
+ 4.7.4 / 2014-08-04
1372
+ ==================
1373
+
1374
+ * fix `res.sendfile` regression for serving directory index files
1375
+ * deps: send@0.7.4
1376
+ - Fix incorrect 403 on Windows and Node.js 0.11
1377
+ - Fix serving index files without root dir
1378
+ * deps: serve-static@~1.4.4
1379
+ - deps: send@0.7.4
1380
+
1381
+ 4.7.3 / 2014-08-04
1382
+ ==================
1383
+
1384
+ * deps: send@0.7.3
1385
+ - Fix incorrect 403 on Windows and Node.js 0.11
1386
+ * deps: serve-static@~1.4.3
1387
+ - Fix incorrect 403 on Windows and Node.js 0.11
1388
+ - deps: send@0.7.3
1389
+
1390
+ 4.7.2 / 2014-07-27
1391
+ ==================
1392
+
1393
+ * deps: depd@0.4.4
1394
+ - Work-around v8 generating empty stack traces
1395
+ * deps: send@0.7.2
1396
+ - deps: depd@0.4.4
1397
+ * deps: serve-static@~1.4.2
1398
+
1399
+ 4.7.1 / 2014-07-26
1400
+ ==================
1401
+
1402
+ * deps: depd@0.4.3
1403
+ - Fix exception when global `Error.stackTraceLimit` is too low
1404
+ * deps: send@0.7.1
1405
+ - deps: depd@0.4.3
1406
+ * deps: serve-static@~1.4.1
1407
+
1408
+ 4.7.0 / 2014-07-25
1409
+ ==================
1410
+
1411
+ * fix `req.protocol` for proxy-direct connections
1412
+ * configurable query parser with `app.set('query parser', parser)`
1413
+ - `app.set('query parser', 'extended')` parse with "qs" module
1414
+ - `app.set('query parser', 'simple')` parse with "querystring" core module
1415
+ - `app.set('query parser', false)` disable query string parsing
1416
+ - `app.set('query parser', true)` enable simple parsing
1417
+ * deprecate `res.json(status, obj)` -- use `res.status(status).json(obj)` instead
1418
+ * deprecate `res.jsonp(status, obj)` -- use `res.status(status).jsonp(obj)` instead
1419
+ * deprecate `res.send(status, body)` -- use `res.status(status).send(body)` instead
1420
+ * deps: debug@1.0.4
1421
+ * deps: depd@0.4.2
1422
+ - Add `TRACE_DEPRECATION` environment variable
1423
+ - Remove non-standard grey color from color output
1424
+ - Support `--no-deprecation` argument
1425
+ - Support `--trace-deprecation` argument
1426
+ * deps: finalhandler@0.1.0
1427
+ - Respond after request fully read
1428
+ - deps: debug@1.0.4
1429
+ * deps: parseurl@~1.2.0
1430
+ - Cache URLs based on original value
1431
+ - Remove no-longer-needed URL mis-parse work-around
1432
+ - Simplify the "fast-path" `RegExp`
1433
+ * deps: send@0.7.0
1434
+ - Add `dotfiles` option
1435
+ - Cap `maxAge` value to 1 year
1436
+ - deps: debug@1.0.4
1437
+ - deps: depd@0.4.2
1438
+ * deps: serve-static@~1.4.0
1439
+ - deps: parseurl@~1.2.0
1440
+ - deps: send@0.7.0
1441
+ * perf: prevent multiple `Buffer` creation in `res.send`
1442
+
1443
+ 4.6.1 / 2014-07-12
1444
+ ==================
1445
+
1446
+ * fix `subapp.mountpath` regression for `app.use(subapp)`
1447
+
1448
+ 4.6.0 / 2014-07-11
1449
+ ==================
1450
+
1451
+ * accept multiple callbacks to `app.use()`
1452
+ * add explicit "Rosetta Flash JSONP abuse" protection
1453
+ - previous versions are not vulnerable; this is just explicit protection
1454
+ * catch errors in multiple `req.param(name, fn)` handlers
1455
+ * deprecate `res.redirect(url, status)` -- use `res.redirect(status, url)` instead
1456
+ * fix `res.send(status, num)` to send `num` as json (not error)
1457
+ * remove unnecessary escaping when `res.jsonp` returns JSON response
1458
+ * support non-string `path` in `app.use(path, fn)`
1459
+ - supports array of paths
1460
+ - supports `RegExp`
1461
+ * router: fix optimization on router exit
1462
+ * router: refactor location of `try` blocks
1463
+ * router: speed up standard `app.use(fn)`
1464
+ * deps: debug@1.0.3
1465
+ - Add support for multiple wildcards in namespaces
1466
+ * deps: finalhandler@0.0.3
1467
+ - deps: debug@1.0.3
1468
+ * deps: methods@1.1.0
1469
+ - add `CONNECT`
1470
+ * deps: parseurl@~1.1.3
1471
+ - faster parsing of href-only URLs
1472
+ * deps: path-to-regexp@0.1.3
1473
+ * deps: send@0.6.0
1474
+ - deps: debug@1.0.3
1475
+ * deps: serve-static@~1.3.2
1476
+ - deps: parseurl@~1.1.3
1477
+ - deps: send@0.6.0
1478
+ * perf: fix arguments reassign deopt in some `res` methods
1479
+
1480
+ 4.5.1 / 2014-07-06
1481
+ ==================
1482
+
1483
+ * fix routing regression when altering `req.method`
1484
+
1485
+ 4.5.0 / 2014-07-04
1486
+ ==================
1487
+
1488
+ * add deprecation message to non-plural `req.accepts*`
1489
+ * add deprecation message to `res.send(body, status)`
1490
+ * add deprecation message to `res.vary()`
1491
+ * add `headers` option to `res.sendfile`
1492
+ - use to set headers on successful file transfer
1493
+ * add `mergeParams` option to `Router`
1494
+ - merges `req.params` from parent routes
1495
+ * add `req.hostname` -- correct name for what `req.host` returns
1496
+ * deprecate things with `depd` module
1497
+ * deprecate `req.host` -- use `req.hostname` instead
1498
+ * fix behavior when handling request without routes
1499
+ * fix handling when `route.all` is only route
1500
+ * invoke `router.param()` only when route matches
1501
+ * restore `req.params` after invoking router
1502
+ * use `finalhandler` for final response handling
1503
+ * use `media-typer` to alter content-type charset
1504
+ * deps: accepts@~1.0.7
1505
+ * deps: send@0.5.0
1506
+ - Accept string for `maxage` (converted by `ms`)
1507
+ - Include link in default redirect response
1508
+ * deps: serve-static@~1.3.0
1509
+ - Accept string for `maxAge` (converted by `ms`)
1510
+ - Add `setHeaders` option
1511
+ - Include HTML link in redirect response
1512
+ - deps: send@0.5.0
1513
+ * deps: type-is@~1.3.2
1514
+
1515
+ 4.4.5 / 2014-06-26
1516
+ ==================
1517
+
1518
+ * deps: cookie-signature@1.0.4
1519
+ - fix for timing attacks
1520
+
1521
+ 4.4.4 / 2014-06-20
1522
+ ==================
1523
+
1524
+ * fix `res.attachment` Unicode filenames in Safari
1525
+ * fix "trim prefix" debug message in `express:router`
1526
+ * deps: accepts@~1.0.5
1527
+ * deps: buffer-crc32@0.2.3
1528
+
1529
+ 4.4.3 / 2014-06-11
1530
+ ==================
1531
+
1532
+ * fix persistence of modified `req.params[name]` from `app.param()`
1533
+ * deps: accepts@1.0.3
1534
+ - deps: negotiator@0.4.6
1535
+ * deps: debug@1.0.2
1536
+ * deps: send@0.4.3
1537
+ - Do not throw uncatchable error on file open race condition
1538
+ - Use `escape-html` for HTML escaping
1539
+ - deps: debug@1.0.2
1540
+ - deps: finished@1.2.2
1541
+ - deps: fresh@0.2.2
1542
+ * deps: serve-static@1.2.3
1543
+ - Do not throw uncatchable error on file open race condition
1544
+ - deps: send@0.4.3
1545
+
1546
+ 4.4.2 / 2014-06-09
1547
+ ==================
1548
+
1549
+ * fix catching errors from top-level handlers
1550
+ * use `vary` module for `res.vary`
1551
+ * deps: debug@1.0.1
1552
+ * deps: proxy-addr@1.0.1
1553
+ * deps: send@0.4.2
1554
+ - fix "event emitter leak" warnings
1555
+ - deps: debug@1.0.1
1556
+ - deps: finished@1.2.1
1557
+ * deps: serve-static@1.2.2
1558
+ - fix "event emitter leak" warnings
1559
+ - deps: send@0.4.2
1560
+ * deps: type-is@1.2.1
1561
+
1562
+ 4.4.1 / 2014-06-02
1563
+ ==================
1564
+
1565
+ * deps: methods@1.0.1
1566
+ * deps: send@0.4.1
1567
+ - Send `max-age` in `Cache-Control` in correct format
1568
+ * deps: serve-static@1.2.1
1569
+ - use `escape-html` for escaping
1570
+ - deps: send@0.4.1
1571
+
1572
+ 4.4.0 / 2014-05-30
1573
+ ==================
1574
+
1575
+ * custom etag control with `app.set('etag', val)`
1576
+ - `app.set('etag', function(body, encoding){ return '"etag"' })` custom etag generation
1577
+ - `app.set('etag', 'weak')` weak tag
1578
+ - `app.set('etag', 'strong')` strong etag
1579
+ - `app.set('etag', false)` turn off
1580
+ - `app.set('etag', true)` standard etag
1581
+ * mark `res.send` ETag as weak and reduce collisions
1582
+ * update accepts to 1.0.2
1583
+ - Fix interpretation when header not in request
1584
+ * update send to 0.4.0
1585
+ - Calculate ETag with md5 for reduced collisions
1586
+ - Ignore stream errors after request ends
1587
+ - deps: debug@0.8.1
1588
+ * update serve-static to 1.2.0
1589
+ - Calculate ETag with md5 for reduced collisions
1590
+ - Ignore stream errors after request ends
1591
+ - deps: send@0.4.0
1592
+
1593
+ 4.3.2 / 2014-05-28
1594
+ ==================
1595
+
1596
+ * fix handling of errors from `router.param()` callbacks
1597
+
1598
+ 4.3.1 / 2014-05-23
1599
+ ==================
1600
+
1601
+ * revert "fix behavior of multiple `app.VERB` for the same path"
1602
+ - this caused a regression in the order of route execution
1603
+
1604
+ 4.3.0 / 2014-05-21
1605
+ ==================
1606
+
1607
+ * add `req.baseUrl` to access the path stripped from `req.url` in routes
1608
+ * fix behavior of multiple `app.VERB` for the same path
1609
+ * fix issue routing requests among sub routers
1610
+ * invoke `router.param()` only when necessary instead of every match
1611
+ * proper proxy trust with `app.set('trust proxy', trust)`
1612
+ - `app.set('trust proxy', 1)` trust first hop
1613
+ - `app.set('trust proxy', 'loopback')` trust loopback addresses
1614
+ - `app.set('trust proxy', '10.0.0.1')` trust single IP
1615
+ - `app.set('trust proxy', '10.0.0.1/16')` trust subnet
1616
+ - `app.set('trust proxy', '10.0.0.1, 10.0.0.2')` trust list
1617
+ - `app.set('trust proxy', false)` turn off
1618
+ - `app.set('trust proxy', true)` trust everything
1619
+ * set proper `charset` in `Content-Type` for `res.send`
1620
+ * update type-is to 1.2.0
1621
+ - support suffix matching
1622
+
1623
+ 4.2.0 / 2014-05-11
1624
+ ==================
1625
+
1626
+ * deprecate `app.del()` -- use `app.delete()` instead
1627
+ * deprecate `res.json(obj, status)` -- use `res.json(status, obj)` instead
1628
+ - the edge-case `res.json(status, num)` requires `res.status(status).json(num)`
1629
+ * deprecate `res.jsonp(obj, status)` -- use `res.jsonp(status, obj)` instead
1630
+ - the edge-case `res.jsonp(status, num)` requires `res.status(status).jsonp(num)`
1631
+ * fix `req.next` when inside router instance
1632
+ * include `ETag` header in `HEAD` requests
1633
+ * keep previous `Content-Type` for `res.jsonp`
1634
+ * support PURGE method
1635
+ - add `app.purge`
1636
+ - add `router.purge`
1637
+ - include PURGE in `app.all`
1638
+ * update debug to 0.8.0
1639
+ - add `enable()` method
1640
+ - change from stderr to stdout
1641
+ * update methods to 1.0.0
1642
+ - add PURGE
1643
+
1644
+ 4.1.2 / 2014-05-08
1645
+ ==================
1646
+
1647
+ * fix `req.host` for IPv6 literals
1648
+ * fix `res.jsonp` error if callback param is object
1649
+
1650
+ 4.1.1 / 2014-04-27
1651
+ ==================
1652
+
1653
+ * fix package.json to reflect supported node version
1654
+
1655
+ 4.1.0 / 2014-04-24
1656
+ ==================
1657
+
1658
+ * pass options from `res.sendfile` to `send`
1659
+ * preserve casing of headers in `res.header` and `res.set`
1660
+ * support unicode file names in `res.attachment` and `res.download`
1661
+ * update accepts to 1.0.1
1662
+ - deps: negotiator@0.4.0
1663
+ * update cookie to 0.1.2
1664
+ - Fix for maxAge == 0
1665
+ - made compat with expires field
1666
+ * update send to 0.3.0
1667
+ - Accept API options in options object
1668
+ - Coerce option types
1669
+ - Control whether to generate etags
1670
+ - Default directory access to 403 when index disabled
1671
+ - Fix sending files with dots without root set
1672
+ - Include file path in etag
1673
+ - Make "Can't set headers after they are sent." catchable
1674
+ - Send full entity-body for multi range requests
1675
+ - Set etags to "weak"
1676
+ - Support "If-Range" header
1677
+ - Support multiple index paths
1678
+ - deps: mime@1.2.11
1679
+ * update serve-static to 1.1.0
1680
+ - Accept options directly to `send` module
1681
+ - Resolve relative paths at middleware setup
1682
+ - Use parseurl to parse the URL from request
1683
+ - deps: send@0.3.0
1684
+ * update type-is to 1.1.0
1685
+ - add non-array values support
1686
+ - add `multipart` as a shorthand
1687
+
1688
+ 4.0.0 / 2014-04-09
1689
+ ==================
1690
+
1691
+ * remove:
1692
+ - node 0.8 support
1693
+ - connect and connect's patches except for charset handling
1694
+ - express(1) - moved to [express-generator](https://github.com/expressjs/generator)
1695
+ - `express.createServer()` - it has been deprecated for a long time. Use `express()`
1696
+ - `app.configure` - use logic in your own app code
1697
+ - `app.router` - is removed
1698
+ - `req.auth` - use `basic-auth` instead
1699
+ - `req.accepted*` - use `req.accepts*()` instead
1700
+ - `res.location` - relative URL resolution is removed
1701
+ - `res.charset` - include the charset in the content type when using `res.set()`
1702
+ - all bundled middleware except `static`
1703
+ * change:
1704
+ - `app.route` -> `app.mountpath` when mounting an express app in another express app
1705
+ - `json spaces` no longer enabled by default in development
1706
+ - `req.accepts*` -> `req.accepts*s` - i.e. `req.acceptsEncoding` -> `req.acceptsEncodings`
1707
+ - `req.params` is now an object instead of an array
1708
+ - `res.locals` is no longer a function. It is a plain js object. Treat it as such.
1709
+ - `res.headerSent` -> `res.headersSent` to match node.js ServerResponse object
1710
+ * refactor:
1711
+ - `req.accepts*` with [accepts](https://github.com/expressjs/accepts)
1712
+ - `req.is` with [type-is](https://github.com/expressjs/type-is)
1713
+ - [path-to-regexp](https://github.com/component/path-to-regexp)
1714
+ * add:
1715
+ - `app.router()` - returns the app Router instance
1716
+ - `app.route()` - Proxy to the app's `Router#route()` method to create a new route
1717
+ - Router & Route - public API
1718
+
1719
+ 3.21.2 / 2015-07-31
1720
+ ===================
1721
+
1722
+ * deps: connect@2.30.2
1723
+ - deps: body-parser@~1.13.3
1724
+ - deps: compression@~1.5.2
1725
+ - deps: errorhandler@~1.4.2
1726
+ - deps: method-override@~2.3.5
1727
+ - deps: serve-index@~1.7.2
1728
+ - deps: type-is@~1.6.6
1729
+ - deps: vhost@~3.0.1
1730
+ * deps: vary@~1.0.1
1731
+ - Fix setting empty header from empty `field`
1732
+ - perf: enable strict mode
1733
+ - perf: remove argument reassignments
1734
+
1735
+ 3.21.1 / 2015-07-05
1736
+ ===================
1737
+
1738
+ * deps: basic-auth@~1.0.3
1739
+ * deps: connect@2.30.1
1740
+ - deps: body-parser@~1.13.2
1741
+ - deps: compression@~1.5.1
1742
+ - deps: errorhandler@~1.4.1
1743
+ - deps: morgan@~1.6.1
1744
+ - deps: pause@0.1.0
1745
+ - deps: qs@4.0.0
1746
+ - deps: serve-index@~1.7.1
1747
+ - deps: type-is@~1.6.4
1748
+
1749
+ 3.21.0 / 2015-06-18
1750
+ ===================
1751
+
1752
+ * deps: basic-auth@1.0.2
1753
+ - perf: enable strict mode
1754
+ - perf: hoist regular expression
1755
+ - perf: parse with regular expressions
1756
+ - perf: remove argument reassignment
1757
+ * deps: connect@2.30.0
1758
+ - deps: body-parser@~1.13.1
1759
+ - deps: bytes@2.1.0
1760
+ - deps: compression@~1.5.0
1761
+ - deps: cookie@0.1.3
1762
+ - deps: cookie-parser@~1.3.5
1763
+ - deps: csurf@~1.8.3
1764
+ - deps: errorhandler@~1.4.0
1765
+ - deps: express-session@~1.11.3
1766
+ - deps: finalhandler@0.4.0
1767
+ - deps: fresh@0.3.0
1768
+ - deps: morgan@~1.6.0
1769
+ - deps: serve-favicon@~2.3.0
1770
+ - deps: serve-index@~1.7.0
1771
+ - deps: serve-static@~1.10.0
1772
+ - deps: type-is@~1.6.3
1773
+ * deps: cookie@0.1.3
1774
+ - perf: deduce the scope of try-catch deopt
1775
+ - perf: remove argument reassignments
1776
+ * deps: escape-html@1.0.2
1777
+ * deps: etag@~1.7.0
1778
+ - Always include entity length in ETags for hash length extensions
1779
+ - Generate non-Stats ETags using MD5 only (no longer CRC32)
1780
+ - Improve stat performance by removing hashing
1781
+ - Improve support for JXcore
1782
+ - Remove base64 padding in ETags to shorten
1783
+ - Support "fake" stats objects in environments without fs
1784
+ - Use MD5 instead of MD4 in weak ETags over 1KB
1785
+ * deps: fresh@0.3.0
1786
+ - Add weak `ETag` matching support
1787
+ * deps: mkdirp@0.5.1
1788
+ - Work in global strict mode
1789
+ * deps: send@0.13.0
1790
+ - Allow Node.js HTTP server to set `Date` response header
1791
+ - Fix incorrectly removing `Content-Location` on 304 response
1792
+ - Improve the default redirect response headers
1793
+ - Send appropriate headers on default error response
1794
+ - Use `http-errors` for standard emitted errors
1795
+ - Use `statuses` instead of `http` module for status messages
1796
+ - deps: escape-html@1.0.2
1797
+ - deps: etag@~1.7.0
1798
+ - deps: fresh@0.3.0
1799
+ - deps: on-finished@~2.3.0
1800
+ - perf: enable strict mode
1801
+ - perf: remove unnecessary array allocations
1802
+
1803
+ 3.20.3 / 2015-05-17
1804
+ ===================
1805
+
1806
+ * deps: connect@2.29.2
1807
+ - deps: body-parser@~1.12.4
1808
+ - deps: compression@~1.4.4
1809
+ - deps: connect-timeout@~1.6.2
1810
+ - deps: debug@~2.2.0
1811
+ - deps: depd@~1.0.1
1812
+ - deps: errorhandler@~1.3.6
1813
+ - deps: finalhandler@0.3.6
1814
+ - deps: method-override@~2.3.3
1815
+ - deps: morgan@~1.5.3
1816
+ - deps: qs@2.4.2
1817
+ - deps: response-time@~2.3.1
1818
+ - deps: serve-favicon@~2.2.1
1819
+ - deps: serve-index@~1.6.4
1820
+ - deps: serve-static@~1.9.3
1821
+ - deps: type-is@~1.6.2
1822
+ * deps: debug@~2.2.0
1823
+ - deps: ms@0.7.1
1824
+ * deps: depd@~1.0.1
1825
+ * deps: proxy-addr@~1.0.8
1826
+ - deps: ipaddr.js@1.0.1
1827
+ * deps: send@0.12.3
1828
+ - deps: debug@~2.2.0
1829
+ - deps: depd@~1.0.1
1830
+ - deps: etag@~1.6.0
1831
+ - deps: ms@0.7.1
1832
+ - deps: on-finished@~2.2.1
1833
+
1834
+ 3.20.2 / 2015-03-16
1835
+ ===================
1836
+
1837
+ * deps: connect@2.29.1
1838
+ - deps: body-parser@~1.12.2
1839
+ - deps: compression@~1.4.3
1840
+ - deps: connect-timeout@~1.6.1
1841
+ - deps: debug@~2.1.3
1842
+ - deps: errorhandler@~1.3.5
1843
+ - deps: express-session@~1.10.4
1844
+ - deps: finalhandler@0.3.4
1845
+ - deps: method-override@~2.3.2
1846
+ - deps: morgan@~1.5.2
1847
+ - deps: qs@2.4.1
1848
+ - deps: serve-index@~1.6.3
1849
+ - deps: serve-static@~1.9.2
1850
+ - deps: type-is@~1.6.1
1851
+ * deps: debug@~2.1.3
1852
+ - Fix high intensity foreground color for bold
1853
+ - deps: ms@0.7.0
1854
+ * deps: merge-descriptors@1.0.0
1855
+ * deps: proxy-addr@~1.0.7
1856
+ - deps: ipaddr.js@0.1.9
1857
+ * deps: send@0.12.2
1858
+ - Throw errors early for invalid `extensions` or `index` options
1859
+ - deps: debug@~2.1.3
1860
+
1861
+ 3.20.1 / 2015-02-28
1862
+ ===================
1863
+
1864
+ * Fix `req.host` when using "trust proxy" hops count
1865
+ * Fix `req.protocol`/`req.secure` when using "trust proxy" hops count
1866
+
1867
+ 3.20.0 / 2015-02-18
1868
+ ===================
1869
+
1870
+ * Fix `"trust proxy"` setting to inherit when app is mounted
1871
+ * Generate `ETag`s for all request responses
1872
+ - No longer restricted to only responses for `GET` and `HEAD` requests
1873
+ * Use `content-type` to parse `Content-Type` headers
1874
+ * deps: connect@2.29.0
1875
+ - Use `content-type` to parse `Content-Type` headers
1876
+ - deps: body-parser@~1.12.0
1877
+ - deps: compression@~1.4.1
1878
+ - deps: connect-timeout@~1.6.0
1879
+ - deps: cookie-parser@~1.3.4
1880
+ - deps: cookie-signature@1.0.6
1881
+ - deps: csurf@~1.7.0
1882
+ - deps: errorhandler@~1.3.4
1883
+ - deps: express-session@~1.10.3
1884
+ - deps: http-errors@~1.3.1
1885
+ - deps: response-time@~2.3.0
1886
+ - deps: serve-index@~1.6.2
1887
+ - deps: serve-static@~1.9.1
1888
+ - deps: type-is@~1.6.0
1889
+ * deps: cookie-signature@1.0.6
1890
+ * deps: send@0.12.1
1891
+ - Always read the stat size from the file
1892
+ - Fix mutating passed-in `options`
1893
+ - deps: mime@1.3.4
1894
+
1895
+ 3.19.2 / 2015-02-01
1896
+ ===================
1897
+
1898
+ * deps: connect@2.28.3
1899
+ - deps: compression@~1.3.1
1900
+ - deps: csurf@~1.6.6
1901
+ - deps: errorhandler@~1.3.3
1902
+ - deps: express-session@~1.10.2
1903
+ - deps: serve-index@~1.6.1
1904
+ - deps: type-is@~1.5.6
1905
+ * deps: proxy-addr@~1.0.6
1906
+ - deps: ipaddr.js@0.1.8
1907
+
1908
+ 3.19.1 / 2015-01-20
1909
+ ===================
1910
+
1911
+ * deps: connect@2.28.2
1912
+ - deps: body-parser@~1.10.2
1913
+ - deps: serve-static@~1.8.1
1914
+ * deps: send@0.11.1
1915
+ - Fix root path disclosure
1916
+
1917
+ 3.19.0 / 2015-01-09
1918
+ ===================
1919
+
1920
+ * Fix `OPTIONS` responses to include the `HEAD` method property
1921
+ * Use `readline` for prompt in `express(1)`
1922
+ * deps: commander@2.6.0
1923
+ * deps: connect@2.28.1
1924
+ - deps: body-parser@~1.10.1
1925
+ - deps: compression@~1.3.0
1926
+ - deps: connect-timeout@~1.5.0
1927
+ - deps: csurf@~1.6.4
1928
+ - deps: debug@~2.1.1
1929
+ - deps: errorhandler@~1.3.2
1930
+ - deps: express-session@~1.10.1
1931
+ - deps: finalhandler@0.3.3
1932
+ - deps: method-override@~2.3.1
1933
+ - deps: morgan@~1.5.1
1934
+ - deps: serve-favicon@~2.2.0
1935
+ - deps: serve-index@~1.6.0
1936
+ - deps: serve-static@~1.8.0
1937
+ - deps: type-is@~1.5.5
1938
+ * deps: debug@~2.1.1
1939
+ * deps: methods@~1.1.1
1940
+ * deps: proxy-addr@~1.0.5
1941
+ - deps: ipaddr.js@0.1.6
1942
+ * deps: send@0.11.0
1943
+ - deps: debug@~2.1.1
1944
+ - deps: etag@~1.5.1
1945
+ - deps: ms@0.7.0
1946
+ - deps: on-finished@~2.2.0
1947
+
1948
+ 3.18.6 / 2014-12-12
1949
+ ===================
1950
+
1951
+ * Fix exception in `req.fresh`/`req.stale` without response headers
1952
+
1953
+ 3.18.5 / 2014-12-11
1954
+ ===================
1955
+
1956
+ * deps: connect@2.27.6
1957
+ - deps: compression@~1.2.2
1958
+ - deps: express-session@~1.9.3
1959
+ - deps: http-errors@~1.2.8
1960
+ - deps: serve-index@~1.5.3
1961
+ - deps: type-is@~1.5.4
1962
+
1963
+ 3.18.4 / 2014-11-23
1964
+ ===================
1965
+
1966
+ * deps: connect@2.27.4
1967
+ - deps: body-parser@~1.9.3
1968
+ - deps: compression@~1.2.1
1969
+ - deps: errorhandler@~1.2.3
1970
+ - deps: express-session@~1.9.2
1971
+ - deps: qs@2.3.3
1972
+ - deps: serve-favicon@~2.1.7
1973
+ - deps: serve-static@~1.5.1
1974
+ - deps: type-is@~1.5.3
1975
+ * deps: etag@~1.5.1
1976
+ * deps: proxy-addr@~1.0.4
1977
+ - deps: ipaddr.js@0.1.5
1978
+
1979
+ 3.18.3 / 2014-11-09
1980
+ ===================
1981
+
1982
+ * deps: connect@2.27.3
1983
+ - Correctly invoke async callback asynchronously
1984
+ - deps: csurf@~1.6.3
1985
+
1986
+ 3.18.2 / 2014-10-28
1987
+ ===================
1988
+
1989
+ * deps: connect@2.27.2
1990
+ - Fix handling of URLs containing `://` in the path
1991
+ - deps: body-parser@~1.9.2
1992
+ - deps: qs@2.3.2
1993
+
1994
+ 3.18.1 / 2014-10-22
1995
+ ===================
1996
+
1997
+ * Fix internal `utils.merge` deprecation warnings
1998
+ * deps: connect@2.27.1
1999
+ - deps: body-parser@~1.9.1
2000
+ - deps: express-session@~1.9.1
2001
+ - deps: finalhandler@0.3.2
2002
+ - deps: morgan@~1.4.1
2003
+ - deps: qs@2.3.0
2004
+ - deps: serve-static@~1.7.1
2005
+ * deps: send@0.10.1
2006
+ - deps: on-finished@~2.1.1
2007
+
2008
+ 3.18.0 / 2014-10-17
2009
+ ===================
2010
+
2011
+ * Use `content-disposition` module for `res.attachment`/`res.download`
2012
+ - Sends standards-compliant `Content-Disposition` header
2013
+ - Full Unicode support
2014
+ * Use `etag` module to generate `ETag` headers
2015
+ * deps: connect@2.27.0
2016
+ - Use `http-errors` module for creating errors
2017
+ - Use `utils-merge` module for merging objects
2018
+ - deps: body-parser@~1.9.0
2019
+ - deps: compression@~1.2.0
2020
+ - deps: connect-timeout@~1.4.0
2021
+ - deps: debug@~2.1.0
2022
+ - deps: depd@~1.0.0
2023
+ - deps: express-session@~1.9.0
2024
+ - deps: finalhandler@0.3.1
2025
+ - deps: method-override@~2.3.0
2026
+ - deps: morgan@~1.4.0
2027
+ - deps: response-time@~2.2.0
2028
+ - deps: serve-favicon@~2.1.6
2029
+ - deps: serve-index@~1.5.0
2030
+ - deps: serve-static@~1.7.0
2031
+ * deps: debug@~2.1.0
2032
+ - Implement `DEBUG_FD` env variable support
2033
+ * deps: depd@~1.0.0
2034
+ * deps: send@0.10.0
2035
+ - deps: debug@~2.1.0
2036
+ - deps: depd@~1.0.0
2037
+ - deps: etag@~1.5.0
2038
+
2039
+ 3.17.8 / 2014-10-15
2040
+ ===================
2041
+
2042
+ * deps: connect@2.26.6
2043
+ - deps: compression@~1.1.2
2044
+ - deps: csurf@~1.6.2
2045
+ - deps: errorhandler@~1.2.2
2046
+
2047
+ 3.17.7 / 2014-10-08
2048
+ ===================
2049
+
2050
+ * deps: connect@2.26.5
2051
+ - Fix accepting non-object arguments to `logger`
2052
+ - deps: serve-static@~1.6.4
2053
+
2054
+ 3.17.6 / 2014-10-02
2055
+ ===================
2056
+
2057
+ * deps: connect@2.26.4
2058
+ - deps: morgan@~1.3.2
2059
+ - deps: type-is@~1.5.2
2060
+
2061
+ 3.17.5 / 2014-09-24
2062
+ ===================
2063
+
2064
+ * deps: connect@2.26.3
2065
+ - deps: body-parser@~1.8.4
2066
+ - deps: serve-favicon@~2.1.5
2067
+ - deps: serve-static@~1.6.3
2068
+ * deps: proxy-addr@~1.0.3
2069
+ - Use `forwarded` npm module
2070
+ * deps: send@0.9.3
2071
+ - deps: etag@~1.4.0
2072
+
2073
+ 3.17.4 / 2014-09-19
2074
+ ===================
2075
+
2076
+ * deps: connect@2.26.2
2077
+ - deps: body-parser@~1.8.3
2078
+ - deps: qs@2.2.4
2079
+
2080
+ 3.17.3 / 2014-09-18
2081
+ ===================
2082
+
2083
+ * deps: proxy-addr@~1.0.2
2084
+ - Fix a global leak when multiple subnets are trusted
2085
+ - deps: ipaddr.js@0.1.3
2086
+
2087
+ 3.17.2 / 2014-09-15
2088
+ ===================
2089
+
2090
+ * Use `crc` instead of `buffer-crc32` for speed
2091
+ * deps: connect@2.26.1
2092
+ - deps: body-parser@~1.8.2
2093
+ - deps: depd@0.4.5
2094
+ - deps: express-session@~1.8.2
2095
+ - deps: morgan@~1.3.1
2096
+ - deps: serve-favicon@~2.1.3
2097
+ - deps: serve-static@~1.6.2
2098
+ * deps: depd@0.4.5
2099
+ * deps: send@0.9.2
2100
+ - deps: depd@0.4.5
2101
+ - deps: etag@~1.3.1
2102
+ - deps: range-parser@~1.0.2
2103
+
2104
+ 3.17.1 / 2014-09-08
2105
+ ===================
2106
+
2107
+ * Fix error in `req.subdomains` on empty host
2108
+
2109
+ 3.17.0 / 2014-09-08
2110
+ ===================
2111
+
2112
+ * Support `X-Forwarded-Host` in `req.subdomains`
2113
+ * Support IP address host in `req.subdomains`
2114
+ * deps: connect@2.26.0
2115
+ - deps: body-parser@~1.8.1
2116
+ - deps: compression@~1.1.0
2117
+ - deps: connect-timeout@~1.3.0
2118
+ - deps: cookie-parser@~1.3.3
2119
+ - deps: cookie-signature@1.0.5
2120
+ - deps: csurf@~1.6.1
2121
+ - deps: debug@~2.0.0
2122
+ - deps: errorhandler@~1.2.0
2123
+ - deps: express-session@~1.8.1
2124
+ - deps: finalhandler@0.2.0
2125
+ - deps: fresh@0.2.4
2126
+ - deps: media-typer@0.3.0
2127
+ - deps: method-override@~2.2.0
2128
+ - deps: morgan@~1.3.0
2129
+ - deps: qs@2.2.3
2130
+ - deps: serve-favicon@~2.1.3
2131
+ - deps: serve-index@~1.2.1
2132
+ - deps: serve-static@~1.6.1
2133
+ - deps: type-is@~1.5.1
2134
+ - deps: vhost@~3.0.0
2135
+ * deps: cookie-signature@1.0.5
2136
+ * deps: debug@~2.0.0
2137
+ * deps: fresh@0.2.4
2138
+ * deps: media-typer@0.3.0
2139
+ - Throw error when parameter format invalid on parse
2140
+ * deps: range-parser@~1.0.2
2141
+ * deps: send@0.9.1
2142
+ - Add `lastModified` option
2143
+ - Use `etag` to generate `ETag` header
2144
+ - deps: debug@~2.0.0
2145
+ - deps: fresh@0.2.4
2146
+ * deps: vary@~1.0.0
2147
+ - Accept valid `Vary` header string as `field`
2148
+
2149
+ 3.16.10 / 2014-09-04
2150
+ ====================
2151
+
2152
+ * deps: connect@2.25.10
2153
+ - deps: serve-static@~1.5.4
2154
+ * deps: send@0.8.5
2155
+ - Fix a path traversal issue when using `root`
2156
+ - Fix malicious path detection for empty string path
2157
+
2158
+ 3.16.9 / 2014-08-29
2159
+ ===================
2160
+
2161
+ * deps: connect@2.25.9
2162
+ - deps: body-parser@~1.6.7
2163
+ - deps: qs@2.2.2
2164
+
2165
+ 3.16.8 / 2014-08-27
2166
+ ===================
2167
+
2168
+ * deps: connect@2.25.8
2169
+ - deps: body-parser@~1.6.6
2170
+ - deps: csurf@~1.4.1
2171
+ - deps: qs@2.2.0
2172
+
2173
+ 3.16.7 / 2014-08-18
2174
+ ===================
2175
+
2176
+ * deps: connect@2.25.7
2177
+ - deps: body-parser@~1.6.5
2178
+ - deps: express-session@~1.7.6
2179
+ - deps: morgan@~1.2.3
2180
+ - deps: serve-static@~1.5.3
2181
+ * deps: send@0.8.3
2182
+ - deps: destroy@1.0.3
2183
+ - deps: on-finished@2.1.0
2184
+
2185
+ 3.16.6 / 2014-08-14
2186
+ ===================
2187
+
2188
+ * deps: connect@2.25.6
2189
+ - deps: body-parser@~1.6.4
2190
+ - deps: qs@1.2.2
2191
+ - deps: serve-static@~1.5.2
2192
+ * deps: send@0.8.2
2193
+ - Work around `fd` leak in Node.js 0.10 for `fs.ReadStream`
2194
+
2195
+ 3.16.5 / 2014-08-11
2196
+ ===================
2197
+
2198
+ * deps: connect@2.25.5
2199
+ - Fix backwards compatibility in `logger`
2200
+
2201
+ 3.16.4 / 2014-08-10
2202
+ ===================
2203
+
2204
+ * Fix original URL parsing in `res.location`
2205
+ * deps: connect@2.25.4
2206
+ - Fix `query` middleware breaking with argument
2207
+ - deps: body-parser@~1.6.3
2208
+ - deps: compression@~1.0.11
2209
+ - deps: connect-timeout@~1.2.2
2210
+ - deps: express-session@~1.7.5
2211
+ - deps: method-override@~2.1.3
2212
+ - deps: on-headers@~1.0.0
2213
+ - deps: parseurl@~1.3.0
2214
+ - deps: qs@1.2.1
2215
+ - deps: response-time@~2.0.1
2216
+ - deps: serve-index@~1.1.6
2217
+ - deps: serve-static@~1.5.1
2218
+ * deps: parseurl@~1.3.0
2219
+
2220
+ 3.16.3 / 2014-08-07
2221
+ ===================
2222
+
2223
+ * deps: connect@2.25.3
2224
+ - deps: multiparty@3.3.2
2225
+
2226
+ 3.16.2 / 2014-08-07
2227
+ ===================
2228
+
2229
+ * deps: connect@2.25.2
2230
+ - deps: body-parser@~1.6.2
2231
+ - deps: qs@1.2.0
2232
+
2233
+ 3.16.1 / 2014-08-06
2234
+ ===================
2235
+
2236
+ * deps: connect@2.25.1
2237
+ - deps: body-parser@~1.6.1
2238
+ - deps: qs@1.1.0
2239
+
2240
+ 3.16.0 / 2014-08-05
2241
+ ===================
2242
+
2243
+ * deps: connect@2.25.0
2244
+ - deps: body-parser@~1.6.0
2245
+ - deps: compression@~1.0.10
2246
+ - deps: csurf@~1.4.0
2247
+ - deps: express-session@~1.7.4
2248
+ - deps: qs@1.0.2
2249
+ - deps: serve-static@~1.5.0
2250
+ * deps: send@0.8.1
2251
+ - Add `extensions` option
2252
+
2253
+ 3.15.3 / 2014-08-04
2254
+ ===================
2255
+
2256
+ * fix `res.sendfile` regression for serving directory index files
2257
+ * deps: connect@2.24.3
2258
+ - deps: serve-index@~1.1.5
2259
+ - deps: serve-static@~1.4.4
2260
+ * deps: send@0.7.4
2261
+ - Fix incorrect 403 on Windows and Node.js 0.11
2262
+ - Fix serving index files without root dir
2263
+
2264
+ 3.15.2 / 2014-07-27
2265
+ ===================
2266
+
2267
+ * deps: connect@2.24.2
2268
+ - deps: body-parser@~1.5.2
2269
+ - deps: depd@0.4.4
2270
+ - deps: express-session@~1.7.2
2271
+ - deps: morgan@~1.2.2
2272
+ - deps: serve-static@~1.4.2
2273
+ * deps: depd@0.4.4
2274
+ - Work-around v8 generating empty stack traces
2275
+ * deps: send@0.7.2
2276
+ - deps: depd@0.4.4
2277
+
2278
+ 3.15.1 / 2014-07-26
2279
+ ===================
2280
+
2281
+ * deps: connect@2.24.1
2282
+ - deps: body-parser@~1.5.1
2283
+ - deps: depd@0.4.3
2284
+ - deps: express-session@~1.7.1
2285
+ - deps: morgan@~1.2.1
2286
+ - deps: serve-index@~1.1.4
2287
+ - deps: serve-static@~1.4.1
2288
+ * deps: depd@0.4.3
2289
+ - Fix exception when global `Error.stackTraceLimit` is too low
2290
+ * deps: send@0.7.1
2291
+ - deps: depd@0.4.3
2292
+
2293
+ 3.15.0 / 2014-07-22
2294
+ ===================
2295
+
2296
+ * Fix `req.protocol` for proxy-direct connections
2297
+ * Pass options from `res.sendfile` to `send`
2298
+ * deps: connect@2.24.0
2299
+ - deps: body-parser@~1.5.0
2300
+ - deps: compression@~1.0.9
2301
+ - deps: connect-timeout@~1.2.1
2302
+ - deps: debug@1.0.4
2303
+ - deps: depd@0.4.2
2304
+ - deps: express-session@~1.7.0
2305
+ - deps: finalhandler@0.1.0
2306
+ - deps: method-override@~2.1.2
2307
+ - deps: morgan@~1.2.0
2308
+ - deps: multiparty@3.3.1
2309
+ - deps: parseurl@~1.2.0
2310
+ - deps: serve-static@~1.4.0
2311
+ * deps: debug@1.0.4
2312
+ * deps: depd@0.4.2
2313
+ - Add `TRACE_DEPRECATION` environment variable
2314
+ - Remove non-standard grey color from color output
2315
+ - Support `--no-deprecation` argument
2316
+ - Support `--trace-deprecation` argument
2317
+ * deps: parseurl@~1.2.0
2318
+ - Cache URLs based on original value
2319
+ - Remove no-longer-needed URL mis-parse work-around
2320
+ - Simplify the "fast-path" `RegExp`
2321
+ * deps: send@0.7.0
2322
+ - Add `dotfiles` option
2323
+ - Cap `maxAge` value to 1 year
2324
+ - deps: debug@1.0.4
2325
+ - deps: depd@0.4.2
2326
+
2327
+ 3.14.0 / 2014-07-11
2328
+ ===================
2329
+
2330
+ * add explicit "Rosetta Flash JSONP abuse" protection
2331
+ - previous versions are not vulnerable; this is just explicit protection
2332
+ * deprecate `res.redirect(url, status)` -- use `res.redirect(status, url)` instead
2333
+ * fix `res.send(status, num)` to send `num` as json (not error)
2334
+ * remove unnecessary escaping when `res.jsonp` returns JSON response
2335
+ * deps: basic-auth@1.0.0
2336
+ - support empty password
2337
+ - support empty username
2338
+ * deps: connect@2.23.0
2339
+ - deps: debug@1.0.3
2340
+ - deps: express-session@~1.6.4
2341
+ - deps: method-override@~2.1.0
2342
+ - deps: parseurl@~1.1.3
2343
+ - deps: serve-static@~1.3.1
2344
+ * deps: debug@1.0.3
2345
+ - Add support for multiple wildcards in namespaces
2346
+ * deps: methods@1.1.0
2347
+ - add `CONNECT`
2348
+ * deps: parseurl@~1.1.3
2349
+ - faster parsing of href-only URLs
2350
+
2351
+ 3.13.0 / 2014-07-03
2352
+ ===================
2353
+
2354
+ * add deprecation message to `app.configure`
2355
+ * add deprecation message to `req.auth`
2356
+ * use `basic-auth` to parse `Authorization` header
2357
+ * deps: connect@2.22.0
2358
+ - deps: csurf@~1.3.0
2359
+ - deps: express-session@~1.6.1
2360
+ - deps: multiparty@3.3.0
2361
+ - deps: serve-static@~1.3.0
2362
+ * deps: send@0.5.0
2363
+ - Accept string for `maxage` (converted by `ms`)
2364
+ - Include link in default redirect response
2365
+
2366
+ 3.12.1 / 2014-06-26
2367
+ ===================
2368
+
2369
+ * deps: connect@2.21.1
2370
+ - deps: cookie-parser@1.3.2
2371
+ - deps: cookie-signature@1.0.4
2372
+ - deps: express-session@~1.5.2
2373
+ - deps: type-is@~1.3.2
2374
+ * deps: cookie-signature@1.0.4
2375
+ - fix for timing attacks
2376
+
2377
+ 3.12.0 / 2014-06-21
2378
+ ===================
2379
+
2380
+ * use `media-typer` to alter content-type charset
2381
+ * deps: connect@2.21.0
2382
+ - deprecate `connect(middleware)` -- use `app.use(middleware)` instead
2383
+ - deprecate `connect.createServer()` -- use `connect()` instead
2384
+ - fix `res.setHeader()` patch to work with get -> append -> set pattern
2385
+ - deps: compression@~1.0.8
2386
+ - deps: errorhandler@~1.1.1
2387
+ - deps: express-session@~1.5.0
2388
+ - deps: serve-index@~1.1.3
2389
+
2390
+ 3.11.0 / 2014-06-19
2391
+ ===================
2392
+
2393
+ * deprecate things with `depd` module
2394
+ * deps: buffer-crc32@0.2.3
2395
+ * deps: connect@2.20.2
2396
+ - deprecate `verify` option to `json` -- use `body-parser` npm module instead
2397
+ - deprecate `verify` option to `urlencoded` -- use `body-parser` npm module instead
2398
+ - deprecate things with `depd` module
2399
+ - use `finalhandler` for final response handling
2400
+ - use `media-typer` to parse `content-type` for charset
2401
+ - deps: body-parser@1.4.3
2402
+ - deps: connect-timeout@1.1.1
2403
+ - deps: cookie-parser@1.3.1
2404
+ - deps: csurf@1.2.2
2405
+ - deps: errorhandler@1.1.0
2406
+ - deps: express-session@1.4.0
2407
+ - deps: multiparty@3.2.9
2408
+ - deps: serve-index@1.1.2
2409
+ - deps: type-is@1.3.1
2410
+ - deps: vhost@2.0.0
2411
+
2412
+ 3.10.5 / 2014-06-11
2413
+ ===================
2414
+
2415
+ * deps: connect@2.19.6
2416
+ - deps: body-parser@1.3.1
2417
+ - deps: compression@1.0.7
2418
+ - deps: debug@1.0.2
2419
+ - deps: serve-index@1.1.1
2420
+ - deps: serve-static@1.2.3
2421
+ * deps: debug@1.0.2
2422
+ * deps: send@0.4.3
2423
+ - Do not throw uncatchable error on file open race condition
2424
+ - Use `escape-html` for HTML escaping
2425
+ - deps: debug@1.0.2
2426
+ - deps: finished@1.2.2
2427
+ - deps: fresh@0.2.2
2428
+
2429
+ 3.10.4 / 2014-06-09
2430
+ ===================
2431
+
2432
+ * deps: connect@2.19.5
2433
+ - fix "event emitter leak" warnings
2434
+ - deps: csurf@1.2.1
2435
+ - deps: debug@1.0.1
2436
+ - deps: serve-static@1.2.2
2437
+ - deps: type-is@1.2.1
2438
+ * deps: debug@1.0.1
2439
+ * deps: send@0.4.2
2440
+ - fix "event emitter leak" warnings
2441
+ - deps: finished@1.2.1
2442
+ - deps: debug@1.0.1
2443
+
2444
+ 3.10.3 / 2014-06-05
2445
+ ===================
2446
+
2447
+ * use `vary` module for `res.vary`
2448
+ * deps: connect@2.19.4
2449
+ - deps: errorhandler@1.0.2
2450
+ - deps: method-override@2.0.2
2451
+ - deps: serve-favicon@2.0.1
2452
+ * deps: debug@1.0.0
2453
+
2454
+ 3.10.2 / 2014-06-03
2455
+ ===================
2456
+
2457
+ * deps: connect@2.19.3
2458
+ - deps: compression@1.0.6
2459
+
2460
+ 3.10.1 / 2014-06-03
2461
+ ===================
2462
+
2463
+ * deps: connect@2.19.2
2464
+ - deps: compression@1.0.4
2465
+ * deps: proxy-addr@1.0.1
2466
+
2467
+ 3.10.0 / 2014-06-02
2468
+ ===================
2469
+
2470
+ * deps: connect@2.19.1
2471
+ - deprecate `methodOverride()` -- use `method-override` npm module instead
2472
+ - deps: body-parser@1.3.0
2473
+ - deps: method-override@2.0.1
2474
+ - deps: multiparty@3.2.8
2475
+ - deps: response-time@2.0.0
2476
+ - deps: serve-static@1.2.1
2477
+ * deps: methods@1.0.1
2478
+ * deps: send@0.4.1
2479
+ - Send `max-age` in `Cache-Control` in correct format
2480
+
2481
+ 3.9.0 / 2014-05-30
2482
+ ==================
2483
+
2484
+ * custom etag control with `app.set('etag', val)`
2485
+ - `app.set('etag', function(body, encoding){ return '"etag"' })` custom etag generation
2486
+ - `app.set('etag', 'weak')` weak tag
2487
+ - `app.set('etag', 'strong')` strong etag
2488
+ - `app.set('etag', false)` turn off
2489
+ - `app.set('etag', true)` standard etag
2490
+ * Include ETag in HEAD requests
2491
+ * mark `res.send` ETag as weak and reduce collisions
2492
+ * update connect to 2.18.0
2493
+ - deps: compression@1.0.3
2494
+ - deps: serve-index@1.1.0
2495
+ - deps: serve-static@1.2.0
2496
+ * update send to 0.4.0
2497
+ - Calculate ETag with md5 for reduced collisions
2498
+ - Ignore stream errors after request ends
2499
+ - deps: debug@0.8.1
2500
+
2501
+ 3.8.1 / 2014-05-27
2502
+ ==================
2503
+
2504
+ * update connect to 2.17.3
2505
+ - deps: body-parser@1.2.2
2506
+ - deps: express-session@1.2.1
2507
+ - deps: method-override@1.0.2
2508
+
2509
+ 3.8.0 / 2014-05-21
2510
+ ==================
2511
+
2512
+ * keep previous `Content-Type` for `res.jsonp`
2513
+ * set proper `charset` in `Content-Type` for `res.send`
2514
+ * update connect to 2.17.1
2515
+ - fix `res.charset` appending charset when `content-type` has one
2516
+ - deps: express-session@1.2.0
2517
+ - deps: morgan@1.1.1
2518
+ - deps: serve-index@1.0.3
2519
+
2520
+ 3.7.0 / 2014-05-18
2521
+ ==================
2522
+
2523
+ * proper proxy trust with `app.set('trust proxy', trust)`
2524
+ - `app.set('trust proxy', 1)` trust first hop
2525
+ - `app.set('trust proxy', 'loopback')` trust loopback addresses
2526
+ - `app.set('trust proxy', '10.0.0.1')` trust single IP
2527
+ - `app.set('trust proxy', '10.0.0.1/16')` trust subnet
2528
+ - `app.set('trust proxy', '10.0.0.1, 10.0.0.2')` trust list
2529
+ - `app.set('trust proxy', false)` turn off
2530
+ - `app.set('trust proxy', true)` trust everything
2531
+ * update connect to 2.16.2
2532
+ - deprecate `res.headerSent` -- use `res.headersSent`
2533
+ - deprecate `res.on("header")` -- use on-headers module instead
2534
+ - fix edge-case in `res.appendHeader` that would append in wrong order
2535
+ - json: use body-parser
2536
+ - urlencoded: use body-parser
2537
+ - dep: bytes@1.0.0
2538
+ - dep: cookie-parser@1.1.0
2539
+ - dep: csurf@1.2.0
2540
+ - dep: express-session@1.1.0
2541
+ - dep: method-override@1.0.1
2542
+
2543
+ 3.6.0 / 2014-05-09
2544
+ ==================
2545
+
2546
+ * deprecate `app.del()` -- use `app.delete()` instead
2547
+ * deprecate `res.json(obj, status)` -- use `res.json(status, obj)` instead
2548
+ - the edge-case `res.json(status, num)` requires `res.status(status).json(num)`
2549
+ * deprecate `res.jsonp(obj, status)` -- use `res.jsonp(status, obj)` instead
2550
+ - the edge-case `res.jsonp(status, num)` requires `res.status(status).jsonp(num)`
2551
+ * support PURGE method
2552
+ - add `app.purge`
2553
+ - add `router.purge`
2554
+ - include PURGE in `app.all`
2555
+ * update connect to 2.15.0
2556
+ * Add `res.appendHeader`
2557
+ * Call error stack even when response has been sent
2558
+ * Patch `res.headerSent` to return Boolean
2559
+ * Patch `res.headersSent` for node.js 0.8
2560
+ * Prevent default 404 handler after response sent
2561
+ * dep: compression@1.0.2
2562
+ * dep: connect-timeout@1.1.0
2563
+ * dep: debug@^0.8.0
2564
+ * dep: errorhandler@1.0.1
2565
+ * dep: express-session@1.0.4
2566
+ * dep: morgan@1.0.1
2567
+ * dep: serve-favicon@2.0.0
2568
+ * dep: serve-index@1.0.2
2569
+ * update debug to 0.8.0
2570
+ * add `enable()` method
2571
+ * change from stderr to stdout
2572
+ * update methods to 1.0.0
2573
+ - add PURGE
2574
+ * update mkdirp to 0.5.0
2575
+
2576
+ 3.5.3 / 2014-05-08
2577
+ ==================
2578
+
2579
+ * fix `req.host` for IPv6 literals
2580
+ * fix `res.jsonp` error if callback param is object
2581
+
2582
+ 3.5.2 / 2014-04-24
2583
+ ==================
2584
+
2585
+ * update connect to 2.14.5
2586
+ * update cookie to 0.1.2
2587
+ * update mkdirp to 0.4.0
2588
+ * update send to 0.3.0
2589
+
2590
+ 3.5.1 / 2014-03-25
2591
+ ==================
2592
+
2593
+ * pin less-middleware in generated app
2594
+
2595
+ 3.5.0 / 2014-03-06
2596
+ ==================
2597
+
2598
+ * bump deps
2599
+
2600
+ 3.4.8 / 2014-01-13
2601
+ ==================
2602
+
2603
+ * prevent incorrect automatic OPTIONS responses #1868 @dpatti
2604
+ * update binary and examples for jade 1.0 #1876 @yossi, #1877 @reqshark, #1892 @matheusazzi
2605
+ * throw 400 in case of malformed paths @rlidwka
2606
+
2607
+ 3.4.7 / 2013-12-10
2608
+ ==================
2609
+
2610
+ * update connect
2611
+
2612
+ 3.4.6 / 2013-12-01
2613
+ ==================
2614
+
2615
+ * update connect (raw-body)
2616
+
2617
+ 3.4.5 / 2013-11-27
2618
+ ==================
2619
+
2620
+ * update connect
2621
+ * res.location: remove leading ./ #1802 @kapouer
2622
+ * res.redirect: fix `res.redirect('toString') #1829 @michaelficarra
2623
+ * res.send: always send ETag when content-length > 0
2624
+ * router: add Router.all() method
2625
+
2626
+ 3.4.4 / 2013-10-29
2627
+ ==================
2628
+
2629
+ * update connect
2630
+ * update supertest
2631
+ * update methods
2632
+ * express(1): replace bodyParser() with urlencoded() and json() #1795 @chirag04
2633
+
2634
+ 3.4.3 / 2013-10-23
2635
+ ==================
2636
+
2637
+ * update connect
2638
+
2639
+ 3.4.2 / 2013-10-18
2640
+ ==================
2641
+
2642
+ * update connect
2643
+ * downgrade commander
2644
+
2645
+ 3.4.1 / 2013-10-15
2646
+ ==================
2647
+
2648
+ * update connect
2649
+ * update commander
2650
+ * jsonp: check if callback is a function
2651
+ * router: wrap encodeURIComponent in a try/catch #1735 (@lxe)
2652
+ * res.format: now includes charset @1747 (@sorribas)
2653
+ * res.links: allow multiple calls @1746 (@sorribas)
2654
+
2655
+ 3.4.0 / 2013-09-07
2656
+ ==================
2657
+
2658
+ * add res.vary(). Closes #1682
2659
+ * update connect
2660
+
2661
+ 3.3.8 / 2013-09-02
2662
+ ==================
2663
+
2664
+ * update connect
2665
+
2666
+ 3.3.7 / 2013-08-28
2667
+ ==================
2668
+
2669
+ * update connect
2670
+
2671
+ 3.3.6 / 2013-08-27
2672
+ ==================
2673
+
2674
+ * Revert "remove charset from json responses. Closes #1631" (causes issues in some clients)
2675
+ * add: req.accepts take an argument list
2676
+
2677
+ 3.3.4 / 2013-07-08
2678
+ ==================
2679
+
2680
+ * update send and connect
2681
+
2682
+ 3.3.3 / 2013-07-04
2683
+ ==================
2684
+
2685
+ * update connect
2686
+
2687
+ 3.3.2 / 2013-07-03
2688
+ ==================
2689
+
2690
+ * update connect
2691
+ * update send
2692
+ * remove .version export
2693
+
2694
+ 3.3.1 / 2013-06-27
2695
+ ==================
2696
+
2697
+ * update connect
2698
+
2699
+ 3.3.0 / 2013-06-26
2700
+ ==================
2701
+
2702
+ * update connect
2703
+ * add support for multiple X-Forwarded-Proto values. Closes #1646
2704
+ * change: remove charset from json responses. Closes #1631
2705
+ * change: return actual booleans from req.accept* functions
2706
+ * fix jsonp callback array throw
2707
+
2708
+ 3.2.6 / 2013-06-02
2709
+ ==================
2710
+
2711
+ * update connect
2712
+
2713
+ 3.2.5 / 2013-05-21
2714
+ ==================
2715
+
2716
+ * update connect
2717
+ * update node-cookie
2718
+ * add: throw a meaningful error when there is no default engine
2719
+ * change generation of ETags with res.send() to GET requests only. Closes #1619
2720
+
2721
+ 3.2.4 / 2013-05-09
2722
+ ==================
2723
+
2724
+ * fix `req.subdomains` when no Host is present
2725
+ * fix `req.host` when no Host is present, return undefined
2726
+
2727
+ 3.2.3 / 2013-05-07
2728
+ ==================
2729
+
2730
+ * update connect / qs
2731
+
2732
+ 3.2.2 / 2013-05-03
2733
+ ==================
2734
+
2735
+ * update qs
2736
+
2737
+ 3.2.1 / 2013-04-29
2738
+ ==================
2739
+
2740
+ * add app.VERB() paths array deprecation warning
2741
+ * update connect
2742
+ * update qs and remove all ~ semver crap
2743
+ * fix: accept number as value of Signed Cookie
2744
+
2745
+ 3.2.0 / 2013-04-15
2746
+ ==================
2747
+
2748
+ * add "view" constructor setting to override view behaviour
2749
+ * add req.acceptsEncoding(name)
2750
+ * add req.acceptedEncodings
2751
+ * revert cookie signature change causing session race conditions
2752
+ * fix sorting of Accept values of the same quality
2753
+
2754
+ 3.1.2 / 2013-04-12
2755
+ ==================
2756
+
2757
+ * add support for custom Accept parameters
2758
+ * update cookie-signature
2759
+
2760
+ 3.1.1 / 2013-04-01
2761
+ ==================
2762
+
2763
+ * add X-Forwarded-Host support to `req.host`
2764
+ * fix relative redirects
2765
+ * update mkdirp
2766
+ * update buffer-crc32
2767
+ * remove legacy app.configure() method from app template.
2768
+
2769
+ 3.1.0 / 2013-01-25
2770
+ ==================
2771
+
2772
+ * add support for leading "." in "view engine" setting
2773
+ * add array support to `res.set()`
2774
+ * add node 0.8.x to travis.yml
2775
+ * add "subdomain offset" setting for tweaking `req.subdomains`
2776
+ * add `res.location(url)` implementing `res.redirect()`-like setting of Location
2777
+ * use app.get() for x-powered-by setting for inheritance
2778
+ * fix colons in passwords for `req.auth`
2779
+
2780
+ 3.0.6 / 2013-01-04
2781
+ ==================
2782
+
2783
+ * add http verb methods to Router
2784
+ * update connect
2785
+ * fix mangling of the `res.cookie()` options object
2786
+ * fix jsonp whitespace escape. Closes #1132
2787
+
2788
+ 3.0.5 / 2012-12-19
2789
+ ==================
2790
+
2791
+ * add throwing when a non-function is passed to a route
2792
+ * fix: explicitly remove Transfer-Encoding header from 204 and 304 responses
2793
+ * revert "add 'etag' option"
2794
+
2795
+ 3.0.4 / 2012-12-05
2796
+ ==================
2797
+
2798
+ * add 'etag' option to disable `res.send()` Etags
2799
+ * add escaping of urls in text/plain in `res.redirect()`
2800
+ for old browsers interpreting as html
2801
+ * change crc32 module for a more liberal license
2802
+ * update connect
2803
+
2804
+ 3.0.3 / 2012-11-13
2805
+ ==================
2806
+
2807
+ * update connect
2808
+ * update cookie module
2809
+ * fix cookie max-age
2810
+
2811
+ 3.0.2 / 2012-11-08
2812
+ ==================
2813
+
2814
+ * add OPTIONS to cors example. Closes #1398
2815
+ * fix route chaining regression. Closes #1397
2816
+
2817
+ 3.0.1 / 2012-11-01
2818
+ ==================
2819
+
2820
+ * update connect
2821
+
2822
+ 3.0.0 / 2012-10-23
2823
+ ==================
2824
+
2825
+ * add `make clean`
2826
+ * add "Basic" check to req.auth
2827
+ * add `req.auth` test coverage
2828
+ * add cb && cb(payload) to `res.jsonp()`. Closes #1374
2829
+ * add backwards compat for `res.redirect()` status. Closes #1336
2830
+ * add support for `res.json()` to retain previously defined Content-Types. Closes #1349
2831
+ * update connect
2832
+ * change `res.redirect()` to utilize a pathname-relative Location again. Closes #1382
2833
+ * remove non-primitive string support for `res.send()`
2834
+ * fix view-locals example. Closes #1370
2835
+ * fix route-separation example
2836
+
2837
+ 3.0.0rc5 / 2012-09-18
2838
+ ==================
2839
+
2840
+ * update connect
2841
+ * add redis search example
2842
+ * add static-files example
2843
+ * add "x-powered-by" setting (`app.disable('x-powered-by')`)
2844
+ * add "application/octet-stream" redirect Accept test case. Closes #1317
2845
+
2846
+ 3.0.0rc4 / 2012-08-30
2847
+ ==================
2848
+
2849
+ * add `res.jsonp()`. Closes #1307
2850
+ * add "verbose errors" option to error-pages example
2851
+ * add another route example to express(1) so people are not so confused
2852
+ * add redis online user activity tracking example
2853
+ * update connect dep
2854
+ * fix etag quoting. Closes #1310
2855
+ * fix error-pages 404 status
2856
+ * fix jsonp callback char restrictions
2857
+ * remove old OPTIONS default response
2858
+
2859
+ 3.0.0rc3 / 2012-08-13
2860
+ ==================
2861
+
2862
+ * update connect dep
2863
+ * fix signed cookies to work with `connect.cookieParser()` ("s:" prefix was missing) [tnydwrds]
2864
+ * fix `res.render()` clobbering of "locals"
2865
+
2866
+ 3.0.0rc2 / 2012-08-03
2867
+ ==================
2868
+
2869
+ * add CORS example
2870
+ * update connect dep
2871
+ * deprecate `.createServer()` & remove old stale examples
2872
+ * fix: escape `res.redirect()` link
2873
+ * fix vhost example
2874
+
2875
+ 3.0.0rc1 / 2012-07-24
2876
+ ==================
2877
+
2878
+ * add more examples to view-locals
2879
+ * add scheme-relative redirects (`res.redirect("//foo.com")`) support
2880
+ * update cookie dep
2881
+ * update connect dep
2882
+ * update send dep
2883
+ * fix `express(1)` -h flag, use -H for hogan. Closes #1245
2884
+ * fix `res.sendfile()` socket error handling regression
2885
+
2886
+ 3.0.0beta7 / 2012-07-16
2887
+ ==================
2888
+
2889
+ * update connect dep for `send()` root normalization regression
2890
+
2891
+ 3.0.0beta6 / 2012-07-13
2892
+ ==================
2893
+
2894
+ * add `err.view` property for view errors. Closes #1226
2895
+ * add "jsonp callback name" setting
2896
+ * add support for "/foo/:bar*" non-greedy matches
2897
+ * change `res.sendfile()` to use `send()` module
2898
+ * change `res.send` to use "response-send" module
2899
+ * remove `app.locals.use` and `res.locals.use`, use regular middleware
2900
+
2901
+ 3.0.0beta5 / 2012-07-03
2902
+ ==================
2903
+
2904
+ * add "make check" support
2905
+ * add route-map example
2906
+ * add `res.json(obj, status)` support back for BC
2907
+ * add "methods" dep, remove internal methods module
2908
+ * update connect dep
2909
+ * update auth example to utilize cores pbkdf2
2910
+ * updated tests to use "supertest"
2911
+
2912
+ 3.0.0beta4 / 2012-06-25
2913
+ ==================
2914
+
2915
+ * Added `req.auth`
2916
+ * Added `req.range(size)`
2917
+ * Added `res.links(obj)`
2918
+ * Added `res.send(body, status)` support back for backwards compat
2919
+ * Added `.default()` support to `res.format()`
2920
+ * Added 2xx / 304 check to `req.fresh`
2921
+ * Revert "Added + support to the router"
2922
+ * Fixed `res.send()` freshness check, respect res.statusCode
2923
+
2924
+ 3.0.0beta3 / 2012-06-15
2925
+ ==================
2926
+
2927
+ * Added hogan `--hjs` to express(1) [nullfirm]
2928
+ * Added another example to content-negotiation
2929
+ * Added `fresh` dep
2930
+ * Changed: `res.send()` always checks freshness
2931
+ * Fixed: expose connects mime module. Closes #1165
2932
+
2933
+ 3.0.0beta2 / 2012-06-06
2934
+ ==================
2935
+
2936
+ * Added `+` support to the router
2937
+ * Added `req.host`
2938
+ * Changed `req.param()` to check route first
2939
+ * Update connect dep
2940
+
2941
+ 3.0.0beta1 / 2012-06-01
2942
+ ==================
2943
+
2944
+ * Added `res.format()` callback to override default 406 behaviour
2945
+ * Fixed `res.redirect()` 406. Closes #1154
2946
+
2947
+ 3.0.0alpha5 / 2012-05-30
2948
+ ==================
2949
+
2950
+ * Added `req.ip`
2951
+ * Added `{ signed: true }` option to `res.cookie()`
2952
+ * Removed `res.signedCookie()`
2953
+ * Changed: dont reverse `req.ips`
2954
+ * Fixed "trust proxy" setting check for `req.ips`
2955
+
2956
+ 3.0.0alpha4 / 2012-05-09
2957
+ ==================
2958
+
2959
+ * Added: allow `[]` in jsonp callback. Closes #1128
2960
+ * Added `PORT` env var support in generated template. Closes #1118 [benatkin]
2961
+ * Updated: connect 2.2.2
2962
+
2963
+ 3.0.0alpha3 / 2012-05-04
2964
+ ==================
2965
+
2966
+ * Added public `app.routes`. Closes #887
2967
+ * Added _view-locals_ example
2968
+ * Added _mvc_ example
2969
+ * Added `res.locals.use()`. Closes #1120
2970
+ * Added conditional-GET support to `res.send()`
2971
+ * Added: coerce `res.set()` values to strings
2972
+ * Changed: moved `static()` in generated apps below router
2973
+ * Changed: `res.send()` only set ETag when not previously set
2974
+ * Changed connect 2.2.1 dep
2975
+ * Changed: `make test` now runs unit / acceptance tests
2976
+ * Fixed req/res proto inheritance
2977
+
2978
+ 3.0.0alpha2 / 2012-04-26
2979
+ ==================
2980
+
2981
+ * Added `make benchmark` back
2982
+ * Added `res.send()` support for `String` objects
2983
+ * Added client-side data exposing example
2984
+ * Added `res.header()` and `req.header()` aliases for BC
2985
+ * Added `express.createServer()` for BC
2986
+ * Perf: memoize parsed urls
2987
+ * Perf: connect 2.2.0 dep
2988
+ * Changed: make `expressInit()` middleware self-aware
2989
+ * Fixed: use app.get() for all core settings
2990
+ * Fixed redis session example
2991
+ * Fixed session example. Closes #1105
2992
+ * Fixed generated express dep. Closes #1078
2993
+
2994
+ 3.0.0alpha1 / 2012-04-15
2995
+ ==================
2996
+
2997
+ * Added `app.locals.use(callback)`
2998
+ * Added `app.locals` object
2999
+ * Added `app.locals(obj)`
3000
+ * Added `res.locals` object
3001
+ * Added `res.locals(obj)`
3002
+ * Added `res.format()` for content-negotiation
3003
+ * Added `app.engine()`
3004
+ * Added `res.cookie()` JSON cookie support
3005
+ * Added "trust proxy" setting
3006
+ * Added `req.subdomains`
3007
+ * Added `req.protocol`
3008
+ * Added `req.secure`
3009
+ * Added `req.path`
3010
+ * Added `req.ips`
3011
+ * Added `req.fresh`
3012
+ * Added `req.stale`
3013
+ * Added comma-delimited / array support for `req.accepts()`
3014
+ * Added debug instrumentation
3015
+ * Added `res.set(obj)`
3016
+ * Added `res.set(field, value)`
3017
+ * Added `res.get(field)`
3018
+ * Added `app.get(setting)`. Closes #842
3019
+ * Added `req.acceptsLanguage()`
3020
+ * Added `req.acceptsCharset()`
3021
+ * Added `req.accepted`
3022
+ * Added `req.acceptedLanguages`
3023
+ * Added `req.acceptedCharsets`
3024
+ * Added "json replacer" setting
3025
+ * Added "json spaces" setting
3026
+ * Added X-Forwarded-Proto support to `res.redirect()`. Closes #92
3027
+ * Added `--less` support to express(1)
3028
+ * Added `express.response` prototype
3029
+ * Added `express.request` prototype
3030
+ * Added `express.application` prototype
3031
+ * Added `app.path()`
3032
+ * Added `app.render()`
3033
+ * Added `res.type()` to replace `res.contentType()`
3034
+ * Changed: `res.redirect()` to add relative support
3035
+ * Changed: enable "jsonp callback" by default
3036
+ * Changed: renamed "case sensitive routes" to "case sensitive routing"
3037
+ * Rewrite of all tests with mocha
3038
+ * Removed "root" setting
3039
+ * Removed `res.redirect('home')` support
3040
+ * Removed `req.notify()`
3041
+ * Removed `app.register()`
3042
+ * Removed `app.redirect()`
3043
+ * Removed `app.is()`
3044
+ * Removed `app.helpers()`
3045
+ * Removed `app.dynamicHelpers()`
3046
+ * Fixed `res.sendfile()` with non-GET. Closes #723
3047
+ * Fixed express(1) public dir for windows. Closes #866
3048
+
3049
+ 2.5.9/ 2012-04-02
3050
+ ==================
3051
+
3052
+ * Added support for PURGE request method [pbuyle]
3053
+ * Fixed `express(1)` generated app `app.address()` before `listening` [mmalecki]
3054
+
3055
+ 2.5.8 / 2012-02-08
3056
+ ==================
3057
+
3058
+ * Update mkdirp dep. Closes #991
3059
+
3060
+ 2.5.7 / 2012-02-06
3061
+ ==================
3062
+
3063
+ * Fixed `app.all` duplicate DELETE requests [mscdex]
3064
+
3065
+ 2.5.6 / 2012-01-13
3066
+ ==================
3067
+
3068
+ * Updated hamljs dev dep. Closes #953
3069
+
3070
+ 2.5.5 / 2012-01-08
3071
+ ==================
3072
+
3073
+ * Fixed: set `filename` on cached templates [matthewleon]
3074
+
3075
+ 2.5.4 / 2012-01-02
3076
+ ==================
3077
+
3078
+ * Fixed `express(1)` eol on 0.4.x. Closes #947
3079
+
3080
+ 2.5.3 / 2011-12-30
3081
+ ==================
3082
+
3083
+ * Fixed `req.is()` when a charset is present
3084
+
3085
+ 2.5.2 / 2011-12-10
3086
+ ==================
3087
+
3088
+ * Fixed: express(1) LF -> CRLF for windows
3089
+
3090
+ 2.5.1 / 2011-11-17
3091
+ ==================
3092
+
3093
+ * Changed: updated connect to 1.8.x
3094
+ * Removed sass.js support from express(1)
3095
+
3096
+ 2.5.0 / 2011-10-24
3097
+ ==================
3098
+
3099
+ * Added ./routes dir for generated app by default
3100
+ * Added npm install reminder to express(1) app gen
3101
+ * Added 0.5.x support
3102
+ * Removed `make test-cov` since it wont work with node 0.5.x
3103
+ * Fixed express(1) public dir for windows. Closes #866
3104
+
3105
+ 2.4.7 / 2011-10-05
3106
+ ==================
3107
+
3108
+ * Added mkdirp to express(1). Closes #795
3109
+ * Added simple _json-config_ example
3110
+ * Added shorthand for the parsed request's pathname via `req.path`
3111
+ * Changed connect dep to 1.7.x to fix npm issue...
3112
+ * Fixed `res.redirect()` __HEAD__ support. [reported by xerox]
3113
+ * Fixed `req.flash()`, only escape args
3114
+ * Fixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie]
3115
+
3116
+ 2.4.6 / 2011-08-22
3117
+ ==================
3118
+
3119
+ * Fixed multiple param callback regression. Closes #824 [reported by TroyGoode]
3120
+
3121
+ 2.4.5 / 2011-08-19
3122
+ ==================
3123
+
3124
+ * Added support for routes to handle errors. Closes #809
3125
+ * Added `app.routes.all()`. Closes #803
3126
+ * Added "basepath" setting to work in conjunction with reverse proxies etc.
3127
+ * Refactored `Route` to use a single array of callbacks
3128
+ * Added support for multiple callbacks for `app.param()`. Closes #801
3129
+ Closes #805
3130
+ * Changed: removed .call(self) for route callbacks
3131
+ * Dependency: `qs >= 0.3.1`
3132
+ * Fixed `res.redirect()` on windows due to `join()` usage. Closes #808
3133
+
3134
+ 2.4.4 / 2011-08-05
3135
+ ==================
3136
+
3137
+ * Fixed `res.header()` intention of a set, even when `undefined`
3138
+ * Fixed `*`, value no longer required
3139
+ * Fixed `res.send(204)` support. Closes #771
3140
+
3141
+ 2.4.3 / 2011-07-14
3142
+ ==================
3143
+
3144
+ * Added docs for `status` option special-case. Closes #739
3145
+ * Fixed `options.filename`, exposing the view path to template engines
3146
+
3147
+ 2.4.2. / 2011-07-06
3148
+ ==================
3149
+
3150
+ * Revert "removed jsonp stripping" for XSS
3151
+
3152
+ 2.4.1 / 2011-07-06
3153
+ ==================
3154
+
3155
+ * Added `res.json()` JSONP support. Closes #737
3156
+ * Added _extending-templates_ example. Closes #730
3157
+ * Added "strict routing" setting for trailing slashes
3158
+ * Added support for multiple envs in `app.configure()` calls. Closes #735
3159
+ * Changed: `res.send()` using `res.json()`
3160
+ * Changed: when cookie `path === null` don't default it
3161
+ * Changed; default cookie path to "home" setting. Closes #731
3162
+ * Removed _pids/logs_ creation from express(1)
3163
+
3164
+ 2.4.0 / 2011-06-28
3165
+ ==================
3166
+
3167
+ * Added chainable `res.status(code)`
3168
+ * Added `res.json()`, an explicit version of `res.send(obj)`
3169
+ * Added simple web-service example
3170
+
3171
+ 2.3.12 / 2011-06-22
3172
+ ==================
3173
+
3174
+ * \#express is now on freenode! come join!
3175
+ * Added `req.get(field, param)`
3176
+ * Added links to Japanese documentation, thanks @hideyukisaito!
3177
+ * Added; the `express(1)` generated app outputs the env
3178
+ * Added `content-negotiation` example
3179
+ * Dependency: connect >= 1.5.1 < 2.0.0
3180
+ * Fixed view layout bug. Closes #720
3181
+ * Fixed; ignore body on 304. Closes #701
3182
+
3183
+ 2.3.11 / 2011-06-04
3184
+ ==================
3185
+
3186
+ * Added `npm test`
3187
+ * Removed generation of dummy test file from `express(1)`
3188
+ * Fixed; `express(1)` adds express as a dep
3189
+ * Fixed; prune on `prepublish`
3190
+
3191
+ 2.3.10 / 2011-05-27
3192
+ ==================
3193
+
3194
+ * Added `req.route`, exposing the current route
3195
+ * Added _package.json_ generation support to `express(1)`
3196
+ * Fixed call to `app.param()` function for optional params. Closes #682
3197
+
3198
+ 2.3.9 / 2011-05-25
3199
+ ==================
3200
+
3201
+ * Fixed bug-ish with `../' in `res.partial()` calls
3202
+
3203
+ 2.3.8 / 2011-05-24
3204
+ ==================
3205
+
3206
+ * Fixed `app.options()`
3207
+
3208
+ 2.3.7 / 2011-05-23
3209
+ ==================
3210
+
3211
+ * Added route `Collection`, ex: `app.get('/user/:id').remove();`
3212
+ * Added support for `app.param(fn)` to define param logic
3213
+ * Removed `app.param()` support for callback with return value
3214
+ * Removed module.parent check from express(1) generated app. Closes #670
3215
+ * Refactored router. Closes #639
3216
+
3217
+ 2.3.6 / 2011-05-20
3218
+ ==================
3219
+
3220
+ * Changed; using devDependencies instead of git submodules
3221
+ * Fixed redis session example
3222
+ * Fixed markdown example
3223
+ * Fixed view caching, should not be enabled in development
3224
+
3225
+ 2.3.5 / 2011-05-20
3226
+ ==================
3227
+
3228
+ * Added export `.view` as alias for `.View`
3229
+
3230
+ 2.3.4 / 2011-05-08
3231
+ ==================
3232
+
3233
+ * Added `./examples/say`
3234
+ * Fixed `res.sendfile()` bug preventing the transfer of files with spaces
3235
+
3236
+ 2.3.3 / 2011-05-03
3237
+ ==================
3238
+
3239
+ * Added "case sensitive routes" option.
3240
+ * Changed; split methods supported per rfc [slaskis]
3241
+ * Fixed route-specific middleware when using the same callback function several times
3242
+
3243
+ 2.3.2 / 2011-04-27
3244
+ ==================
3245
+
3246
+ * Fixed view hints
3247
+
3248
+ 2.3.1 / 2011-04-26
3249
+ ==================
3250
+
3251
+ * Added `app.match()` as `app.match.all()`
3252
+ * Added `app.lookup()` as `app.lookup.all()`
3253
+ * Added `app.remove()` for `app.remove.all()`
3254
+ * Added `app.remove.VERB()`
3255
+ * Fixed template caching collision issue. Closes #644
3256
+ * Moved router over from connect and started refactor
3257
+
3258
+ 2.3.0 / 2011-04-25
3259
+ ==================
3260
+
3261
+ * Added options support to `res.clearCookie()`
3262
+ * Added `res.helpers()` as alias of `res.locals()`
3263
+ * Added; json defaults to UTF-8 with `res.send()`. Closes #632. [Daniel * Dependency `connect >= 1.4.0`
3264
+ * Changed; auto set Content-Type in res.attachement [Aaron Heckmann]
3265
+ * Renamed "cache views" to "view cache". Closes #628
3266
+ * Fixed caching of views when using several apps. Closes #637
3267
+ * Fixed gotcha invoking `app.param()` callbacks once per route middleware.
3268
+ Closes #638
3269
+ * Fixed partial lookup precedence. Closes #631
3270
+ Shaw]
3271
+
3272
+ 2.2.2 / 2011-04-12
3273
+ ==================
3274
+
3275
+ * Added second callback support for `res.download()` connection errors
3276
+ * Fixed `filename` option passing to template engine
3277
+
3278
+ 2.2.1 / 2011-04-04
3279
+ ==================
3280
+
3281
+ * Added `layout(path)` helper to change the layout within a view. Closes #610
3282
+ * Fixed `partial()` collection object support.
3283
+ Previously only anything with `.length` would work.
3284
+ When `.length` is present one must still be aware of holes,
3285
+ however now `{ collection: {foo: 'bar'}}` is valid, exposes
3286
+ `keyInCollection` and `keysInCollection`.
3287
+
3288
+ * Performance improved with better view caching
3289
+ * Removed `request` and `response` locals
3290
+ * Changed; errorHandler page title is now `Express` instead of `Connect`
3291
+
3292
+ 2.2.0 / 2011-03-30
3293
+ ==================
3294
+
3295
+ * Added `app.lookup.VERB()`, ex `app.lookup.put('/user/:id')`. Closes #606
3296
+ * Added `app.match.VERB()`, ex `app.match.put('/user/12')`. Closes #606
3297
+ * Added `app.VERB(path)` as alias of `app.lookup.VERB()`.
3298
+ * Dependency `connect >= 1.2.0`
3299
+
3300
+ 2.1.1 / 2011-03-29
3301
+ ==================
3302
+
3303
+ * Added; expose `err.view` object when failing to locate a view
3304
+ * Fixed `res.partial()` call `next(err)` when no callback is given [reported by aheckmann]
3305
+ * Fixed; `res.send(undefined)` responds with 204 [aheckmann]
3306
+
3307
+ 2.1.0 / 2011-03-24
3308
+ ==================
3309
+
3310
+ * Added `<root>/_?<name>` partial lookup support. Closes #447
3311
+ * Added `request`, `response`, and `app` local variables
3312
+ * Added `settings` local variable, containing the app's settings
3313
+ * Added `req.flash()` exception if `req.session` is not available
3314
+ * Added `res.send(bool)` support (json response)
3315
+ * Fixed stylus example for latest version
3316
+ * Fixed; wrap try/catch around `res.render()`
3317
+
3318
+ 2.0.0 / 2011-03-17
3319
+ ==================
3320
+
3321
+ * Fixed up index view path alternative.
3322
+ * Changed; `res.locals()` without object returns the locals
3323
+
3324
+ 2.0.0rc3 / 2011-03-17
3325
+ ==================
3326
+
3327
+ * Added `res.locals(obj)` to compliment `res.local(key, val)`
3328
+ * Added `res.partial()` callback support
3329
+ * Fixed recursive error reporting issue in `res.render()`
3330
+
3331
+ 2.0.0rc2 / 2011-03-17
3332
+ ==================
3333
+
3334
+ * Changed; `partial()` "locals" are now optional
3335
+ * Fixed `SlowBuffer` support. Closes #584 [reported by tyrda01]
3336
+ * Fixed .filename view engine option [reported by drudge]
3337
+ * Fixed blog example
3338
+ * Fixed `{req,res}.app` reference when mounting [Ben Weaver]
3339
+
3340
+ 2.0.0rc / 2011-03-14
3341
+ ==================
3342
+
3343
+ * Fixed; expose `HTTPSServer` constructor
3344
+ * Fixed express(1) default test charset. Closes #579 [reported by secoif]
3345
+ * Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP]
3346
+
3347
+ 2.0.0beta3 / 2011-03-09
3348
+ ==================
3349
+
3350
+ * Added support for `res.contentType()` literal
3351
+ The original `res.contentType('.json')`,
3352
+ `res.contentType('application/json')`, and `res.contentType('json')`
3353
+ will work now.
3354
+ * Added `res.render()` status option support back
3355
+ * Added charset option for `res.render()`
3356
+ * Added `.charset` support (via connect 1.0.4)
3357
+ * Added view resolution hints when in development and a lookup fails
3358
+ * Added layout lookup support relative to the page view.
3359
+ For example while rendering `./views/user/index.jade` if you create
3360
+ `./views/user/layout.jade` it will be used in favour of the root layout.
3361
+ * Fixed `res.redirect()`. RFC states absolute url [reported by unlink]
3362
+ * Fixed; default `res.send()` string charset to utf8
3363
+ * Removed `Partial` constructor (not currently used)
3364
+
3365
+ 2.0.0beta2 / 2011-03-07
3366
+ ==================
3367
+
3368
+ * Added res.render() `.locals` support back to aid in migration process
3369
+ * Fixed flash example
3370
+
3371
+ 2.0.0beta / 2011-03-03
3372
+ ==================
3373
+
3374
+ * Added HTTPS support
3375
+ * Added `res.cookie()` maxAge support
3376
+ * Added `req.header()` _Referrer_ / _Referer_ special-case, either works
3377
+ * Added mount support for `res.redirect()`, now respects the mount-point
3378
+ * Added `union()` util, taking place of `merge(clone())` combo
3379
+ * Added stylus support to express(1) generated app
3380
+ * Added secret to session middleware used in examples and generated app
3381
+ * Added `res.local(name, val)` for progressive view locals
3382
+ * Added default param support to `req.param(name, default)`
3383
+ * Added `app.disabled()` and `app.enabled()`
3384
+ * Added `app.register()` support for omitting leading ".", either works
3385
+ * Added `res.partial()`, using the same interface as `partial()` within a view. Closes #539
3386
+ * Added `app.param()` to map route params to async/sync logic
3387
+ * Added; aliased `app.helpers()` as `app.locals()`. Closes #481
3388
+ * Added extname with no leading "." support to `res.contentType()`
3389
+ * Added `cache views` setting, defaulting to enabled in "production" env
3390
+ * Added index file partial resolution, eg: partial('user') may try _views/user/index.jade_.
3391
+ * Added `req.accepts()` support for extensions
3392
+ * Changed; `res.download()` and `res.sendfile()` now utilize Connect's
3393
+ static file server `connect.static.send()`.
3394
+ * Changed; replaced `connect.utils.mime()` with npm _mime_ module
3395
+ * Changed; allow `req.query` to be pre-defined (via middleware or other parent
3396
+ * Changed view partial resolution, now relative to parent view
3397
+ * Changed view engine signature. no longer `engine.render(str, options, callback)`, now `engine.compile(str, options) -> Function`, the returned function accepts `fn(locals)`.
3398
+ * Fixed `req.param()` bug returning Array.prototype methods. Closes #552
3399
+ * Fixed; using `Stream#pipe()` instead of `sys.pump()` in `res.sendfile()`
3400
+ * Fixed; using _qs_ module instead of _querystring_
3401
+ * Fixed; strip unsafe chars from jsonp callbacks
3402
+ * Removed "stream threshold" setting
3403
+
3404
+ 1.0.8 / 2011-03-01
3405
+ ==================
3406
+
3407
+ * Allow `req.query` to be pre-defined (via middleware or other parent app)
3408
+ * "connect": ">= 0.5.0 < 1.0.0". Closes #547
3409
+ * Removed the long deprecated __EXPRESS_ENV__ support
3410
+
3411
+ 1.0.7 / 2011-02-07
3412
+ ==================
3413
+
3414
+ * Fixed `render()` setting inheritance.
3415
+ Mounted apps would not inherit "view engine"
3416
+
3417
+ 1.0.6 / 2011-02-07
3418
+ ==================
3419
+
3420
+ * Fixed `view engine` setting bug when period is in dirname
3421
+
3422
+ 1.0.5 / 2011-02-05
3423
+ ==================
3424
+
3425
+ * Added secret to generated app `session()` call
3426
+
3427
+ 1.0.4 / 2011-02-05
3428
+ ==================
3429
+
3430
+ * Added `qs` dependency to _package.json_
3431
+ * Fixed namespaced `require()`s for latest connect support
3432
+
3433
+ 1.0.3 / 2011-01-13
3434
+ ==================
3435
+
3436
+ * Remove unsafe characters from JSONP callback names [Ryan Grove]
3437
+
3438
+ 1.0.2 / 2011-01-10
3439
+ ==================
3440
+
3441
+ * Removed nested require, using `connect.router`
3442
+
3443
+ 1.0.1 / 2010-12-29
3444
+ ==================
3445
+
3446
+ * Fixed for middleware stacked via `createServer()`
3447
+ previously the `foo` middleware passed to `createServer(foo)`
3448
+ would not have access to Express methods such as `res.send()`
3449
+ or props like `req.query` etc.
3450
+
3451
+ 1.0.0 / 2010-11-16
3452
+ ==================
3453
+
3454
+ * Added; deduce partial object names from the last segment.
3455
+ For example by default `partial('forum/post', postObject)` will
3456
+ give you the _post_ object, providing a meaningful default.
3457
+ * Added http status code string representation to `res.redirect()` body
3458
+ * Added; `res.redirect()` supporting _text/plain_ and _text/html_ via __Accept__.
3459
+ * Added `req.is()` to aid in content negotiation
3460
+ * Added partial local inheritance [suggested by masylum]. Closes #102
3461
+ providing access to parent template locals.
3462
+ * Added _-s, --session[s]_ flag to express(1) to add session related middleware
3463
+ * Added _--template_ flag to express(1) to specify the
3464
+ template engine to use.
3465
+ * Added _--css_ flag to express(1) to specify the
3466
+ stylesheet engine to use (or just plain css by default).
3467
+ * Added `app.all()` support [thanks aheckmann]
3468
+ * Added partial direct object support.
3469
+ You may now `partial('user', user)` providing the "user" local,
3470
+ vs previously `partial('user', { object: user })`.
3471
+ * Added _route-separation_ example since many people question ways
3472
+ to do this with CommonJS modules. Also view the _blog_ example for
3473
+ an alternative.
3474
+ * Performance; caching view path derived partial object names
3475
+ * Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454
3476
+ * Fixed jsonp support; _text/javascript_ as per mailinglist discussion
3477
+
3478
+ 1.0.0rc4 / 2010-10-14
3479
+ ==================
3480
+
3481
+ * Added _NODE_ENV_ support, _EXPRESS_ENV_ is deprecated and will be removed in 1.0.0
3482
+ * Added route-middleware support (very helpful, see the [docs](http://expressjs.com/guide.html#Route-Middleware))
3483
+ * Added _jsonp callback_ setting to enable/disable jsonp autowrapping [Dav Glass]
3484
+ * Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass]
3485
+ * Added `partial()` support for array-like collections. Closes #434
3486
+ * Added support for swappable querystring parsers
3487
+ * Added session usage docs. Closes #443
3488
+ * Added dynamic helper caching. Closes #439 [suggested by maritz]
3489
+ * Added authentication example
3490
+ * Added basic Range support to `res.sendfile()` (and `res.download()` etc)
3491
+ * Changed; `express(1)` generated app using 2 spaces instead of 4
3492
+ * Default env to "development" again [aheckmann]
3493
+ * Removed _context_ option is no more, use "scope"
3494
+ * Fixed; exposing _./support_ libs to examples so they can run without installs
3495
+ * Fixed mvc example
3496
+
3497
+ 1.0.0rc3 / 2010-09-20
3498
+ ==================
3499
+
3500
+ * Added confirmation for `express(1)` app generation. Closes #391
3501
+ * Added extending of flash formatters via `app.flashFormatters`
3502
+ * Added flash formatter support. Closes #411
3503
+ * Added streaming support to `res.sendfile()` using `sys.pump()` when >= "stream threshold"
3504
+ * Added _stream threshold_ setting for `res.sendfile()`
3505
+ * Added `res.send()` __HEAD__ support
3506
+ * Added `res.clearCookie()`
3507
+ * Added `res.cookie()`
3508
+ * Added `res.render()` headers option
3509
+ * Added `res.redirect()` response bodies
3510
+ * Added `res.render()` status option support. Closes #425 [thanks aheckmann]
3511
+ * Fixed `res.sendfile()` responding with 403 on malicious path
3512
+ * Fixed `res.download()` bug; when an error occurs remove _Content-Disposition_
3513
+ * Fixed; mounted apps settings now inherit from parent app [aheckmann]
3514
+ * Fixed; stripping Content-Length / Content-Type when 204
3515
+ * Fixed `res.send()` 204. Closes #419
3516
+ * Fixed multiple _Set-Cookie_ headers via `res.header()`. Closes #402
3517
+ * Fixed bug messing with error handlers when `listenFD()` is called instead of `listen()`. [thanks guillermo]
3518
+
3519
+
3520
+ 1.0.0rc2 / 2010-08-17
3521
+ ==================
3522
+
3523
+ * Added `app.register()` for template engine mapping. Closes #390
3524
+ * Added `res.render()` callback support as second argument (no options)
3525
+ * Added callback support to `res.download()`
3526
+ * Added callback support for `res.sendfile()`
3527
+ * Added support for middleware access via `express.middlewareName()` vs `connect.middlewareName()`
3528
+ * Added "partials" setting to docs
3529
+ * Added default expresso tests to `express(1)` generated app. Closes #384
3530
+ * Fixed `res.sendfile()` error handling, defer via `next()`
3531
+ * Fixed `res.render()` callback when a layout is used [thanks guillermo]
3532
+ * Fixed; `make install` creating ~/.node_libraries when not present
3533
+ * Fixed issue preventing error handlers from being defined anywhere. Closes #387
3534
+
3535
+ 1.0.0rc / 2010-07-28
3536
+ ==================
3537
+
3538
+ * Added mounted hook. Closes #369
3539
+ * Added connect dependency to _package.json_
3540
+
3541
+ * Removed "reload views" setting and support code
3542
+ development env never caches, production always caches.
3543
+
3544
+ * Removed _param_ in route callbacks, signature is now
3545
+ simply (req, res, next), previously (req, res, params, next).
3546
+ Use _req.params_ for path captures, _req.query_ for GET params.
3547
+
3548
+ * Fixed "home" setting
3549
+ * Fixed middleware/router precedence issue. Closes #366
3550
+ * Fixed; _configure()_ callbacks called immediately. Closes #368
3551
+
3552
+ 1.0.0beta2 / 2010-07-23
3553
+ ==================
3554
+
3555
+ * Added more examples
3556
+ * Added; exporting `Server` constructor
3557
+ * Added `Server#helpers()` for view locals
3558
+ * Added `Server#dynamicHelpers()` for dynamic view locals. Closes #349
3559
+ * Added support for absolute view paths
3560
+ * Added; _home_ setting defaults to `Server#route` for mounted apps. Closes #363
3561
+ * Added Guillermo Rauch to the contributor list
3562
+ * Added support for "as" for non-collection partials. Closes #341
3563
+ * Fixed _install.sh_, ensuring _~/.node_libraries_ exists. Closes #362 [thanks jf]
3564
+ * Fixed `res.render()` exceptions, now passed to `next()` when no callback is given [thanks guillermo]
3565
+ * Fixed instanceof `Array` checks, now `Array.isArray()`
3566
+ * Fixed express(1) expansion of public dirs. Closes #348
3567
+ * Fixed middleware precedence. Closes #345
3568
+ * Fixed view watcher, now async [thanks aheckmann]
3569
+
3570
+ 1.0.0beta / 2010-07-15
3571
+ ==================
3572
+
3573
+ * Re-write
3574
+ - much faster
3575
+ - much lighter
3576
+ - Check [ExpressJS.com](http://expressjs.com) for migration guide and updated docs
3577
+
3578
+ 0.14.0 / 2010-06-15
3579
+ ==================
3580
+
3581
+ * Utilize relative requires
3582
+ * Added Static bufferSize option [aheckmann]
3583
+ * Fixed caching of view and partial subdirectories [aheckmann]
3584
+ * Fixed mime.type() comments now that ".ext" is not supported
3585
+ * Updated haml submodule
3586
+ * Updated class submodule
3587
+ * Removed bin/express
3588
+
3589
+ 0.13.0 / 2010-06-01
3590
+ ==================
3591
+
3592
+ * Added node v0.1.97 compatibility
3593
+ * Added support for deleting cookies via Request#cookie('key', null)
3594
+ * Updated haml submodule
3595
+ * Fixed not-found page, now using charset utf-8
3596
+ * Fixed show-exceptions page, now using charset utf-8
3597
+ * Fixed view support due to fs.readFile Buffers
3598
+ * Changed; mime.type() no longer accepts ".type" due to node extname() changes
3599
+
3600
+ 0.12.0 / 2010-05-22
3601
+ ==================
3602
+
3603
+ * Added node v0.1.96 compatibility
3604
+ * Added view `helpers` export which act as additional local variables
3605
+ * Updated haml submodule
3606
+ * Changed ETag; removed inode, modified time only
3607
+ * Fixed LF to CRLF for setting multiple cookies
3608
+ * Fixed cookie compilation; values are now urlencoded
3609
+ * Fixed cookies parsing; accepts quoted values and url escaped cookies
3610
+
3611
+ 0.11.0 / 2010-05-06
3612
+ ==================
3613
+
3614
+ * Added support for layouts using different engines
3615
+ - this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' })
3616
+ - this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml'
3617
+ - this.render('page.html.haml', { layout: false }) // no layout
3618
+ * Updated ext submodule
3619
+ * Updated haml submodule
3620
+ * Fixed EJS partial support by passing along the context. Issue #307
3621
+
3622
+ 0.10.1 / 2010-05-03
3623
+ ==================
3624
+
3625
+ * Fixed binary uploads.
3626
+
3627
+ 0.10.0 / 2010-04-30
3628
+ ==================
3629
+
3630
+ * Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s
3631
+ encoding is set to 'utf8' or 'utf-8').
3632
+ * Added "encoding" option to Request#render(). Closes #299
3633
+ * Added "dump exceptions" setting, which is enabled by default.
3634
+ * Added simple ejs template engine support
3635
+ * Added error response support for text/plain, application/json. Closes #297
3636
+ * Added callback function param to Request#error()
3637
+ * Added Request#sendHead()
3638
+ * Added Request#stream()
3639
+ * Added support for Request#respond(304, null) for empty response bodies
3640
+ * Added ETag support to Request#sendfile()
3641
+ * Added options to Request#sendfile(), passed to fs.createReadStream()
3642
+ * Added filename arg to Request#download()
3643
+ * Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request
3644
+ * Performance enhanced by preventing several calls to toLowerCase() in Router#match()
3645
+ * Changed; Request#sendfile() now streams
3646
+ * Changed; Renamed Request#halt() to Request#respond(). Closes #289
3647
+ * Changed; Using sys.inspect() instead of JSON.encode() for error output
3648
+ * Changed; run() returns the http.Server instance. Closes #298
3649
+ * Changed; Defaulting Server#host to null (INADDR_ANY)
3650
+ * Changed; Logger "common" format scale of 0.4f
3651
+ * Removed Logger "request" format
3652
+ * Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found
3653
+ * Fixed several issues with http client
3654
+ * Fixed Logger Content-Length output
3655
+ * Fixed bug preventing Opera from retaining the generated session id. Closes #292
3656
+
3657
+ 0.9.0 / 2010-04-14
3658
+ ==================
3659
+
3660
+ * Added DSL level error() route support
3661
+ * Added DSL level notFound() route support
3662
+ * Added Request#error()
3663
+ * Added Request#notFound()
3664
+ * Added Request#render() callback function. Closes #258
3665
+ * Added "max upload size" setting
3666
+ * Added "magic" variables to collection partials (\_\_index\_\_, \_\_length\_\_, \_\_isFirst\_\_, \_\_isLast\_\_). Closes #254
3667
+ * Added [haml.js](http://github.com/visionmedia/haml.js) submodule; removed haml-js
3668
+ * Added callback function support to Request#halt() as 3rd/4th arg
3669
+ * Added preprocessing of route param wildcards using param(). Closes #251
3670
+ * Added view partial support (with collections etc.)
3671
+ * Fixed bug preventing falsey params (such as ?page=0). Closes #286
3672
+ * Fixed setting of multiple cookies. Closes #199
3673
+ * Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml)
3674
+ * Changed; session cookie is now httpOnly
3675
+ * Changed; Request is no longer global
3676
+ * Changed; Event is no longer global
3677
+ * Changed; "sys" module is no longer global
3678
+ * Changed; moved Request#download to Static plugin where it belongs
3679
+ * Changed; Request instance created before body parsing. Closes #262
3680
+ * Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253
3681
+ * Changed; Pre-caching view partials in memory when "cache view partials" is enabled
3682
+ * Updated support to node --version 0.1.90
3683
+ * Updated dependencies
3684
+ * Removed set("session cookie") in favour of use(Session, { cookie: { ... }})
3685
+ * Removed utils.mixin(); use Object#mergeDeep()
3686
+
3687
+ 0.8.0 / 2010-03-19
3688
+ ==================
3689
+
3690
+ * Added coffeescript example app. Closes #242
3691
+ * Changed; cache api now async friendly. Closes #240
3692
+ * Removed deprecated 'express/static' support. Use 'express/plugins/static'
3693
+
3694
+ 0.7.6 / 2010-03-19
3695
+ ==================
3696
+
3697
+ * Added Request#isXHR. Closes #229
3698
+ * Added `make install` (for the executable)
3699
+ * Added `express` executable for setting up simple app templates
3700
+ * Added "GET /public/*" to Static plugin, defaulting to <root>/public
3701
+ * Added Static plugin
3702
+ * Fixed; Request#render() only calls cache.get() once
3703
+ * Fixed; Namespacing View caches with "view:"
3704
+ * Fixed; Namespacing Static caches with "static:"
3705
+ * Fixed; Both example apps now use the Static plugin
3706
+ * Fixed set("views"). Closes #239
3707
+ * Fixed missing space for combined log format
3708
+ * Deprecated Request#sendfile() and 'express/static'
3709
+ * Removed Server#running
3710
+
3711
+ 0.7.5 / 2010-03-16
3712
+ ==================
3713
+
3714
+ * Added Request#flash() support without args, now returns all flashes
3715
+ * Updated ext submodule
3716
+
3717
+ 0.7.4 / 2010-03-16
3718
+ ==================
3719
+
3720
+ * Fixed session reaper
3721
+ * Changed; class.js replacing js-oo Class implementation (quite a bit faster, no browser cruft)
3722
+
3723
+ 0.7.3 / 2010-03-16
3724
+ ==================
3725
+
3726
+ * Added package.json
3727
+ * Fixed requiring of haml / sass due to kiwi removal
3728
+
3729
+ 0.7.2 / 2010-03-16
3730
+ ==================
3731
+
3732
+ * Fixed GIT submodules (HAH!)
3733
+
3734
+ 0.7.1 / 2010-03-16
3735
+ ==================
3736
+
3737
+ * Changed; Express now using submodules again until a PM is adopted
3738
+ * Changed; chat example using millisecond conversions from ext
3739
+
3740
+ 0.7.0 / 2010-03-15
3741
+ ==================
3742
+
3743
+ * Added Request#pass() support (finds the next matching route, or the given path)
3744
+ * Added Logger plugin (default "common" format replaces CommonLogger)
3745
+ * Removed Profiler plugin
3746
+ * Removed CommonLogger plugin
3747
+
3748
+ 0.6.0 / 2010-03-11
3749
+ ==================
3750
+
3751
+ * Added seed.yml for kiwi package management support
3752
+ * Added HTTP client query string support when method is GET. Closes #205
3753
+
3754
+ * Added support for arbitrary view engines.
3755
+ For example "foo.engine.html" will now require('engine'),
3756
+ the exports from this module are cached after the first require().
3757
+
3758
+ * Added async plugin support
3759
+
3760
+ * Removed usage of RESTful route funcs as http client
3761
+ get() etc, use http.get() and friends
3762
+
3763
+ * Removed custom exceptions
3764
+
3765
+ 0.5.0 / 2010-03-10
3766
+ ==================
3767
+
3768
+ * Added ext dependency (library of js extensions)
3769
+ * Removed extname() / basename() utils. Use path module
3770
+ * Removed toArray() util. Use arguments.values
3771
+ * Removed escapeRegexp() util. Use RegExp.escape()
3772
+ * Removed process.mixin() dependency. Use utils.mixin()
3773
+ * Removed Collection
3774
+ * Removed ElementCollection
3775
+ * Shameless self promotion of ebook "Advanced JavaScript" (http://dev-mag.com) ;)
3776
+
3777
+ 0.4.0 / 2010-02-11
3778
+ ==================
3779
+
3780
+ * Added flash() example to sample upload app
3781
+ * Added high level restful http client module (express/http)
3782
+ * Changed; RESTful route functions double as HTTP clients. Closes #69
3783
+ * Changed; throwing error when routes are added at runtime
3784
+ * Changed; defaulting render() context to the current Request. Closes #197
3785
+ * Updated haml submodule
3786
+
3787
+ 0.3.0 / 2010-02-11
3788
+ ==================
3789
+
3790
+ * Updated haml / sass submodules. Closes #200
3791
+ * Added flash message support. Closes #64
3792
+ * Added accepts() now allows multiple args. fixes #117
3793
+ * Added support for plugins to halt. Closes #189
3794
+ * Added alternate layout support. Closes #119
3795
+ * Removed Route#run(). Closes #188
3796
+ * Fixed broken specs due to use(Cookie) missing
3797
+
3798
+ 0.2.1 / 2010-02-05
3799
+ ==================
3800
+
3801
+ * Added "plot" format option for Profiler (for gnuplot processing)
3802
+ * Added request number to Profiler plugin
3803
+ * Fixed binary encoding for multipart file uploads, was previously defaulting to UTF8
3804
+ * Fixed issue with routes not firing when not files are present. Closes #184
3805
+ * Fixed process.Promise -> events.Promise
3806
+
3807
+ 0.2.0 / 2010-02-03
3808
+ ==================
3809
+
3810
+ * Added parseParam() support for name[] etc. (allows for file inputs with "multiple" attr) Closes #180
3811
+ * Added Both Cache and Session option "reapInterval" may be "reapEvery". Closes #174
3812
+ * Added expiration support to cache api with reaper. Closes #133
3813
+ * Added cache Store.Memory#reap()
3814
+ * Added Cache; cache api now uses first class Cache instances
3815
+ * Added abstract session Store. Closes #172
3816
+ * Changed; cache Memory.Store#get() utilizing Collection
3817
+ * Renamed MemoryStore -> Store.Memory
3818
+ * Fixed use() of the same plugin several time will always use latest options. Closes #176
3819
+
3820
+ 0.1.0 / 2010-02-03
3821
+ ==================
3822
+
3823
+ * Changed; Hooks (before / after) pass request as arg as well as evaluated in their context
3824
+ * Updated node support to 0.1.27 Closes #169
3825
+ * Updated dirname(__filename) -> __dirname
3826
+ * Updated libxmljs support to v0.2.0
3827
+ * Added session support with memory store / reaping
3828
+ * Added quick uid() helper
3829
+ * Added multi-part upload support
3830
+ * Added Sass.js support / submodule
3831
+ * Added production env caching view contents and static files
3832
+ * Added static file caching. Closes #136
3833
+ * Added cache plugin with memory stores
3834
+ * Added support to StaticFile so that it works with non-textual files.
3835
+ * Removed dirname() helper
3836
+ * Removed several globals (now their modules must be required)
3837
+
3838
+ 0.0.2 / 2010-01-10
3839
+ ==================
3840
+
3841
+ * Added view benchmarks; currently haml vs ejs
3842
+ * Added Request#attachment() specs. Closes #116
3843
+ * Added use of node's parseQuery() util. Closes #123
3844
+ * Added `make init` for submodules
3845
+ * Updated Haml
3846
+ * Updated sample chat app to show messages on load
3847
+ * Updated libxmljs parseString -> parseHtmlString
3848
+ * Fixed `make init` to work with older versions of git
3849
+ * Fixed specs can now run independent specs for those who can't build deps. Closes #127
3850
+ * Fixed issues introduced by the node url module changes. Closes 126.
3851
+ * Fixed two assertions failing due to Collection#keys() returning strings
3852
+ * Fixed faulty Collection#toArray() spec due to keys() returning strings
3853
+ * Fixed `make test` now builds libxmljs.node before testing
3854
+
3855
+ 0.0.1 / 2010-01-03
3856
+ ==================
3857
+
3858
+ * Initial release