v4.13.13

honojs/honov4.13.13Oct 4, 2026by yusukebe

Upgrading?

AI Summary

Introduces a new Mount Middleware module to replace the deprecated `app.mount()` method, along with fixes for JSX rendering and documentation.

Key Highlights

  • New `hono/mount` middleware package is available for router mounting.
  • Deprecated the `app.mount()` method, with plans to remove it in v5.
  • Migration path provided: change `app.mount()` to `app.all('/path/*', mount(handler))`.
  • Fixes for JSXNode function component results.

Breaking Changes

  • Deprecation of `app.mount()` method (removal planned for v5)

New Features

  • Mount Middleware
  • JSXNode function component fixes

Full Release Notes

## Mount Middleware

`app.mount()` is now available as the Mount Middleware, `hono/mount`. It is just a handler, so you register it with `app.all()`:

```ts
import { Router as IttyRouter } from 'itty-router'
import { Hono } from 'hono'
import { mount } from 'hono/mount'

const ittyRouter = IttyRouter()
ittyRouter.get('/hello', () => new Response('Hello from itty-router'))

const app = new Hono()
app.all('/itty-router/*', mount(ittyRouter.handle))
```

`app.mount()` still works in v4 but is deprecated and will be removed in v5. Migrating is a one-line change:

```diff
- app.mount('/itty-router', ittyRouter.handle)
+ app.all('/itty-router/*', mount(ittyRouter.handle))
```

## What's Changed
* test(client): simulate network error for undefined route in parseResponse test in https://github.com/honojs/hono/pull/5439
* docs(request): fix jsdoc comments for some getters in https://github.com/honojs/hono/pull/5445
* fix(jsx): allow JSXNode function component results in https://github.com/honojs/hono/pull/5476
* feat(mount): introduce Mount Middleware and deprecate `app.mount` in https://github.com/honojs/hono/pull/5221

**Full Changelog**: https://github.com/honojs/hono/compare/v4.13.12...v4.13.13

Related Repositories