Copied from linked post:
I'm very happy to announce the release of htmx 2.0. This release ends support for Internet Explorer and tightens up some
defaults, but does not change most of the core functionality or the core API of the library.
Note that we are not marking 2.0 as latest
in NPM
because we do not want to force-upgrade users who are relying on non-versioned CDN URLs for htmx. Instead, 1.x will
remain latest
and the 2.0 line will remain next
until Jan 1, 2025. The website, however, will reference 2.0.
Major Changes
-
All extensions have been moved out of the core repository to their own repo
and website: https://extensions.htmx.org. They are now all versioned individually and can be developed outside of
the normal (slow) htmx release cadence.- Most 1.x extensions will work with 2.x, however the SSE extension did have a break and must be upgraded.
- The older extensions remain in the
/dist/ext
directory so as to not break the URLs of CDNs like unpkg, but please
move to the new extension URLs going forward
-
We removed the deprecated
hx-sse
andhx-ws
attributes in favor of the extensions, which were available and
recommended in 1.x. -
HTTP
DELETE
requests now use parameters, rather than form encoded bodies, for their payload (This is in accordance w/ the spec.) -
We now provide specific files in
/dist
for the various JavaScript module styles:- ESM Modules:
/dist/htmx.esm.js
- AMD Modules:
/dist/htmx.amd.js
- CJS Modules:
/dist/htmx.cjs.js
- The
/dist/htmx.js
file continues to be browser-loadable
- ESM Modules:
-
The
hx-on
attribute, with its special syntax, has been removed in favor of the less-hackyhx-on:
syntax.
Minor Changes
- We made some default changes:
htmx.config.scrollBehavior
was changed to'instant'
from'smooth'
- As mentioned previously,
DELETE
requests now use query parameters, rather than a form-encoded body. This can
be reverted by settinghtmx.methodsThatUseUrlParams
to the value['get']
, htmx.config.selfRequestsOnly
now defaults totrue
rather thanfalse
Features
Not much, really:
- The
selectAndSwap()
internal API method was replaced with the public (and much better)swap()
method - Web Component support has been improved dramatically
- And the biggest feature of this release: the website now supports dark mode! (Thanks @pokonski!)
A complete upgrade guide can be found here:
htmx 1.x -> 2.x Migration Guide
If you require IE compatibility, the 1.x will continue to be supported for the foreseeable future.