Skip to content

Latest commit

 

History

History
2480 lines (1420 loc) · 129 KB

CHANGELOG.md

File metadata and controls

2480 lines (1420 loc) · 129 KB

Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by auto-changelog.

  • Bump rollup from 4.21.1 to 4.21.2 #139
  • Fixing 'stream()' when setting 'etag' header b5b5f61

31 August 2024

  • Decorating 'req.valid', updating README.md a3b1ace
  • Generating CHANGELOG.md 30bdc34

31 August 2024

  • Creating 'stream' event and moving 'stream()' into 'Woodland' class 8aa99f5
  • Reformatting code 22946d4
  • Generated CHANGELOG.md d14d3d6

31 August 2024

  • Moving response logging to a 'close' event handler c7038ba
  • Generated CHANGELOG.md 139b05e

28 August 2024

28 August 2024

28 August 2024

  • Re-enabling primitives as routes 028a5c6
  • Generated CHANGELOG.md 52b6528

28 August 2024

28 August 2024

  • Fixing identification of 'req.exit' and renaming it from 'req.last' which is incorrect behavior a6e0bfd
  • Generated CHANGELOG.md c465f36
  • Missed in previous commit 7ddffb0

28 August 2024

  • Bump rollup from 4.21.0 to 4.21.1 #138
  • Bump eslint from 9.9.0 to 9.9.1 #137
  • Bump husky from 9.1.4 to 9.1.5 #136
  • Bump rollup from 4.20.0 to 4.21.0 #135
  • Bump eslint from 9.8.0 to 9.9.0 #134
  • Bump mocha from 10.7.0 to 10.7.3 #133
  • Fixing late logging in 'serve()' 82d307f
  • Generated CHANGELOG.md 3857232

5 August 2024

5 August 2024

  • Bump rollup from 4.19.2 to 4.20.0 #132
  • Bump rollup from 4.19.1 to 4.19.2 #131
  • Bump husky from 9.1.3 to 9.1.4 #130
  • Bump eslint from 9.7.0 to 9.8.0 #129
  • Bump husky from 9.1.2 to 9.1.3 #128
  • Bump rollup from 4.19.0 to 4.19.1 #127
  • Bump husky from 9.1.1 to 9.1.2 #126
  • Removing code that can't be reached e82b7db
  • Renaming 'staticFiles()' to 'files()' and 'on*' to pascal case 78edeb3
  • Removing 304 response logic from 'stream()' 0de7ba8

24 July 2024

  • Fixing a regression for 'cli' instance 7a2bf7b
  • Generated CHANGELOG.md 3f12ef4

24 July 2024

24 July 2024

  • Fix static files #125
  • Version bump, generated CHANGELOG.md c25a0d6

24 July 2024

  • Updating package.json 'files' f7f4818
  • Generated CHANGELOG.md 3799333

24 July 2024

  • Bump typescript from 5.5.3 to 5.5.4 #124
  • Bump rollup from 4.18.1 to 4.19.0 #123
  • Bump mocha from 10.6.0 to 10.7.0 #122
  • Bump husky from 9.1.0 to 9.1.1 #121
  • Bump husky from 9.0.11 to 9.1.0 #120
  • Bump eslint from 9.6.0 to 9.7.0 #119
  • Bump rollup from 4.18.0 to 4.18.1 #117
  • Bump tiny-lru from 11.2.6 to 11.2.11 #116
  • Bump mocha from 10.5.2 to 10.6.0 #115
  • Bump typescript from 5.5.2 to 5.5.3 #114
  • Bump eslint from 9.5.0 to 9.6.0 #113
  • Bump mocha from 10.5.1 to 10.5.2 #112
  • Bump mocha from 10.5.0 to 10.5.1 #111
  • Bump mocha from 10.4.0 to 10.5.0 #110
  • Bump typescript from 5.4.5 to 5.5.2 #109
  • Updating tests to handle RFC 9239, updating dependencies 0ed16b1
  • Generated CHANGELOG.md f811b05

18 June 2024

  • Bump braces from 3.0.2 to 3.0.3 #107
  • Bump nyc from 15.1.0 to 17.0.0 #106
  • Bump rollup from 4.17.2 to 4.18.0 #104
  • Bump rollup from 4.17.1 to 4.17.2 #101
  • Bump rollup from 4.17.0 to 4.17.1 #100
  • Bump rollup from 4.16.4 to 4.17.0 #99
  • Bump rollup from 4.16.2 to 4.16.4 #98
  • Bump rollup from 4.16.1 to 4.16.2 #96
  • Bump rollup from 4.14.3 to 4.16.1 #94
  • Bump tiny-lru from 11.2.5 to 11.2.6 #93
  • Bump rollup from 4.14.2 to 4.14.3 #92
  • Bump rollup from 4.14.1 to 4.14.2 #91
  • Bump typescript from 5.4.4 to 5.4.5 #90
  • Bump rollup from 4.14.0 to 4.14.1 #89
  • Bump typescript from 5.4.3 to 5.4.4 #87
  • Bump rollup from 4.13.2 to 4.14.0 #86
  • Bump rollup from 4.13.1 to 4.13.2 #85
  • Bump rollup from 4.13.0 to 4.13.1 #84
  • Bump mocha from 10.3.0 to 10.4.0 #83
  • Bump typescript from 5.4.2 to 5.4.3 #82
  • Bump rollup from 4.12.1 to 4.13.0 #81
  • Bump typescript from 5.3.3 to 5.4.2 #80
  • Bump rollup from 4.12.0 to 4.12.1 #79
  • Bump eslint from 8.56.0 to 8.57.0 #78
  • Bump rollup from 4.11.0 to 4.12.0 #77
  • Bump rollup from 4.10.0 to 4.11.0 #76
  • Bump husky from 9.0.10 to 9.0.11 #75
  • Bump autocannon from 7.14.0 to 7.15.0 #74
  • Bump rollup from 4.9.6 to 4.10.0 #73
  • Bump mocha from 10.2.0 to 10.3.0 #72
  • Bump husky from 9.0.7 to 9.0.10 #71
  • Bump husky from 9.0.6 to 9.0.7 #70
  • Bump husky from 8.0.3 to 9.0.6 #69
  • Bump rollup from 4.9.5 to 4.9.6 #68
  • Bump tiny-httptest from 4.0.9 to 4.0.11 #67
  • Bump rollup from 4.9.4 to 4.9.5 #66
  • Bump rollup from 4.9.2 to 4.9.4 #65
  • Bump rollup from 4.9.1 to 4.9.2 #64
  • Updating dependencies & copyrights 92e14c6
  • Generated CHANGELOG.md 5988fbd

