# htmx v4.0.0 - Product: htmx (https://whatsnew.fyi/product/htmx) - Vendor: htmx - Date: 2026-08-28 - Version: v4.0.0 - Original notes: https://github.com/bigskysoftware/htmx/releases/tag/v4.0.0 - Permalink: https://whatsnew.fyi/product/htmx/releases/v4.0.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Fix select and strip and title handling - **fixed** — Bind window context for Firefox compatibility - **fixed** — Attribute value only return string again - **added** — Add etag support - **fixed** — Optimize oob and fix partial tests - **fixed** — Fix bug in hx-config setting wrong level for + merge - **fixed** — Fix up handle swap extension point - **changed** — Replace state on initial state load - **fixed** — Fix title not decoded on boost - **changed** — Move tokenizer to parseConfig for all the things - **removed** — Remove find ext tokenizer - **changed** — Generalize hx-status and fix ajax issues - **added** — Add hx-confirm htmx:confirm event with async issueRequest - **fixed** — Handle inputs for web components that are form associated - **added** — Implement hx-custom template tag support - **changed** — Move to registerExtension to avoid extension upgrade confusion - **fixed** — Handle duplicates in action query params and form data - **added** — Add Websocket extension for HTMX - **added** — Add hx-target hx-source and hx-request-type headers ##### What's Changed * fix select and strip and title handling by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3492 * [4] Bind window context for Firefox compatibility by @tristandruyen in https://github.com/bigskysoftware/htmx/pull/3486 * Attribute value only return string again by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3493 * Update index page with correct link to `jsdelivr` by @szuliq in https://github.com/bigskysoftware/htmx/pull/3490 * etag support by @1cg in https://github.com/bigskysoftware/htmx/pull/3498 * Pimp out the website for htmx 4.0 by @scriptogre in https://github.com/bigskysoftware/htmx/pull/3499 * optimize oob and fix partial tests by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3500 * Ext doco by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3502 * Allow any extension to be regisgtered unless you allow list via meta tag by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3503 * fix bug in hx-config setting wrong level for + merge by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3508 * fix up handle swap extension point and doco by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3505 * replace state on initial state load by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3506 * Fix title not decoded on boost ("</> htmx" instead of " htmx") by @scriptogre in https://github.com/bigskysoftware/htmx/pull/3507 * website fixes by @scriptogre in https://github.com/bigskysoftware/htmx/pull/3504 * update "Patterns" page by @scriptogre in https://github.com/bigskysoftware/htmx/pull/3510 * [4] Small docs fix for by @tristandruyen in https://github.com/bigskysoftware/htmx/pull/3509 * update /patterns & /help page by @scriptogre in https://github.com/bigskysoftware/htmx/pull/3513 * move tokenizer to parseConfig for all the things by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3516 * Remove find ext tokenizer by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3518 * generalize hx-status and fix ajax issues by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3528 * add hx-confirm htmx:confirm event with async issueRequest by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3532 * handle inputs for web components that are form associated by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3523 * Implement hx-custom template tag support by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3537 * move to registerExtension to avoid extension upgrade confusion by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3546 * handle duplicates in action query params and form data by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3543 * Websocket extension for HTMX by @stukennedy in https://github.com/bigskysoftware/htmx/pull/3547 * add hx-target hx-source and hx-request-type headers by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3548 * allow string swapSpecs in insertContent by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3551 * add findall and fix find by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3555 * Fix closing tags for hx-partial in htmx-4.md by @benopotamus in https://github.com/bigskysoftware/htmx/pull/3557 * [docs] Remove redundant migration note by @benopotamus in https://github.com/bigskysoftware/htmx/pull/3559 * [docs] Fix typos in documentation by @benopotamus in https://github.com/bigskysoftware/htmx/pull/3558 * implement advanced hx-boost overrides by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3549 * Add mergeConfig support and remove + hx-config merging by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3561 * fix bug with empty response after partial removal detection by @MichaelWest22 in https://github.com/bigskysoftware/htmx/pull/3569 * fix missing target/swap via envelope _[Truncated at 4000 characters — full notes: https://github.com/bigskysoftware/htmx/releases/tag/v4.0.0]_