UNPKG

28.2 kBMarkdownView Raw
1# Changelog
2
3## [1.9.8] - 2023-11-06
4
5* Fixed a few npm & build related issues
6
7## [1.9.7] - 2023-11-03
8
9* Fixed a bug where a button associated with a form that is swapped out of the DOM caused errors
10* The `hx-target-error` attribute was added to the `response-targets` extension, allowing you to capture all 400 & 500
11 responses with a single attribute
12* `hx-on` now properly supports multiple listeners
13* The `hx-confirm` prompt is now passed into custom confirmation handlers
14* `next` and `previous` are now valid _extended CSS_ symbols in htmx
15* The `htmx:beforeHistoryUpdate` event was added
16* Properly ignore the `dialog` formmethod on buttons when resolving the HTTP method to use
17* Added a `htmx.config.scrollIntoViewOnBoost` option that may be set to `false` to disable scrolling the top of the
18 body into view for boosted elements
19
20## [1.9.6] - 2023-09-22
21
22* IE support has been restored (thank you @telroshan!)
23* Introduced the `hx-disabled-elt` attribute to allow specifing elements to disable during a request
24* You can now explicitly decide to ignore `title` tags found in new content via the `ignoreTitle` option in `hx-swap` and the `htmx.config.ignoreTitle` configuration variable.
25* `hx-swap` modifiers may be used without explicitly specifying the swap mechanism
26* Arrays are now supported in the `client-side-templates` extension
27* XSLT support in the `client-side-templates` extension
28* Support `preventDefault()` in extension event handling
29* Allow the `HX-Refresh` header to apply even after an `HX-Redirect` has occurred
30* the `formaction` and `formmethod` attributes on buttons are now properly respected
31* `hx-on` can now handle events with dots in their name
32* `htmx.ajax()` now always returns a Promise
33* Handle leading `style` tag parsing more effectively
34
35## [1.9.5] - 2023-08-25
36
37* Web sockets now properly pass the target id in the HEADERS struct
38* A very rare loading state bug was fixed (see https://github.com/bigskysoftware/htmx/commit/93bd81b6d003bb7bc445f10192bdb8089fa3495d)
39* `hx-on` will not evaluate if `allowEval` is set to false
40* You can disable the interpretation of script tags with the new `htmx.config.allowScriptTags` config variable
41* You can now disable htmx-based requests to non-origin hosts via the `htmx.config.selfRequestsOnly` config variable
42* The [Security](https://htmx.org/docs#security) section has been expanded to help developers better understand how to
43 properly secure their htmx-based applications.
44
45## [1.9.4] - 2023-07-25
46
47* This is a bug-fix release for the most part, w/a heavy dose of @telroshan
48* The `HX-Trigger` response header now supports comma separated event names
49* Submit buttons that use the `form` attribute now work correctly
50* The `changed` modifier now uses the triggering element, rather than the element the `hx-trigger` is defined on
51* `hx-disable` is now handled dynamically so it can be added and removed
52* IE11 compatibility restored! (maybe, hard to test)
53* Fixed bug with `hx-on` event handler cleanup
54* Many smaller bug fixes, typo fixes and general improvements
55
56## [1.9.3] - 2023-07-14
57
58* The `hx-on` attribute has been deprecated (sorry) in favor of `hx-on:<event name>` attributes. See [`hx-on`](/attributes/hx-on) for more information.
59* We now have functioning CI using GitHub actions!
60* You can now configure if a type of HTTP request uses the body for parameters or not. In particular, the `DELETE` _should_ use
61 query parameters, according to the spec. htmx has used the body, instead. To avoid breaking code we are keeping this undefined
62 behavior for now, but allowing people to fix it for their use cases by updating the `htmx.config.methodsThatUseUrlParams` config
63 option. Thank you to Alex and Vincent for their feedback and work on this issue!
64* The `this` symbol is now available in event filter expressions, and refers to the element the `hx-trigger` is on
65* Fix bug where the `htmx:afterSettle` event was raised multiple times with oob swaps occurred
66* A large number of accessibility fixes were made in the docs (Thank you Denis & crew!)
67* Fixed bug w/ WebSocket extension initialization caused by "naked" `hx-trigger` feature
68* The `HX-Reselect` HTTP response header has been added to change the selection from the returned content
69* Many other smaller bug fixes
70
71## [1.9.2] - 2023-04-28
72
73* Fixed bug w/ `hx-on` not properly de-initializing
74
75## [1.9.1] - 2023-04-27
76
77* Fixed a bug with the new naked triggers that prevented boosted elements with explicit `hx-trigger`'s from functioning
78 properly
79* Added code to play well with other libraries that also use the `window.onpopstate` Daily reminder: <https://htmx.org/img/memes/javascripthistory.png>
80
81## [1.9.0] - 2023-04-11
82
83* Support for generalized inline event handling via the new [`hx-on`](/attributes/hx-on) attribute, which addresses
84 the shortcoming of limited [`onevent` properties](https://developer.mozilla.org/en-US/docs/Web/Events/Event_handlers#using_onevent_properties) attributes in HTML.
85* Support for [view transitions](/docs#view-transitions), based on the experimental [View Transitions API](https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API)
86 currently available in Chrome 111+ and coming to other browsers soon.
87* Support for "naked" [`hx-trigger`](/attributes/hx-trigger) attributes, where an `hx-trigger` is present on an element
88 that does not have an `hx-get`, etc. defined on it. Instead, it will trigger the new `htmx:triggered` event, which can
89 be responded to via your [preferred scripting solution](/docs#scripting).
90* A memory leak fix by [@croxton](https://github.com/bigskysoftware/htmx/commit/8cd3a480a7388877628ce8b9b8e50cd5df48bb81)
91* The htmx website has been migrated from 11ty to [zola](https://www.getzola.org/) by [@danieljsummers](https://github.com/danieljsummers), cutting
92 way down on the number of "development" javascript dependencies
93* Many other smaller bug fixes
94
95## [1.8.6] - 2023-03-02
96
97* ESM support!
98* Sass has been vanquished from the htmx.org website, which should set us up for some good progress going forward
99* Fixed a bug where the `changed` modifier on `keyup` did not work properly if an input was tabbed into
100* Many other smaller bug fixes and doc fixes
101
102## [1.8.5] - 2023-01-17
103
104* Support a new optional cache-busting configuration option, `getCacheBusterParam`, to allow browsers to disambiguate
105 between `GET` requests from htmx and from the raw browser
106* Support new `hx-history='false'` attribute, to prevent sensitive data from being stored in the history cache. (Thank you @croxton!)
107* Extensive new event-oriented features are available in the [Web Socket](/extensions/web-sockets/) extension (Thank you @Renerick!)
108* A bug fix for when a form contains multiple empty input values with the same name (Thank you @bluekeyes!)
109* A bug fix around inputs that throw exceptions when calling `setSelectionRange()` (Thank you @gone!)
110* A bug fix to pass through the proper event for the `htmx:configRequest` event
111* A bug fix/improvement for the `preload` extension
112* Many other small bug fixes
113
114## [1.8.4] - 2022-11-05
115
116* Fix the _exact same_ regression in `revealed` logic as in 1.8.2
117
118## [1.8.3] - 2022-11-04
119
120* A new [`htmx:confirm` event](/events#htmx:confirm) was added that allows for asynchronous confirmation dialogs to
121 be integrated into htmx requests
122* The new [head-support](/extensions/head-support) extension allows for more elaborate head tag merging than standard htmx
123 supports. This functionality may be integrated into htmx 2.0, depending on feedback.
124* The new [multi-swap](/extensions/multi-swap) provides more elaborate swapping of multiple elements on a screen using
125 a custom swap strategy
126* Many doc fixes (thank you to everyone who contributed!)
127
128## [1.8.2] - 2022-10-12
129
130* Fix regression in `revealed` logic
131
132## [1.8.1] - 2022-10-11
133
134* We now keep a count of outstanding requests for an indicator, so more than one overlapping request can share the same
135 indicator without issues
136* We now track the attribute state of an element and re-initialize it if `htmx.process()` is called on the element and
137 the attributes have changed
138* [Idiomorph](https://github.com/bigskysoftware/idiomorph) is now available for all your morph-swapping needs
139* The `unset` directive now works properly for `hx-vals` and `hx-vars`
140* The title of the page is now properly set on a history cache miss
141* The new [`hx-validate`](https://htmx.org/attributes/hx-validate) attribute will force elements to validate before a request, even if
142 they are not within a form being submitted
143* Many smaller bug and docs fixes
144
145## [1.8.0] - 2022-7-12
146
147* **NOTE**: This release involved some changes to touchy code (e.g. history support) so please test thoroughly and let
148 us know if you see any issues
149* Boosted forms now will automatically push URLs into history as with links. The [response URL](https://caniuse.com/mdn-api_xmlhttprequest_responseurl)
150 detection API support is good enough that we feel comfortable making this the default now.
151 * If you do not want this behavior you can add `hx-push-url='false'` to your boosted forms
152* The [`hx-replace-url`](https://htmx.org/attributes/hx-replace-url) attribute was introduced, allowing you to replace
153 the current URL in history (to complement `hx-push-url`)
154* Bug fix - if htmx is included in a page more than once, we do not process elements multiple times
155* Bug fix - When localStorage is not available we do not attempt to save history in it
156* [Bug fix](https://github.com/bigskysoftware/htmx/issues/908) - `hx-boost` respects the `enctype` attribute
157* `m` is now a valid timing modifier (e.g. `hx-trigger="every 2m"`)
158* `next` and `previous` are now valid extended query selector modifiers, e.g. `hx-target="next div"` will target the
159 next div from the current element
160* Bug fix - `hx-boost` will boost anchor tags with a `_self` target
161* The `load` event now properly supports event filters
162* The websocket extension has had many improvements: (A huge thank you to Denis Palashevskii, our newest committer on the project!)
163 * Implement proper `hx-trigger` support
164 * Expose trigger handling API to extensions
165 * Implement safe message sending with sending queue
166 * Fix `ws-send` attributes connecting in new elements
167 * Fix OOB swapping of multiple elements in response
168* The `HX-Location` response header now implements client-side redirects entirely within htmx
169* The `HX-Reswap` response header allows you to change the swap behavior of htmx
170* The new [`hx-select-oob`](https://htmx.org/attributes/hx-select-oob) attribute selects one or more elements from a server response to swap in via an out of band swap
171* The new [`hx-replace-url`](https://htmx.org/attributes/hx-replace-url) attribute can be used to replace the current URL in the location
172 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.
173* htmx now properly handles anchors in both boosted links, as well as in `hx-get`, etc. attributes
174
175## [1.7.0] - 2022-02-22
176
177* The new [`hx-sync`](https://htmx.org/attributes/hx-sync) attribute allows you to synchronize multiple element requests on a single
178 element using various strategies (e.g. replace)
179 * You can also now abort an element making a request by sending it the `htmx:abort` event
180* [Server Sent Events](/extensions/server-sent-events) and [Web Sockets](/extensions/web-sockets) are now available as
181 extensions, in addition to the normal core support. In htmx 2.0, the current `hx-sse` and `hx-ws` attributes will be
182 moved entirely out to these new extensions. By moving these features to extensions we will be able to add functionality
183 to both of them without compromising the core file size of htmx. You are encouraged to move over to the new
184 extensions, but `hx-sse` and `hx-ws` will continue to work indefinitely in htmx 1.x.
185* You can now mask out [attribute inheritance](/docs#inheritance) via the [`hx-disinherit`](https://htmx.org/attributes/hx-disinherit) attribute.
186* The `HX-Push` header can now have the `false` value, which will prevent a history snapshot from occurring.
187* Many new extensions, with a big thanks to all the contributors!
188 * A new [`alpine-morph`](/extensions/alpine-morph) allows you to use Alpine's swapping engine, which preserves Alpine
189 * A [restored](/extensions/restored) extension was added that will trigger a `restore` event on all elements in the DOM
190 on history restoration.
191 * A [loading-states](/extensions/loading-states) extension was added that allows you to easily manage loading states
192 while a request is in flight, including disabling elements, and adding and removing CSS classes.
193* The `this` symbol now resolves properly for the [`hx-include`](https://htmx.org/attributes/hx-include) and [`hx-indicator`](https://htmx.org/attributes/hx-indicator)
194 attributes
195* When an object is included via the [`hx-vals`](https://htmx.org/attributes/hx-vals) attribute, it will be converted to JSON (rather
196 than rendering as the string `[Object object]"`)
197* You can now pass a swap style in to the `htmx.ajax()` function call.
198* Poll events now contain a `target` attribute, allowing you to filter a poll on the element that is polling.
199* Two new Out Of Band-related events were added: `htmx:oobBeforeSwap` & `htmx:oobAfterSwap`
200
201## [1.6.1] - 2021-11-22
202
203* A new `HX-Retarget` header allows you to change the default target of returned content
204* The `htmx:beforeSwap` event now includes another configurable property: `detail.isError` which can
205 be used to indicate if a given response should be treated as an error or not
206* The `htmx:afterRequest` event has two new detail properties: `success` and `failed`, allowing you to write
207 trigger filters in htmx or hyperscript:
208 ```applescript
209 on htmx:afterRequest[failed]
210 set #myCheckbox's checked to true
211 ```
212* Fixed the `from:` option in [`hx-trigger`](https://htmx.org/attributes/hx-trigger) to support `closest <CSS selector>`
213 and `find <CSS selector>` forms
214* Don't boost anchor tags with an explicit `target` set
215* Don't cancel all events on boosted elements, only the events that naturally trigger them (click for anchors, submit
216 for forms)
217* Persist revealed state in the DOM so that on history navigation, revealed elements are not re-requested
218* Process all [`hx-ext`](https://htmx.org/attributes/hx-ext) attributes, even if no other htmx attribute is on the element
219* Snapshot the current URL on load so that history support works properly after a page refresh occurs
220* Many, many documentation updates (thank you to all the contributors!)
221
222
223## [1.6.0] - 2021-10-01
224
225* Completely reworked `<script>` tag support that now supports the `<script src="...'/>` form
226* You can now use the value `unset` to clear a property that would normally be inherited (e.g. hx-confirm)
227* The `htmx-added` class is added to new content before a swap and removed after the settle phase, which allows you
228 more flexibility in writing CSS transitions for added content (rather than relying on the target, as with `htmx-settling`)
229* The `htmx:beforeSwap` event has been updated to allow you to [configure swapping](https://htmx.org/docs/#modifying_swapping_behavior_with_events)
230 behavior
231* Improved `<title>` extraction support
232* You can listen to events on the `window` object using the `from:` modifier in `hx-trigger`
233* The `root` option of the `intersect` event was fixed
234* Boosted forms respect the `enctype` declaration
235* The `HX-Boosted` header will be sent on requests from boosted elements
236* Promises are not returned from the main ajax function unless it is an api call (i.e. `htmx.ajax`)
237
238## [1.5.0] - 2021-7-12
239
240* Support tracking of button clicked during a form submission
241* Conditional polling via the [hx-trigger](https://htmx.org/attributes/hx-trigger) attribute
242* `document` is now a valid pseudo-selector on the [hx-trigger](https://htmx.org/attributes/hx-trigger) `from:` argument, allowing you
243 to listen for events on the document.
244* Added the [hx-request](https://htmx.org/attributes/hx-request) attribute, allowing you to configure the following aspects of the request
245 * `timeout` - the timeout of the request
246 * `credentials` - if the request will send credentials
247 * `noHeaders` - strips all headers from the request
248* Along with the above attribute, you can configure the default values for each of these via the corresponding `htmx.config`
249 properties (e.g. `htmx.config.timeout`)
250* Both the `scroll` and `show` options on [hx-swap](https://htmx.org/attributes/hx-swap) now support extended syntax for selecting the
251 element to scroll or to show, including the pseudo-selectors `window:top` and `window:bottom`.
252
253## [1.4.1] - 2021-6-1
254
255* typo fix
256
257## [1.4.0] - 2021-5-25
258
259* Added the `queue` option to the [hx-trigger](https://htmx.org/attributes/hx-trigger) attribute, allowing you to specify how events
260 should be queued when they are received with a request in flight
261* The `htmx.config.useTemplateFragments` option was added, allowing you to use HTML template tags for parsing content
262 from the server. This allows you to use Out of Band content when returning things like table rows, but it is not
263 IE11 compatible.
264* The `defaultSettleDelay` was dropped to 20ms from 100ms
265* Introduced a new synthetic event, [intersect](https://htmx.org/docs#pecial-events) that allows you to trigger when an item is scrolled into view
266 as specified by the `IntersectionObserver` API
267* Fixed timing issue that caused exceptions in the `reveal` logic when scrolling at incredible speeds - <https://github.com/bigskysoftware/htmx/issues/463>
268* Fixed bug causing SVG titles to be incorrectly used as page title - <https://github.com/bigskysoftware/htmx/issues/459>
269* Boosted forms that issue a GET will now push the URL by default - <https://github.com/bigskysoftware/htmx/issues/485>
270* Better dispatch of request events when an element is removed from the DOM
271* Fixed a bug causing `hx-prompt` to fail
272* The `htmx.config.withCredentials` option was added, to send credentials with ajax requests (default is `false`)
273* The `throttle` option on `hx-trigger` does not delay the initial request any longer
274* The `meta` key is ignored on boosted links
275* `<script>` tags are now evaluated in the global scope
276* `hx-swap` now supports the `none` option
277* Safari text selection bug - <https://github.com/bigskysoftware/htmx/issues/438>
278
279## [1.3.3] - 2021-4-5
280
281* Added the [`hx-disabled`](https://htmx.org/docs#security) attribute to allow htmx to be turned off for parts of the DOM
282* SSE now uses a full-jitter exponential backoff algorithm on reconnection, using the `htmx.config.wsReconnectDelay`
283 setting
284
285## [1.3.2] - 2021-3-9
286
287* Bug fixes
288
289## [1.3.1] - 2021-3-9
290
291* IE11 fixes
292
293## [1.3.0] - 2021-3-6
294
295* Support a `target` modifier on `hx-trigger` to filter based on the element targeted by an event. This allows
296 lazy binding to that target selector.
297* Events are no longer consumed by the first element that might handle them, unless the `consume` keyword is
298 added to the `hx-trigger` specification
299* Added the `htmx:beforeSend` event, fired just before an ajax request begins
300* SSE swaps are properly settled
301* Fixed bug that was improperly cancelling all clicks on anchors
302* `htmx.ajax()` now returns a promise
303
304## [1.2.1] - 2021-2-19
305
306* Fixed an issue with the history cache, where the cache was getting blown out after the first navigation backwards
307* Added the `htmx.config.refreshOnHistoryMiss` option, allowing users to trigger a full page refresh on history cache miss
308 rather than issuing an AJAX request
309
310## [1.2.0] - 2021-2-13
311
312### New Features
313
314* `hx-vars` has been deprecated in favor of `hx-vals`
315* `hx-vals` now supports a `javascript:` prefix to achieve the behavior that `hx-vars` provided
316* The new `hx-headers` attribute allows you to add headers to a request via an attribute. Like `hx-vals` it supports
317 JSON or javascript via the `javascript:` prefix
318* `hx-include` will now include all inputs under an element, even if that element is not a form tag
319* The [preload extension](https://htmx.org/extensions/preload/) now offers a `preload-images="true"` attribute that will aggressively load images in preloaded content
320* On requests driven by a history cache miss, the new `HX-History-Restore-Request` header is included so that the server
321 can differentiate between history requests and normal requests
322
323### Improvements & Bug fixes
324
325* Improved handling of precedence of input values to favor the enclosing form (see [here](https://github.com/bigskysoftware/htmx/commit/a10e43d619dc340aa324d37772c06a69a2f47ec9))
326* Moved event filtering logic *after* `preventDefault` so filtering still allows events to be properly handled
327* No longer trigger after swap events on elements that have been removed via an `outerHTML` swap
328* Properly remove event handlers added to other elements when an element is removed from the DOM
329* Handle the `scroll:` modifier in `hx-swap` properly when an `outerHTML` swap occurs
330* Lots of docs fixes
331
332## [1.1.0] - 2021-1-6
333
334* Newly added [preload extension](https://htmx.org/extensions/preload/) allows you to preload resources for lower
335 latency requests!
336* Support the `ignore:` modifier for extensions
337* Updated form variable order inclusion to include the enclosing form *last* so that, in the presence of multiple
338 values, the most relevant value is the most likely to be selected by the server
339* Support for the [`htmx.ajax()`](https://dev.htmx.org/api/#ajax) javascript function, to issue an htmx-style ajax
340 request from javascript
341* Removed the following htmx request headers for better cache behavior: `HX-Event-Target`, `HX-Active-Element`,
342 `HX-Active-Element-Name`, `HX-Active-Element-Value`
343* Added the [`hx-preserve`](https://dev.htmx.org/attributes/hx-preserve) attribute, which allows
344 you to preserve elements across requests (for example, to keep a video element playing properly)
345* The [path-deps](https://dev.htmx.org/extensions/path-deps/#refresh) now surfaces a small api
346 for refreshing path dependencies manually in javascript
347* Now support the `from:` clause on [`hx-trigger`](https://dev.htmx.org/attributes/hx-trigger) to
348 allow an element to respond to events on other elements.
349* Added the `htmx:beforeProcessNode` event, renamed the (previously undocumented) `htmx:processedNode` to `htmx:afterProcessNode`
350* Added `closest` syntax support for the [`hx-indicator`](https://dev.htmx.org/attributes/hx-indicator) attribute
351* Added `on load` support for the newest version of [hyperscript](https://hyperscript.org)
352* Added the `htmx.config.allowEval` configuration value, for CSP compatibility
353* Bug fixes & improvements
354
355## [1.0.2] - 2020-12-12
356
357* Extend all API methods to take a string selector as well as an element
358* Out of band swap elements need not be top level now
359* [`hx-swap-oob`](https://htmx.org/attributes/hx-swap-oob) now can accept a CSS selector to retarget with
360
361## [1.0.1] - 2020-12-04
362
363* AJAX file upload now correctly fires events, allowing for [a proper progress bar](https://htmx.org/examples/file-upload)
364* htmx api functions that expect an element now can accept a string selector instead:
365 ```js
366 htmx.on('#form', 'htmx:xhr:progress', function(evt) {
367 htmx.find('#progress').setAttribute('value', evt.detail.loaded/evt.detail.total * 100)
368 });
369 ```
370* htmx now properly handles the `multiple` attribute on `<select>` elements
371
372## [1.0.0] - 2020-11-24
373
374* Bumped the release version :)
375
376## [0.4.1] - 2020-11-23
377
378* Fixed bug with title tag support when title tag contained HTML entities
379* Pass properties for the `loadstart`, `loadend`, `progress`, `abort` events through properly to the htmx equivalents
380
381## [0.4.0] - 2020-11-16
382
383* Now support the `HX-Redirect` and `HX-Refresh` response headers for redirecting client side and triggering a page refresh, respectively
384* `hx-vars` now overrides input values
385* `<title>` tags in responses will be used to update page titles
386* All uses of `eval()` have been removed in favor of `Function`
387* [`hx-vals`](https://htmx.org/attributes/hx-vals) is available as a safe alternative to `hx-vars`. It uses `JSON.parse()` rather than evaluation, if you wish to safely pass user-provided values through to htmx.
388
389## [0.3.0] - 2020-10-27
390
391* `hx-trigger` parsing has been rewritten and now supports [trigger filters](https://htmx.org/docs/#trigger-filters) to filter
392 events based on arbitrary javascript expressions
393* htmx now supports two additional response headers `HX-Trigger-After-Swap` and `HX-Trigger-After-Settle` allowing
394 an event to be triggered after a given life cycle event (instead of before the swap)
395* The `requestConfig` is now passed out to events surrounding the AJAX life cycle
396* htmx now evaluates `<script>` tags as javascript when no language is defined on them
397* A new [`event-header`](https://htmx.org/extensions/event-header) extension, which will include a serialized JSON representation of the triggering event in requests
398
399## [0.2.0] - 2020-9-30
400
401* AJAX file upload [support](https://htmx.org/docs#files)
402* The HTML validation API is [respected](https://htmx.org/docs#validation)
403
404## [0.1.0] - 2020-9-18
405
406* *BREAKING CHANGE*: The SSE attribute [`hx-sse`](https://htmx.org/attributes/hx-sse/) and the Web Sockets attribute [`hx-ws`](https://htmx.org/attributes/hx-ws) have changed syntax to now use colon separators: `hx-sse='connect:/chat swap:message'`
407* The SSE attribute [`hx-sse`](https://htmx.org/attributes/hx-sse/) allows for swapping content directly on an event, in addition to triggering an htmx element,
408with the new `swap:<event name>` syntax.
409* [`hx-target`](https://htmx.org/attributes/hx-target) now supports a `find` syntax to find elements below the element by a CSS selector
410* htmx plays better with deferred loading and many package managers
411* All htmx events are dispatched in both camelCase as well as kebab-case, for better compatibility with AlpineJS and other frameworks. (e.g. `htmx:afterOnLoad` will also be triggered as
412`htmx:after-on-load`)
413* [hypeerscript](https://hyperscript.org) is now initialized independently of htmx
414
415## [0.0.8] - 2020-7-8
416
417* The `view` modifier on `hx-swap` has been renamed to `show`: `hx-swap='innerHTML show:top'`
418
419## [0.0.7] - 2020-6-30
420
421* The [`hx-swap`](https://htmx.org/attributes/hx-swap) attribute now supports two new modifiers:
422 * `scroll` - allows you to scroll the target to the `top` or `bottom`
423 * `view` - allows you to scroll the `top` or `bottom` of the target into view
424* The [`hx-push-url`](https://htmx.org/attributes/hx-push-url) attribute now can optionally take a URL to push, in addition to `true` and `false`
425* Added the [`hx-vars`](https://htmx.org/attributes/hx-vars) attribute that allows you to dynamically add to the parameters that will be submitted with a request
426
427## [0.0.6] - 2020-6-20
428
429* Custom request/response headers no longer start with the `X-` prefix, which is no longer recommended
430* empty verb attributes are now allowed and follow the anchor tag semantics (e.g. `<div hx-get></div>`)
431* nunjuks inline rendering is now supported in the `client-side-templates` extension
432* the new `ajax-header` extension includes the `X-Requested-With` header
433* bad JSON is now handled more gracefully
434* `hx-swap="none"` will cause no swap to take place <https://github.com/bigskysoftware/htmx/issues/89>
435* `hx-trigger` now supports a `throttle` modifier <https://github.com/bigskysoftware/htmx/issues/88>
436* the focused element is preserved if possible after a replacement
437* perf improvements for large DOM trees with sparse `hx-` annotations
438
439## [0.0.4] - 2020-5-24
440
441* Extension mechanism added
442* SSE support added
443* WebSocket support added
444
445## [0.0.3] - 2020-5-17
446
447* Renamed to htmx
448* A bug fix for the `hx-prompt` attribute
449* A bug fix for multiple `hx-swap-oob` attributes
450* Moved the default CSS indicator injection into its own sheet to avoid breaking
451* Added the `htmx.config.includeIndicatorStyles` configuration option so people can opt out of injecting the indicator CSS
452
453
454## [0.0.1] - 2020-5-15
455
456* Initial release (originally named kutty)
457
\No newline at end of file