28 December 2023

  • Generated CHANGELOG.md 8e757ae
  • Replacing strings with constants 15a3234

27 December 2023

  • Generating CHANGELOG.md 0da1c05
  • Specifying the logging level of the cli script logged line b01c11e

27 December 2023

  • Updating dependencies, generating types 985af8c
  • Generating CHANGELOG.md 4e91173

27 December 2023

  • Bump eslint from 8.55.0 to 8.56.0 #63
  • Bump rollup from 4.9.0 to 4.9.1 #62
  • Replacing ints with constants, updating cli script to use app.log() and nullish coalescing 3b762b0
  • Version bump, generating CHANGELOG.md 0753827

15 December 2023

  • Updating routing #61
  • Bump rollup from 4.8.0 to 4.9.0 #60
  • Bump rollup from 4.7.0 to 4.8.0 #59
  • Bump rollup from 4.6.1 to 4.7.0 #58
  • Bump typescript from 5.3.2 to 5.3.3 #57
  • Bump eslint from 8.54.0 to 8.55.0 #56
  • Bump rollup from 4.6.0 to 4.6.1 #55
  • Bump rollup from 4.5.1 to 4.6.0 #54
  • Bump autocannon from 7.12.0 to 7.14.0 #53
  • Bump rollup from 4.5.0 to 4.5.1 #52
  • Bump typescript from 5.2.2 to 5.3.2 #51
  • Bump rollup from 4.4.1 to 4.5.0 #50
  • Bump eslint from 8.53.0 to 8.54.0 #49
  • Bump rollup from 4.4.0 to 4.4.1 #48
  • Bump rollup from 4.3.0 to 4.4.0 #47
  • Bump tiny-httptest from 4.0.8 to 4.0.9 #46
  • Bump tiny-coerce from 3.0.1 to 3.0.2 #45
  • Bump eslint from 8.52.0 to 8.53.0 #44
  • Bump rollup from 4.2.0 to 4.3.0 #43
  • Bump tiny-httptest from 4.0.7 to 4.0.8 #42
  • Bump rollup from 4.1.5 to 4.2.0 #41
  • Bump actions/setup-node from 3 to 4 #40
  • Bump rollup from 4.1.4 to 4.1.5 #39
  • Bump tiny-lru from 11.2.3 to 11.2.5 #38
  • Bump eslint from 8.51.0 to 8.52.0 #37
  • Using named groups to extract params 40cd128
  • Moving the op back where it should be 86a6b85
  • Creating staticFiles() which takes a path input to simplify using serve() 8463608

20 October 2023

  • Bump concurrently from 8.2.1 to 8.2.2 #36
  • Bump @babel/traverse from 7.23.0 to 7.23.2 #35
  • Bump rollup from 4.1.3 to 4.1.4 #34
  • Bump rollup from 4.0.2 to 4.1.3 #33
  • Bump tiny-etag from 4.0.4 to 4.0.5 #32
  • Moving cli.js into ./src, removing ./sample.js and sample npm script 1405177
  • Updating types 2cd245c
  • Generating CHANGELOG.md f08de7b

11 October 2023

  • Fixing constructor() such that it won't override defaultHeaders.server 009d0da
  • Generating CHANGELOG.md 7f8b71b

11 October 2023

  • Fixing ondone() such that it doesn't set CONTENT_LENGTH header if res.statusCode is 204 or 304, updating redirect() to use 307 & 308 http status codes, adding a test for temporary redirects 2a870a6
  • Version bump to release 7ec13e1
  • Generating CHANGELOG.md 00efa81

11 October 2023

  • Adding silent to config options to disable identifying headers, adding server & x-powered-by headers 4d8991e
  • Re-hooking onready() and log() within the refactored error() 42ae2de
  • Generating CHANGELOG.md 3a7aacc

10 October 2023

10 October 2023

10 October 2023

10 October 2023

  • Creating decoratorSet() to decorate res.set() for better interop with express middleware & adding a test, updating README.md, updating decorators 91a33f3
  • Generated CHANGELOG.md eccc701

10 October 2023

10 October 2023

  • Rewriting serve() to be async and easier to read cd436d4
  • Generated CHANGELOG.md ff4a518

10 October 2023

  • Fixing broken error handling #31
  • Removing an error message, replacing last() with getStatus(), working through some bugs (WIP) ba71f8e
  • Fixing getStatus() by adding res parameter for a ternary, updating README.md 0289c55
  • Adjusting logging for routing a967135

