- v4.2.2
- fixed: withContent should return undefined if request.body is undefined
- v4.2.1
- maintenance: updated deps, test coverage, removed isomorphic-fetch dev dep
- v4.2.0
- added: withContent now parses JSON->formData->text with fallthrough
- v4.1.1
- fixed: withContent will successfully parse non-JSON as fallback, preventing errors
- v4.1.0
- added: createResponse and all Response helpers support web standards Headers class
- v4.0.28
- fixed: withContent throws 400 (instead of 500) on failed JSON parse (@smcstewart)
- v4.0.27
- fixed: .toUpperCase issue that prevented serialization of entire router
- v4.0.24
- fixed: createResponse(undefined) should return undefined (not a Response)
- v4.1.0
- added:
HasContent<ContentType>
type towithContent
(@alexrosenfeld10) - added: Adds basic text/formData support to supplement the native JSON support of
withContent
- added:
- v4.0.00 - Partial changelog below
- BREAKING: heavy TS rewrite for core Router (thank you, ChatGPT)
- added: nearly all extras from itty-router-extras
- added: createCors from itty-cors
- added: complete documentation at https://itty.dev
- feature: withParams may be used as upstream middleware (hooray!)
- v3.0.11 - changed environment build to rollup (from tsup) and code golfed the toQuery logic. (@DrLoopFall)
- v3.0.9 - fixes some TS issue, previously requiring you to define Router Methods to chain request definitions. (@jahands)
- v3.0.0 - total TS conversion with improved types, adding greedy params (@markusahlstrand)
- v2.6.4 - merely a republish, attempting to solve NPM test scores vs CI/CD
- v2.6.2 - fixes issue with using base path of "/" with route definitions starting with "/" (creating double slash)
- v2.6.1 - fixes named export in ESM/mjs export
- v2.6.0 - package now is hybrid export, supporting both ESM (.mjs) and CJS (.js) minified versions
- v2.5.3 - corrects type for router.handle to return Promise
- v2.5.2 - fixes issue with arrow functions in CommonJS named exports (rare issue)
- v2.5.1 - added context to Cloudflare ES module syntax example (@jcapogna)
- v2.5.0 - improved TypeScript docs/types (thanks @SupremeTechnopriest!)
- v2.4.9 - fixed the cursed "optional" file format capturing bug - RIP all the bytes lost
- v2.4.6 - fixed README issues
- v2.4.1 - fixed type errors introduced with 2.4.0
- v2.4.0 - HUGE internal code-golfing refactor thanks to @taralx! Super cool work on this!!!
- v2.3.10 - fix: dots now properly escaped (e.g. /image.jpg should not match /imageXjpg)
- v2.3.9 - dev fixes: @taralx improved QOL issues for test writers and dev installers
- v2.3.7 - fix: :id.:format not resolving (only conditional format would match)
- v2.3.0 - feature: request handler will be passed request.proxy (if found) or request (if not) - allowing for middleware magic downstream...
- v2.2.0 - feature: base path (option) is now included in the route param parsing...
- v2.1.1 - fix: should now be strict-mode compatible
- v2.1.0 - now handles the problematic . character within a param (e.g. /:url/action with /google.com/action)
- v2.0.7 - shaved a few more characters in the regex
- v2.0.0 - API break:
Router({ else: missingHandler })
has been replaced withrouter.all('*', missingHandler)
, and now "all" channel respects order of entry - v1.6.0 - added { else: missingHandler } to options for 404 catch-alls (thanks to the discussion with @martinffx)
- v1.5.0 - added '.all(route, handler)' handling for passthrough middleware
- v1.4.3 - fixed nested routers using simple "/" routes
- v1.4.1 - fixed typings for extra args (thanks @rodrigoaddor)
- v1.4.0 - adds support for optional format params (e.g. "/:id.:format?" --> { params: { id: '13', format: 'jpg' }})
- v1.3.0 - adds support for multiple args to handle(request, ...args) method (@hunterloftis)
- v1.2.2 - fix: require verify/build pass before publishing and fixed README badges (should point to v1.x branch)
- v1.2.0 - feature: chainable route declarations (with test)... that didn't take long...
- v1.1.1 - updated README to reflect that chaining actually never was working... (not a breaking change, as no code could have been using it)
- v1.1.0 - feature: added single option
{ base: '/some/path' }
toRouter
for route prefixing, fix: trailing wildcard issue (e.g./foo/*
should match/foo
) - v1.0.0 - production release, stamped into gold from x0.9.7
- v0.9.0 - added support for multiple handlers (middleware)
- v0.8.0 - deep minification pass and build steps for final module
- v0.7.0 - removed { path } from request handler context, travis build fixed, added coveralls, improved README docs
- v0.6.0 - added types to project for vscode intellisense (thanks @mvasigh)
- v0.5.4 - fix: wildcard routes properly supported