All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
6.0.0 (2024-07-02)
- errors are no longer coerced to an
Error
when thrown - errors thrown in effects will now update tracked observers and mark the effect as clean rather than dirty
5.11.5 (2024-04-09)
- use array scope disposal (c9c740c)
5.11.4 (2023-09-13)
- completely remove next sibling reference on dispose (f675a14)
5.11.3 (2023-09-13)
- dispose appended scopes correctly (7c80b49)
5.11.2 (2023-06-22)
- identify signals using symbol (c43326e)
5.11.1 (2023-06-19)
- run disposal last in first out (2bfc3ff)
5.11.0 (2023-06-18)
- expose
dispose
method on scopes (58b0f89)
- extend context/handlers on late scope append (905ba92)
- throw error up if no handler is defined (a0a1f1a)
5.10.5 (2023-06-14)
- use mangle cache (f0995cf)
5.10.4 (2023-06-12)
- use rollup for cleaner build output (8f232fb)
5.10.3 (2023-06-03)
5.10.2 (2023-05-08)
- throw errors that are not handled (69070c3)
5.10.1 (2023-05-08)
- attach context/handlers in
scope.append
(26f1f09)
5.10.0 (2023-05-08)
- O(1) context and error handling (efebd08)
5.9.4 (2023-04-26)
- port over deep deterministic disposal (66974e5)
5.9.3 (2023-04-17)
5.9.2 (2023-04-12)
- port over
runTop
fix from x-reactivity (ec66f8c)
5.9.1 (2023-01-23)
scoped
should return value if no error is thrown (703a6db)
5.9.0 (2023-01-22)
5.8.0 (2023-01-22)
getContext
andsetContext
accept scope arg (980ed91)
5.7.4 (2023-01-22)
5.7.3 (2023-01-22)
- only clean computation on throw if still dirty after handling (d465f02)
5.7.2 (2023-01-17)
- append scopes correctly (03cfc71)
5.7.1 (2023-01-17)
- check prev sibling exists during dispose (46ee520)
- clean up computation if error is thrown (eba7b9a)
- it should not throw on dispose call during active disposal (09eb2a7)
5.7.0 (2023-01-17)
- new
append
method on scopes (ab2fcd4)
5.6.5 (2023-01-09)
- add
test
package export field (1f6ea85)
5.6.4 (2023-01-09)
- separate import/require package exports (d65ed6f)
5.6.3 (2023-01-08)
- remove redundant types exports (06e5f26)
5.6.2 (2023-01-08)
- export
SCOPE
symbol so it can be set externally (43f451c)
5.6.1 (2023-01-08)
- include declaration files as-is in dist (0fd383e)
5.6.0 (2023-01-06)
- add server bundle (49742aa)
5.5.1 (2023-01-05)
- more faithful port of reactively for stability (f7d78f9)
5.5.0 (2023-01-03)
- export map functions separately from
@maverick-js/signals/map
(f4fd01a)
- dont treat setting functional signal values differently (3b4b9d2)
5.4.2 (2023-01-02)
- refactor dispose types (33aae66)
5.4.1 (2023-01-02)
- memory improvements (32aa98f)
5.4.0 (2023-01-01)
- refactor and few micro optimizations (5f9f206)
- clean up callable types (aa01378)
- root dispose type should be function (da040b3)
- small perf boost
class
-> prototype functions (ec6d77c)
5.3.0 (2022-12-30)
- perf/mem improvements (2c51570)
5.2.0 (2022-12-29)
set
now returns newly set value (9c2ad6f)
- only provide dispose function to
root
if needed (88b550f) - production node export field blocking dev (b1e52a8)
- scheduler task index tracking should not start from 0 (f9e868a)
5.1.7 (2022-12-29)
root
should block current observer (119fcf1)
5.1.6 (2022-12-28)
- avoid recursion while performing work (a8024bb)
- avoid unnecessary scheduling while flushing (6c876d6)
5.1.5 (2022-12-28)
- add few fast paths (be1776d)
5.1.4 (2022-12-28)
- clean up selector implementation (7f85df4)
5.1.3 (2022-12-27)
- detect zombie effects (052b9c7)
5.1.2 (2022-12-27)
- simplify setting functional signals (f276131)
5.1.1 (2022-12-26)
- set computation value to any to avoid type conflicts (57477e4)
5.1.0 (2022-12-26)
- complete internal rewrite focused on perf/mem improvements (ef865f4)
5.0.7 (2022-12-11)
- export
SCOPE
symbol (a00ace7)
5.0.6 (2022-12-09)
- rework
scope
and rename toscoped
(f5e1789)
5.0.5 (2022-12-09)
- locally scope compute prev tracking variables (8305d52)
5.0.4 (2022-12-09)
- simplify
scope
(b2867d1)
5.0.3 (2022-12-09)
tick
should not throw if called while running (f45a59d)
5.0.2 (2022-12-09)
5.0.1 (2022-12-08)
5.0.0 (2022-12-06)
- most packages have converged around the name "signals." We'll follow suit so the same terminology can be used when talking about them all. It also ensures new users are familiar with what this package is about just from the name.
@maverick-js/observables
->@maverick-js/signals
(c3b7b7d)- 54% perf boost and added reactively bench (6576447)
ObservabeleValue
->InferObservableValue
(530ed2e)- deprecate and remove
isObserving
(3c9e46f) - rename type
ObservableSubject
->Subject
(32e4a24) - use ts interface over type alias where possible (1464490)
4.10.0 (2022-11-30)
- new
untrack
export (a5a3fa5)
onDispose
should return dispose function if no scope (ca04b24)
4.9.7 (2022-11-26)
- only track observed by if not same scope (d609fef)
- track only current observers on each run (1f1d818)
4.9.6 (2022-11-25)
isObserving
now requires arg (8fd3ade)- drop deprecated
getParent
(6a1b64d) - drop deprecated
isObserved
(a7d169a)
4.9.5 (2022-11-25)
isObserved
->isObserving
(7a96166)- allow fallback to be set if computed init error (2cd85b2)
- remove auto-dispose perf overhead (bbbbbe6)
- root should not add any observers (36baad2)
4.9.4 (2022-11-25)
- clear error handlers before each computed run (8a716cd)
4.9.3 (2022-11-25)
- option to silence computed init error (7b98328)
4.9.2 (2022-11-25)
- log error if computed throws on first run (8582879)
- remove redundant try/catch in queued task (c95e02e)
4.9.1 (2022-11-25)
- general error handling improvements (3b7095f)
4.9.0 (2022-11-25)
- new
ObservableOptions
type export (e6aa68c)
- auto-dispose computed if no observers (0ab5855)
- only dispose needed parts (a3db078)
- remove child from parent set on dispose (4fcbaec)
- stop observing computed after its disposed (c2daca8)
4.8.5 (2022-11-16)
4.8.4 (2022-11-15)
4.8.3 (2022-11-08)
- scoped function should still be observable (0c1d2ea)
4.8.2 (2022-11-08)
- add context symbol description in dev (96ea827)
4.8.1 (2022-11-08)
- add symbol descriptions in dev (298410a)
4.8.0 (2022-11-08)
scope
accepts parent arg (4eb2760)
4.7.1 (2022-11-04)
- scoped function can return value (c1d13c8)
4.7.0 (2022-11-04)
- new
scope
export (806e82a)
4.6.0 (2022-10-28)
- new
isObserved
export (1bf4cd1)
- dispose cells at the end of each cellx benchmark run (9c63d4b)
- fix sinuous benchmarks (f55e188)
- let cellx release its global pendingCells array between benchmarks (0a02af1)
4.5.0 (2022-08-30)
- bump scheduler to
2.0.0
(58cf305)
4.4.0 (2022-08-30)
- bump scheduler to
1.0.2
(b35f3bb)
4.3.2 (2022-08-10)
- use set so error handlers are only added once (68c75ab)
4.3.1 (2022-08-09)
- forward error re-throw to parent handler (5034795)
4.3.0 (2022-08-09)
- exclude
@maverick-js/scheduler
from bundle (external) (2f37a04)
4.2.3 (2022-08-09)
root
should keep a reference to parent (d8162ae)
4.2.2 (2022-08-09)
- prevent infinite
getParent
recursion (attempt 2) (b600c7a)
4.2.1 (2022-08-09)
- prevent infinite recursion when nesting
getParent
calls (68d850d)
4.2.0 (2022-08-09)
- argumentless
getParent()
returns current parent (c717439)
4.1.2 (2022-08-08)
- remove redundant
unrefSet
calls (778b8ee)
4.1.1 (2022-08-08)
- update computed map docs (0bbf814)
4.1.0 (2022-08-08)
computedMap
andcomputedKeyedMap
(4e9c91b)
4.0.2 (2022-08-05)
- do not empty disposal on non-dirty child computations (86b2d75)
4.0.1 (2022-08-05)
4.0.0 (2022-08-04)
- Library authors can decide how to re-export bindings
from this package. The
$
prefix was used a little inconsistently so it's best to drop it completely.
3.4.1 (2022-07-12)
- move scheduler to separate package (83120d7)
3.4.0 (2022-07-08)
- new
dirty
option forcomputed
(7ae2e6c)
3.3.0 (2022-07-08)
- new export
getParent
(88310aa)
- track parent across peeks (af4d561)
3.2.0 (2022-07-06)
3.1.5 (2022-07-03)
- revert a39679d1ddb9b825a9e3fa8f33dc56f0bab18c43 (88c5dbe)
3.1.4 (2022-07-03)
- dont dispose of children on update (a39679d)
3.1.3 (2022-07-02)
- additional parent tracking variable not required (9df21ee)
3.1.2 (2022-07-02)
- incorrect recursive parent tracking (7390155)
3.1.1 (2022-07-02)
- parent should be determined on creation (117fa5b)
3.1.0 (2022-07-01)
observable
accepts dirty check option (0c7a55d)
- effect should run all disposals on each new run (3217217)
- second argument to observables is an options object (prev debug id) (d0c31e7)
3.0.0 (2022-06-30)
- computed type
Computed
->Observable
- observable return type is now
ObservableSubject
- dropped
isComputed
isObservable
checks readonlyisObservable
passes for computed observables
- all types extend observable (bef215c)
2.0.3 (2022-06-28)
- track parent separately to handle disposals correctly (50110d4)
2.0.2 (2022-06-27)
- dont need safe inequality check (368af0c)
2.0.1 (2022-06-27)
- avoid stack overflow in prod (4cba856)