📄 HISTORY.md

← 返回目录

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 RegExps * 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 URIErrors 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