HISTORY.md (12643B)
1 0.17.1 / 2019-05-10 2 =================== 3 4 * Set stricter CSP header in redirect & error responses 5 * deps: range-parser@~1.2.1 6 7 0.17.0 / 2019-05-03 8 =================== 9 10 * deps: http-errors@~1.7.2 11 - Set constructor name when possible 12 - Use `toidentifier` module to make class names 13 - deps: depd@~1.1.2 14 - deps: setprototypeof@1.1.1 15 - deps: statuses@'>= 1.5.0 < 2' 16 * deps: mime@1.6.0 17 - Add extensions for JPEG-2000 images 18 - Add new `font/*` types from IANA 19 - Add WASM mapping 20 - Update `.bdoc` to `application/bdoc` 21 - Update `.bmp` to `image/bmp` 22 - Update `.m4a` to `audio/mp4` 23 - Update `.rtf` to `application/rtf` 24 - Update `.wav` to `audio/wav` 25 - Update `.xml` to `application/xml` 26 - Update generic extensions to `application/octet-stream`: 27 `.deb`, `.dll`, `.dmg`, `.exe`, `.iso`, `.msi` 28 - Use mime-score module to resolve extension conflicts 29 * deps: ms@2.1.1 30 - Add `week`/`w` support 31 - Fix negative number handling 32 * deps: statuses@~1.5.0 33 * perf: remove redundant `path.normalize` call 34 35 0.16.2 / 2018-02-07 36 =================== 37 38 * Fix incorrect end tag in default error & redirects 39 * deps: depd@~1.1.2 40 - perf: remove argument reassignment 41 * deps: encodeurl@~1.0.2 42 - Fix encoding `%` as last character 43 * deps: statuses@~1.4.0 44 45 0.16.1 / 2017-09-29 46 =================== 47 48 * Fix regression in edge-case behavior for empty `path` 49 50 0.16.0 / 2017-09-27 51 =================== 52 53 * Add `immutable` option 54 * Fix missing `</html>` in default error & redirects 55 * Use instance methods on steam to check for listeners 56 * deps: mime@1.4.1 57 - Add 70 new types for file extensions 58 - Set charset as "UTF-8" for .js and .json 59 * perf: improve path validation speed 60 61 0.15.6 / 2017-09-22 62 =================== 63 64 * deps: debug@2.6.9 65 * perf: improve `If-Match` token parsing 66 67 0.15.5 / 2017-09-20 68 =================== 69 70 * deps: etag@~1.8.1 71 - perf: replace regular expression with substring 72 * deps: fresh@0.5.2 73 - Fix handling of modified headers with invalid dates 74 - perf: improve ETag match loop 75 - perf: improve `If-None-Match` token parsing 76 77 0.15.4 / 2017-08-05 78 =================== 79 80 * deps: debug@2.6.8 81 * deps: depd@~1.1.1 82 - Remove unnecessary `Buffer` loading 83 * deps: http-errors@~1.6.2 84 - deps: depd@1.1.1 85 86 0.15.3 / 2017-05-16 87 =================== 88 89 * deps: debug@2.6.7 90 - deps: ms@2.0.0 91 * deps: ms@2.0.0 92 93 0.15.2 / 2017-04-26 94 =================== 95 96 * deps: debug@2.6.4 97 - Fix `DEBUG_MAX_ARRAY_LENGTH` 98 - deps: ms@0.7.3 99 * deps: ms@1.0.0 100 101 0.15.1 / 2017-03-04 102 =================== 103 104 * Fix issue when `Date.parse` does not return `NaN` on invalid date 105 * Fix strict violation in broken environments 106 107 0.15.0 / 2017-02-25 108 =================== 109 110 * Support `If-Match` and `If-Unmodified-Since` headers 111 * Add `res` and `path` arguments to `directory` event 112 * Remove usage of `res._headers` private field 113 - Improves compatibility with Node.js 8 nightly 114 * Send complete HTML document in redirect & error responses 115 * Set default CSP header in redirect & error responses 116 * Use `res.getHeaderNames()` when available 117 * Use `res.headersSent` when available 118 * deps: debug@2.6.1 119 - Allow colors in workers 120 - Deprecated `DEBUG_FD` environment variable set to `3` or higher 121 - Fix error when running under React Native 122 - Use same color for same namespace 123 - deps: ms@0.7.2 124 * deps: etag@~1.8.0 125 * deps: fresh@0.5.0 126 - Fix false detection of `no-cache` request directive 127 - Fix incorrect result when `If-None-Match` has both `*` and ETags 128 - Fix weak `ETag` matching to match spec 129 - perf: delay reading header values until needed 130 - perf: enable strict mode 131 - perf: hoist regular expressions 132 - perf: remove duplicate conditional 133 - perf: remove unnecessary boolean coercions 134 - perf: skip checking modified time if ETag check failed 135 - perf: skip parsing `If-None-Match` when no `ETag` header 136 - perf: use `Date.parse` instead of `new Date` 137 * deps: http-errors@~1.6.1 138 - Make `message` property enumerable for `HttpError`s 139 - deps: setprototypeof@1.0.3 140 141 0.14.2 / 2017-01-23 142 =================== 143 144 * deps: http-errors@~1.5.1 145 - deps: inherits@2.0.3 146 - deps: setprototypeof@1.0.2 147 - deps: statuses@'>= 1.3.1 < 2' 148 * deps: ms@0.7.2 149 * deps: statuses@~1.3.1 150 151 0.14.1 / 2016-06-09 152 =================== 153 154 * Fix redirect error when `path` contains raw non-URL characters 155 * Fix redirect when `path` starts with multiple forward slashes 156 157 0.14.0 / 2016-06-06 158 =================== 159 160 * Add `acceptRanges` option 161 * Add `cacheControl` option 162 * Attempt to combine multiple ranges into single range 163 * Correctly inherit from `Stream` class 164 * Fix `Content-Range` header in 416 responses when using `start`/`end` options 165 * Fix `Content-Range` header missing from default 416 responses 166 * Ignore non-byte `Range` headers 167 * deps: http-errors@~1.5.0 168 - Add `HttpError` export, for `err instanceof createError.HttpError` 169 - Support new code `421 Misdirected Request` 170 - Use `setprototypeof` module to replace `__proto__` setting 171 - deps: inherits@2.0.1 172 - deps: statuses@'>= 1.3.0 < 2' 173 - perf: enable strict mode 174 * deps: range-parser@~1.2.0 175 - Fix incorrectly returning -1 when there is at least one valid range 176 - perf: remove internal function 177 * deps: statuses@~1.3.0 178 - Add `421 Misdirected Request` 179 - perf: enable strict mode 180 * perf: remove argument reassignment 181 182 0.13.2 / 2016-03-05 183 =================== 184 185 * Fix invalid `Content-Type` header when `send.mime.default_type` unset 186 187 0.13.1 / 2016-01-16 188 =================== 189 190 * deps: depd@~1.1.0 191 - Support web browser loading 192 - perf: enable strict mode 193 * deps: destroy@~1.0.4 194 - perf: enable strict mode 195 * deps: escape-html@~1.0.3 196 - perf: enable strict mode 197 - perf: optimize string replacement 198 - perf: use faster string coercion 199 * deps: range-parser@~1.0.3 200 - perf: enable strict mode 201 202 0.13.0 / 2015-06-16 203 =================== 204 205 * Allow Node.js HTTP server to set `Date` response header 206 * Fix incorrectly removing `Content-Location` on 304 response 207 * Improve the default redirect response headers 208 * Send appropriate headers on default error response 209 * Use `http-errors` for standard emitted errors 210 * Use `statuses` instead of `http` module for status messages 211 * deps: escape-html@1.0.2 212 * deps: etag@~1.7.0 213 - Improve stat performance by removing hashing 214 * deps: fresh@0.3.0 215 - Add weak `ETag` matching support 216 * deps: on-finished@~2.3.0 217 - Add defined behavior for HTTP `CONNECT` requests 218 - Add defined behavior for HTTP `Upgrade` requests 219 - deps: ee-first@1.1.1 220 * perf: enable strict mode 221 * perf: remove unnecessary array allocations 222 223 0.12.3 / 2015-05-13 224 =================== 225 226 * deps: debug@~2.2.0 227 - deps: ms@0.7.1 228 * deps: depd@~1.0.1 229 * deps: etag@~1.6.0 230 - Improve support for JXcore 231 - Support "fake" stats objects in environments without `fs` 232 * deps: ms@0.7.1 233 - Prevent extraordinarily long inputs 234 * deps: on-finished@~2.2.1 235 236 0.12.2 / 2015-03-13 237 =================== 238 239 * Throw errors early for invalid `extensions` or `index` options 240 * deps: debug@~2.1.3 241 - Fix high intensity foreground color for bold 242 - deps: ms@0.7.0 243 244 0.12.1 / 2015-02-17 245 =================== 246 247 * Fix regression sending zero-length files 248 249 0.12.0 / 2015-02-16 250 =================== 251 252 * Always read the stat size from the file 253 * Fix mutating passed-in `options` 254 * deps: mime@1.3.4 255 256 0.11.1 / 2015-01-20 257 =================== 258 259 * Fix `root` path disclosure 260 261 0.11.0 / 2015-01-05 262 =================== 263 264 * deps: debug@~2.1.1 265 * deps: etag@~1.5.1 266 - deps: crc@3.2.1 267 * deps: ms@0.7.0 268 - Add `milliseconds` 269 - Add `msecs` 270 - Add `secs` 271 - Add `mins` 272 - Add `hrs` 273 - Add `yrs` 274 * deps: on-finished@~2.2.0 275 276 0.10.1 / 2014-10-22 277 =================== 278 279 * deps: on-finished@~2.1.1 280 - Fix handling of pipelined requests 281 282 0.10.0 / 2014-10-15 283 =================== 284 285 * deps: debug@~2.1.0 286 - Implement `DEBUG_FD` env variable support 287 * deps: depd@~1.0.0 288 * deps: etag@~1.5.0 289 - Improve string performance 290 - Slightly improve speed for weak ETags over 1KB 291 292 0.9.3 / 2014-09-24 293 ================== 294 295 * deps: etag@~1.4.0 296 - Support "fake" stats objects 297 298 0.9.2 / 2014-09-15 299 ================== 300 301 * deps: depd@0.4.5 302 * deps: etag@~1.3.1 303 * deps: range-parser@~1.0.2 304 305 0.9.1 / 2014-09-07 306 ================== 307 308 * deps: fresh@0.2.4 309 310 0.9.0 / 2014-09-07 311 ================== 312 313 * Add `lastModified` option 314 * Use `etag` to generate `ETag` header 315 * deps: debug@~2.0.0 316 317 0.8.5 / 2014-09-04 318 ================== 319 320 * Fix malicious path detection for empty string path 321 322 0.8.4 / 2014-09-04 323 ================== 324 325 * Fix a path traversal issue when using `root` 326 327 0.8.3 / 2014-08-16 328 ================== 329 330 * deps: destroy@1.0.3 331 - renamed from dethroy 332 * deps: on-finished@2.1.0 333 334 0.8.2 / 2014-08-14 335 ================== 336 337 * Work around `fd` leak in Node.js 0.10 for `fs.ReadStream` 338 * deps: dethroy@1.0.2 339 340 0.8.1 / 2014-08-05 341 ================== 342 343 * Fix `extensions` behavior when file already has extension 344 345 0.8.0 / 2014-08-05 346 ================== 347 348 * Add `extensions` option 349 350 0.7.4 / 2014-08-04 351 ================== 352 353 * Fix serving index files without root dir 354 355 0.7.3 / 2014-07-29 356 ================== 357 358 * Fix incorrect 403 on Windows and Node.js 0.11 359 360 0.7.2 / 2014-07-27 361 ================== 362 363 * deps: depd@0.4.4 364 - Work-around v8 generating empty stack traces 365 366 0.7.1 / 2014-07-26 367 ================== 368 369 * deps: depd@0.4.3 370 - Fix exception when global `Error.stackTraceLimit` is too low 371 372 0.7.0 / 2014-07-20 373 ================== 374 375 * Deprecate `hidden` option; use `dotfiles` option 376 * Add `dotfiles` option 377 * deps: debug@1.0.4 378 * deps: depd@0.4.2 379 - Add `TRACE_DEPRECATION` environment variable 380 - Remove non-standard grey color from color output 381 - Support `--no-deprecation` argument 382 - Support `--trace-deprecation` argument 383 384 0.6.0 / 2014-07-11 385 ================== 386 387 * Deprecate `from` option; use `root` option 388 * Deprecate `send.etag()` -- use `etag` in `options` 389 * Deprecate `send.hidden()` -- use `hidden` in `options` 390 * Deprecate `send.index()` -- use `index` in `options` 391 * Deprecate `send.maxage()` -- use `maxAge` in `options` 392 * Deprecate `send.root()` -- use `root` in `options` 393 * Cap `maxAge` value to 1 year 394 * deps: debug@1.0.3 395 - Add support for multiple wildcards in namespaces 396 397 0.5.0 / 2014-06-28 398 ================== 399 400 * Accept string for `maxAge` (converted by `ms`) 401 * Add `headers` event 402 * Include link in default redirect response 403 * Use `EventEmitter.listenerCount` to count listeners 404 405 0.4.3 / 2014-06-11 406 ================== 407 408 * Do not throw un-catchable error on file open race condition 409 * Use `escape-html` for HTML escaping 410 * deps: debug@1.0.2 411 - fix some debugging output colors on node.js 0.8 412 * deps: finished@1.2.2 413 * deps: fresh@0.2.2 414 415 0.4.2 / 2014-06-09 416 ================== 417 418 * fix "event emitter leak" warnings 419 * deps: debug@1.0.1 420 * deps: finished@1.2.1 421 422 0.4.1 / 2014-06-02 423 ================== 424 425 * Send `max-age` in `Cache-Control` in correct format 426 427 0.4.0 / 2014-05-27 428 ================== 429 430 * Calculate ETag with md5 for reduced collisions 431 * Fix wrong behavior when index file matches directory 432 * Ignore stream errors after request ends 433 - Goodbye `EBADF, read` 434 * Skip directories in index file search 435 * deps: debug@0.8.1 436 437 0.3.0 / 2014-04-24 438 ================== 439 440 * Fix sending files with dots without root set 441 * Coerce option types 442 * Accept API options in options object 443 * Set etags to "weak" 444 * Include file path in etag 445 * Make "Can't set headers after they are sent." catchable 446 * Send full entity-body for multi range requests 447 * Default directory access to 403 when index disabled 448 * Support multiple index paths 449 * Support "If-Range" header 450 * Control whether to generate etags 451 * deps: mime@1.2.11 452 453 0.2.0 / 2014-01-29 454 ================== 455 456 * update range-parser and fresh 457 458 0.1.4 / 2013-08-11 459 ================== 460 461 * update fresh 462 463 0.1.3 / 2013-07-08 464 ================== 465 466 * Revert "Fix fd leak" 467 468 0.1.2 / 2013-07-03 469 ================== 470 471 * Fix fd leak 472 473 0.1.0 / 2012-08-25 474 ================== 475 476 * add options parameter to send() that is passed to fs.createReadStream() [kanongil] 477 478 0.0.4 / 2012-08-16 479 ================== 480 481 * allow custom "Accept-Ranges" definition 482 483 0.0.3 / 2012-07-16 484 ================== 485 486 * fix normalization of the root directory. Closes #3 487 488 0.0.2 / 2012-07-09 489 ================== 490 491 * add passing of req explicitly for now (YUCK) 492 493 0.0.1 / 2010-01-03 494 ================== 495 496 * Initial release