10 October 2023

10 October 2023

  • Updating dependencies & build script 8fbbc11
  • Generating CHANGELOG.md 7f9159f
  • Setting extension of main to .cjs for deprecated tooling b495f3c

9 October 2023

9 October 2023

  • Removing dupe constant ALL of WILDCARD 72466be

9 October 2023

  • Re-arranging constants into alphabetical order, fixing the name of two constants, removing an unused constant, moving ip() to alphabetical spot 4d14e3a
  • Generated CHANGELOG.md 30eb614

9 October 2023

9 October 2023

  • Disabling etags in benchmark & updating README.md, version bump to release 813fbc6
  • Generated CHANGELOG.md 36cb9f6
  • Updating README.md 2bb096b

7 October 2023

7 October 2023

7 October 2023

  • Removing the dependency on abandoned module; pretty easy to replace inline 8731847
  • Generated CHANGELOG.md 74fb831

7 October 2023

  • Fixing a missing dependency in the wild 8c31ec7
  • Generated CHANGELOG.md c94682b

7 October 2023

7 October 2023

7 October 2023

  • Updating and fixing some rough spots #30
  • Bump word-wrap from 1.2.3 to 1.2.4 #29
  • Bump json5 from 2.2.1 to 2.2.3 #28
  • Updating dependencies d8f4d3c
  • Adding more constants, implementing the constants, updating dependencies, fixing lint errors 5584a34
  • Adding a 404 CORS test, using constants in tests be07585

27 October 2022

  • Updating dependencies 88db535
  • Updating dependencies ac236ea
  • Updating benchmark section of README.md 95b4e86

24 September 2022

  • Fixing package.json files value, generating types files b6f5dbf
  • Building outputs 932abb0

24 September 2022

4 January 2021

  • Updating CHANGELOG.md 499cd17
  • Version bump because npm has a cache issue 1c83206

4 January 2021

  • Updating CHANGELOG.md 4e64043
  • Removing an erroneous res.header() within error() 9dfc3a5

4 January 2021

  • Moving autoindex() & mime() into utility.js, moving all & delimiter into constants.js, updating code coverage in README.md 54d9415
  • Updating CHANGELOG.md 02af695

2 January 2021

  • Creating corsExpose for access-control-${req.method === "OPTIONS" ? "allow" : "expose"}-headers 695ea17
  • Updating CHANGELOG.md 69b4e37

2 January 2021

  • Updating CHANGELOG.md bf55c39
  • Version bump for npm cache error 624a8c0

2 January 2021

  • Fixing route() by calling res.error() with current state from e() 6d18244
  • Updating CHANGELOG.md 46df6a9

2 January 2021

  • Fixing error() by overriding output.message when err is numeric (message is status code) 87bb496
  • Updating CHANGELOG.md 89279c2

2 January 2021

  • Creating sendError configuration option to pass err from error() to res.send() 22412a3
  • Updating CHANGELOG.md cc2feb8
  • Updating cover coverage in README.md f7679ad

2 January 2021

  • Setting res.statusCode from error(), conditionally setting x-response-time response header from res.send() eb9c9db
  • Updating CHANGELOG.md 3ec3469
  • Updating CHANGELOG.md d074291

2 January 2021

  • Setting content-type header within error() instead of passing it to send() which is a coherence issue for onsend() 305f4aa

2 January 2021

  • Updating CHANGELOG.md 9da80f8
  • Removing unwanted header value from error() d6cad6e

2 January 2021

2 January 2021

  • Removing send event & replacing with onsend(req, res, body, status, headers) to customize the response by returning [body, status, headers] - event cannot mutate body if the variable type changes e086815
  • Updating CHANGELOG.md a9f1ab9
  • Missed lock file in last commit 50585e1

2 January 2021

  • Changing cli.js to default to --ip=127.0.0.1 to minimize security concerns out of the box, tweaking log line from cli.js d8c7cae
  • Updating CHANGELOG.md 91c101e

2 January 2021

  • Changing default log format back to Common Log Format for default light logging 8c0d3d4
  • Updating CHANGELOG.md 4438878

2 January 2021

  • Tuning log format, updating README.md e69856e
  • Updating CHANGELOG.md 79db612

2 January 2021

  • Updating CHANGELOG.md 1c74e46
  • Version bump to roll README.md on npm 57a4db2

2 January 2021

2 January 2021

  • Optimizing clf() by externalizing sub functions for caching b07c7c7
  • Updating CHANGELOG.md dc0aa19

2 January 2021

  • Fixing res.send() by passing this.charset to res.end() for partial responses, updating README.md 41ca640
  • Updating README.md 226bdad
  • Updating CHANGELOG.md 8b6fab3

1 January 2021

1 January 2021

  • Adding debug level logging, updating sample.js with debug log level, updating README.md (code coverage) 0fc2eec
  • Updating CHANGELOG.md 33cc466
  • Version bump to release 7021ff9

1 January 2021

1 January 2021

1 January 2021

  • Fixing call to log() within res.send() 21cb8ab
  • Updating CHANGELOG.md dff5d9a

1 January 2021

  • Creating log() with logging{} configuration on instance, re-ordering methods, updating sample.js, updating README.md a687dd0
  • Updating sample.js 14ac5ba
  • Updating CHANGELOG.md 4f6a934

1 January 2021

1 January 2021

  • Removing unneeded third argument of serve() in cli.js 731e0de
  • Updating CHANGELOG.md acdf5a8

