- Last updated: 2024-11-24T18:15:48Z
- Generator: thi.ng/monopub
All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
Note: Unlisted patch versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies.
9.4.35 (2024-06-21)
- split up internal normalizeTree() (1fbca7b)
- enforce uniform naming convention of internal functions (56992b2)
9.4.14 (2024-02-16)
- update LOGGER handling (83ea177)
9.4.0 (2023-12-11)
- update setAttrib(), more alignment w/ rdom logic (639ca71)
9.3.27 (2023-11-09)
- update all tests (packages A-S) (e3085e4)
9.3.0 (2023-02-27)
- update setAttrib() (61aa627)
- add IDeref support for individual attrib values (i.e. via
deref()
wrappers) - update attribute removal/deletion logic
- add IDeref support for individual attrib values (i.e. via
9.2.0 (2022-12-16)
9.1.6 (2022-04-07)
- replace deprecated .substr() w/ .substring() (0710509)
9.1.0 (2021-11-17)
- Using workspaces for local tools (bf7a404)
Improving the overall build ergonomics
- introduced a tools workspaces
- imported it in all needed packages/examples
- inclusive project root
- testrunner to binary (4ebbbb2) this commit reverts (partly) changes made in: ef346d7a8753590dc9094108a3d861a8dbd5dd2c overall purpose is better testament ergonomics: instead of having to pass NODE_OPTIONS with every invocation having a binary to handle this for us.
9.0.8 (2021-11-10)
- update all countdown loops (a5f374b)
9.0.1 (2021-10-13)
- update imports in all pkgs (5fa2b6f)
- add .js suffix for all relative imports
- update imports in all tests/pkgs (effd591)
9.0.0 (2021-10-12)
- major update of ALL pkgs (export maps, ESM only) (0d1d6ea)
- BREAKING CHANGE: discontinue CommonJS & UMD versions
- only ESM modules will be published from now on
- CJS obsolete due to ESM support in recent versions of node:
- i.e. launch NodeJS via:
node --experimental-specifier-resolution=node --experimental-repl-await
- in the node REPL use
await import(...)
instead ofrequire()
- UMD obsolete due to widespread browser support for ESM Also:
- normalize/restructure/reorg all package.json files
- cleanup all build scripts, remove obsolete
- switch from mocha to @thi.ng/testament for all tests
- update all tests in all pkgs (8b582bc)
- update all to use @thi.ng/testament
- update imports (138571a)
- update deps & imports in various pkgs (e1cf29e)
- largely related to recent updates/restructuring of these packages:
- api
- defmulti
- errors
- logger
- largely related to recent updates/restructuring of these packages:
- minor pkg restructure (61a6592)
8.2.14 (2020-12-22)
- update DiffMode handling (b8f7d5c)
8.2.13 (2020-12-07)
- update type-only imports in various tests/pkgs (3fd9c24)
8.2.10 (2020-09-22)
8.2.9 (2020-09-13)
- update imports (e95ff1e)
8.2.0 (2020-07-02)
- update deps, update xmlns import (99fbae7)
- add RDFa
prefix
attrib support, update xmlns imports (f0e7460)
8.1.0 (2020-06-28)
- add support
class
attrib object vals (074985a)- update normalizeElement() class merge logic
- add support for event listener strings (db8d350)
8.0.18 (2020-04-06)
- update event attrib checks (ab54d3c)
- replace .indexOf("on") with array-style accessor checks
- benchmarking shows ~30% improvement
8.0.11 (2020-02-25)
- update imports, internal restruct (9f31a03)
8.0.7 (2019-11-09)
- fix #72, update __skip diff handling & HDOMImplementation (0071df3)
- when a previously skipped element is re-enabled, replace entire sub-tree,
but do NOT call lifecycle
init()
methods - add init arg/flag to HDOMImplementation.createTree() / replaceChild()
- update DEFAULT_IMPL
- update normalizeElement()
- when a previously skipped element is re-enabled, replace entire sub-tree,
but do NOT call lifecycle
8.0.6 (2019-09-23)
8.0.4 (2019-08-21)
- refactor/simplify diff & dom impls (20de716)
- extract diffDeleted()/diffAdded() from diffTree()
- extract incOffsets()/decOffsets() from diffTree()
- update diffAttributes()
- extract maybeInitElement() from createTree()/hydrateTree()
- extract addChild(), update createElement/createTextElement()
- update various conditionals
- update to use new hiccup regex names (0236ff6)
8.0.0 (2019-07-07)
- address TS strictNullChecks flag (d83600a)
- BREAKING CHANGE: all HDOMImplementation methods now mandatory, update return types
- enable TS strict compiler flags (refactor) (7f093b9)
- update return types for HDOMImplementation methods
7.2.6 (2019-04-24)
- replace DEBUG w/ LOGGER (a37252a)
7.2.5 (2019-04-17)
- update removeAttribs (b17fb17)
- check for attribute first, else treat as element property
7.2.4 (2019-04-11)
- minor update diffTree() (f2efaa5)
- re-order diff state checks to prioritize unchanges results
7.2.3 (2019-04-05)
- off-by-one error when updating child offsets after removal (beef4e9)
7.2.0 (2019-03-18)
- support more input el types in updateValueAttrib() (8813344)
7.1.0 (2019-02-10)
- add scrollTop/Left property support in setAttrib() (895da65)
- fix #72, update normalizeElement() (3ed4ea1)
- ensure empty elements with
__skip
attrib always have at least 1 child
- ensure empty elements with
7.0.0 (2019-01-21)
- update package scripts, outputs, imports in remaining packages (f912a84)
- BREAKING CHANGE: enable multi-outputs (ES6 modules, CJS, UMD)
- build scripts now first build ES6 modules in package root, then call
scripts/bundle-module
to build minified CJS & UMD bundles in/lib
- all imports MUST be updated to only refer to package level (not individual files anymore). tree shaking in user land will get rid of all unused imported symbols
- build scripts now first build ES6 modules in package root, then call
6.1.0 (2018-12-21)
- add support for event listener options, update readme (6618c22)
6.0.4 (2018-12-21)
6.0.2 (2018-12-16)
- life cycle init / release handling (6d85c62)
- createTree() init handling: call AFTER all children have been created
- releaseTree(): bind release() calls to component (not tag wrapper)
- update docs / readme
6.0.0 (2018-12-13)
- extend & simplify HDOMImplementation, update DEFAULT_IMPL (6f2e8ee)
- BREAKING CHANGE: extend & simplify HDOMImplementation
- update args for HDOMImplementation methods
- add createElement(), createTextElement() & getElementById() methods to HDOMImplementation
- rename createDOM() => createTree(), make generic
- rename hydrateDOM() => hydrateTree(), make generic
- update / fix diffTree() __impl attrib handling: only delegate if __impl != current impl
- update resolveRoot() to require impl arg & delegate
- add initial __skip ctrl attrib handling in diffTree() (a4e6736)
- update createTextElement() sig, update docstrings (fe9a312)
5.2.1 (2018-12-08)
- update diffTree & diffAttributes (@thi.ng/diff updates) (e9b067b)
- minor update diff call sites (c3f6f98)
5.2.0 (2018-11-07)
- update auto-deref ctx behavior (3016116)
- add
autoDerefKeys
option - update docs
- update tests
- add
5.1.0 (2018-11-06)
- add support for dynamic user context vals (6a3a873)
- update start() & renderOnce()
- reformat all sub-modules
- update docs & tests
5.0.3 (2018-09-24)
5.0.1 (2018-09-23)
- minor refactoring, fix/update docs (4a2f79b)
- extract resolveRoot() helper fn
- update start(), renderOnce()
- update various doc strings
5.0.0 (2018-09-22)
- add renderOnce() (5ef9cf0)
- minor updates (de17db8)
- allow HDOMOpts extensions (6d6fae3)
5.0.0-alpha (2018-09-16)
- reorg & extend HDOMImplementation (1ac245f)
- add normalizeTree, hydrateTree & diffTree to HDOMImplementation
- add HDOMBehaviorAttribs
- update ComponentAttribs
- remove
normalize
option from HDOMOpts (use__normalize
attrib instead) - update DEFAULT_IMPL, move to default.ts
- fix embedded fn handling in createDOM() & hydrateDOM() (inject user context)
- add
__impl
support in hydrateDOM() - add opt
impl
arg for start()
- BREAKING CHANGES: new names & call signatures for:
- normalizeTree
- diffElement => diffTree
- createDOM
- hydrateDOM
- replaceChild
- update normalizeTree, add to HDOMImplementation (59bb19c)
- update normalizeTree() to check for & use branch-local impl if present
- add existing normalizeTree to DEFAULT_IMPL
- update HDOMImplementation interface
- add
.toHiccup()
interface support (54ba0ce)- add
.toHiccup()
type check innormalizeTree()
and call w/ user context
- add
- minor fix (hydrateDOM) (e4f780c)
- exclude hdom control attribs in setAttrib() (0592063)
- delegate diffTree() to branch impl (6c33901)
- add opt
__release
attrib to disable releaseDeep() (2e3fb66) - update diffTree(), inline node type checks (382c45c)
- add child tracking index table template for diffTree()
- bail out early if edit distance = 2 and only attribs changed
- update checks in normalizeTree(), normalizeElement(), createDOM(), hydrateDOM(), setAttrib()
- rename releaseDeep() => releaseTree()
- trial run of custom equiv() impl for diffTree() (96beaf3)
- use custom equiv also for diffAttributes() (bde18d5)
- update custom equiv() (d9af2e5)
- export diff related fns (ebfcf15)
4.0.5 (2018-09-10)
- add optional support for blocking normalize & diff (5cb4350)
- add
__normalize
attrib to stop normalization of subtree - add
__diff
attrib to stop diffing of subtree
- add
- generalize diffElement() (#4) (525d90d)
- add HDOMOps interface
- add DEFAULT_OPS implementation
- update diffElement() & diffAttributes() to delegate to ops
- refactor diffElement() to be more legible
- update createDOM(), add support for
__ops
node attrib to use custom ops for subtrees - add getChild(), replaceChild(), setContent()
- rename HDOMOps => HDOMImplementation, add docs (cc73c76)
- rename
__ops
attrib =>__impl
- rename
4.0.3 (2018-09-01)
- fix local import (e66a492)
4.0.0 (2018-08-31)
- add DOM hydration support (SSR), update start() (#39) (9f8010d)
- add HDOMOpts interface
- add hydrateDOM()
- update start() to support hydration
- re-use migrated NO_SPANS const from hiccup
- switch all fn to arrow fns
- BREAKING CHANGE: start() args now as options object
- update HDOMOpts & start() (5e74a9c)
- add
normalize
option - simplify
start()
- add
- minor update HDOMOpts & start() (d55d930)
- rename
parent
option =>root
- rename
3.0.33 (2018-08-24)
- replace SEMAPHORE const w/ @thi.ng/api def (9b443cb)
- remove @thi.ng/iterators dependency (1434b0e)
3.0.32 (2018-08-01)
- cleanup imports (1467273)
3.0.28 (2018-07-10)
- always update "value" attrib last in diffAttributes() (126103b)
- fixes issue when patching elements with changed min/max limits
3.0.23 (2018-05-15)
- delay init() lifecycle call to ensure children are available (2482b16)
- update diffElement()
3.0.21 (2018-05-14)
- component obj lifecycle method thisArg handling (ade96f8)
3.0.16 (2018-05-10)
- update deps & imports in all packages due to @thi.ng/api split (bc45636)
3.0.15 (2018-05-09)
- native boolean attrib handling (e.g. "checked") (68ea086)
3.0.14 (2018-05-01)
- boolean attrib reset/removal (a93cb98)
3.0.13 (2018-04-30)
- only build linear diff edit log (7a543a5)
3.0.12 (2018-04-29)
- update event handling in diffAttributes() (31ec3af)
- avoid replacing element if changed event handlers
- update removeAttribs()
3.0.1 (2018-04-09)
- intern imported checks, update normalizeTree(), add docs, fix tests (2a91e30)
- avoid
path
copies in normalizeTree() - fix
render
life cycle return val handling (must be array for init/release to be called)
- avoid
3.0.0 (2018-04-08)
- fix #13, add support for user context and pass to components (70cfe06)
- add optional context arg for start()
- update normalizeTree(), diffElement() to inject provided context for all component functions and objects w/ lifecycle methods
- context is always injected as 1st arg to comp fns, with only exception of
init
lifecycle hook, where (for perf reasons) the created DOM element is passed as the first arg (context 2nd) - various minor optimizations
- add doc strings
- BREAKING CHANGE: component functions & lifecycle hooks now receive user context object as their first arg. All components accepting arguments must be updated, but can potentially be simplified at the same time.
2.3.0 (2018-03-21)
- update error handling, add @thi.ng/api dep (f5173f1)
2.2.0 (2018-03-14)
- add auto deref() support (0fe6c44)
- top-level or child element objects with
deref()
impl will be automatically resolved
- top-level or child element objects with
- disable deref() for attrib objects (28b0b57)
2.1.0 (2018-03-05)
- add support for frame skipping, add docs (a200beb)
2.0.0 (2018-03-03)
- update readme (79e1b09)
- BREAKING CHANGE: rename package hiccup-dom => hdom
- rename package hiccup-dom => hdom (f1c5315)