229 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			229 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 2.2.0 / 2025-03-26
 | |
| ==================
 | |
| 
 | |
| * Remove `setImmediate` support check
 | |
| * Restore `debug` dependency
 | |
| 
 | |
| 2.1.0 / 2025-02-10
 | |
| ==================
 | |
| 
 | |
| * Updated `engines` field to Node@18 or higher
 | |
| * Remove `Object.setPrototypeOf` polyfill
 | |
| * Use `Array.flat` instead of `array-flatten` package
 | |
| * Replace `methods` dependency with standard library
 | |
| * deps: parseurl@^1.3.3
 | |
| * deps: is-promise@^4.0.0
 | |
| * Replace `utils-merge` dependency with `Object.assign`
 | |
| * deps: Remove unused dep `after`
 | |
| 
 | |
| 2.0.0 / 2024-09-09
 | |
| ==================
 | |
| 
 | |
| * Drop support for node <18
 | |
| * deps: path-to-regexp@^8.0.0
 | |
|   - Drop support for partial capture group `router.route('/user(s?)/:user/:op')` but still have optional non-capture `/user{s}/:user/:op`
 | |
|   - `:name?` becomes `{:name}`
 | |
|   - `:name*` becomes `*name`.
 | |
|   - The splat change also changes splat from strings to an array of strings
 | |
|   - Optional splats become `{*name}`
 | |
|   - `:name+` becomes `*name` and thus equivalent to `*name` so I dropped those tests
 | |
|   - Strings as regular expressions are fully removed, need to be converted to native regular expressions
 | |
| 
 | |
| 2.0.0-beta.2 / 2024-03-20
 | |
| =========================
 | |
| 
 | |
| This incorporates all changes after 1.3.5 up to 1.3.8.
 | |
| 
 | |
|   * Add support for returned, rejected Promises to `router.param`
 | |
| 
 | |
| 2.0.0-beta.1 / 2020-03-29
 | |
| =========================
 | |
| 
 | |
| This incorporates all changes after 1.3.3 up to 1.3.5.
 | |
| 
 | |
|   * Internalize private `router.process_params` method
 | |
|   * Remove `debug` dependency
 | |
|   * deps: array-flatten@3.0.0
 | |
|   * deps: parseurl@~1.3.3
 | |
|   * deps: path-to-regexp@3.2.0
 | |
|     - Add new `?`, `*`, and `+` parameter modifiers.
 | |
|     - Matching group expressions are only RegExp syntax.
 | |
|       `(*)` is no longer valid and must be written as `(.*)`, for example.
 | |
|     - Named matching groups no longer available by position in `req.params`.
 | |
|       `/:foo(.*)` only captures as `req.params.foo` and not available as
 | |
|       `req.params[0]`.
 | |
|     - Regular expressions can only be used in a matching group.
 | |
|       `/\\d+` is no longer valid and must be written as `/(\\d+)`.
 | |
|     - Matching groups are now literal regular expressions.
 | |
|       `:foo` named captures can no longer be included inside a capture group.
 | |
|     - Special `*` path segment behavior removed.
 | |
|       `/foo/*/bar` will match a literal `*` as the middle segment.
 | |
|   * deps: setprototypeof@1.2.0
 | |
| 
 | |
| 2.0.0-alpha.1 / 2018-07-27
 | |
| ==========================
 | |
| 
 | |
|   * Add basic support for returned, rejected Promises
 | |
|     - Rejected Promises from middleware functions `next(error)`
 | |
|   * Drop support for Node.js below 0.10
 | |
|   * deps: debug@3.1.0
 | |
|     - Add `DEBUG_HIDE_DATE` environment variable
 | |
|     - Change timer to per-namespace instead of global
 | |
|     - Change non-TTY date format
 | |
|     - Remove `DEBUG_FD` environment variable support
 | |
|     - Support 256 namespace colors
 | |
| 
 | |
| 1.3.8 / 2023-02-24
 | |
| ==================
 | |
| 
 | |
|   * Fix routing requests without method
 | |
| 
 | |
| 1.3.7 / 2022-04-28
 | |
| ==================
 | |
| 
 | |
|   * Fix hanging on large stack of sync routes
 | |
| 
 | |
| 1.3.6 / 2021-11-15
 | |
| ==================
 | |
| 
 | |
|   * Fix handling very large stacks of sync middleware
 | |
|   * deps: safe-buffer@5.2.1
 | |
| 
 | |
| 1.3.5 / 2020-03-24
 | |
| ==================
 | |
| 
 | |
|   * Fix incorrect middleware execution with unanchored `RegExp`s
 | |
|   * perf: use plain object for internal method map
 | |
| 
 | |
| 1.3.4 / 2020-01-24
 | |
| ==================
 | |
| 
 | |
|   * deps: array-flatten@3.0.0
 | |
|   * deps: parseurl@~1.3.3
 | |
|   * deps: setprototypeof@1.2.0
 | |
| 
 | |
| 1.3.3 / 2018-07-06
 | |
| ==================
 | |
| 
 | |
|   * Fix JSDoc for `Router` constructor
 | |
| 
 | |
| 1.3.2 / 2017-09-24
 | |