1 January 2021

  • Minor change to cli.js such that using substring() instead of replace(), updating homepage value in package.json 9c1d500
  • Updating CHANGELOG.md, LICENSE, & README.md b2d5896

31 December 2020

  • Fixing benchmark output regression (sigh) 9f497b6
  • Updating CHANGELOG.md bd9e7da

31 December 2020

  • Moving stdout filtering to where it makes sense 951c4ec
  • Updating CHANGELOG.md 20f5cf3

31 December 2020

  • Fixing lint error in benchmark.js c69f4dc
  • Updating CHANGELOG.md 76af4c6

31 December 2020

31 December 2020

  • Creating benchmark.js script to run benchmarks directory contents & report results 650f278
  • Updating CHANGELOG.md 973a176

31 December 2020

  • Updating ignore files, fixing serve() such that it decodes encoded URIs (directories, etc.) d35cd51
  • Updating CHANGELOG.md 3a5217d

31 December 2020

  • Code Coverage #24
  • Adding nyc as a dev dependency & coverage script 2f4217b
  • Removing toxic phrasing from /lib/utility.js, fixing allows() to be correct for routes that have a listener for every method 8f4b27b
  • Tweaking serve() to get more coverage 1bad3e6

30 December 2020

30 December 2020

  • Creating bin entry in package.json, creating cli.js, updating README.md 3709ab6
  • Updating CHANGELOG.md 84889e4
  • Passing ip as second argument for listen() 2d66660

30 December 2020

30 December 2020

  • Changing error handling within serve() to wrap autoindex() only 04ac462
  • Updating CHANGELOG.md 45f8265

30 December 2020

  • Sending charset with res.end(), updating README.md 37f361d
  • Updating CHANGELOG.md 7df3ec5
  • Updating CHANGELOG.md 623069f

30 December 2020

  • Adding benchmark script & updating README.md 06d5efb
  • Adding benchmark for http, updating README.md e4aba10
  • Updating CHANGELOG.md 0e49831

30 December 2020

  • Externalizing serve() template into /tpl, creating autoindex(), adding CSS to auto index template b6c89f4
  • Moving error handling out of autoindex() for proper error response 61de7cc

29 December 2020

29 December 2020

29 December 2020

28 December 2020

  • Renaming static() to serve() & changing the third parameter to be local file path, adding autoindex to enable folder browsing & traversal, adding time to enable automatic x-response-time response header value, updating sample.js, updating README.md 82bddc9
  • Updating CHANGELOG.md 1555f4c

28 December 2020

  • Changing response message of an OPTIONS request to a file on disk 172ddac
  • Updating package.description value 0276a2d

28 December 2020

  • Updating how req.params values are assigned by executing decodeURIComponent() before coercion 477fcff
  • Updating CHANGELOG.md 0077d38

28 December 2020

  • Setting content-length response header when absent, updating sample.js with error route a7a5340
  • Updating CHANGELOG.md a4963c7
  • Updating CHANGELOG.md 5e96f42

28 December 2020

  • Updating decorate() decoration of req.allow such that an empty string is possible, refactoring to not rely on events, rewriting res.error() to contain all concerns 55b7f79
  • Updating etag middleware 5118841
  • Moving event emission into error() from res.error() 4b849cb

26 December 2020

  • Updating CHANGELOG.md 9f74774
  • Removing unused ms() utility function, updating order of imports 7283338
  • Updating CHANGELOG.md acd9b06

26 December 2020

  • Refining concerns #23
  • Creating static() & related functions (rewritten from tenso), moving argument concerns into class constructor (WIP) 3aa9b5a
  • Working out stream(), creating etag(), adding tests 24fa244
  • Fixing range handling within stream() & adding a test 950e4fa

26 December 2020

  • Fixing route() such that result.params is evaluated correctly 489a29a
  • Updating eslint rules to 2020 syntax dc12ace

23 December 2020

  • Changing the return of decorative methods that call use() 526ce07
  • Updating keywords, updating CHANGELOG.md ecb7565

23 December 2020

  • Update #22
  • Bump acorn from 7.1.0 to 7.1.1 #18
  • Initial removal of http2 support (kinda useless IRL) ba7f774
  • Removing dtrace() 2d8fcd8
  • Updating .npmignore e88ecc5

2 January 2020

  • Refactoring constructor such that this.probes is always populated 7ce4f23
  • Micro-optimizing this.decorate(), updating copyright year in LICENSE & README 2e082d7
  • Updating CHANGELOG.md 6806afe

25 December 2019

  • Deleting each() & refactoring to for...or statements 95b9634
  • Updating changelog 2418efc
  • Create FUNDING.yml e4c9660

17 November 2019

  • Using auto-changelog to generate a new CHANGELOG 74edf28
  • Updating tiny-fifo dependency a0323fe

24 October 2019

  • Changing how req.last is assigned a17c9ea
  • Updating CHANGELOG 5200ba0

24 October 2019

  • Refactoring assignment of req.last to be the first non-blacklisted HTTP method specific handler 5237a6c

24 October 2019

23 October 2019

  • Fixing content-length response header value on 206 when specifying a negative offset from end 685f043
  • Fixing tests and content-range header value on 206 with negative offset from end 791622b
  • Updating lock file fbb44b3

23 October 2019

  • Adding next attribute to req for conditional "skipping" to the end of the middleware 14cec1b
  • Simplifying assignment of req.next such that it's the last middleware of the route 9ab2598
  • Renaming req.next() to req.last(), updating travis-ci.org config 21cbcc0

21 October 2019

  • Creating path() for standardized routes f8b6315
  • Updating changelog b328bd7

