Releases: bigskysoftware/htmx
Releases · bigskysoftware/htmx
Release list
v4.0.0
What's Changed
- fix select and strip and title handling by @MichaelWest22 in #3492
- [4] Bind window context for Firefox compatibility by @tristandruyen in #3486
- Attribute value only return string again by @MichaelWest22 in #3493
- Update index page with correct link to
jsdelivrby @szuliq in #3490 - etag support by @1cg in #3498
- Pimp out the website for htmx 4.0 by @scriptogre in #3499
- optimize oob and fix partial tests by @MichaelWest22 in #3500
- Ext doco by @MichaelWest22 in #3502
- Allow any extension to be regisgtered unless you allow list via meta tag by @MichaelWest22 in #3503
- fix bug in hx-config setting wrong level for + merge by @MichaelWest22 in #3508
- fix up handle swap extension point and doco by @MichaelWest22 in #3505
- replace state on initial state load by @MichaelWest22 in #3506
- Fix title not decoded on boost ("</> htmx" instead of "</> htmx") by @scriptogre in #3507
- website fixes by @scriptogre in #3504
- update "Patterns" page by @scriptogre in #3510
- [4] Small docs fix for by @tristandruyen in #3509
- update /patterns & /help page by @scriptogre in #3513
- move tokenizer to parseConfig for all the things by @MichaelWest22 in #3516
- Remove find ext tokenizer by @MichaelWest22 in #3518
- generalize hx-status and fix ajax issues by @MichaelWest22 in #3528
- add hx-confirm htmx:confirm event with async issueRequest by @MichaelWest22 in #3532
- handle inputs for web components that are form associated by @MichaelWest22 in #3523
- Implement hx-custom template tag support by @MichaelWest22 in #3537
- move to registerExtension to avoid extension upgrade confusion by @MichaelWest22 in #3546
- handle duplicates in action query params and form data by @MichaelWest22 in #3543
- Websocket extension for HTMX by @stukennedy in #3547
- add hx-target hx-source and hx-request-type headers by @MichaelWest22 in #3548
- allow string swapSpecs in insertContent by @MichaelWest22 in #3551
- add findall and fix find by @MichaelWest22 in #3555
- Fix closing tags for hx-partial in htmx-4.md by @benopotamus in #3557
- [docs] Remove redundant migration note by @benopotamus in #3559
- [docs] Fix typos in documentation by @benopotamus in #3558
- implement advanced hx-boost overrides by @MichaelWest22 in #3549
- Add mergeConfig support and remove + hx-config merging by @MichaelWest22 in #3561
- fix bug with empty response after partial removal detection by @MichaelWest22 in #3569
- fix missing target/swap via envelope and fix re-connection tests by @MichaelWest22 in #3571
- fix hx-validate to respect noValidate and validate inputs outside of … by @MichaelWest22 in #3562
- improve hx-boost advanced config to use new mergeConfig for nesting by @MichaelWest22 in #3572
- Morph skip support for web components by @MichaelWest22 in #3573
- handle transition overrides on oob/partial by @MichaelWest22 in #3570
- improve parseConfig and append to allow joining json for hx-vals by @MichaelWest22 in #3577
- handle returning this from findAllExt for any inheritance level by @MichaelWest22 in #3579
- bug morph cleanup of textNodes should work by @MichaelWest22 in #3584
- Add Morhing documentation by @MichaelWest22 in #3582
- optimize hx-vals and headers async with a callback and fix ws async by @MichaelWest22 in #3581
- add textContent swap style by @MichaelWest22 in #3593
- WebSocket Extension (hx-ws) Improvements by @stukennedy in #3592
- Improve moprh exact node matching with scan ahead by @MichaelWest22 in #3591
- handle no id found with hx-preserve by @MichaelWest22 in #3610
- Push response url by @MichaelWest22 in #3608
- Handle newContent properly in insertContent by @MichaelWest22 in #3607
- Upsert swap extension by @MichaelWest22 in #3595
- fix document fragment parsing of full page responses for live script support by @MichaelWest22 in #3629
- Trims only the first leading space in a SSE field value (#3588) by @antonlorani in #3589
- Add script tag processing in swapWithHtmx function by @stukennedy in #3636
- Add tests for WebSocket script tag processing by @stukennedy in #3637
- Fix morph error with empty id attributes by @scriptogre in #3639
- Update ws extension to use htmx.swap by @MichaelWest22 in #3638
- Fix iOS Safari SSE disconnect on background (#3634) by @scriptogre in #3640
- feat(ws): handle non-JSON messages as raw HTML with cancelable event by @stukennedy in #3641
- fix firefox not handling script tags in templates by @MichaelWest22 in #3650
- Improve Morph matching by @MichaelWest22 in #3647
- Add focus resoration support by @MichaelWest22 in #3645
- Alpine compatibility extension by @MichaelWest22 in #3654
- fix history restore to always use innerHTML by @MichaelWest22 in #3655
- partials should fall back to use transition default by @MichaelWest22 in #3656
- handle empty non get actions by @MichaelWest22 in #3661
- Extract SSE from core into standalone extension by @scriptogre in #3666
- handle newContent processing of outerMorph that inserts new nodes by @MichaelWest22 in #3667
- async head support by @MichaelWest22 in #3686
- fix up several test issues and bugs by @MichaelWest22 in #3687
- keep indicators on redirect-refresh by @MichaelWest22 in #3688
- support ctx.vals for extension use by @MichaelWest22 in #3689
- update and remove extra npm modules by @MichaelWest22 in #3690
- Document SSE pauseOnBackground behavior and Last-Event-ID resumption by @scriptogre in #3681
- handle zero timeout properly by @MichaelWest22 in #3692
- fix: normalize onLoad event name with metaCharacter by @dienhoa in #3695
- Streamline history event names by @scriptogre in #3700
- alpine-compat ext defer mutation count needs to handle htmx.swap usage by @MichaelWest22 in #3701
- support multiple targets via selectors in oob/partial by @MichaelWest22 in #3691
- Rebuild documentation website with Astro by @scriptogre in #3703
- Bug fix for pantry moveBefore and morph scripts issue by @MichaelWest22 in #3705
- fix several website issue by @MichaelWest22 in #3707
- restore hx-on:: shorthand from htmx 2 by @scriptogre in #3711
- Align WS and SSE extension APIs by @scriptogre in #3717
- preserve json types in ws hx-vals handling by @MichaelWest22 in #3718
- add hx-history-cache extension by @MichaelWest22 in #3698
- Fix ...
v4.0.0-beta6
- New
hx-multipartextension: streammultipart/mixedandmultipart/parallelresponses, with per-partHX-*action headers - History scroll restoration via the Navigation API, with a Firefox fallback (#3905)
HCONis now exposed to extensions (#3879)- Support for custom request methods like
query(#3892, #3883) - Breaking: renamed event
htmx:swap:finallytohtmx:finally:swap(#3873) HX-Triggerresponse-header events now fire after swap (#3900)hx-liveperformance: skip no-change updates (#3891), cache compiledsafeEvaltags (#3888)hx-ws: forwardprotocolsto theWebSocketconstructor (#3874); rewritten/refined implementationoptimisticextension handles trusted-type policies viacloneNode(#3887)- Custom-element manual input value collection (#3872)
- Many smaller fixes and a website overhaul
v4.0.0-beta5
v4.0.0-beta4
switch to a generated source file for SHAs
v4.0.0-beta3
v2.0.9
v2.0.7
What's Changed
- Remove extra "2" from unminified v2.0.6 SRI hash by @danieljsummers in #3362
- Bugfix: swap="outerHTML" on with style attribute leaves htmx-swapping class behind by @matthews314 in #3341
- Fix variable names by @szepeviktor in #3344
- update indicator style to have visibility:hidden for screen readers by @MichaelWest22 in #3361
- Cancel button with inner content form submit properly by @MichaelWest22 in #3368
- Add Thomas Ricci's website to webring by @tom-ricci in #2231
- Fix typo by @flamendless in #3371
- Added extension by @mariusGundersen in #3364
- Update Rust server examples with actix-htmx by @welshdave in #3359
- Remove redundant script tags by @scrhartley in #3358
- Fix invisible button text for hx-indicator in dark mode by @thibaudcolas in #3353
- docs: add module import instructions for idiomorph extension by @jackielii in #3350
- Fix google search syntax from search bar by @Telroshan in #3209
- implement reportValidity for reporting proper form validation errors behind config flag by @MichaelWest22 in #3372
- Add DankTodo to webring. by @mbaraa in #3375
- Add DankMuzikk and DankLyrics to webring. by @mbaraa in #3378
- Update click-to-edit.md by @gastendonk in #3172
- docs(essays): add templ to list of template languages that support fragments by @a-h in #3382
- Fix ajax api body test by @MichaelWest22 in #3073
- Add note about the loading mechanism to quirks page by @alexpetros in #3387
- Update CSRF recommendation by @yawaramin in #3383
- add back null check for no form in getRelatedFormData by @MichaelWest22 in #3394
- Update hx-swap-oob.md typo: excapsulate -> encapsulate, Fixed #3406 by @YamiOdymel in #3407
- Fix minor typos and grammar in documentation by @letianpailove in #3400
- Handle not preventing link when inside htmx enabled element by @MichaelWest22 in #3396
New Contributors
- @matthews314 made their first contribution in #3341
- @tom-ricci made their first contribution in #2231
- @flamendless made their first contribution in #3371
- @mariusGundersen made their first contribution in #3364
- @welshdave made their first contribution in #3359
- @thibaudcolas made their first contribution in #3353
- @mbaraa made their first contribution in #3375
- @gastendonk made their first contribution in #3172
- @YamiOdymel made their first contribution in #3407
- @letianpailove made their first contribution in #3400
Full Changelog: v2.0.6...v2.0.7
v2.0.6
What's Changed
- Adding Lua Server Pages server example by @surfskidude in #3347
- fix click events on elements wrapped by link don't cancel link navigation by @MichaelWest22 in #3357
New Contributors
- @surfskidude made their first contribution in #3347
Full Changelog: v2.0.5...v2.0.6
v2.0.5
What's Changed
- Add http4k server example by @mikaelstaldal in #3012
- Update hx-trigger.md by @zachczx in #3076
- Update preload extension documentation: form preloading and preload="always" by @marisst in #3001
- Improve active-search example by not using chrome-only event "search" by @MikeMoolenaar in #2229
- Add reference to hx-preserve to the example at "Preserving File Inputs after Form Errors" by @Matt544 in #2474
- Add /essays/all by @alexpetros in #3085
- Fix escaped quotes in titles by @alexpetros in #3086
- Docs anchors by @yawaramin in #3047
- Added a favicon, merry christmas!!! by @DeaSTL in #3089
- Fix h2 color by @alexpetros in #3091
- Add an example of evaluated values passed to hx-headers. by @maciejtrybilo in #2939
- Update docs.md to fix dead link by @aimran in #3090
- fix QUIRKS.md typo by @dbofmmbt in #3095
- Add example for form reset pattern by @rkilpadi in #3100
- Add 404 page by @rkilpadi in #3105
- Fix error in quirks documentation for htmx config by @mbund in #3098
- Render toast as aria-live region on page load by @yawaramin in #3112
- [Documentation] Make htmx:beforeSwap more complete by @scrhartley in #3110
- Fix broken docs links on quirks page by @adamzap in #3111
- Properly resolve referenced forms. by @geoffrey-eisenbarth in #3094
- Enforce no-op on submit buttons with formmethod=dialog. by @geoffrey-eisenbarth in #3075
- added wasm to htmx port essay by @jafioti in #3119
- Fix htmx:beforeHistorySave docs by @tapanih in #3123
- Fixed TwinSpark link in alternatives by @ksmit799 in #3124
- Adding example to hx-ext documentation by @zachczx in #3109
- Extension Proposal:
hx-dragfordragstart&droptriggered htmx requests. by @AjaniBilby in #3147 - Allow page description with default if missing by @williamjacksn in #3150
- Essay descriptions by @williamjacksn in #3154
- Fix some external links by @williamjacksn in #3159
- Mark the interviews folder as a section by @williamjacksn in #3161
- Fix some external links (#3157) by @xehrad in #3160
- Add "less htmx" link by @alexpetros in #3167
- Add FreePascal server example with Pas2JS by @zendrael in #3168
- Fixed repo url for pascal htmx project reference by @zendrael in #3169
- Add descriptions for attribute pages by @williamjacksn in #3158
- Documentation update to include the use of hx-headers to prevent CSRF by @TracyGJG in #3176
- Documentation typo correction by @TracyGJG in #3182
- Extension docs: npm, bundler, min/unmin and SRI hash instructions by @marisst in #3127
- Update hx-swap.md by @ollin in #3194
- Small fix on alternatives.md by @megatux in #3204
- Documentation link added by @jdocksey in #3211
- Add descriptions for /headers/* and /api by @williamjacksn in #3221
- Fix wording in
changedmodifier description in hx-trigger.md by @patricksuo in #3219 - Add django-block-fragments to template-fragments essay by @medihack in #3227
- Add attribute-tools Community Extension to doc by @jamcole in #3229
- Fix JSDoc of getRespCodeTarget by @sdavids in #3235
- Fix broken link in SSE extension docs by @scrhartley in #3241
- Documentation update for hx-trigger by @scrhartley in #3246
- Documentation improvements for idiomorph extension by @scrhartley in #3249
- Documentation update for include-vals extension by @scrhartley in #3247
- Documentation update for hx-select-oob by @scrhartley in #3250
- Documentation update for hx-get by @JeremyRoundill in #3251
- Adding Raku / Cro Templates to Fragments list by @librasteve in #3253
- Documentation update for debug extension by @scrhartley in #3255
- Documentation update for hx-swap by @scrhartley in #3261
- docs: Add dynamic-url to community extensions list by @FumingPower3925 in #3259
- fix customized confirmation example by @catwell in #3262
- Docs - add sections and search filtering for community extensions by @scrhartley in #3260
- Mention hx-include does not match disabled fields. Fixes #3053 by @kontur in #3274
- Update testing framework to web-test-runner and improve code coverage by @MichaelWest22 in #3273
- Documentation update for events by @scrhartley in #3279
- Adjust examples by @yawaramin in #3280
- Docs: Update Link by @AjaniBilby in #3281
- Create SECURITY.md by @FatherShawn in #3288
- handle removing request lock on errors by @MichaelWest22 in #3284
- Additional Code Coverage by @MichaelWest22 in #3282
- proxy window.location for testing and extension overrides by @MichaelWest22 in #3283
- Remove old IE support by @MichaelWest22 in #3277
- Get rid of latest usages of substr by @scrhartley in #3074
- Write title as innerText instead of innerHTML by @emilhem in #3173
- Fix event not being available in hx-vals/hx-vars when hx-trigger has delay by @scrhartley in #3196
- Add historyRestoreAsHxRequest config to optionally disable hx-request header from history restore requests by @MichaelWest22 in #3278
- Fix typo by @scrhartley in #3294
- Add substr lint by @scrhartley in #3295
- Correction for confirm example by @scrhartley in #3296
- documentation clarification for htmx:load by @devinmuzzy in #3299
- Update sse.md by @QBH3 in #3303
- Fix type for event parameter by @scrhartley in #3317
- update web test-runner and remove temp summaryReporter workaournd by @MichaelWest22 in #3320
- Fix missing TypeScript property by @scrhartley in #3315
- Fixes issue 1537 - OOB does not escape query selector - updated version by @MAW016 in #3304
- Feature: add extensionsToIgnore to withExtensions by @namzug16 in #3195
- Typo in addEventListener - use evt instead of event by @JacobMonticello in #3188
- Fix target value in htmx:targetError when inheritance has been used by @scrhartley in #3178
- Feat/hx reselect support unset by @oliverhaas in #3153
- fix(swap): apply swap delay in swap function instead of handleAjaxResponse by @byteshinobi in #2845
- Inherit list-keyword in hx-include / hx-indicator by @Telroshan in #1766
- Remove obsolete npm command + fix links to ws/sse extensions by @Telroshan in #3208
- adding javalin-htmx examples to server integration examples by @ludicrousdisplay in #3104
- Automatically generate Web Types f...
v2.0.4
What's Changed
- Clarify event filter uses in hx-trigger by @brackendawson in #2914
- Fix typos in docs by @szepeviktor in #2943
- Add htmx4s to scala server-examples by @eikek in #2722
- improve hx-preserve documentation by @MichaelWest22 in #2949
- Correct lint command in contribution guidelines by @scrhartley in #2950
- docs: Fix typo in URL to prevent broken link redirect by @youssame in #2962
- Use correct extended CSS selector name in hx-trigger notes section by @gritvald in #2964
- docs: migrate realtime server implementation by @KianYang-Lee in #2955
- Add link to contact-app built in Blazor by @grugBraid in #2970
- Fix TypeError on null path variable by @youssame in #2967
- ajax helper with no source or target defaults to body by @MichaelWest22 in #2948
- Add missing word in previous CSS selector documentation by @gritvald in #2977
- "Download a Copy" in the doc points to old release 2.0.2; this PR changes it to 2.0.3 as it should be by @SpencerBrown-MongoDB in #2980
- Fix link to no-cache extension readme by @scrhartley in #2981
- Fix typo on extensions page by @scrhartley in #2983
- docs: Fix typo by @scrhartley in #2984
- Fixing a typo in confirm.md by @zimventures in #2988
- Add htmgo to server examples by @maddalax in #2992
- Added Jeasx example for template fragements by @jablonski in #2991
- Update server-examples.md by @leephillips in #2996
- Fix illegal invocation for FormData proxy by @scrhartley in #2997
- Add Next.js to htmx essay by @poeti8 in #3002
- [Documentation] Add missing default extension points by @scrhartley in #3014
- Fix wrong cursor style in webring by @untitaker in #3015
- Add missing disableInheritance documentation by @xhaggi in #3017
- Add web components essay by @alexpetros in #3018
- Fix name on essay by @alexpetros in #3019
- fix vertical alignment of github stars button in all states by @untitaker in #3006
- WC essay typo fixes by @alexpetros in #3021
- [Documentation] Fix incorrect link by @scrhartley in #3022
- [Documentation] Add missing htmx:sendAbort event by @scrhartley in #3024
- [Documentation] Fix link in web socket extension docs by @scrhartley in #3026
- typing for
defineExtensionshould allow partials by @anentropic in #3030 - Improve detail.elt event documentation by @MichaelWest22 in #3007
- fixed minor typo "and" --> "an".md by @alecgargett in #3035
- feat: add amz-content-sha256 extension to docs by @felipegenef in #3036
- [Documentation] Fix outdated attribute links by @rkilpadi in #3051
- [Documentation] Update location of ws/sse demo server by @rkilpadi in #3052
- Handle Invalid template content by @MichaelWest22 in #3064
- Make bodyContains return true for nested shadow roots by @alexpetros in #3034
- Add missing htmx:trigger event on load triggers by @alexpetros in #3033
- Do not execute hx-trigger="load" on re-initialization of an existing node by @basvk in #2976
- Replace deprecated String.prototype.substr usage by @scrhartley in #2951
- Support multiple extended selectors for hx-include, hx-trigger from, and hx-disabled-elt by @Telroshan in #2902
- Cancel vanilla submits from <button[form]/>. by @geoffrey-eisenbarth in #3072
New Contributors
- @brackendawson made their first contribution in #2914
- @eikek made their first contribution in #2722
- @youssame made their first contribution in #2962
- @gritvald made their first contribution in #2964
- @KianYang-Lee made their first contribution in #2955
- @grugBraid made their first contribution in #2970
- @SpencerBrown-MongoDB made their first contribution in #2980
- @zimventures made their first contribution in #2988
- @maddalax made their first contribution in #2992
- @jablonski made their first contribution in #2991
- @poeti8 made their first contribution in #3002
- @untitaker made their first contribution in #3015
- @alecgargett made their first contribution in #3035
- @felipegenef made their first contribution in #3036
- @rkilpadi made their first contribution in #3051
- @basvk made their first contribution in #2976
- @geoffrey-eisenbarth made their first contribution in #3072
Full Changelog: v2.0.3...v2.0.4