Skip to content

Releases: honojs/hono

v4.9.0

07 Aug 23:26
Compare
Choose a tag to compare

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 parse hc'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

Full Changelog: v4.8.12...v4.9.0

v4.8.12

02 Aug 01:13
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.8.11...v4.8.12

v4.8.11

01 Aug 23:44
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.8.10...v4.8.11

v4.8.10

29 Jul 08:22
Compare
Choose a tag to compare

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

26 Jul 00:05
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.8.8...v4.8.9

v4.8.8

25 Jul 15:48
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.8.7...v4.8.8

v4.8.7

25 Jul 07:26
Compare
Choose a tag to compare

What's Changed

  • chore: fix the deno version for publishing to jsr by @yusukebe in #4304

Full Changelog: v4.8.6...v4.8.7

v4.8.6

25 Jul 07:01
Compare
Choose a tag to compare

What's Changed

  • perf(types): remove unnecessary default types by @yusukebe in #4282
  • fix(context): encode the redirect location by @yayugu in #4297

Full Changelog: v4.8.5...v4.8.6

v4.8.5

14 Jul 05:53
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.8.4...v4.8.5

v4.8.4

04 Jul 09:25
Compare
Choose a tag to compare

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