Hono Release Notes

Follow

13 release notes curated from 1 source by the Releasebot Team. Last updated: Jul 19, 2026

Get this feed:
  • Jul 18, 2026
    • Date parsed from source:
      Jul 18, 2026
    • First seen by Releasebot:
      Jul 19, 2026
    Hono logo

    Hono

    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
    Hono logo

    Hono

    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.

    Create account
  • Jul 10, 2026
    • Date parsed from source:
      Jul 10, 2026
    • First seen by Releasebot:
      Jul 10, 2026
    Hono logo

    Hono

    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
    Hono logo

    Hono

    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
    Hono logo

    Hono

    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:

  • Jun 18, 2026
    • Date parsed from source:
      Jun 18, 2026
    • First seen by Releasebot:
      Jul 7, 2026
    Hono logo

    Hono

    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
    Hono logo

    Hono

    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-52qc

    • Body 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-qqc2

    • Path 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-fc44

    • AWS 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-28xf

    • Lambda@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

    Original source
  • Jun 8, 2026
    • Date parsed from source:
      Jun 8, 2026
    • First seen by Releasebot:
      Jul 7, 2026
    Hono logo

    Hono

    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
    Hono logo

    Hono

    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
    Hono logo

    Hono

    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
    Hono logo

    Hono

    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
    Hono logo

    Hono

    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
    Hono logo

    Hono

    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!

Releasebot

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.