21 October 2019

  • DRYer #17
  • Removing an iteration from http2send(), adding changelog script & output CHANGELOG 306e4f3
  • Reducing repetitive ops by storing prepared objects in router ca6bd0a
  • Tweaking decorate() assignments d147985

5 September 2019

  • Fixing an authorization regression by creating req.corsHost to track if the origin & host are matches (not a CORS request - Chrome started putting an origin header on all requests) 81698cf

2 September 2019

  • Removing async from res.send() signature a12e57e

2 September 2019

  • Decorating CORS headers when origin is not the host 4e037d1

2 September 2019

  • Initial refactoring of Base class to extend EventEmitter 1ce2429
  • Removing Base class module, removing regex module d666a1d
  • Removing an unneeded replace(), updating dtrace dep e1087e4

10 August 2019

  • Removing Proxy due to performance impact (roughly 10%) 1f39bc0

10 August 2019

  • Forgot to undo this with last commit 6cd4020

10 August 2019

  • Undoing this prop swap order as it breaks composed code f7ecf4d

10 August 2019

  • Undoing the undo because it was correct f599ba3
  • Creating raw attribute on res proxy for piping files (Proxies are not able to handle the pipe) a01346d
  • Updating README 79faae7

10 August 2019

  • Revert "Fixing Proxy set/get behavior" f99e06d
  • Version bump to "unrelease" d5d0065

10 August 2019

  • Fixing Proxy set/get behavior fea61c6

10 August 2019

  • Refactoring res to be a Proxy, changing res.json() such that it doesn't inspect Strings 32bf91e
  • Initial changes to use a Proxy for req 1a8fcc2
  • Minor tweaks f48b0f7

7 August 2019

7 March 2019

  • Standardizing error(), triggering early 403 when invalid CORS request is received, adding tests, & updating test lib 8883706
  • Creating origins array for filtering unwanted CORS requests 723ab9c

26 February 2019

  • Why did I take away strict mode? cec4cc0

19 February 2019

  • Had dtrace-provider as a dev dependency (sigh) 4b0cebe

19 February 2019

  • Adding dtrace probes 32be1ff
  • Adding dtrace for dev insights a571299
  • Adding dtrace probes for insight 0dee54a

26 January 2019

  • Updating FIFO cache to handle a regression 79b8800

26 January 2019

  • Updating FIFO cache to use a Map to minimize megamorphic IC problems, updating copyright year c1a7268

14 January 2019

14 January 2019

14 January 2019

  • Updating FIFO cache to drop an Array for pointers (megamorphic deopt curious) 62524e7

13 January 2019

  • Swapping LRU cache for FIFO cache faeaa39

13 January 2019

13 January 2019

13 January 2019

  • Replacing most String.indexOf() with String.includes(), removing dupe ops of === true fbcaf0c
  • Replacing most String.indexOf() with String.includes() f4f00a1

13 January 2019

6 January 2019

  • Fixing assignments in relation to Promise chain 891da13

3 January 2019

  • Reducing using RegExp, fixing a missing RegExp 551cc35

30 December 2018

  • Minimizing usage of regular expressions pt2 d15b192

30 December 2018

  • Minimizing usage of regular expressions 435d790

19 December 2018

12 December 2018

12 December 2018

12 December 2018

10 December 2018

  • Revert "Fixing a regression in core routing to handle an unhandled exception (blocks a crash) & adding tests" 094303b
  • Reverting the commit due to the cost; try/catch should only be done in a custom middleware and not in the router 84146cd

10 December 2018

  • Fixing a regression in core routing to handle an unhandled exception (blocks a crash) & adding tests 5aacb83

9 December 2018

8 December 2018

7 December 2018

5 December 2018

5 December 2018

  • Trying to understand how allows() is triggering a heap error in tiny-lru... 9da4713
  • Updating LRU cache 0c5bdd2

5 December 2018

5 December 2018

5 December 2018

  • Updating LRU cache to get a breaking API change 8ea5ba4
  • Version bump 025a2e5

5 December 2018

5 December 2018

  • Rewriting Promise chain in route() 00239cc

30 November 2018

27 November 2018

26 November 2018

24 November 2018

24 November 2018

20 November 2018

20 November 2018

20 November 2018

12 November 2018

  • Removing excessive Promise returns, reducing some code 4f99bcd
  • Updating README 7988777

23 October 2018

  • Typo creating an invalid regex c5b1aed

23 October 2018

  • Removing normalize(), refactoring use() to support multiple middleware passed as arguments[1...n-1] 9a6038e

23 October 2018

  • Revert "Revert "Reducing the assignment of req.cors to a single comparison"" 8511fdb
  • Version bump 1fd7685

23 October 2018

  • Revert "Reducing the assignment of req.cors to a single comparison" eebf474
  • Version bump 2dcf078

22 October 2018

  • Reducing the assignment of req.cors to a single comparison c0ae554

14 October 2018

  • Changing all from "all" to "*" b7228f5

14 October 2018

  • Specifying the parameters of http method functions 7a2645d

29 August 2018

  • Can't get away from this conditional statement 16b8479

28 August 2018

  • Handling errors that could originate within res.send() via the Promise chain b01a56b

19 August 2018

  • Handling the bubbling Exception in a better way 54dc9ec

19 August 2018

  • Adding error handling to minimize uncaught Exceptions ef8f4ef
  • Upgrading http test module b8cbde0

25 July 2018

  • Fixing a routing flaw when checking for all methods ee0bf12

