- dom: update
snabbdom
to v3.4.0 (9cbb45b)
- dom: support Snabbdom options (0577d9e)
- Snabbdom v0.x is no longer supported.
- fix(dom): fix nonBubbling events bug for resubscribing streams (#906) (2f4ebc9), closes #906 #893
- fix(dom): fix type inference for modules array (27c29e3)
- feat(dom): accept partial modules in DOMDriverOptions (#928) (3b25d53), closes #928 #927
- feat(dom): add reportSnabbdomError option to DOMDriverOptions (21a8f1e), closes #922
- docs(dom): note about reportSnabbdomError in DOMDriverOptions (5b70cd8)
- fix(dom): update snabbdom-selector and tidy up pnpm configs (1607a94), closes #901
- chore(dom): tweak test so that TypeScript compiles (fb3ac3a), closes #871
- chore(dom): use isolate v5 in tests (990755f)
- fix(dom): add better typings for the hyperscript helpers (e211037)
- fix(dom): support TypeScript's strict mode (90645d6)
- fix(dom): fix rxjs and most typings of makeDOMDriver (#862) (f661cf5), closes #862 #860
- chore(dom): remove zombie transposition use in tests (aff1c9d)
- fix(dom): support Typescript 3.1 (8174c25)
- If you use JavaScript, there are no breaking changes. If you use
TypeScript, then you may have to change some imports, only if you are
using RxJS or Most.js. If you are using RxJS: change
import {makeDOMDriver} from '@cycle/dom'
toimport {makeDOMDriver} from '@cycle/dom/lib/cjs/rxjs'
and changeimport {DOMSource} from '@cycle/dom/rxjs-typings'
toimport {DOMSource} from '@cycle/dom/lib/cjs/rxjs'
. If you are using Most.js: changeimport {makeDOMDriver} from '@cycle/dom'
toimport {makeDOMDriver} from '@cycle/dom/lib/cjs/most'
and changeimport {DOMSource} from '@cycle/dom/most-typings'
toimport {DOMSource} from '@cycle/dom/lib/cjs/most'
.
- fix(dom): update snabbdom (4ae8f80), closes #747
- docs(dom): document browser support for v21 (2412938)
- test(dom): test against older browsers (60788d1)
- docs(dom): more release notes on the new driver (b83f8d7)
- fix(dom): add polyfills for IE10 and Safari 8 (4fae7e4)
- fix(dom): document the breaking changes in the new dom driver (5937168)
- fix(dom): EventDelegator shouldnt register duplicate event listeners (3e2e1cc)
- fix(dom): fix rxjs and most typings (c19ffea), closes #775
- test(dom): add Android to browserstack tests (af6d6e6)
- test(dom): add test for #747 (0982d67), closes #747
- test(dom): add test for sibling isolation with className prop (4a46cd4)
- test(dom): fix dom tests (160cc89)
- test(dom): remove old and unused tests (b169d64)
- refactor(dom): abort bubbling if elements are not in the DOM any more (244f239)
- refactor(dom): add remote BrowserStack tests (9c44022), closes #803
- refactor(dom): fix remapping of coverage reports (a261457)
- refactor(dom): improve bubbling algorithm (0a33539)
- refactor(dom): improve handling of domListenersToAdd (4afb985)
- refactor(dom): move DOM tests to karma (88d226d)
- refactor(dom): rewrite DOM driver to fix isolation (34a5e6d)
- refactor(dom): use Array not T[], for consistency (d7edf9e)
- The dom driver now uses syntetic event bubbling and the isolation semantics changed slightly, see https://cycle.js.org/releases.html for more information
- dom: postpone sampling of root element until DOM is ready. (9653d98)
- dom: update snabbdom-selector (b345417)
- dom: add support for HTML5
<details>
and<summary>
tags to HyperscriptHelpers (cf3cc81)
- dom: fix .elements() support for rxjs and most (1239822)
- dom: fix race condition between DOM ready and cycle/run replication (9fcec3c)
- dom: use MutationObserver to avoid mutation loop (a349b20)
- dom: Internet Explorer 10 is no longer officially supported, but it can still be used with cycle/dom under some circumstances. You should use a polyfill for MutationObserver and make sure you are not rendering the application in a DocumentFragment as the container node. Only under those conditions will cycle/dom should work correctly in IE10.
ISSUES CLOSED: #699
- dom: correct the TypeScript signature of DOMSource.element() (a201abd)
- dom: upgrade snabbdom-selector dependency to 2.0.1 (7af2b19)
- dom: remove "change" from eventTypesThatDontBubble (#690) (a1600d0)
- dom: allow predicate function or object as preventDefault (e66a534)
- dom: DOMSource.elements() always returns arrays (0501189)
- dom: overload .event() method using HTMLElementEventMap (#682) (b9db15c)
- dom:
select('document').elements()
now always returnsStream<Array<Document>>
select('body').elements()
now always returnsStream<Array<HTMLBodyElement>>
select(everythingElse).elements()
now always returnsStream<Array<Element>>
We also introduced.element()
(notice in the singular, not plural) which will always return a non-array, eitherStream<Document>
orStream<HTMLBodyElement>
orStream<Element>
.
ISSUES CLOSED: #677
- dom: It's probable your app will not break when updating cycle/dom. However,
if you are using
domSource.events('change')
and unknowingly relying on buggy behavior of this library, your app might behave differently. So upgrade carefully if you have that use case, otherwise this version is very safe to upgrade to, since this bug fix is so tiny.
- dom: wait for snabbdom's post hook to clean vnodes (#667) (dd5712f)
- dom: use for loop instead of forEach+bind in IsolateModule (70a4521)
- dom: add TypeScript typings for es6-map polyfill (805aa6d)
- dom: switch from require() to import statements for es6 map polyfill (f459ada)
- dom: update snabbdom to v0.7.0 (506bf88)
- dom: wrap svg example width and height attrs inside attrs object (#653) (832f567)
- dom: Snabbdom 0.7.0 has some breaking changes, see their release notes: https://github.com/snabbdom/snabbdom/releases/tag/v0.7.0
ISSUES CLOSED: #656
- dom: revert patchEvent optimization, to support IE10+ (2e78ee0)
- dom: update to TypeScript v2.4 (e72283b)
- dom: If you are a JavaScript user, there are no breaking changes. If you are a TypeScript user, this version has breaking changes due to TypeScript v2.4 update. Update and recompile carefully.
ISSUES CLOSED: #640
- dom: allow using isolated DOMSource.events() (8de1a78)
- dom: avoid an allocation in EventDelegator.patchEvent (0153cea)
- dom: add support for "time" hyperscript-helper (550d83f)
- dom: update snabbdom to 0.6.7, snabbdom-selector to 1.2 (3fc528b)
- dom: add preventDefault option (5d829a8)
- dom: avoid an object allocation in MainDOMSource (fc218cf)
- dom: support null and undefined isolated DOM sinks (98af6fb)
- dom: remove HTML driver from Cycle DOM (8a5aac7)
- dom: We extracted the HTML driver to its own package, under Cycle HTML. It still depends on Cycle DOM and does the same as before, but lives under a different package. This extraction benefits you to reduce the bundle size client-side, since the HTML driver is usually not used client-side.
- dom: allow choosing no isolation or sibling isolation (13cb6bc)
- dom: Rare breaking change that will likely NOT affect you: we are giving special meaning to some scope strings given to isolation. Before, every string given as isolation scope would mean total isolation. Now, the string ':root' means no isolation and strings starting with '.' or '#' mean sibling-sibling isolation. This is a technically a breaking change in case you happened to use strings like that as isolation scopes (which is unlikely). But otherwise, this is safe to update without migration.
ISSUES CLOSED: 526
- dom: update snabbdom to v0.6.5, which solves some bugs (0ab2f52)
- dom: fix issue 531 (539a196)
See the changelog for all the rc
versions of v15.0.0.
- dom: fix client-side rendering to consider existing DOM (760e1f3)
- dom: fix isolation bug of child when parent is re-added (e18e7f7)
- dom: make cycle/run a hard dependency (47f7f49)
- dom: report errors thrown in snabbdom hooks (edb025c)
- dom: rewrite for Cycle Unified (47346b4)
- dom: start snabbdom only when DOM is ready (40d39dd)
- dom: support using DOMSource.elements() in isolated main() (ca192b5)
- dom: update snabbdom to v0.6.4 (f6dd895)
- dom: update to snabbdom v0.6.3 (d1077c8)
- dom: support passing custom modules to HTML driver (f965de5)
- dom: use snabbdom dataset module by default (36759af)
- dom: fix isolation bug of child when parent is re-added (e18e7f7)
- dom: make cycle/run a hard dependency (47f7f49)
- dom: report errors thrown in snabbdom hooks (edb025c)
- dom: rewrite for Cycle Unified (47346b4)
- dom: start snabbdom only when DOM is ready (40d39dd)
- dom: support using DOMSource.elements() in isolated main() (ca192b5)
- dom: update to snabbdom v0.6.3 (d1077c8)
- dom: support passing custom modules to HTML driver (f965de5)
- dom: use snabbdom dataset module by default (36759af)
- dom: change EventDelegator bubble to search topElement (ae5113e)
- dom: skip calling addNS on svg "text" children (faf52d4)
- dom: allow same isolate scope for parent and child (54dbdfe)
- dom:
Snabbdom vnode.data.isolate content is no longer prefixed with
$$CYCLEDOM$$-
. This is an API almost no one uses or depends on, so should be very safe to upgrade to this version.
ISSUES CLOSED: #453
- dom: fix stream libraries DOMSource.elements typings (a30f5cb)
- dom: The TypeScript signature for DOMSource.elements() has changed its return type
from
Stream<Element>
(incorrect) toStream<Element | Array<Element>>
(correct). This is a tiny breaking that only affects TypeScript users who are usingdomSource.elements()
. Safe to update if you are not using TypeScript norelements()
method.
ISSUES CLOSED: #451
- dom: enable restarting of event streams on isolated components (08265db)
- dom: retain event streams when isolated parent is recreated (5b37dd0)
- dom: fix small obstacle to using web components (a74551c)
- dom: small refactor, safe to upgrade (2e3de51)
- dom: slightly faster IsolateModule (0126d2e)
- dom: use a fixed major version of xstream-adapter (549180b)
- dom: support the Chrome DevTool to distinguish source streams (053718c)
- dom: add support for selecting
document
andbody
(93bd3c4)
- dom: fix support for SVG polyline (d0eb12c)
- dom: clear out delegator destinations for stopped streams (a9268e0)
- dom: use isolation scope as snabbdom key (b763d25)
- dom: html driver supports multiple emissions (c02dfe8)
- dom: This is a breaking change because previously the HTML driver was guaranteed to render just one HTML string and consume it in the effect function. Now, the HTML driver may render multiple HTML strings over time and give those to the effect function. If you don't use the HTML Driver, you can safely upgrade your app to this version of Cycle DOM. If you do use the HTML driver, make sure the sink (stream of virtual DOM) given to the HTML driver emits just once. Just add last() for server-side rendered virtual DOM streams. Otherwise, the effect function of the HTML driver may be called multiple times.
ISSUES CLOSED: #348
- dom: use snabbdom exactly 0.5.0 as a fixed version (642bd6c)
- dom: update Snabbdom to v0.5.0 (6ec38f0)
- dom: Thunk API changed. Particularly, it now takes a key argument (2nd parameter) and the stateArguments parameter (4th parameter) must always be an array.
ISSUES CLOSED: #351.