- Last updated: 2024-10-05T12:12:32Z
- 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.
5.3.0 (2024-05-08)
- add rdom-klist example project, update readmes (cd458ac)
- add rdom-klist example project, update readmes (531437f)
5.2.44 (2024-04-20)
- update type usage (1e10e5a)
5.2.13 (2023-11-09)
- update all tests (packages A-S) (e3085e4)
5.2.4 (2023-08-04)
- update INotify impls, update History (1ad68f6)
- extract EVENT_XXX constants from History
- add INotify generics
- update INotify impls (cbdc527)
5.2.0 (2023-04-08)
- add updateAsTransaction(), update Transacted (113852c)
5.1.23 (2022-11-28)
- update INotify.notify() signature (a2c00e8)
5.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.
5.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)
5.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 (abe1675)
- 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 (various) (47f88d2)
4.1.36 (2021-06-08)
- add missing type hints (TS4.3) (40459bf)
4.1.24 (2020-12-07)
- update type-only imports (f1cee05)
4.1.20 (2020-09-13)
4.1.19 (2020-08-28)
- update delete op (TS4.0) (9c33410)
4.1.0 (2020-04-01)
- protect Transacted against out-of-phase updates (675a25b)
- add internal guard watch to throw error if parent is updated whilst active transaction
- add
beginTransaction()
- add tests
- update readme
4.0.0 (2020-03-28)
- add typechecking for resetIn(), swapIn() impls (f114e10)
- BREAKING CHANGE: add typechecking for resetIn(), swapIn() impls The more stricter method signatures could lead to breaking changes in more lax existing code bases
- update types, API for supporting type-checked & unchecked paths (82948b8)
- BREAKING CHANGE: update types, API for supporting type-checked & unchecked paths
- support path type checking for upto 8 levels (before falling back to
any
) - update
resetIn()
/swapIn()
impls in all types to expect type-checked paths - add
resetInUnsafe()
/swapInUnsafe()
for string-based / unchecked paths - remove support for non-atom-like Cursor parent states
- simplify Cursor ctor
- remove
IViewable
interface and.addView()
impls (usedefView()
instead) - remove
ViewTransform
type alias - add factory fns for typed paths:
- defAtom()
- defCursor()
- defHistory()
- defTransacted()
- defView()
- add factory fns for untyped paths:
- defCursorUnsafe()
- defViewUnsafe()
- support path type checking for upto 8 levels (before falling back to
- update path value inference handling (8c2aab2)
- BREAKING CHANGE: update IReset, ISwap, SwapFn generics
- use PathVal & OptPathVal for value type inference
- fix defViewUnsafe() type inference (bb5593a)
- simplify API & impls using new path types, fix View type inference (b016378)
- update all to new @thi.ng/paths API (016b5fe)
3.1.5 (2020-02-25)
- update imports (eb47092)
3.1.3 (2020-01-24)
- minor update IHistory (add IClear) (3efaefb)
3.1.2 (2019-11-30)
- re-use
Path
from @thi.ng/api (5476fc9)
3.1.0 (2019-09-21)
- add Transacted wrapper & tests (8aaf6e6)
- update Transacted watch ID handling, update tests, readme (93d9e1d)
3.0.0 (2019-07-07)
- TS strictNullChecks (493ea57)
- BREAKING CHANGE: IView & IHistory methods can return undefined
- Atom ctor requires an initial state now
- enable TS strict compiler flags (refactor) (c5d2853)
2.0.5 (2019-03-10)
- update Fn args in various packages (e453ac3)
2.0.0 (2019-01-21)
- update package build scripts & outputs, imports in ~50 packages (b54b703)
- BREAKING CHANGE: enabled 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
1.5.3-alpha.1 (2018-09-17)
- add .value getter to IView (3e647a1)
1.5.0 (2018-08-27)
- add .value accessor aliases (for deref()/reset()) (a0cbd2b)
1.4.0 (2018-05-30)
- add INotify impl for History (9422598)
- add EVENT_UNDO/REDO/RECORD events
- emit events from
undo()
,redo()
,record()
- provide prev/curr states to history event listeners (7ac6227)
- update undo()/redo() event value
(now an object w/
prev
/curr
keys/states) - refactor/fix record(), only expunge history and truncate future if actually recording new state
- update undo()/redo() event value
(now an object w/
1.3.8 (2018-05-10)
- update deps & imports in all packages due to @thi.ng/api split (bc45636)
1.3.0 (2018-04-15)
- update History.record(), add IHistory interface (cf42260)
- check changed() from record() if called without arg
- add IHistory for alt implementations
1.2.0 (2018-03-21)
- add optional validation predicate for Atom, add tests (bae1647)
- add CursorOpts and cursor validation, update ctor, add tests (3b1d563)
- consider parent validators in History update fns (d93940a)
- update error handling (ea7b175)
1.1.0 (2018-03-18)
- add optional support for eager views, update tests/readme (c0ec274)
1.0.1 (2018-03-17)
- extract @thi.ng/paths & @thi.ng/interceptors functionality (1273efb)
- delete obsolete sources
- update deps
- BREAKING CHANGE: extract @thi.ng/paths & @thi.ng/interceptors functionality
0.13.0 (2018-03-16)
- add FX_FETCH & FX_DELAY sidefx impl, update docs (e52e7e5)
- add forwardSideFx() interceptor (357c46e)
0.12.1 (2018-03-11)
- ignore side fx with null values (0ca0bf3)
0.12.0 (2018-03-09)
- add IRelease impls (9b3d91e)
- add IRelease to ReadonlyAtom
- implement IRelease for Atom, Cursor, History, View
- update EventBus ctor, add deref() (667691c)
- add/extract StatelessEventBus (3fae249)
- add interceptors to re-exports (59085e0)
- minor update event bus, add/update docs (e96cc99)
0.11.0 (2018-03-09)
- add default handlers, add/rename event/fx const values, add checks (1fd43d7)
- add EV_SET_VALUE & EV_UPDATE_VALUE event handlers
- add prefixes to built-in event/fx ID values to avoid name clashes w/ user IDs
- refactor EventBus, add addBuiltIns()
- display warnings if overriding existing handler/effect
- add valueSetter/Updater() interceptors (359c4f5)
- update InterceptorFn handling (443875c)
- remove InterceptorContext arg from InterceptorFn
- add EventBus.context() to obtain current InterceptorContext (rarely needed)
- update docs
0.10.0 (2018-03-08)
- add async dispatch effect, update event bus & api types (56866e0)
- add FX_DISPATCH_ASYNC effect for promise based effect execution
- pass event bus instance as opt arg to icep/fx functions
- add support for multiple vals per sidefx returned from iceps
- add IDispatch, move IViewable from IAtom to ReadonlyAtom
- add InterceptorContext interface for better type safety of interceptor results
- fix typo in FX_DISPATCH_NOW
- add docs
0.9.2 (2018-03-08)
- add EventBus to module re-exports, minor cleanup (9e5239b)
0.9.1 (2018-03-07)
- update InterceptorFn, ensureXXX(), update deps, add docs (1ab803a)
- pass collected sidefx obj to interceptors (as opt last arg), adv. use only
- make EventDef/EffectDef type decl more flexible
- add path extractor arg for ensureLessThan/GreaterThan()
- remove DCons dep (again), update priority sorting
- add various doc strings
0.9.0 (2018-03-07)
- re-add refactored EventBus & interceptor handling (e01bf73)
- add new types, interfaces & consts to api.ts
- add EventBus class
- add existing interceptors (ensurePred() etc.)
0.8.0 (2018-03-05)
- update IAtom, add resetIn() & swapIn() impls (a7e61a4)
0.7.1 (2018-03-01)
- re-export api.ts (3e55a05)
- include
path
in IView (341255c)
0.7.0 (2018-03-01)
- add View type to create derrived views/value subscriptions (8c0c621)
- add IView, IViewable, impl for Atom, Cursor, History (9ad83b2)
- update IAtom to include IViewable
- update View & ViewTransform generics
- add optimized getters for path len < 5 (ed23376)
- benchmark (len=4) now: 57ms vs 3150ms (55x faster!)
- add optimized setter() for path len < 5, fix toPath() (55c6a7d)
- treat empty string as zero-length path
- update Path type references (a0ce6e7)
0.6.0 (2018-02-18)
- empty path handling getter/setter (fbc819e)
- don't mutate getter/setter path args, update updateIn (398c32a)
- use @thi.ng/api/equiv as default History predicate (b5ee8e4)
- update history reset/swap, record before applying val (2e34f38)
0.5.0 (2018-02-01)
- add History.canUndo/Redo() (c5b6e0f)
0.4.0 (2018-01-31)
- add full IAtom impl for History, update tests (5538362)
0.3.0 (2018-01-31)
- cursor ctor arg checks (282d989)
- extract IReset, ISwap from IAtom (74ecdf1)
0.2.0 (2018-01-29)
- add nested path getter / setter compilers (5dce8a2)
- update cursor ctor to also accept paths
- update readme example
0.1.1 (2018-01-29)
- cursor IWatch impls (replace stubs) (cca801b)