Skip to content

v4.2.0

Compare
Choose a tag to compare
@yusukebe yusukebe released this 02 Apr 11:24
· 215 commits to main since this release

Hono v4.2.0 is now available! Let's take a look at the new features.

Added more algorithms for JWT

The number of algorithms that JWT util can handle has increased from only 3 to 13! This means that JWT util now implements many of the algorithms supported by JWT.

  • HS256
  • HS384
  • HS512
  • RS256
  • RS384
  • RS512
  • PS256
  • PS384
  • PS512
  • ES256
  • ES384
  • ES512
  • EdDSA

You can use these algorithms from the JWT middleware or JWT helpers. Thanks @Code-Hex!

Method Override Middleware

Method Override Middleware has been added. This middleware override the method of the real request with the specified method.

HTML form does not allow you to send a DELETE method request. Instead, by sending an input with name as _method and a value of DELETE, you can call the handler registered in app.delete().

const app = new Hono()

// If no options are specified, the value of `_method` in the form,
// e.g. DELETE, is used as the method.
app.use('/posts', methodOverride({ app }))

app.delete('/posts', (c) => {
  // ....
})

Trailing Slash Middleware

Trailing Slash Middleware resolves the handling of Trailing Slashes in GET requests. You can use appendTrailingSlash and trimTrailingSlash functions.

For example, it redirects a GET request to /about/me to /about/me/.

import { Hono } from 'hono'
import { appendTrailingSlash } from 'hono/trailing-slash'

const app = new Hono({ strict: true })

app.use(appendTrailingSlash())
app.get('/about/me/', (c) => c.text('With Trailing Slash'))

Thanks @rnmeow!

Other features

  • SSG Helper - Support extensionMap #2382
  • JSX/DOM - Add userId hook #2389
  • JWT Middleware - Improve error handling #2406
  • Request - Cache the body for re-using #2416
  • JWT Util - Add type helper to payload #2424
  • CORS Middleware - Pass context to options.origin function #2436
  • Cache Middleware - Support for the vary header option #2426
  • HTTP Exception - Add cause option #2224
  • Logger - Support NO_COLOR #2228
  • JWT Middleware - Add JwtTokenInvalid object as cause when JWT is invalid #2448
  • Bearer Auth Middleware - Add verifyToken option #2449
  • Basic Auth Middleware - Add verifyUser option #2450

All Updates

New Contributors

Full Changelog: v4.1.7...v4.2.0