All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
toMiddlewareutil (#1234)
- assertBodySize: Disallow both
content-lengthandtransfer-encodingheaders (9ccd301) - Adjust pathname for mounted sub-app routed middleware (#1232)
- middleware: Allow returning 404 response in middleware (#1231)
- Export
toMiddleware(0f2e568) - Reduce dist size by stripping comments (#1235)
- Include bundled types (d833afb)
- Inline rou3 related types (5d3a274)
- Export
RouterContextandMatchedRoutetypes (fd7dc8f)
- Fix
_getMiddlewareroute typed (e090a76)
- Update deps (17cbbe0)
- Fix nightly version bump (630bbb8)
⚠️ Slim downH3Core(#1233)
- Add
assertBodySizeutil andbodyLimitmiddleware (#1222)
- Support happy-dom environment (#1230)
- Update deps (6d8204a)
- Freeze default response headers (#1227)
- response: Do not double merge prepared headers in nested error handler (#1226)
⚠️ Avoid merging prepared headers when aResponseis not ok (#1228)
- Remove beta tag (#1223)
- Reduce external dependencies (#1219)
- Merge custom
bodyinHTTPError.toJSONresult (#1216) - Fix types for legacy
defineEventHandler,eventHandler,lazyEventHandler(f185ce6)
⚠️ Avoid merging prepared headers when aResponseis not ok (#1228)- proxy:
⚠️ Keep header entries as-is (#1225)
- Pooya Parsa (@pi0)
- Abeer0 (@iiio2)
- Валентин Степанов (@teleskop150750)
- Deprecate and move
toNodeHandlertoh3/node(#1215)
- Pooya Parsa (@pi0)
⚠️ HTTPResponse(#1212)
- Try avoid cloning response for meriging headers (#1214)
- cors: Use defaults in handleCors (#1161)
- Hide internal
event._resandevent.res._headers(#1185)
- Add missing exports (#1211)
⚠️ HTTPResponse(#1212)
- Pooya Parsa (@pi0)
- Ilya Semenov (@IlyaSemenov)
- Huseeiin (@huseeiin)
- Sandro Circi (@sandros94)
- Support universal
{ fetch }handlers (#1210) - Support fetchable object for dynamic handlers (0da8e4a)
toEventHandlerandHTTPHandler(38be512)toMiddlewareanddefineLazyMiddlewareutils (2737f62)
- Slightly improve
getRequestIPperformances (#1197)
- Allow overriding middleware resolution (f45dd27)
- Move middleware normalization out of core (b2ce1af)
- Pass
eventto_getMiddleware(3f766a5) - Remove
toMiddlewareanddefineLazyMiddleware(unreleased) (f16f954) - Avoid anonymous functions (e4bb27a)
- Export websocket related types (#1202)
- Import
ProxyOptionsseparately (#1199) - Fix typo in docs (#1201)
- Update undocs (f2fd0e8)
- Add
pnpm-lock.yaml(8f75d2f) - examples: Fix typo (#1205)
- Update deps (2d32dd9)
- Update srvx (c272021)
- Update ci (0dfb4fe)
- Update ci (8e451e8)
- Update ci (4480127)
- Add prepack script (920a331)
- Update deps (e945618)
- Pooya Parsa (@pi0)
- Kricsleo (@kricsleo)
- Rijk Van Zanten (@rijkvanzanten)
- Homersimpsons guillaume.alabre@gmail.com
- Abeer0 (@iiio2)
- Christian Höhne (@bombur51)
- Vladimir Ivakhno (@wvovaw)
- Support thenable values (#1193)
- Inherit
req.contextandServerRequestContexttypes (#1194) HTTPEventfor more agnostic usage (#1195)- Export
toRequest(55a2c9b) - Support chunked cookies and use for session (#1102)
- EventStream: Support comment event (#1169)
- Use
H3RouteMetainRouteDefinitiontype (#1181) - proxy: Fix proxy headers filter (#1188)
- Return a
Responsefor no-content (#1177)
- Update logo to cube style (#1183)
- docs: Lowercase
srvx(#1186) - Use native node typescript support (#1191)
- Update benchmarks (b3ede4e)
- Update deps (4af9fd7)
- Fix type issues related to
BufferSource(9040219)
- Add test for
app.request(unicode)(1f874ee)
- Hugo Muller (@HugoMuller)
- David De Sloovere (@DavidDeSloovere)
- Pooya Parsa (@pi0)
- Shun Git kwokshungit@gmail.com
- Kricsleo (@kricsleo)
- Abeer0 (@iiio2)
- Sébastien Chopin seb@nuxtjs.com
- Lucas Nørgård (@luxass)
⚠️ app.request(#1176)
⚠️ Only acceptreqforH3andEventHandlerWithFetchfetch (#1096)
- Pooya Parsa pyapar@gmail.com
- Experimental
defineRoute(#1143) - middleware: Allow passthrough response without enforcing explicit return (#1174)
- Log unhandled errors (#1152)
- proxy:
⚠️ Only inherit runtime context for sub-requests (#1142) - Safer
HTTPErrorcheck (#1145) - defineValidatedHandler: Accept all
EventHandlerObjectprops (#1147) - Change "h://" to "http://" (90226b8)
- Fix noContent example (#1171)
- Update deps (256e29d)
- Update snapshot (8d52a83)
- proxy:
⚠️ Only inherit runtime context for sub-requests (#1142)
- Huseeiin (@huseeiin)
- Kricsleo (@kricsleo)
- Pooya Parsa (@pi0)
- Shun Git kwokshungit@gmail.com
- Wind hi@productdevbook.com
- Optional route meta (#1118)
- Add
readMultipartFormDatafor backward compatibility (#1120) - Export
H3Core(#1127) - Natively mount h3 as sub-app (#1129)
- Support typed
req.headers(#1130) - serveStatic: Support default and custom mimes (#1137)
- Expose
H3Event.app(#1139) - Freeze app routes and config after server init (#1140)
- proxy: Use native
fetch+event.app.fetch(#1141)
- isEvent: Safer check for bun compatibility (5a984da)
- response: Only add
content-dispositionforFilewith name (#1133)
- V2-beta (#1073)
- Add apitally to community integrations (#1113)
- Fix route meta example (#1124)
- Update visualization for dispatch request lifecycle (#1115)
- Fix typo
event.reqis instance of request (#1125) - Add nested apps section (#1131)
- Expose
toResponseutil (febb832)
- defineValidatedHandler: Return value should be fetchable (b759670)
- Update playground (76e791f)
- Update playground (dd3cb27)
- Update docs (ef7a8db)
- Add back build.config (74c9174)
- Fix internal typo (#1109)
- Update deps (6b78d5a)
- Update rou3 to 0.7 (ba15aaa)
- Update deps (4a6d71a)
- Update deps (01d4506)
- Update deps (6ca1c1c)
- Update h3-nightly dep (84e0420)
- Update release script (da374e3)
⚠️ Explicit use of handlers or middleware (#1128)
- Pooya Parsa (@pi0)
- Gene ._. (@outslept)
- Daniel Roe (@danielroe)
- 87xie (@87xie)
- Wuiyang wuiyang@live.com
- Kricsleo (@kricsleo)
- Ckvv (@ckvv)
- Simon Gurcke (@itssimon)
- Nils K (@septatrix)
- getRequestUrl: Forward opts to
getRequestProtocol(#776) - readRawBody: Read chunked body (#652)
- proxy: Better error when upstream proxy fails (#746)
- node: Make sure
onBeforeResponseandonAfterResponseare called with error code (#756) - sse: Prevent
onClosedfrom firing twice inEventStream(#704) - plain: Avoid import from unenv internals (#781)
- Fix typo (#699)
- Fix typo (#707)
- Fix typo (#712)
- Fix typo (#730)
- Fix typo (#732)
- Remove extra space (#718)
- Add semi (#710)
- event-handler: Fix typo (#684)
- Add jsdoc examples for response utils (#677)
- Add note for getRequestIP return value (#726)
- Fix session example (#702)
- Add jsdoc examples for request utils (#680)
- Fix typo (#734)
- Correct zod validation example (#735)
- Fix typos (#738)
- Fix typo (#758)
- Add usage example for
handleCors(#747) - Fix typo for
text/htmlcontent-type (#764) - Update mogen example to use
combinedlog format (#771) - Fix typo for plain adapter example (#766)
- examples: Add cors example (#700)
- Fix
respondWithevent object (#775) - Provide
asyncfor request body (#777) - error-handling: Add string vs object errors and update
createErrorjsdoc (#762)
- Fix lint issue (107ec8e)
- Update deps (9777596)
- docs: Remove unnecessary asterisks (#724)
- Update eslint (8ffe898)
- docs: Lint bun and deno page (#678)
- Fix typos (23d9047)
- Remove duplicate test (53ee4fd)
- Apply automated updates (617c8cb)
- Update dependencies (1776ac4)
- Lint (5af045b)
- Update supertest to v7 (44db181)
- Fix typos (#772)
- Apply automated updates (3249ca7)
- Prepare v1 branch (9cb2537)
- Remove node 16 from test matrix (458cfac)
- Pooya Parsa (@pi0)
- Joshua Sosso (@joshmossas)
- Yusuf Mansur Özer ymansurozer@gmail.com
- Daniel Slepov danil.slepov@gmail.com
- Alexander Lichter (@manniL)
- Haruaki OTAKE aaharu@hotmail.com
- @beer (@iiio2)
- Sébastien Chopin seb@nuxtjs.com
- Michael Brevard yonshi29@gmail.com
- Matthias Zaunseder matthias.zaunseder@hotmail.de
- Torsten Dittmann torsten.dittmann@googlemail.com
- Guten ywzhaifei@gmail.com
- JoLo (@jolo-dev)
- Xjccc (@xjccc)
- Nozomu Ikuta (@NozomuIkuta)
- Dog (@dgxo)
- Israel Ortuño ai.ortuno@gmail.com
- Eckhardt (Kaizen) Dreyer eckhardt.dreyer@gmail.com
- Estéban (@Barbapapazes)
- Mathieu Derelle mathieu.derelle@gmail.com
- Deth gabriel@rosa.dev.br
- Michel Edighoffer m.edighoffer@france-solar.fr
- Evgenii Troinov
- Kongmoumou (@kongmoumou)
- Remonke (@remonke)
- Shyam Chen shyamchen1994@gmail.com
- KobZ (@devseckobz)
- _lmmmmmm lmmmmmm12138@gmail.com
- Vladimir Kutepov (@frenzzy)
- ws: Resolve pathname for matching (4f211f8)
- Update bun ws example (da464c3)
- Update crossws (a61f98a)
- Pooya Parsa (@pi0)
- Add utilities for server sent events (#586)
- response: Add
sendIterableutil (#655) - Handler resolver (#669)
- Websocket support (#671)
- serveStatic: Ensure
etagheader is set before sending 304 response (#653)
- Add basic jsdocs for utils (c8aa150)
- Fix typo (#668)
- Fix typos (#665)
- Fix typo (#662)
- Fix typos (#661)
- Fix import name (#658)
- examples/from-expressjs-to-h3: Add node middleware usage (#663)
- Refine function usages (#667)
- Remove unwanted
console.log(#675) - Add jsdoc examples (#672)
- Update jsdocs example for route utils (#673)
- release: V1.10.2 (a58d7c9)
- Apply automated fixes (f5a89fc)
- Fix does issues (#657)
- Integrate automd (5212f01)
- Lint (ddffb0e)
- Update docs (1d8b389)
- Update docs (5e3b5e5)
- Update lockfiles (272e1be)
- Apply automated updates (96eda87)
- Pooya Parsa (@pi0)
- Estéban (@Barbapapazes)
- Bram Kamies
- Joshua Sosso (@joshmossas)
- Nozomu Ikuta
- Markthree (@markthree)
- Sacha Stafyniak (@stafyniaksacha)
- Meir Lamdan
- Joshua
- Matej Černý
- Amit Gurbani (@AmitGurbani)
- Neil Richter (@noook)
- proxy: Ignore incoming
acceptheader (#646)
- Daniel Roe (@danielroe)
- setResponseHeaders: Fix types to allow partial header names (#607)
- setCookie: Allow cookies with the same name but different options (#606)
- getRequestWebStream: Reuse buffered body if available (#616)
- getSession: Use semaphore lock for unseal operation (#612)
- getRequestIP: Use first address of
x-forwarded-forheader (#618) - Avoid setting default
content-typefor responses with 304 status (#641)
- Use
H3Event.node.resfor internal types (#626)
- release: V1.10.0 (ae91fc8)
- Update lockfile (1f9393d)
- Rename vitest config file to suppress warn (8345c1f)
- Update lockfile (87119a1)
- Pooya Parsa (@pi0)
- Estéban (@Barbapapazes)
- Michael Brevard yonshi29@gmail.com
- Jaden me@jaden.bio
- Oscar Beaumont (@oscartbeaumont)
- Kamil Kuczmera
- Jonas Thelemann e-mail@jonas-thelemann.de
- validate: Provide validate error in
data(#594)
- readRawBody: Check
req.rawBodybeforereq.body(#604)
- Add generics to
isErrorand updateDataTdefault generic param (#582) - setResponseHeaders: Add autocompletion for header names (#601)
- Fix nightly release job conditional (#587)
- Michael Brevard yonshi29@gmail.com
- Pooya Parsa (@pi0)
- Estéban (@Barbapapazes)
- Gregor Becker (@CodeDredd)
- Bobbie Goede bobbiegoede@gmail.com
- Sébastien Chopin seb@nuxtjs.com
- Damian Głowala (@DamianGlowala)
- Support auto complete for http header names (#542)
- Add
getValidatedRouterParamsutil (#573) decodeoption forgetRouterParam(#556)- Add
getRequestFingerprintutil (#564)
- sendNoContent: Preserve custom status code if already set (#577)
- Add generics to
H3Errordata andcreateError(#566)
- Update lockfile (0ff34bc)
- Pooya Parsa (@pi0)
- Nandi95
- Horu
- Damian Głowala (@DamianGlowala)
- Nozomu Ikuta
- Alexander Lichter (@manniL)
- Łukasz Wołodkiewicz
- Kazuya Kawaguchi kawakazu80@gmail.com
- Michael Brevard yonshi29@gmail.com
- getRequestProtocol: Conditionally check
connection?.encrypted(#532)
- Update playground dependency (90f64e9)
- Update lockfile (4994334)
- Revert codecov-action to v3 (de01f41)
- Update dependencies (d18f56b)
- Fix type issue with unenv (498a540)
- Apply automated lint fixes (0610b52)
- Pooya Parsa (@pi0)
- Michael J. Roberts
- Use safe property checks (#521)
- Use native
HeadersandResponsefor legacy polyfills (#523)
- Typo for getValidatedQuery (164f68e)
- proxy: Add additional test to make sure json response is sent as is (#512)
- Pooya Parsa (@pi0)
- Sébastien Chopin (@Atinux)
- Arkadiusz Sygulski arkadiusz@sygulski.pl
- router: Expose
event.context.matchedRoute(#500) - web: Add
fromWebHandler(#490) - Support
fromPlainHandler(bc2ca33) - Util
getRequestIP(#503) defineRequestMidleware,defineResponseMiddlewareand rename object synctax hooks (#507)
- sanitizeStatusCode: Input is optional (67a4132)
- sendNoContent: Avoid overriding status code if event is already handled (3f6d99e)
- router: Use default behavior for no-content handling (e3c9f96)
- app: Use
sendNoContentfor null handling (a72a4b8) - event: Rename
event.bodytoevent.rawBody(563313d) - Cleanup event interface (#506)
- Rename
beforeResponsetoonBeforeResponse(7cebec2)
- Update lockfile (f605b9d)
- Fix type issue (383ea43)
- Apply automated lint fixes (aa2e5d9)
- Fix import (af96497)
- Apply automated lint fixes (f3d0bc9)
- Upgrade dev dependencies (3f9c8b6)
- Sync package description (6ad4bd0)
- Format all repo with prettier (ffab809)
- Pooya Parsa (@pi0)
- Harlan Wilton (@harlan-zw)
- Iain Sproat
- Object-syntax event handlers (#485)
- event: Add default stringify with method and url for better dx (#493)
- Support react pipeable streams (#494)
- app: Use response.body instead of initial returned val (0434358)
- Make request and response types explicit (#489)
- web: Use
nullfor null body responses (#495)
- Fix
deleteCookiedescription (#487)
- Update dependencies (21a2c6c)
- Update playground (7cb2de6)
- Update listhen (7fc1d8b)
- Add valibot to community packages (#491)
- Format with prettier v3 (da225b9)
- Pooya Parsa (@pi0)
- Daniel Roe daniel@roe.dev
- Michel EDIGHOFFER edimitchel@gmail.com
- Conner (@Intevel)
- app: Handle bigint return types (#474)
- Preserve and make error cause accessible (#479)
- Platform agnostic
serveStaticutility (#480) - app:
onRequest,onBeforeResponseandonAfterResponseglobal hooks (#482) plainandwebadapters (#483)
- app: Handle directly
node.res.end()returned value (7b18fa0) - stream: Improve node.js readable stream check (cdd2680)
- proxy: Merge overridden headers with different case (#476)
- readbody: Accept additional options for urlencoded header (#437)
- app: Throw error when trying to return function or symbol as response (6e58103)
- app: Use default error handler if
onErrordoes not handles response (#478) - proxyRequest: Only attempt to read body if incoming request can contain body (a26579f)
- app: Make sure resolved val is also not undefined before calling hooks (cfe397e)
- app: Extract handler returned response handling (#473)
- event: Always normalize
event.method(7585861) - Deprecate
getMethodto preferevent.method(bc202c0) - event: Use
sendWebResponseforevent.respondWith(#481)
- Remove extra log in tests (06d1bc1)
- Pooya Parsa (@pi0)
- Revert #452 (#452)
- Pooya Parsa (@pi0)
- Support web streams (#432)
- Add
event.methodandevent.headers(#429) - Support blob responses (#422)
- Web responses with streaming support (#436)
- readBody: Validate requests with
application/jsoncontent type (#207) - event: Support
event.url(#455) - event:
event.bodywith readable stream (#457) - event:
event.requestgetter to access web request (#454) - Add
readFormDatautil (#421) - proxy: Stream request body with
streamRequestoption (#374) readValidatedBodyandgetValidatedQueryutils (#459)- Add
removeResponseHeaderandclearResponseHeadersutils (#427) - Add event handler generics for typed request body and query (#417)
- proxy: Handle responses with no content (#433)
- Split
set-cookievalue when handling web responses (#445) - defineLazyEventHandler: Infer return type (#442)
- proxy: Respect
fetchOptions.methodover incoming request method (#441) - Append
set-cookieheaders in web response (#453) - proxy: Avoid decoding request body as utf8 (#440)
- readMultipartFormData: Handle utf8 encoding for
nameandfilename(#416) - event: Do not remove double slashes from query (#462)
- router: Fallback for method-shadowed routes (#461)
- proxy: Transparently forward errors when passing ofetch (#466)
- Keep backward compatibility with
event.node.req.url(#471) - getRequestPath: Avoid double normalization (0181d33)
- app:: Split return type conditions (#434)
- Use
event.pathinstead ofevent.node.req.urlfor internal utils (#438) - Type
event.node.req.originalUrl(6c87d87) - Alias
isEventHandlertoisEvent(#452)
- Update link to how it works (3dd2376)
- Split readme into subsection and document missing helpers (#428)
- Improve nightly release usage section (#468)
- Ignore eslint warning (4c609b2)
- release: V1.7.1 (7273ab4)
- Add autofix ci (e359f5f)
- Online stackblitz playground (#451)
- Add link to example for nested routers (0968902)
- Setup nightly releases (#467)
- proxy: Disable keep alive to run faster (8783ab6)
- proxy: Avoid consuming body in interceptor (b960a74)
- Add polyfills to run all tests against node.js 16 (#456)
- Use conventional commits for autofix (#470)
- Pooya Parsa (@pi0)
- Daniel Roe daniel@roe.dev
- Heb (@Hebilicious)
- Arkadiusz Sygulski arkadiusz@sygulski.pl
- Iain Sproat
- Zhiyuanzmj
- Ngob ngobenoit@gmail.com
- Emīls Gulbis (@emilsgulbis)
- Tobias Diez code@tobiasdiez.com
- Javad Mnjd (@jd1378)
- Hebilicious (@Hebilicious)
- Valentin Dzhankhotov vushe@yandex.ru
- fetchWithEvent: Allow customizing fetch impl type (#414)
- Improve
H3Error(#415)
- Update link to how it works (3dd2376)
- Pooya Parsa (@pi0)
- Daniel Roe daniel@roe.dev
- Med Talhaouy
- proxy: Support
onResponsecallback (#368) - useSession: Support custom session id generator (#390)
event.handledflag (#410)
- types: Type for get router parameter utils (#400)
- proxy: Split cookie headers properly with native node fetch (#408)
- readRawBody: Handle body as object (#403)
- router: Send 204 with empty string in preemptive mode instead of 404 (#409)
- cache, proxy, response: Avoid sending handled events (#411)
- Add event as first arg for proxyRequest (3e5f427)
- Pooya Parsa (@pi0)
- 魔王少年 (@maou-shonen)
- Ígor Jacaúna
- Enkot (@enkot)
- Cerino Ligutom III (@zeferinix)
- Sébastien Chopin seb@nuxtjs.com
- getRequestURL: Normalize double slashes (b5d2972)
- getRequestURL: Make
x-forwarded-hostsupport opt-in (2fce169) - event: Normalize
event.path(981c89f)
- Add tests for
getRequestURL(d510483)
- Pooya Parsa (@pi0)
- readRawBody: Resolve cached promise before normalizing buffer (2e472e8)
- Pooya Parsa (@pi0)
- readRawBody: Always return buffer without encoding (19d133d)
- Pooya Parsa (@pi0)
- readBody, readRawBody: Handle raw body as buffer (#366)
- Missing parentheses (#362)
- Update changelog (e199df3)
- Johann Schopplich (@johannschopplich)
- Roger!
- Pooya Parsa (@pi0)
- setResponseStatus: Mark
codetype as optional (#359) - Sanitize utils and sanitize all response code and messages (#358)
- Pooya Parsa (@pi0)
- Daniel Roe daniel@roe.dev
- Sanitize
statusMessageof disallowed chars (#357)
- Daniel Roe daniel@roe.dev
- Expose
splitCookiesStringutility (#343) getRequestHost,getRequestProtocolandgetRequestURLutils (#351)
- clearSession: Accept partial session config (#328)
- useSession: Add types for
dataproperty (#346) - fetchWithEvent: Handle undefined
init(c84c811)
- Replace deprecated methods in test and jsdocs (#341)
- Fix lint error (#342)
- readme: Update badges (7afa753)
- readme: Use correct link (a5e9fcd)
- Update dev dependencies (f0075c7)
- Pooya Parsa (@pi0)
- Sébastien Chopin seb@nuxtjs.com
- 魔王少年 (@mao-shonen)
- Oleg Khalin
- Yuki Tsujimoto
- Zhiyuanzmj
- proxy: Separate multiple cookie headers (#319)
- Update build status badge url (#331)
- Export
MultiPartData(#332)
- Pooya Parsa pooya@pi0.io
- Enkot taras.batenkov@gmail.com
- Nozomu Ikuta
- Martin Meixger martin@meixger.com
- Divyansh Singh
- Session support improvements (#325)
- Pooya Parsa pyapar@gmail.com
fetchWithEventandgetProxyRequestHeadersutils (#323)
- session: Use upstream
iron-webcrypto(a4b6f0d)
- proxy: Req can be url too (e13663b)
- session: Session data values can be any pojo passing to
JSON.stringify(22d116c)
- Pooya Parsa pooya@pi0.io
- Inline
iron-webcryptoto remove buffer polyfill (c50505b)
- Ignore lib from eslint (ac28a37)
- Pooya Parsa pooya@pi0.io
- Session support (#315)
- setCookie: Override existing
set-cookieheader with same name (#316) - proxy: Add
hostto ignored headers (d4f863f)
- Improvements (#297)
- Replace useCookies with parseCookies in test (#314)
- Pooya Parsa pooya@pi0.io
- Yuki Tsujimoto
- Ryan Frantz ryanleefrantz@gmail.com
- Utils to get and set response status (c8b4d85)
- Add
readMultipartFormDatato parsemultipart/form-data(#280) - Add
sendNoContentutility to create a 204 response (#250)
- Add full mit text for multipart util (42cfb99)
- Pooya Parsa pooya@pi0.io
- Tobias Diez code@tobiasdiez.com
- Daniel Roe daniel@roe.dev
- Fix deprecated methods (#238)
- Add section to readme for community packages (#262)
- Update eslint config (0812e81)
- Format with prettier (a0e21c1)
- Fix type issue (a9b3187)
- Fix legacy middleware test (408f3f2)
- Pooya Parsa pooya@pi0.io
- Daniel Roe daniel@roe.dev
- Nozomu Ikuta nick.0508.nick@gmail.com
- Larry Williamson l422y@l422y.com
1.0.1 (2022-11-15)
1.0.0 (2022-11-15)
- drop deprecated util aliases
0.7.17 (2022-08-30)
- sendRedirect: always encode location uri (01476ac)
0.7.16 (2022-08-23)
contexttype forCompatibilityRequestProps(#164) (984a42b)- added missing patch router method (#166) (dff2211)
0.7.15 (2022-08-10)
- createError: preserve original error stack (#161) (8213421)
- don not log errors when
onErroris provided (#162) (ccc9c7e)
0.7.14 (2022-08-08)
- add utilities for http headers (#157) (272f883)
- add utility for router params (#120) (#158) (4b83bdf)
0.7.13 (2022-08-01)
- send 204 response if null is returned from handler (#154) (dbd465f)
- sendRedirect: add refresh meta fallback for static generated responses (#153) (606de3b)
0.7.12 (2022-07-21)
- isError: use
__h3_error__class property to detect error (968bfee)
0.7.11 (2022-07-21)
0.7.10 (2022-06-17)
0.7.9 (2022-06-10)
- add
H3EventContextfor type augmentation (#124) (5042e92) - createError: support string as error source (#132) (8eb9969)
- handle error cause (#131) (3c3b6bd)
0.7.8 (2022-05-04)
- handle typed
H3Response(62aebf8)
0.7.7 (2022-05-04)
0.7.6 (2022-04-29)
0.7.5 (2022-04-27)
0.7.4 (2022-04-14)
- handleCacheHeaders: small improvements (4fb9745)
0.7.3 (2022-04-12)
0.7.2 (2022-04-08)
- add generic response type support for eventHandler (6fcdc22)
0.7.1 (2022-04-07)
- router: compatibility matched params (07930bc)
0.7.0 (2022-04-07)
-
move router params to
event.context.params -
move router params to
event.context.params(6fe32e2)
0.6.0 (2022-04-06)
- set default path for
setCookieto/
- set default path for
setCookieto/(1bd6a45)
0.5.7 (2022-04-06)
- remove
ServerResponsefromCompatibilityEventpossibilities (b285659)
0.5.6 (2022-04-06)
handleCacheHeadersutility (4a71a3f)
- add
paramsto compatibility layer forreq(63dd55c)
0.5.5 (2022-04-04)
dynamicEventHandler(ce98257)
0.5.4 (2022-04-01)
- throw wrapped error with legacy middleware (27e9477)
0.5.3 (2022-03-31)
0.5.2 (2022-03-31)
- add
[h3]prefix to console error (2f4859c) - improve
writableEndedguard (ba5084c) - make console error for thrown unknown errors (1552219)
- skip built-in error handler if
onErrorprovided (2c25aa1)
0.5.1 (2022-03-29)
- expose toNodeHandle and add backward compat with layer as
handle(54a944c) - support lazy event handlers (333a4ca)
- typecheck handler to be a function (38493eb)
0.5.0 (2022-03-29)
- All
handleexports and properties are renamed tohandlerwith some backward compatibilities. - Legacy handlers are promisified by default
- opt-in using event format using
defineEventHandler(#74)
- app: use node handler signature (c722091)
- opt-in using event format using
defineEventHandler(#74) (cdf9b7c)
-
router: req.params compatibility (1d9fca0)
-
use events api for utils with compatibility layer (#75) (2cf0f4b)
0.4.2 (2022-03-16)
- send: add explicit return type (2736b3a)
0.4.1 (2022-03-11)
- allow returning, number and boolean as well (#65) (9a01465)
- use
cookie-esto avoid esm bundling issues (ceedbbc)
0.4.0 (2022-03-09)
- update repo
0.3.9 (2022-01-18)
0.3.8 (2021-12-04)
0.3.7 (2021-12-01)
- unenv uses
req.bodyprop (a31d12f)
0.3.6 (2021-12-01)
- assert method is valid before attempting to read body (92f67f0)
- avoid race-condition for calling useBody on same rew (0633804)
- handle body with falsy values (6236fc2)
0.3.5 (2021-11-24)
- useBody: support
req._body(0d0cd61)
0.3.4 (2021-11-24)
useMethod/isMethod/assertMethod(c45278d)- add
defineHandleanddefineMiddlewaretype helpers (#47) (8260887)
0.3.3 (2021-10-14)
0.3.2 (2021-10-14)
0.3.1 (2021-09-09)
0.3.0 (2021-07-27)
useAsyncis removed. useuseinstead
- automatically promisify legacyMiddleware with
use(2805d4c), closes #27 - handle returned errors (closes #28) (991fcff)
0.2.12 (2021-07-02)
- pkg: add exports field (998d872)
0.2.11 (2021-06-23)
0.2.10 (2021-04-21)
- fallback for setImmediate (6cf61f6)
0.2.9 (2021-04-06)
- resolve handle when send was called (fb58e5b)
0.2.8 (2021-03-27)
- app: custom options passed to useAsync (3c328a4)
0.2.7 (2021-03-27)
0.2.6 (2021-03-27)
0.2.5 (2021-02-19)
0.2.4 (2021-01-22)
- always restore req.url for each layer to avoid mutation (aae5787)
0.2.3 (2021-01-20)
- improve internal error handling (b38d450)
0.2.2 (2021-01-20)
0.2.1 (2021-01-12)
0.2.0 (2020-12-15)
- rename useBodyJSON to useBody and unexposed cached value
useCookie,useCookiesandsetCookieutilities (088f413), closes #17- appendHeader utility (84be904)
- rename useBodyJSON to useBody and unexposed cached value (d8d39a0)
0.0.15 (2020-12-12)
- don't override internal flag (a5ee318)
- hide 404 error (38fb027)
- preserve error message in console (3002b27)
0.0.14 (2020-12-05)
0.0.13 (2020-12-05)
- enable debug by default (010cdfe)
0.0.12 (2020-11-23)
- correctly expose route and middleware types (#10) (bb6cd4c), closes #11 #11
- ensure correct url is used when used as a sub-app (0e4770a)
- mark app._handle as private to avoid sub-app detection (1439f35)
0.0.11 (2020-11-21)
0.0.10 (2020-11-20)
- rewrite with much sexier API (0d3680e)
0.0.9 (2020-11-20)
- createError (1a80bd9)
- throw 404 only when writableEnded is not set (1c42a07)
0.0.8 (2020-11-19)
- don't log 404 (541edge0)
0.0.7 (2020-11-19)
0.0.6 (2020-11-19)
- add debug option to app (b0891cd)
0.0.5 (2020-11-19)
- expose unsafeHandle (f1245f1)
0.0.4 (2020-11-19)
- rewrite promisify logic (a40aa81)
0.0.3 (2020-11-19)
- improve error util (5504f4e)
0.0.2 (2020-11-19)
- remove dependency on process.env (eb018f5)