# \[ANN\] Hyperbole 0.5 - custom JS interop, OAuth2, trigger actions, and more!

**URL:** https://discourse.haskell.org/t/ann-hyperbole-0-5-custom-js-interop-oauth2-trigger-actions-and-more/13038
**Category:** Uncategorized
**Created:** [September 26, 2025, 5:13pm UTC](https://discourse.haskell.org/t/ann-hyperbole-0-5-custom-js-interop-oauth2-trigger-actions-and-more/13038 "2025-09-26T17:13:20Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![seanhess](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/seanhess/32/3407_2.png) [@seanhess](https://discourse.haskell.org/u/seanhess)
#### Post date: [September 26, 2025, 5:13pm UTC](https://discourse.haskell.org/t/ann-hyperbole-0-5-custom-js-interop-oauth2-trigger-actions-and-more/13038/1 "2025-09-26T17:13:20Z")

</div>

I’m pleased to announce [Hyperbole 0.5](https://hackage-content.haskell.org/package/hyperbole-0.5.0/docs/Web-Hyperbole.html)!

Hyperbole enables you to write interactive HTML applications with type-safe serverside Haskell. It is inspired by HTMX, Elm, and Phoenix LiveView.

Improvements

- `trigger` actions in other views

- Javascript FFI

- Documents

- Websocket - ping keepalive

- New form fields: `radio`, `select`

- `Web.Hyperbole.Effect.OAuth2` - Authentication

- `Web.Hyperbole.Effect.GenRandom` - Simple random effect used by OAuth2

- Error handling, custom errors

- Examples

Breaking Changes / Improvements

- `Web.Atomic.CSS` overhauled, and is now opt-in. Use new `@` and `~` operators to apply attributes and styles

- `Web.Hyperbole.Data.Param` - unified param encoding for Forms, ViewId, ViewAction, Sessions, Queries

- `Web.Hyperbole.Data.Encoding` - encoding for ViewId, ViewAction

- `Web.Hyperbole.Data.URI` - Standardize on `Network.URI`, extra utilities to manage paths

- `trigger`: required refactor of `Page` type alias to support type-checking: `Eff es (Page '[])` is now `Page es '[]`

Thanks to [Adithya Kumar](https://github.com/adithyaov) and [Benjamin Thomas](https://github.com/benjamin-thomas) for their contributions on this version!
