Releases: honojs/hono
Releases · honojs/hono
v4.9.0
Release Notes
Hono v4.9.0 is now available!
This release introduces several enhancements and utilities.
The main highlight is the new parseResponse
utility that makes it easier to work with RPC client responses.
parseResponse Utility
The new parseResponse
utility provides a convenient way to parse responses from Hono RPC clients (hc
). It automatically handles different response formats and throws structured errors for failed requests.
import { parseResponse, DetailedError } from 'hono/client'
// result contains the parsed response body (automatically parsed based on Content-Type)
const result = await parseResponse(client.hello.$get()).catch(
// parseResponse automatically throws an error if response is not ok
(e: DetailedError) => {
console.error(e)
}
)
This makes working with RPC client responses much more straightforward and type-safe.
Thanks @NamesMT!
New features
- feat(bun): allow importing upgradeWebSocket and websocket directly #4242
- feat(aws-lambda): specify content-type as binary #4250
- feat(jwt): add validation for the issuer (iss) claim #4253
- feat(jwk): add headerName to JWK middleware #4279
- feat(cookie): add generateCookie and generateSignedCookie helpers #4285
- feat(serve-static): use join to correct path resolution #4291
- feat(jwt): expose utility function verifyWithJwks for external use #4302
- feat: add parseResponse util to smartly parse hc's Response #4314
- feat(ssg): mark old hook options as deprecated #4331
All changes
- feat(aws-lambda): specify content-type as binary by @Kanahiro in #4250
- feat(jwt): added validation for the issuer (
iss
) claim by @yolocat-dev in #4253 - feat(jwk): Add custom
headerName
to JWK middleware by @JoaquinGimenez1 in #4279 - feat(cookie): generateCookie and generateSignedCookie helpers by @Soviut in #4285
- feat(serve-static): use
join
to correct path resolution by @yusukebe in #4291 - feat(jwt): Exposing utility function
verifyWithJwks
for external use by @Beyondo in #4302 - feat: add
parseResponse
util to smartly parsehc
's Response by @NamesMT in #4314 - feat(ssg): mark old hook options as deprecated by @3w36zj6 in #4331
- fix(bun): exports functions related to websocket by @yusukebe in #4341
- Next by @yusukebe in #4340
- chore: enable
skipLibCheck
to resolve TypeScript compilation issues by @yusukebe in #4342
New Contributors
- @yolocat-dev made their first contribution in #4253
- @JoaquinGimenez1 made their first contribution in #4279
- @Soviut made their first contribution in #4285
Full Changelog: v4.8.12...v4.9.0
v4.8.12
v4.8.11
What's Changed
- fix(types): should populate
output
type forc.body()
by @NamesMT in #4318 - ci: add editorconfig-checker by @3w36zj6 in #4321
- fix(service-worker): pass
FetchEvent
as second argument toapp.fetch
by @yusukebe in #4328 - chore(ci): upgrade bun version to 1.2.19 by @BarryThePenguin in #4323
- chore: bump
@hono/eslint-config
by @yusukebe in #4330 - chore: autofix ci by @BarryThePenguin in #4322
Full Changelog: v4.8.10...v4.8.11
v4.8.10
What's Changed
- chore: add EditorConfig by @3w36zj6 in #4309
- chore: format JSON, YAML, and Markdown by @yusukebe in #4310
- chore: format and lint
benchmarks/*
by @yusukebe in #4317 - refactor(types): bring adapter/service-worker types up to date by @idealsh in #4315
- chore: add editorconfig-checker by @3w36zj6 in #4312
- fix(cookie): support lowercase priority for compatibility with other libraries by @bytaesu in #4293
New Contributors
Full Changelog: v4.8.9...v4.8.10
v4.8.9
v4.8.8
v4.8.7
v4.8.6
v4.8.5
v4.8.4
What's Changed
- test: correct usages of
Proxy
to support Node.js 24 by @yusukebe in #4260 - fix(cookie): remove not used
signingSecret
option by @yusukebe in #4263 - fix(jsx): cloneElement didn't copy children by @yayugu in #4257
- fix(client): remove
index
string when calling$url("")
by @yusukebe in #4267 - fix(ssg): invoke callback when it's only a dynamic route by @yusukebe in #4249
- fix(request):
req.json()
keeps the content as is by @yusukebe in #4269
Full Changelog: v4.8.3...v4.8.4