1 | # Changelog
|
2 |
|
3 |
|
4 | ## [1.5.0] - 2021-7-12
|
5 |
|
6 | * Support tracking of button clicked during a form submission
|
7 | * Conditional polling via the [hx-trigger](/attributes/hx-trigger) attribute
|
8 | * `document` is now a valid pseudo-selector on the [hx-trigger](/attributes/hx-trigger) `from:` argument, allowing you
|
9 | to listen for events on the document.
|
10 | * Added the [hx-request](/attributes/hx-request) attribute, allowing you to configure the following aspects of the request
|
11 | * `timeout` - the timeout of the request
|
12 | * `credentials` - if the request will send credentials
|
13 | * `noHeaders` - strips all headers from the request
|
14 | * Along with the above attribute, you can configure the default values for each of these via the corresponding `htmx.config`
|
15 | properties (e.g. `htmx.config.timeout`)
|
16 | * Both the `scroll` and `show` options on [hx-swap](/attributes/hx-swap) now support extended syntax for selecting the
|
17 | element to scroll or to show, including the pseudo-selectors `window:top` and `window:bottom`.
|
18 |
|
19 | ## [1.4.1] - 2021-6-1
|
20 |
|
21 | * typo fix
|
22 |
|
23 | ## [1.4.0] - 2021-5-25
|
24 |
|
25 | * Added the `queue` option to the [hx-trigger](/attributes/hx-trigger) attribute, allowing you to specify how events
|
26 | should be queued when they are received with a request in flight
|
27 | * The `htmx.config.useTemplateFragments` option was added, allowing you to use HTML template tags for parsing content
|
28 | from the server. This allows you to use Out of Band content when returning things like table rows, but it is not
|
29 | IE11 compatible.
|
30 | * The `defaultSettleDelay` was dropped to 20ms from 100ms
|
31 | * Introduced a new synthetic event, [intersect](/docs#pecial-events) that allows you to trigger when an item is scrolled into view
|
32 | as specified by the `IntersectionObserver` API
|
33 | * Fixed timing issue that caused exceptions in the `reveal` logic when scrolling at incredible speeds - <https://github.com/bigskysoftware/htmx/issues/463>
|
34 | * Fixed bug causing SVG titles to be incorrectly used as page title - <https://github.com/bigskysoftware/htmx/issues/459>
|
35 | * Boosted forms that issue a GET will now push the URL by default - <https://github.com/bigskysoftware/htmx/issues/485>
|
36 | * Better dispatch of request events when an element is removed from the DOM
|
37 | * Fixed a bug causing `hx-prompt` to fail
|
38 | * The `htmx.config.withCredentials` option was added, to send credentials with ajax requests (default is `false`)
|
39 | * The `throttle` option on `hx-trigger` does not delay the initial request any longer
|
40 | * The `meta` key is ignored on boosted links
|
41 | * `<script>` tags are now evaluated in the global scope
|
42 | * `hx-swap` now supports the `none` option
|
43 | * Safari text selection bug - <https://github.com/bigskysoftware/htmx/issues/438>
|
44 |
|
45 | ## [1.3.3] - 2021-4-5
|
46 |
|
47 | * Added the [`hx-disabled`](/docs#security) attribute to allow htmx to be turned off for parts of the DOM
|
48 | * SSE now uses a full-jitter exponential backoff algorithm on reconnection, using the `htmx.config.wsReconnectDelay`
|
49 | setting
|
50 |
|
51 | ## [1.3.2] - 2021-3-9
|
52 |
|
53 | * Bug fixes
|
54 |
|
55 | ## [1.3.1] - 2021-3-9
|
56 |
|
57 | * IE11 fixes
|
58 |
|
59 | ## [1.3.0] - 2021-3-6
|
60 |
|
61 | * Support a `target` modifier on `hx-trigger` to filter based on the element targeted by an event. This allows
|
62 | lazy binding to that target selector.
|
63 | * Events are no longer consumed by the first element that might handle them, unless the `consume` keyword is
|
64 | added to the `hx-trigger` specification
|
65 | * Added the `htmx:beforeSend` event, fired just before an ajax request begins
|
66 | * SSE swaps are properly settled
|
67 | * Fixed bug that was improperly cancelling all clicks on anchors
|
68 | * `htmx.ajax()` now returns a promise
|
69 |
|
70 | ## [1.2.1] - 2021-2-19
|
71 |
|
72 | * Fixed an issue with the history cache, where the cache was getting blown out after the first navigation backwards
|
73 | * Added the `htmx.config.refreshOnHistoryMiss` option, allowing users to trigger a full page refresh on history cache miss
|
74 | rather than issuing an AJAX request
|
75 |
|
76 | ## [1.2.0] - 2021-2-13
|
77 |
|
78 | ### New Features
|
79 |
|
80 | * `hx-vars` has been deprecated in favor of `hx-vals`
|
81 | * `hx-vals` now supports a `javascript:` prefix to achieve the behavior that `hx-vars` provided
|
82 | * The new `hx-headers` attribute allows you to add headers to a request via an attribute. Like `hx-vals` it supports
|
83 | JSON or javascript via the `javascript:` prefix
|
84 | * `hx-include` will now include all inputs under an element, even if that element is not a form tag
|
85 | * The [preload extension](https://htmx.org/extensions/preload/) now offers a `preload-images="true"` attribute that will aggressively load images in preloaded content
|
86 | * On requests driven by a history cache miss, the new `HX-History-Restore-Request` header is included so that the server
|
87 | can differentiate between history requests and normal requests
|
88 |
|
89 | ### Improvements & Bug fixes
|
90 |
|
91 | * Improved handling of precedence of input values to favor the enclosing form (see [here](https://github.com/bigskysoftware/htmx/commit/a10e43d619dc340aa324d37772c06a69a2f47ec9))
|
92 | * Moved event filtering logic *after* `preventDefault` so filtering still allows events to be properly handled
|
93 | * No longer trigger after swap events on elements that have been removed via an `outerHTML` swap
|
94 | * Properly remove event handlers added to other elements when an element is removed from the DOM
|
95 | * Handle the `scroll:` modifier in `hx-swap` properly when an `outerHTML` swap occurs
|
96 | * Lots of docs fixes
|
97 |
|
98 | ## [1.1.0] - 2021-1-6
|
99 |
|
100 | * Newly added [preload extension](https://htmx.org/extensions/preload/) allows you to preload resources for lower
|
101 | latency requests!
|
102 | * Support the `ignore:` modifier for extensions
|
103 | * Updated form variable order inclusion to include the enclosing form *last* so that, in the presence of multiple
|
104 | values, the most relevant value is the most likely to be selected by the server
|
105 | * Support for the [`htmx.ajax()`](https://dev.htmx.org/api/#ajax) javascript function, to issue an htmx-style ajax
|
106 | request from javascript
|
107 | * Removed the following htmx request headers for better cache behavior: `HX-Event-Target`, `HX-Active-Element`,
|
108 | `HX-Active-Element-Name`, `HX-Active-Element-Value`
|
109 | * Added the [`hx-preserve`](https://dev.htmx.org/attributes/hx-preserve) attribute, which allows
|
110 | you to preserve elements across requests (for example, to keep a video element playing properly)
|
111 | * The [path-deps](https://dev.htmx.org/extensions/path-deps/#refresh) now surfaces a small api
|
112 | for refreshing path dependencies manually in javascript
|
113 | * Now support the `from:` clause on [`hx-trigger`](https://dev.htmx.org/attributes/hx-trigger) to
|
114 | allow an element to respond to events on other elements.
|
115 | * Added the `htmx:beforeProcessNode` event, renamed the (previously undocumented) `htmx:processedNode` to `htmx:afterProcessNode`
|
116 | * Added `closest` syntax support for the [`hx-indicator`](https://dev.htmx.org/attributes/hx-indicator) attribute
|
117 | * Added `on load` support for the newest version of [hyperscript](https://hyperscript.org)
|
118 | * Added the `htmx.config.allowEval` configuration value, for CSP compatibility
|
119 | * Bug fixes & improvements
|
120 |
|
121 | ## [1.0.2] - 2020-12-12
|
122 |
|
123 | * Extend all API methods to take a string selector as well as an element
|
124 | * Out of band swap elements need not be top level now
|
125 | * [`hx-swap-oob`](https://htmx.org/attributes/hx-swap-oob) now can accept a CSS selector to retarget with
|
126 |
|
127 | ## [1.0.1] - 2020-12-04
|
128 |
|
129 | * AJAX file upload now correctly fires events, allowing for [a proper progress bar](https://htmx.org/examples/file-upload)
|
130 | * htmx api functions that expect an element now can accept a string selector instead:
|
131 | ```js
|
132 | htmx.on('#form', 'htmx:xhr:progress', function(evt) {
|
133 | htmx.find('#progress').setAttribute('value', evt.detail.loaded/evt.detail.total * 100)
|
134 | });
|
135 | ```
|
136 | * htmx now properly handles the `multiple` attribute on `<select>` elements
|
137 |
|
138 | ## [1.0.0] - 2020-11-24
|
139 |
|
140 | * Bumped the release version :)
|
141 |
|
142 | ## [0.4.1] - 2020-11-23
|
143 |
|
144 | * Fixed bug with title tag support when title tag contained HTML entities
|
145 | * Pass properties for the `loadstart`, `loadend`, `progress`, `abort` events through properly to the htmx equivalents
|
146 |
|
147 | ## [0.4.0] - 2020-11-16
|
148 |
|
149 | * Now support the `HX-Redirect` and `HX-Refresh` response headers for redirecting client side and triggering a page refresh, respectively
|
150 | * `hx-vars` now overrides input values
|
151 | * `<title>` tags in responses will be used to update page titles
|
152 | * All uses of `eval()` have been removed in favor of `Function`
|
153 | * [`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.
|
154 |
|
155 | ## [0.3.0] - 2020-10-27
|
156 |
|
157 | * `hx-trigger` parsing has been rewritten and now supports [trigger filters](https://htmx.org/docs/#trigger-filters) to filter
|
158 | events based on arbitrary javascript expressions
|
159 | * htmx now supports two additional response headers `HX-Trigger-After-Swap` and `HX-Trigger-After-Settle` allowing
|
160 | an event to be triggered after a given life cycle event (instead of before the swap)
|
161 | * The `requestConfig` is now passed out to events surrounding the AJAX life cycle
|
162 | * htmx now evaluates `<script>` tags as javascript when no language is defined on them
|
163 | * A new [`event-header`](https://htmx.org/extensions/event-header) extension, which will include a serialized JSON representation of the triggering event in requests
|
164 |
|
165 | ## [0.2.0] - 2020-9-30
|
166 |
|
167 | * AJAX file upload [support](https://htmx.org/docs#files)
|
168 | * The HTML validation API is [respected](https://htmx.org/docs#validation)
|
169 |
|
170 | ## [0.1.0] - 2020-9-18
|
171 |
|
172 | * *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'`
|
173 | * 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,
|
174 | with the new `swap:<event name>` syntax.
|
175 | * [`hx-target`](https://htmx.org/attributes/hx-target) now supports a `find` syntax to find elements below the element by a CSS selector
|
176 | * htmx plays better with deferred loading and many package managers
|
177 | * 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
|
178 | `htmx:after-on-load`)
|
179 | * [hypeerscript](https://hyperscript.org) is now initialized independently of htmx
|
180 |
|
181 | ## [0.0.8] - 2020-7-8
|
182 |
|
183 | * The `view` modifier on `hx-swap` has been renamed to `show`: `hx-swap='innerHTML show:top'`
|
184 |
|
185 | ## [0.0.7] - 2020-6-30
|
186 |
|
187 | * The [`hx-swap`](https://htmx.org/attributes/hx-swap) attribute now supports two new modifiers:
|
188 | * `scroll` - allows you to scroll the target to the `top` or `bottom`
|
189 | * `view` - allows you to scroll the `top` or `bottom` of the target into view
|
190 | * 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`
|
191 | * 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
|
192 |
|
193 | ## [0.0.6] - 2020-6-20
|
194 |
|
195 | * Custom request/response headers no longer start with the `X-` prefix, which is no longer recommended
|
196 | * empty verb attributes are now allowed and follow the anchor tag semantics (e.g. `<div hx-get></div>`)
|
197 | * nunjuks inline rendering is now supported in the `client-side-templates` extension
|
198 | * the new `ajax-header` extension includes the `X-Requested-With` header
|
199 | * bad JSON is now handled more gracefully
|
200 | * `hx-swap="none"` will cause no swap to take place <https://github.com/bigskysoftware/htmx/issues/89>
|
201 | * `hx-trigger` now supports a `throttle` modifier <https://github.com/bigskysoftware/htmx/issues/88>
|
202 | * the focused element is preserved if possible after a replacement
|
203 | * perf improvements for large DOM trees with sparse `hx-` annotations
|
204 |
|
205 | ## [0.0.4] - 2020-5-24
|
206 |
|
207 | * Extension mechanism added
|
208 | * SSE support added
|
209 | * WebSocket support added
|
210 |
|
211 | ## [0.0.3] - 2020-5-17
|
212 |
|
213 | * Renamed to htmx
|
214 | * A bug fix for the `hx-prompt` attribute
|
215 | * A bug fix for multiple `hx-swap-oob` attributes
|
216 | * Moved the default CSS indicator injection into its own sheet to avoid breaking
|
217 | * Added the `htmx.config.includeIndicatorStyles` configuration option so people can opt out of injecting the indicator CSS
|
218 |
|
219 |
|
220 | ## [0.0.1] - 2020-5-15
|
221 |
|
222 | * Initial release (originally named kutty)
|
223 |
|
\ | No newline at end of file |