| ==================
 | |
| 
 | |
|   * deps: debug@2.6.9
 | |
|   * deps: parseurl@~1.3.2
 | |
|     - perf: reduce overhead for full URLs
 | |
|     - perf: unroll the "fast-path" `RegExp`
 | |
|   * deps: setprototypeof@1.1.0
 | |
|   * deps: utils-merge@1.0.1
 | |
| 
 | |
| 1.3.1 / 2017-05-19
 | |
| ==================
 | |
| 
 | |
|   * deps: debug@2.6.8
 | |
|     - Fix `DEBUG_MAX_ARRAY_LENGTH`
 | |
|     - deps: ms@2.0.0
 | |
| 
 | |
| 1.3.0 / 2017-02-25
 | |
| ==================
 | |
| 
 | |
|   * Add `next("router")` to exit from router
 | |
|   * Fix case where `router.use` skipped requests routes did not
 | |
|   * Use `%o` in path debug to tell types apart
 | |
|   * deps: setprototypeof@1.0.3
 | |
|   * perf: add fast match path for `*` route
 | |
| 
 | |
| 1.2.0 / 2017-02-17
 | |
| ==================
 | |
| 
 | |
|   * Skip routing when `req.url` is not set
 | |
|   * deps: debug@2.6.1
 | |
|     - Allow colors in workers
 | |
|     - Deprecated `DEBUG_FD` environment variable set to `3` or higher
 | |
|     - Fix error when running under React Native
 | |
|     - Use same color for same namespace
 | |
|     - deps: ms@0.7.2
 | |
| 
 | |
| 1.1.5 / 2017-01-28
 | |
| ==================
 | |
| 
 | |
|   * deps: array-flatten@2.1.1
 | |
|   * deps: setprototypeof@1.0.2
 | |
|     - Fix using fallback even when native method exists
 | |
| 
 | |
| 1.1.4 / 2016-01-21
 | |
| ==================
 | |
| 
 | |
|   * deps: array-flatten@2.0.0
 | |
|   * deps: methods@~1.1.2
 | |
|     - perf: enable strict mode
 | |
|   * deps: parseurl@~1.3.1
 | |
|     - perf: enable strict mode
 | |
| 
 | |
| 1.1.3 / 2015-08-02
 | |
| ==================
 | |
| 
 | |
|   * Fix infinite loop condition using `mergeParams: true`
 | |
|   * Fix inner numeric indices incorrectly altering parent `req.params`
 | |
|   * deps: array-flatten@1.1.1
 | |
|     - perf: enable strict mode
 | |
|   * deps: path-to-regexp@0.1.7
 | |
|     - Fix regression with escaped round brackets and matching groups
 | |
| 
 | |
| 1.1.2 / 2015-07-06
 | |
| ==================
 | |
| 
 | |
|   * Fix hiding platform issues with `decodeURIComponent`
 | |
|     - Only `URIError`s are a 400
 | |
|   * Fix using `*` before params in routes
 | |
|   * Fix using capture groups before params in routes
 | |
|   * deps: path-to-regexp@0.1.6
 | |
|   * perf: enable strict mode
 | |
|   * perf: remove argument reassignments in routing
 | |
|   * perf: skip attempting to decode zero length string
 | |
|   * perf: use plain for loops
 | |
| 
 | |
| 1.1.1 / 2015-05-25
 | |
| ==================
 | |
| 
 | |
|   * Fix issue where `next('route')` in `router.param` would incorrectly skip values
 | |
|   * deps: array-flatten@1.1.0
 | |
|   * deps: debug@~2.2.0
 | |
|     - deps: ms@0.7.1
 | |
| 
 | |
| 1.1.0 / 2015-04-22
 | |
| ==================
 | |
| 
 | |
|   * Use `setprototypeof` instead of `__proto__`
 | |
|   * deps: debug@~2.1.3
 | |
|     - Fix high intensity foreground color for bold
 | |
|     - deps: ms@0.7.0
 | |
| 
 | |
| 1.0.0 / 2015-01-13
 | |
| ==================
 | |
| 
 | |
|   * Fix crash from error within `OPTIONS` response handler
 | |
|   * deps: array-flatten@1.0.2
 | |
|     - Remove redundant code path
 | |
| 
 | |
| 1.0.0-beta.3 / 2015-01-11
 | |
| =========================
 | |
| 
 | |
|   * Fix duplicate methods appearing in OPTIONS responses
 | |
|   * Fix OPTIONS responses to include the HEAD method properly
 | |
|   * Remove support for leading colon in `router.param(name, fn)`
 | |
|   * Use `array-flatten` for flattening arrays
 | |
|   * deps: debug@~2.1.1
 | |
|   * deps: methods@~1.1.1
 | |
| 
 | |
| 1.0.0-beta.2 / 2014-11-19
 | |
| =========================
 | |
| 
 | |
|   * Match routes iteratively to prevent stack overflows
 | |
| 
 | |
| 1.0.0-beta.1 / 2014-11-16
 | |
| =========================
 | |
| 
 | |
|   * Initial release ported from Express 4.x
 | |
|     - Altered to work without Express
 |