What's Changed
- Removed IE-specific tests by @Telroshan in #2039
- Remove legacy WS/SSE code by @Renerick in #2095
- Add support for shadow DOM by @kgscialdone in #2075
- Support encapsulating oob swap elements in templates in response by @Telroshan in #2120
- Updated mocha, tests now work with node 20 by @Telroshan in #2122
- Fix path-params title (preventing zola from building) by @Telroshan in #2121
- Fix broken link in essay by @nickchomey in #2143
- typo: dahs -> dash by @haidousm in #2142
- Add TypeScript union string type for custom event names by @cngJo in #2139
- Update
htmx.ajax
type signature to make theelement
argument optional by @PizzasBear in #2129 - Update docs.md by @feifangit in #2155
- Add "Is htmx Just Another Js Framework" Essay by @alexpetros in #2172
- Fix typo in framework essay by @alexpetros in #2174
- Remove incorrect external script info from client-side-templates docs by @kgscialdone in #2184
- Fix typo in Hyperscript Tabs docs by @ocku in #2164
- Fix SSE tests and emit new "beforeMessage" event for SSE Extension by @neelrr1 in #2171
- [Website]: Fix cut off list items in demo-server-info panel by @hawkticehurst in #2190
- [Website]: Fix demo-server-info panel rendering issue by @hawkticehurst in #2188
- Fix typos in mvc.md by @yansal in #2208
- Refactor and expose
swap
in public API by @Renerick in #2191 - chore: upgrade actions to v4 by @guoard in #2211
- Clarify hx-validate documentation by @MikeMoolenaar in #2221
- Remove extraneous
to
from essay (is-htmx-another-javascript-framework.md) by @kzsh in #2182 - Migrate to FormData by @Telroshan in #2226
- Add trailing slash to manual tests link by @danielnieto in #2241
- Add Scala http4s example to docs (server-examples) by @martinprobson in #2209
- Fix typos in markdown files by @cclauss in #2177
- Fix typos in the MVC essay by @cclauss in #2242
- www: mention hx-preserve on hx-boost by @philips in #2248
- Minimize re-rendering of 'bulk update users' table by @yawaramin in #2249
- Show element used for hx-indicator in value-select example code by @mheptinstall in #2275
- Fix edit-row example by @sake92 in #2273
- Add htmx security essay by @alexpetros in #2280
- Docs: Reference page. Shortened, clarity. by @gnat in #2282
- Add web components / shadow DOM example to docs by @kgscialdone in #2283
- Docs: Less wordy client scripting introduction. by @gnat in #2307
- Fixed typo in Web Security Basics essay by @rdbo in #2302
- Docs: Hotwire migration guide: Examples for hx-on! Turbo Streams commentary. by @gnat in #2306
- [DOC] Adds a reference to
hx-swap
from SSE extension by @itamarhaber in #2293 - Add signup.casa to webring by @nickmonad in #2324
- Sync configuration options from reference by @bencroker in #2310
- Show hx attributes used in bulk-update code example by @mheptinstall in #2274
- Docs: Tiny fixes for Hotwire page. by @gnat in #2322
- Add link to
htmx-examples-with-flask
resource by @hasansezertasan in #2328 - JSdoc in htmx.js + generated TypeScript definition by @Telroshan in #2336
- fix sse-swap removal handling in ext/sse.js by @Renerick in #2247
- SSE Ext #2225: reinstantiate EventSource listeners upon reconnection logic by @vlad-tkachenko in #2272
- Add textContent swap style by @pbt in #2356
- [Documentation] Server Examples: Add F# - Giraffe example by @SIRHAMY in #2363
- Add Recipya to the webring by @reaper47 in #2345
- [DOC] clarify SSE hx-swap docs to note #784 by @cbiffle in #2327
- Update podcasts.csv by @srcerer in #2380
- Add config option to ignore nested oob-swaps instead of processing them by @infogulch in #1235
- Fix TypeScript types by @nwalters512 in #2261
- Double script exec tests variants using templates: issue confirmed by @Telroshan in #2365
- WS.js fix for Safari on iOS 17.4 by @Renerick in #2391
- Fix date in CHANGELOG.md by @gotcha in #2419
- Add documentation for multiple CSS selectors in hx-disabled-elt by @eduardolat in #2421
- Ws fix hx vals number handling by @Renerick in #2418
- Fix IE11 incompatibilities by @Telroshan in #2408
- Link to section on CSS Transitions instead of Mozilla page by @Pi-Cla in #2413
- Fix example for mustache in client-side-templates extension. by @airblast-dev in #2409
- Switch to default export for htmx 2 by @alexpetros in #2428
- Add reference to unminified CDN distribution to the docs by @Renerick in #2460
- Fix #2317 force conversion to FormData for xhr.send by @Telroshan in #2481
- Update podcasts.csv by @srcerer in #2500
- Add Statusnook to the webring by @goksan in #2506
- Remove Node 15 requirement mention from README by @Telroshan in #2494
- use same ID throughout the example by @gossie in #2471
- Update hx-indicator.md by @rafkub in #2444
- Update confirm.md by @rafkub in #2443
- Fix a trivial typo in CONTRIBUTING.md. by @andrejota in #2436
- fix(docs): Add missing apostrophes by @noman-land in #2405
- docs: aria-selected true in Tabs HATEOS example by @nicoekkart in #2404
- More explicit explanation of htmx.config.getCacheBusterParam by @lookbusy1344 in #2376
- docs: fix
this
binding inonClick .then
handler with arrow function by @lloydlobo in #2373 - [2.0] Improve extension registration logic by @Renerick in #2505
- Add tests for getSelectors method for extension registration by @Renerick in #2508
- feat: Add inlineSlyeNonce configuration by @marcospereira in #2542
- (website) Fix url to github stars by @zoomie in #2521
- 📚 fix code sample in documentation by @antoine-aumjaud in #2498
- Fix double-encoded UTF-8 characters by @szepeviktor in #2371
- Add Dark mode to the website by @pokonski in #2562
New Contributors
- @kgscialdone made their first contribution in #2075
- @nickchomey made their first contribution in #2143
- @haidousm made their first contribution in #2142
- @cngJo made their first contribution in #2139
- @PizzasBear made their first contribution in #2129
- @feifangit made their first contribution in #2155
- @ocku made their first contribution in #2164
- @neelrr1 made their first contribution in #2171
- @hawkticehurst made their first contribution in #2190
- @guoard made their first contribution in #2211
- @MikeMoolenaar made their first contribution in #2221
- @kzsh made their first contribution in #2182
- @danielnieto made their first contribution in #2241
- @martinprobson made their first contribution in #2209
- @cclauss made their first contribution in #2177
- @philips made their first contribution in #2248
- @mheptinstall made their first contribution in #2275
- @sake92 made their first contribution in #2273
- @rdbo made their first contribution in #2302
- @itamarhaber made their first contribution in #2293
- @nickmonad made their first contribution in #2324
- @hasansezertasan made their first contribution in #2328
- @vlad-tkachenko made their first contribution in #2272
- @pbt made their first contribution in #2356
- @SIRHAMY made their first contribution in #2363
- @reaper47 made their first contribution in #2345
- @cbiffle made their first contribution in #2327
- @nwalters512 made their first contribution in #2261
- @eduardolat made their first contribution in #2421
- @Pi-Cla made their first contribution in #2413
- @airblast-dev made their first contribution in #2409
- @goksan made their first contribution in #2506
- @gossie made their first contribution in #2471
- @rafkub made their first contribution in #2444
- @andrejota made their first contribution in #2436
- @noman-land made their first contribution in #2405
- @nicoekkart made their first contribution in #2404
- @lookbusy1344 made their first contribution in #2376
- @lloydlobo made their first contribution in #2373
- @marcospereira made their first contribution in #2542
- @zoomie made their first contribution in #2521
- @antoine-aumjaud made their first contribution in #2498
- @pokonski made their first contribution in #2562
Full Changelog: v1.9.10...v2.0.0