+++ title = "htmx 1.8.0 has been released!" date = 2022-07-12 [taxonomies] tag = ["posts", "announcements"] +++ ## htmx 1.8.0 Release I'm happy to announce the [1.8.0 release](https://unpkg.com/browse/htmx.org@1.8.0/) of htmx. **NOTE:** This was a big release with some changes to very touchy code that is hard to test (e.g. history support) so please test thoroughly and let us know if there are any issues. ### New Features * The [`hx-replace-url`](@/attributes/hx-replace-url.md) attribute was introduced, allowing you to replace the current URL in history (to complement `hx-push-url`) * `m` is now a valid timing modifier (e.g. `hx-trigger="every 2m"`) * `next` and `previous` are now valid extended query selector modifiers, e.g. `hx-target="next div"` will target the next div from the current element * The `HX-Location` response header now implements client-side redirects entirely within htmx * The `HX-Reswap` response header allows you to change the swap behavior of htmx * The new [`hx-select-oob`](@/attributes/hx-select-oob.md) attribute selects one or more elements from a server response to swap in via an out of band swap * The new [`hx-replace-url`](@/attributes/hx-replace-url.md) attribute can be used to replace the current URL in the location bar (very similar to `hx-push-url` but no new history entry is created). The corresponding `HX-Replace-Url` response header can be used as well. ### Improvements & Bug fixes * Boosted forms now will automatically push URLs into history as with links. The [response URL](https://caniuse.com/mdn-api_xmlhttprequest_responseurl) detection API support is good enough that we feel comfortable making this the default now. * If you do not want this behavior you can add `hx-push-url='false'` to your boosted forms * If htmx is included in a page more than once, we do not process elements multiple times * When localStorage is not available we do not attempt to save history in it * `hx-boost` will boost anchor tags with a `_self` target * The `load` event now properly supports event filters * The websocket extension has had many improvements: (A huge thank you to Denis Palashevskii, our newest committer on the project!) * Implement proper `hx-trigger` support * Expose trigger handling API to extensions * Implement safe message sending with sending queue * Fix `ws-send` attributes connecting in new elements * Fix OOB swapping of multiple elements in response * htmx now properly handles anchors in both boosted links, as well as in `hx-get`, etc. attributes * Many, many documentation updates (thank you to all the contributors!) Enjoy!