# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.4.0] - 2026-06-03
### Added
- New module: `Hypa.Phoenix`, which has a new function useful for rendering
multiple Phoenix templates at once: `Hypa.Phoenix.render_many/2`. This
function accepts the `conn` and a list of templates and assigns, like this:
conn
|> Hypa.Phoenix.render_many([
:foo,
{:bar, [a: 1]},
{"baz", [b: 2, c: 3]}
])
This will render `foo.html.heex`, `bar.html.heex`, and `bax.html.heex` with
the given assigns, using the `Phoenix.View` used by the current controller.
This should be useful for rendering [out-of-band
swaps](https://htmx.org/docs/#oob_swaps).
## [0.3.0] - 2025-09-22
### Added
- New module: `Hypa.Conn`, which has functions for adding htmx [response
headers](https://htmx.org/docs/#response-headers)
## [0.2.0] - 2024-07-21
### Added
- Two new operations to `Hypa.Plug`:
- `add_htmx_cache_control/2` - adds `hx-request` to the `vary` header for better cache control
- `put_htmx_layout/2` - removes the Phoenix layouts from responses to htmx requests.
This is only enabled if `Phoenix.Controller` is defined.
Phoenix is now an optional dependency.
## [0.1.0] - 2024-07-18
### Added
- `Hypa.Plug` - parses htmx request headers and puts them in `conn.assigns`
[0.4.0]: https://code.cosmicrose.dev/rosa/hypa/releases/tag/v0.4.0
[0.3.0]: https://code.cosmicrose.dev/rosa/hypa/releases/tag/v0.3.0
[0.2.0]: https://code.cosmicrose.dev/rosa/hypa/releases/tag/v0.2.0
[0.1.0]: https://code.cosmicrose.dev/rosa/hypa/releases/tag/v0.1.0