Hono Release Notes
13 release notes curated from 1 source by the Releasebot Team. Last updated: Jul 19, 2026
- Jul 18, 2026
- Date parsed from source:Jul 18, 2026
- First seen by Releasebot:Jul 19, 2026
v4.12.31
Hono fixes response helper header matching, improves body parsing and multipart request handling, and tightens SSE retry behavior. The release also adds an app.fetch() overhead benchmark and includes test and refactor cleanup.
What's Changed
- test(context): assert case-insensitive header names in response helpers by @yusukebe in #5116
- chore(benchmark): add app.fetch() overhead benchmark by @yusukebe in #5117
- refactor(aws-lambada): remove FIXME in @ts-expect-error by @yusukebe in #5130
- fix(utils/body): reuse cached formData in parseBody() by @yusukebe in #5131
- fix(request): fix multipart boundary mismatch in cloneRawRequest by @yusukebe in #5133
- fix(sse): emit retry feild when retry is 0 by @yusukebe in #5135
- test(validator): fix misspelled identifier in transform type test by @yusukebe in #5136
Full Changelog: v4.12.30...v4.12.31
Original source - Jul 13, 2026
- Date parsed from source:Jul 13, 2026
- First seen by Releasebot:Jul 13, 2026
v4.12.30
Hono fixes cache, compression, client, and method-override behavior while updating benchmarks and TypeScript prep.
What's Changed
- chore(benchmark/routers): bump deps in #5107
- chore(benchmark): remove not used benchmarks in #5108
- chore: update to ts6 in prep for ts7 in #5104
- fix(cache): deduplicate Cache-Control directives case-insensitively in #5025
- fix(compress): do not compress 206 Partial Content responses in #5020
- fix(client): replaceUrlParam should not match a param that prefixes another in #5096
- fix(method-override): set duplex when forwarding a stream body in query mode in #5110
Full Changelog: v4.12.29...v4.12.30
Original source All of your release notes in one feed
Join Releasebot and get updates from Hono and hundreds of other software products.
- Jul 10, 2026
- Date parsed from source:Jul 10, 2026
- First seen by Releasebot:Jul 10, 2026
v4.12.29
Hono ships bug fixes across client headers, lambda-edge, aws-lambda, trie-router, etag, and types, plus test and docs updates, improving request handling, binary responses, and compatibility.
What's Changed
- fix(client): merge function headers with per-request headers by @yusukebe in #5092
- chore: fix no-op tsc in test script by @yusukebe in #5093
- fix(lambda-edge): resolve the handler with the value passed to the callback by @yusukebe in #5094
- docs(language): add JSDoc @example to languageDetector by @codebybilal18 in #5081
- test(workerd): add compatibilityDate by @yusukebe in #5100
- fix(lambda-edge): base64 encode content-encoded response bodies by @yusukebe in #5099
- fix(aws-lambda): treat any non-identity content-encoding as binary by @yusukebe in #5101
- fix(types): strip extra properties from array types in JSONParsed by @Arman-Luthra in #5103
- fix(trie-router): match empty wildcard remainder after regexp param by @usualoma in #5102
- fix(etag): treat If-None-Match: * as a match by @yusukebe in #5084
New Contributors
- @codebybilal18 made their first contribution in #5081
- @Arman-Luthra made their first contribution in #5103
Full Changelog: v4.12.28...v4.12.29
Original source - Jul 6, 2026
- Date parsed from source:Jul 6, 2026
- First seen by Releasebot:Jul 7, 2026
v4.12.28
Hono ships a maintenance update with fixes for static file serving, body and validator content type matching, Bun WebSocket protocol reporting, and AWS Lambda V2 event detection, plus documentation and build cleanup.
What's Changed
fix(serve-static): treat empty string content as found by @yusukebe in #5062
docs(MIGRATION): fix req.raw.headers reference (property, not method) by @EduardF1 in #5047
chore: don't publish *.tsbuildinfo by @yusukebe in #5066
fix(utils/body,validator): normalize Content-Type media type for case-insensitive matching by @yusukebe in #5067
fix: avoid circular dependency between body.ts and request.ts by @usualoma in #5071
fix(bun): report the requested subprotocol on WSContext.protocol by @greymoth-jp in #5059
chore: bump devDependencies by @yusukebe in #5085
fix(aws-lambda): detect V2 events by request context, not rawPath alone by @VihaanAgarwal in #5033
docs(context-storage): fix JSDoc by @yusukebe in #5086
New Contributors
@EduardF1 made their first contribution in #5047
@greymoth-jp made their first contribution in #5059
@VihaanAgarwal made their first contribution in #5033
Full Changelog: v4.12.27...v4.12.28
Original source - Jun 23, 2026
- Date parsed from source:Jun 23, 2026
- First seen by Releasebot:Jul 7, 2026
v4.12.27
Hono fixes security issues in JSX, CSS, and AWS Lambda adapters, including SSR request context isolation, a server-side XSS bypass in cx(), and repeated header handling in API Gateway v1 and VPC Lattice.
Security fixes
This release includes fixes for the following security issues:
hono/jsx does not isolate context per request
Affects: hono/jsx, hono/jsx-renderer. During SSR, context was stored process-wide instead of per request, so useContext()/useRequestContext() read after an await in an async component could return another concurrent request's value — leading to cross-request data disclosure or authorization checks against the wrong request. GHSA-hvrm-45r6-mjfj
Server-Side XSS via JSX escaping bypass in cx()
Affects: hono/css. cx() marked its composed class name as already-escaped without escaping the input, so untrusted input passed as a class name could break out of the JSX class attribute during SSR and inject markup (XSS). GHSA-w62v-xxxg-mg59
API Gateway v1 adapter can drop a repeated request header value
Affects: hono/aws-lambda. The API Gateway v1 (and VPC Lattice) adapter de-duplicated repeated header values by substring instead of exact match, dropping a value that is a substring of another (e.g. 203.0.113.1 dropped when 203.0.113.10 is present) — affecting logic such as X-Forwarded-For-based IP restriction. GHSA-xgm2-5f3f-mvvc
Users of hono/jsx/hono/jsx-renderer, hono/css (cx()), or the hono/aws-lambda API Gateway v1 / VPC Lattice adapters are encouraged to upgrade.
Original source Similar to Hono with recent updates:
- Smokeball release notes136 release notes · Latest Jul 16, 2026
- Cosmolex release notes20 release notes · Latest Jul 30, 2025
- PracticePanther release notes35 release notes · Latest Jul 7, 2026
- Salesforce release notes57 release notes · Latest Jul 1, 2026
- Microsoft release notes737 release notes · Latest Jul 21, 2026
- Zoom release notes179 release notes · Latest Jul 22, 2026
- Jun 18, 2026
- Date parsed from source:Jun 18, 2026
- First seen by Releasebot:Jul 7, 2026
v4.12.26
Hono fixes lambda-edge Content-Length encoding, adds CI npm publishing with OIDC, and streamlines build tooling.
What's Changed
- fix(lambda-edge): satisfy Deno lib types for Content-Length body encoding by @yusukebe in #5013
- ci: publish to npm from CI with OIDC trusted publishing by @yusukebe in #5028
- chore: remove unused devcontainer and gitpod configs by @yusukebe in #5029
- chore: replace arg and glob with Bun native APIs in build script by @yusukebe in #5030
Full Changelog: v4.12.25...v4.12.26
Original source - Jun 9, 2026
- Date parsed from source:Jun 9, 2026
- First seen by Releasebot:Jul 7, 2026
v4.12.25
Hono ships security fixes for CORS, body limits, static file serving, and AWS Lambda adapters, closing issues that could expose credentials, bypass size checks, enable path traversal, or drop headers and cookies.
Security fixes
This release includes fixes for the following security issues:
CORS Middleware reflects any Origin with credentials when origin defaults to the wildcard
Affects: hono/cors. Fixes the wildcard origin reflecting the request Origin and sending Access-Control-Allow-Credentials: true when credentials: true is set without an explicit origin, where any site a logged-in user visited could make credentialed cross-origin requests and read responses from cookie-authenticated endpoints. GHSA-88fw-hqm2-52qcBody Limit Middleware can be bypassed on AWS Lambda by understating Content-Length
Affects: hono/body-limit on AWS Lambda (hono/aws-lambda, hono/lambda-edge). Fixes the request being built with the client-declared Content-Length while the body is delivered fully buffered, where a client could declare a small Content-Length with a much larger body and slip past the configured size limit. GHSA-rv63-4mwf-qqc2Path traversal in serve-static on Windows via encoded backslash (%5C)
Affects: serveStatic on Windows (Node, Bun, Deno adapters). Fixes the path guard allowing a lone backslash, where an encoded backslash (%5C) decoded to \ was treated as a separator by the Windows path resolver, letting a single URL segment escape into a middleware-guarded subtree. GHSA-wwfh-h76j-fc44AWS Lambda adapter merges multiple Set-Cookie headers into one value, dropping cookies on ALB single-header and Lattice
Affects: hono/aws-lambda. Fixes multiple Set-Cookie response headers being joined into one comma-separated value for ALB single-header responses and VPC Lattice v2, where the value could not be split back into individual cookies and clients silently dropped or misparsed them. GHSA-j6c9-x7qj-28xfLambda@Edge adapter keeps only the last value of a repeated request header, dropping the rest
Affects: hono/lambda-edge. Fixes repeated request headers being written with overwrite instead of append, where only the last value of a header such as X-Forwarded-For reached the application and the remaining values were silently dropped. GHSA-wgpf-jwqj-8h8p
- Jun 8, 2026
- Date parsed from source:Jun 8, 2026
- First seen by Releasebot:Jul 7, 2026
v4.12.24
Hono ships v4.12.24 with docs cleanup, auth error message fixes, and IP address handling improvements, plus broader test and config refinements.
What's Changed
- docs(contribution): simplifyAI Usage Policy by @yusukebe in #4972
- chore: remove @types/glob by @rtritto in #4978
- fix(bearer-auth): mention verifyToken in missing-options error message by @tan7vir in #4987
- refactor(language): Test/improve tests on languages middleware by @iNeoO in #4980
- fix(utils/ipaddr): expand "::" to eight zero groups by @youcefzemmar in #4973
- fix: clean up config files trailing comma, stale excludes, typesVersions gaps, jsr paths by @Mohammad-Faiz-Cloud-Engineer in #4982
- refactor(timing): Test/add test for middleware timing by @iNeoO in #4991
- fix(utils/ipaddr): render the unspecified address binary as "::" by @sarathfrancis90 in #4998
Full Changelog: v4.12.23...v4.12.24
Original source - May 25, 2026
- Date parsed from source:May 25, 2026
- First seen by Releasebot:Jul 7, 2026
v4.12.23
Hono releases v4.12.23 with path handling fixes, a public Context class export, and new compress options.
What's Changed
- fix(serve-static): normalize all backslashes in file paths, not just the first in #4962
- feat(context): export the Context class publicly by @BlankParticle in #4543
- docs(contribution): add AI Usage Policy by @yusukebe in #4970
- feat(compress): add contentTypeFilter option and COMPRESSIBLE_CONTENT_TYPE_REGEX re-export by @na-trium-144 in #4961
- fix(utils/ipaddr): do not compress a single 0 group to :: by @yusukebe in #4971
Full Changelog: v4.12.22...v4.12.23
Original source - May 22, 2026
- Date parsed from source:May 22, 2026
- First seen by Releasebot:Jul 7, 2026
v4.12.22
Hono releases a small maintenance update with MIME charset fixes, compression behavior improvements, Deno WebSocket subprotocol handling, and msgpack added as a compressible content type.
What's Changed
- chore: update vitest to v4 and cleanups by @BlankParticle in #4952
- fix(mime): specify charset parameter per MIME type instead of mechanical detection by @renatograsso10 in #4912
- fix(compress): respect Accept-Encoding when encoding option is set by @LeSingh1 in #4951
- fix(deno): echo negotiated WebSocket subprotocol in upgrade response by @ATOM00blue in #4955
- feat: add msgpack as a compressible content type by @na-trium-144 in #4957
New Contributors
- @renatograsso10 made their first contribution in #4912
- @LeSingh1 made their first contribution in #4951
- @ATOM00blue made their first contribution in #4955
- @na-trium-144 made their first contribution in #4957
Full Changelog: v4.12.21...v4.12.22
Original source - May 19, 2026
- Date parsed from source:May 19, 2026
- First seen by Releasebot:Jul 7, 2026
v4.12.21
Hono releases security fixes for app.mount(), ip-restriction, cookie, JWT, and JWK, tightening path handling, IPv6 deny checks, Set-Cookie sanitization, and Authorization scheme validation to protect apps from routing and injection issues.
Security fixes
This release includes fixes for the following security issues:
app.mount() strips mount prefix using undecoded path, causing incorrect routing for percent-encoded paths
Affects: app.mount(). Fixes prefix stripping using the raw URL pathname instead of the decoded path, where percent-encoded characters in the mount prefix or path could cause the prefix to be removed at the wrong position, resulting in the sub-application receiving an incorrect path. GHSA-2gcr-mfcq-wcc3
IP Restriction bypasses static deny rules for non-canonical IPv6
Affects: hono/ip-restriction. Fixes IP address comparison using string equality, where non-canonical IPv6 representations of a denied address — such as compressed forms or hex-notation IPv4-mapped addresses — could bypass static deny rules. GHSA-xrhx-7g5j-rcj5
Cookie helper does not sanitize sameSite and priority, allowing Set-Cookie injection
Affects: hono/cookie. Fixes missing validation of sameSite and priority options against injection characters (;, \r, \n), where user-controlled input passed to either option could inject additional attributes into the Set-Cookie response header. GHSA-3hrh-pfw6-9m5x
JWT middleware accepts any Authorization scheme, not only Bearer
Affects: hono/jwt, hono/jwk. Fixes missing scheme validation in the Authorization header, where any two-part header value was accepted regardless of the scheme name, allowing non-Bearer schemes to pass JWT authentication. GHSA-f577-qrjj-4474
Users who use app.mount(), hono/ip-restriction, hono/cookie, or hono/jwt/hono/jwk are encouraged to upgrade to this version.
Original source - May 19, 2026
- Date parsed from source:May 19, 2026
- First seen by Releasebot:Jul 7, 2026
v4.12.20
Hono fixes mounted route base paths and widens JSX children handling in a maintenance release.
What's Changed
- fix(route): preserve the base path of the mounted route() app by @usualoma in #4942
- fix(jsx): widen jsx and jsxFn children to Child[] by @ashunar0 in #4947
New Contributors
- @ashunar0 made their first contribution in #4947
Full Changelog: v4.12.19...v4.12.20
Original source - May 16, 2026
- Date parsed from source:May 16, 2026
- First seen by Releasebot:Jul 7, 2026
v4.12.19
Hono releases v4.12.19 with stronger request handling, typed bearer auth, smarter cache keys, and a new bytes() helper, plus fixes for cookies, static serving, stream aborts, and GitHub Actions pinning.
What's Changed
- ci: pin GitHub Actions to SHAs by @yusukebe in #4932
- fix(serveStatic): make options parameter optional in all adapters by @mixelburg in #4934
- fix(cookie): return the first cookie when there are multiple cookies with the same name by @usualoma in #4922
- feat(bearer-auth): make bearerAuth generic for typed context in verifyToken by @justinnais in #4913
- feat(cache): key cache entries by configured vary headers by @usualoma in #4915
- feat(request): add bytes() by @yusukebe in #4921
- fix(stream): upgrade @hono/node-server to v2 and fix abort handling by @yusukebe in #4940
New Contributors
- @justinnais made their first contribution in #4913
Full Changelog: v4.12.18...v4.12.19
Original source
This is the end. You've seen all the release notes in this feed!
Curated by the Releasebot team
Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.