24 July 2018

  • Fixing an erroneous RegExp within reduce() bb823de

18 July 2018

  • Handling unhandledRejection & uncaughtException such that there will not be logged warnings de1275c

18 July 2018

  • Changing res.send() & onsend() to be async functions c24dae6

11 July 2018

  • Fixing res.error() such that it routes through onerror() d72559b

9 July 2018

  • Optimizing res.write() shim for http2 ca6341b

9 July 2018

  • Changing http2 shim such that passport.js auth strategies can behave correctly 9d24027
  • Creating a res.end shim for passport... tricky situation 15a2471

9 July 2018

  • Creating WoodlandHttp2Request for passport.js with http2 b4238e2

8 July 2018

  • Handling invalid range requests within res.send() 6e8b81c

8 July 2018

8 July 2018

  • Fixing mis-assignment within normalize(), updating coercion & test modules 102f556

3 July 2018

3 July 2018

  • Moving next() into utility f484303

2 July 2018

  • Minimizing ops in res.send() 4399f51

29 June 2018

  • Updating test framework, minor tweak within base.js 77851b4
  • Version bump to release minor change 04f69a6
  • Minor tweak within base.js 6e9893b

28 June 2018

  • Moving Base into lib/base.js, moving functions into utility.js 84d8867

28 June 2018

  • Implementing support for pipeable responses, adding support for partial responses which are not pipeable 5498da5
  • Porting code from tenso for handling pipeable response body (WIP) 2d374aa
  • WIP 9946a39

24 June 2018

  • Changing onsend(req, res, body*/, status, headers*/) such that it returns body because identity mutation will not work across bound arguments a1b89a8
  • Removing a deprecated decoration d20a5c6

23 June 2018

  • Updating test, updating dependencies 1102204
  • Caching visible middleware count 7156568
  • Fixing things for older versions of node 029f90d

22 June 2018

22 June 2018

10 August 2019

  • Can't get away from this conditional statement 16b8479
  • Updating dependencies c2e324e
  • Taking ideas from deprecated 6.1, removing tiny-parse dependency, removing coerce config flag 1700f7b

19 June 2018

  • Updating benchmark, removing retsu dependency, updating tiny-parse 7a87e3c
  • Burned this minor version c67f87e

18 June 2018

18 June 2018

  • Creating a Base constructor to expose HTTP methods on the prototype of Woodland as partial applications of use() 02ee545
  • Updating README bc4178d
  • Updating README 0f3e15b

18 June 2018

  • Fixing call to onsend() by making arguments by reference for mutation, fixing res.send() signature by setting default values 4ca7e1d
  • Updating README 310acd6
  • Updating README 95a6e78

18 June 2018

  • Removing an unneeded module, updating lock file 87ae0bd

15 June 2018

  • Updating router & lock file ae3aa94
  • Upgrading url parse dependency 970470c

14 June 2018

  • Removing an unused dependency 9fb74a7

14 June 2018

  • Fixing API by moving functions into utility (WIP) acd5e28
  • Creating onsend(), making onerror() DRY, updating lock file 481180e
  • Rearranging decorate() c8e0dd4

22 June 2018

  • Revert "Updating dependency" 04a02cb
  • Undoing update of dependency (performance hit) a0fdefd

22 June 2018

22 June 2018

  • Adding onsend(req, res, body, status, headers) b656653

13 June 2018

  • Changing the signature of utility.each(), creating reduce() and reducing _route() fcfd760
  • Version bump to release 58321b5
  • Creating methods property Array which holds the HTTP methods utilized by the router, changing allows() to utilize methods a437838

12 June 2018

  • Changing how blacklisting middleware works to avoid JIT deopts, reducing res.json() assignment 5fbac31

8 June 2018

  • Fixing a typo in res.redirect() 1d91a0d

8 June 2018

  • Changing the signatures of res.error() & res.json() 4195cb6

7 June 2018

  • Updating LICENSE & README copyright years 8695ad7

7 June 2018

7 June 2018

  • Creating always(), adding tests & updating README 70d1475

7 June 2018

  • Adding a second status parameter to res.send() c47e7ef

5 June 2018

  • Adding timing-allow-origin header on CORS responses cf81bdb

24 May 2018

24 May 2018

24 May 2018

23 May 2018

  • Updating LRU cache & setting expire property instead of ttl so items will drop out regardless of last accessed time 3aa3220

16 May 2018

  • Had this a conditional backwards in new next() 20a1ee0

16 May 2018

  • Fixing a conditional statement within the new next() 5d2ef2a

16 May 2018

  • Refactored _route() by returning next() as a sub function, rewrote next() e6364aa
  • Removing unneeded assignments 9454050

8 May 2018

  • Ensuring the route middleware is a Set without dupes 95ccc68

3 May 2018

  • Updating query string parser 32fee2f

25 April 2018

  • Reverting to 5.0.2 & version bump 962686b

25 April 2018

  • Removing duplicate middleware on a route d4e8737

25 April 2018

25 April 2018

  • Fixing allowed() regression when changing how the middleware is stored 03312e1
  • Version bump 5862b69

25 April 2018

  • Storing a hash of the middleware instead of adding a property 9e8d0df

25 April 2018

  • Changing route sets to be Sets dca80a0

25 April 2018

  • Updating normalize() to monkey patch the http.IncomingMessage prototype onto req such that passport methods are available for http2 requests - take 2 4c38307

25 April 2018

  • Updating normalize() to monkey patch the http.IncomingMessage prototype onto req such that passport methods are available for http2 requests f437daa

23 April 2018

