Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
3618d49
nova: setting forth a new vision
chase-moskal May 3, 2026
86a83bf
sketch: nova signals, effect, derived
chase-moskal May 3, 2026
74cfeb7
improve: testing, export batch
chase-moskal May 4, 2026
f0cd1a6
port: react bindings
chase-moskal May 4, 2026
f2a5220
write: new readme, various tweakums
chase-moskal May 4, 2026
eca46e0
update: readme
chase-moskal May 4, 2026
8a8689e
port: wait
chase-moskal May 4, 2026
d1420bf
tweaks: to wait system and changelog
chase-moskal May 4, 2026
bc84ba3
improve: wait naming and readme
chase-moskal May 4, 2026
df7b06f
port: prism
chase-moskal May 4, 2026
d2bd1a6
add: prism readme
chase-moskal May 4, 2026
223fd44
update: changelog
chase-moskal May 4, 2026
ef31340
add: r map and set
chase-moskal May 4, 2026
d8f231c
improve: wait readme
chase-moskal May 4, 2026
4c36e8b
fix: new readme with new wait docs
chase-moskal May 4, 2026
7e4c495
improve: readme
chase-moskal May 4, 2026
dfe475d
adopt: nova as the real codebase
chase-moskal May 4, 2026
c43ba65
set: npm tag to 'next'
chase-moskal May 4, 2026
72ef835
merge: 'nova' rewrite, new sync core
chase-moskal May 4, 2026
177ecda
fix: exports
chase-moskal May 4, 2026
060cd8d
rename: 'core' to 'signals'
chase-moskal May 4, 2026
54e536c
0.4.0-next.0
chase-moskal May 4, 2026
08be21c
add: global symbol note in changelog
chase-moskal May 4, 2026
6a4d913
move: tracker global into global.ts
chase-moskal May 4, 2026
bcce11c
0.4.0-next.1
chase-moskal May 4, 2026
ec94c8d
update: readme
chase-moskal May 4, 2026
922e2c8
update: readme again
chase-moskal May 4, 2026
9b93a06
0.4.0-next.2
chase-moskal May 4, 2026
1d64556
simplify: effect to take only one fn
chase-moskal May 4, 2026
74a675b
0.4.0-next.3
chase-moskal May 4, 2026
c93f352
update: changelog
chase-moskal May 4, 2026
a3dd74c
update: deps
chase-moskal May 5, 2026
bacaf5f
update: rmap setEntries batch track
chase-moskal May 5, 2026
be472bb
tweak: gmap/gset foreach methods
chase-moskal May 5, 2026
f6166ea
0.4.0-next.4
chase-moskal May 5, 2026
ed4ceb7
add: changelog react bindings changes
chase-moskal May 5, 2026
94b1ec5
rename: WaitDerived to Waiter
chase-moskal May 5, 2026
285438e
0.4.0-next.5
chase-moskal May 5, 2026
866812c
add: afterEffect helper fn
chase-moskal May 5, 2026
f883c5c
add: failing test proves derived bug
chase-moskal May 7, 2026
f1d1418
fix: derived
chase-moskal May 7, 2026
e396d45
add: more derived tests and adjusted behaviors
chase-moskal May 7, 2026
795ca39
0.4.0-next.6
chase-moskal May 7, 2026
934a6a3
add: nested batching test
chase-moskal May 7, 2026
4f8c3bd
add: changelog Signaly->Valuable
chase-moskal May 11, 2026
e7aeca6
update: to stz next
chase-moskal May 12, 2026
e8fefe0
0.4.0-next.7
chase-moskal May 12, 2026
6f39fd9
update: deps
chase-moskal May 14, 2026
9e99ef6
0.4.0-next.8
chase-moskal May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@ jobs:
- run: npm ci
- run: npm run build -s
- run: npm test
- run: npm publish --ignore-scripts --tag latest
- run: npm publish --ignore-scripts --tag next

33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,39 @@



<br/>

## v0.4

### v0.4.0
- 🟥 **huge core rewrite**
- 🟥 everything is now sync, not async anymore. stripped of all debouncing and async shenanigans, now calling `tracker.write` (and thus setting signals, updating prism state, etc) immediately executes all downstream subscribers without any delay. this greatly improves our ability to detect and prevent scary catastropic circular-loop crashes. this also avoids async fatigue spreading through your codebases. the downside is that this could lead to worse performance.
- 🍏 new `batch` fn helps you optimize performance -- batched tracker writes are deduped and flushed at the end of the batch, meaning, effects are only called once.
- 🟥 **tracker**
- 🟥 ⚠️⚠️ global symbol changed from `e280.tracker` to `e280.tracker.2` -- this means strata v0.3 and v0.4 are treated like totally different state management libraries, they are FULLY incompatible, eg, if you have one dependency on strata 0.3 and another on 0.4, the `effect` from one will be blind to signals from the other.
- 🟥 renamed `tracker.notifyRead` to `tracker.read`
- 🟥 renamed `tracker.notifyWrite` to `tracker.write`
- 🟥 **signals/derived/effects**
- 🟥 eliminated all the funky magic class+fn implementations for dead-simple minimal implementations... new signal module is 18 lines...
- 🟥 removed `$count.on` direct subscriptions -- just use effects
- 🟥 removed `$count.value` accessors -- just use hipster-fn syntax
- 🟥 removed `$count.get()` and `$count.set(v)` methods -- just use hipster-fn syntax
- 🟥 removed comparison logic, now all signal value setting always notifies the tracker, doesn't care if there was a real change
- 🟥 removed `lazy` completely removed -- obsoleted by superior new derived implementation that is lazy
- 🟥 `effect` is now simpler and only takes one simple callback fn
- 🟥 renamed type `Signaly` / `SignalyFn` to `Valuable`
- 🍏 new `afterEffect` takes a collector fn and responder fn like the old `effect` did
- 🟥 **wait**
- 🟥 renamed `WaitDone` to `WaitResult` to better match ok/err/result
- 🟥 renamed `newWait` to `makeWait` because i like it more
- 🟥 renamed `WaitSignal` to `Waiter`
- 🟥 renamed `waitResult` to `waitFormal` because i said so
- 🟥 **react bindings**
- 🟥 renamed `react` fn to `reactBindings`
- 🟥 renamed `useStrata` hook to `useTracked`



<br/>

## v0.3
Expand Down
Loading