23 April 2018

  • No deopt #14
  • Updating lock file b5ddd11
  • Version bump 9eb07b7
  • Changing erroneous test with newer versions of node.js 0d10f0c

4 April 2018

  • Removing try / catch statements to expose underlying flaws & avoid deopts 61de547
  • Reducing each() 81a2804
  • This is erroneous 00e4244

29 March 2018

  • Refactoring each() to use an iterator, changing res.writeHead() to use each() 9c47071
  • Version bump a19974c

28 March 2018

  • Upgrading LRU, simplifying blacklist() 2ff1021

25 March 2018

22 March 2018

  • Catching an error on error d820e46

7 March 2018

  • Fixing params() such that a hash fragment isn't erroneously included e26bf26

16 January 2018

16 January 2018

  • Creating res.writeHead() on http2 streams for middleware to hook 0758ff4

16 January 2018

  • Fixing type of req.httpVersionMajor, & req.httpVersionMinor 07d8a32

14 January 2018

  • Decorating req.httpVersion, req.httpVersionMajor, & req.httpVersionMinor properties for middleware 4e9827a

14 January 2018

  • Decorating headers passed to http2Send() for middleware that looks at the headers on "finish" 8ebda17

14 January 2018

  • Fixing http2Send() such that res.writable is checked & empty is true if body is "" 916e212

28 December 2017

  • Breaking up some files a3b6754
  • Updating LRU cache, adding cacheTTL property 3c3d738

23 December 2017

  • Moving last() & next() to prototype c57feba

22 December 2017

  • Refactoring invalidHttp2Headers into regex.invalid 4106d9f

20 December 2017

  • Fixing an unhandled error bubbling (it's irrelevant for normal usage) c4ecfab

20 December 2017

  • Refactoring route() into a facade 484f10d

20 December 2017

  • Updating route() to catch Errors thrown within a Promise 2ee4e6a

4 December 2017

  • Creating args() to get middleware arguments 44f7fa4
  • Destructuring assignment syntax mistake bfa891c
  • Fixing npm registry mistake e6377c9

3 December 2017

  • Updating tiny-parse & retsu as a side effect, reordering tests ebd2db8
  • Updating tests of new helpers d7a88fd

30 November 2017

  • Rearranging order of tests b088bf0
  • Creating res.json() for interop with express 69b6fca
  • Breaking things up a little edf0f1f

28 November 2017

  • HTTP2 tests #12
  • Adding http2 test files 56c83a7
  • Updating test framework version & re-gen lock file c53d89e
  • Enabling http2 test for debugging 8b0bb19

28 November 2017

  • Updating sample & test files to use new helper functions, fixing res.send() for http1 requests ca8b2a3
  • Version bump to release a fix 01303b3

24 November 2017

  • Handling empty http2 responses 885ef5b

24 November 2017

  • Working out some header issues for HTTP2 streams 19a998b
  • Making http2Send() aware of req.file (stats on 'req') such that it can stream the file properly 7c15d15
  • oops, erroneous version bump 9d4dd36

23 November 2017

  • Decorating res.statusCode on http2 stream for interop 6bf9f7f
  • Fixing a mistake in the README c0a2415

23 November 2017

  • Fixing a middleware regression (needs to be within the timing of last()) 55947bf

23 November 2017

  • HTTP2 #11
  • Wasting less time #9
  • Creating list(["get"]) method to return an Array of routes for an HTTP method, adding a test, fixes #7 #7
  • Updating tiny-parse, exposing coerce as attribute of options 8ce8240
  • Updating dependency 00df8af
  • Working out some kinks a895652

6 July 2017

23 November 2017

  • Removing a "".indexOf() by using a RegExp.test() 0fdb266

23 November 2017

  • Removing a conditional statement from next() for middleware 3c22c25
  • Creating each() to avoid using Array.forEach() 1d89b9d
  • Minor tweak to deps 99c207f

22 November 2017

  • Simplifying allows() handling of "GET" f49186f
  • swapping a higher order function for another line of code 4ca2e5f

13 November 2017

  • Updating LRU cache 5827d97
  • Updating travis-ci.org configuration 50384ba

6 November 2017

  • Updating tiny-lru dependency df9cda9

6 November 2017

  • Removing unneeded files, reverting Reflect.ownKeys() to Object.keys() because it doesn't need symbols included 8b9647e

20 October 2017

  • Replacing home brewed arity detection for Function.prototype.length e832c1d
  • Iterating routes if the method is valid fc3bf50

18 October 2017

  • Iterating routes if the method is valid a1163b3

18 October 2017

  • Fixing accessing all middleware f835b6c

16 October 2017

  • Wasting less time #9
  • Initial refactor to single host & less wasted time 4009a0a
  • More purging d40513c
  • Removing nsp package due to compile issue of hoek b13af22

12 October 2017

  • Adding a missing CORS header 6dfd9c5

9 October 2017

  • Fixing a couple of statements 38cd189

2 October 2017

1 October 2017

  • Updating tiny-parse, exposing coerce as attribute of options 8ce8240

6 September 2017

4 September 2017

  • Removing logical NOT operator to remove needless ops, removing more truthy/falsy statements dde9f53

18 August 2017

18 August 2017

  • Extending the API of list() with a third parameter to specify the result (array or object), adding a test 29d939b

18 August 2017

  • Creating list(["get"]) method to return an Array of routes for an HTTP method, adding a test, fixes #7 #7

9 July 2017

  • Creating onconnect(req, res) method which executes after the connection has been decorated and before the middleware executes c86398a

9 July 2017

  • Making valid() middleware a little more robust & removing the need to validate the request method later in the middleware, major version bump to handle breaking behavior 1d8a7b7

7 July 2017

  • Revert "Making valid() middleware a little more robust & removing the need to validate the request method later in the middleware" 84a742e
  • Reverting 1.3.7 (for now), version bump for easy upgrading 3ad5ed7

7 July 2017

  • Making valid() middleware a little more robust & removing the need to validate the request method later in the middleware 042fc3c

6 July 2017

  • Moving a variable in routes() 34a1f8a

3 July 2017

  • Adding content-length header to default error handler & updating tests 24a1d49
  • Updating sample & tests c918abd
  • Updating example d807222

27 June 2017

  • Adding a package-lock.json file for npm@5 5acc6fd
  • Changed let to const in allows(), rewrote a ternary in the last() middleware c6ac42b

28 May 2017

  • Replacing undefined with void 0 8128cc7

27 May 2017

  • Revert "Moving middleware to it's own file, adding allowed middleware to short circuit the error instead of going through all of the middleware, removing the first condition from the last() middleware handler" aa445d1
  • Revert and version bump that mistake out of existance 4a42240

27 May 2017

  • Moving middleware to it's own file, adding allowed middleware to short circuit the error instead of going through all of the middleware, removing the first condition from the last() middleware handler a7de312

27 May 2017

  • Moving regular expressions into lib/regex.js, updating factory with valid() middleware and putting it first to insure the route is possible, adding CORS handling & updating tests 67a1738
  • Updating README e1e93cd

27 May 2017

  • Declaring variables within the logical scope 981bf8d

24 May 2017

  • Changing use() to use rest parameter c93e3a4
  • Reducing utility file to 1 liners 9fbd7b1
  • Removing a truthy statement in use(), removing the req.allow assignment within route().last() 9f5d895

14 May 2017

  • Removing truthy statements, fixes #6 #6

13 May 2017

12 April 2017

11 April 2017

7 March 2017

7 March 2017

7 March 2017

  • Returning support for all method 381d1d6

7 March 2017

  • Refactoring to support all HTTP methods & explicit OPTIONS routing 8ec5a23
  • Adding support for OPTIONS routes 8dba514
  • Reducing complexity dd7adf4

19 February 2017

  • Switching testing to tiny-httptest & adding an OPTIONS test, linting the tests 07920de

12 February 2017

  • Calling onfinish() after onerror() for completion signal 9284f7e

12 February 2017

  • Updating factory to use restu.each() 4aa5b88

10 February 2017

30 January 2017

23 January 2017

7 January 2017

  • Moving default on$event handlers to prototype, removing all.js de0fad2

5 January 2017

2 January 2017

2 January 2017

  • Updating constructor to use Reflect.ownKeys() 6e59ace

2 January 2017

  • Updating array.each() to each() to minimize what's imported from the retsu module b0601b5

21 December 2016

  • Updating tiny-parse to support other types of Authorization header values properly (non-Basic) ba63d22

27 November 2016

  • Switching Array.forEach() for retsu.each() a97e91d

27 November 2016

  • Updating tiny-defer dependency 4eb9949

20 November 2016

19 November 2016

  • Upgrading tiny-lru to get cache notifications 1bc49f9

19 November 2016

  • Updating route() such that it doesn't trigger an UnhandledPromiseRejectionWarning, updating eslint rules c273d6a

7 July 2016

  • Changing sent detection, fixes #2 #2

5 July 2016

  • Passing error handling along 62a6c2e

4 July 2016

  • Fixing bound middleware, bound error handlers not supported due to ambiguity 66a33f1

4 July 2016

  • Removing url() as it's now a part of tiny-parse 7944e51

4 July 2016

  • Extracting utility.parse as tiny-parse 6a6e9c4

2 July 2016

  • Adding support for route parameter syntax, fixes #1 #1
  • Adding a test for req.params a2eb90e
  • Updating README 55e280f

1 July 2016

  • Fixing a regression in route() middleware tail handle f3a70bb

1 July 2016

  • Fixing middleware iteration when an error handler is in the middle a7f28ee

1 July 2016

  • Fixing an overly complex & flawed middleware iteration within route() 30ad271

30 June 2016

  • Changing default values of defaultHost & hosts for factory(), updating README 6e0c7f2

30 June 2016

  • Correcting lhost for shorthand syntax 7563dff

30 June 2016

  • Standardizing Map & LRU keys as hash() results of the original values now using the const delimiter 5f234d9

30 June 2016

  • Renaming step to iter within route(), changing sub-function last() to be bound to instance to update req.allow before rejecting the Promise 2072001

30 June 2016

  • Removing retsu dependency a8d5a73

30 June 2016

30 June 2016

  • Removing regex module, creating all module for a const, removing {}.handle support from use() - totally forget why I added it in '14 to turtle.io, updating README e335e5e
  • Removing byRef Array creation in route() 3d56a0e
  • Updating README for npm? 49e9a5e

30 June 2016

  • Fixing the mapping of all as an argument for method on use() a0aa78b
  • Update README.md 63a169b
  • Update README.md deedcb0

29 June 2016

  • Updating the default onerror handler with a Content-Type header 53ce720

29 June 2016

  • Not setting Allow if there is no value 37f7b47

29 June 2016

  • Fixing the default value of hosts for woodland() abcecef
  • Updating homepage URL 126d760
  • Updating README 1111d51

29 June 2016

29 June 2016

29 June 2016

1.0.0

29 June 2016