@pond-ts/react 0.12.0 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +50 -1
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,10 +7,59 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
7
7
  file covers both packages. Pre-1.0: minor bumps may include new features and
8
8
  type-level changes; patch bumps are strictly additive.
9
9
 
10
- [Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.12.0...HEAD
10
+ [Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.12.1...HEAD
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [0.12.1] — 2026-05-01
15
+
16
+ Strictly additive over v0.12.0. Closes the chained-view restriction
17
+ on synchronised partitioned rolling. The trigger option now applies
18
+ consistently across the entire `rolling()` surface — chained sugar
19
+ methods on the partitioned surface (`fill`, `diff`, `rate`,
20
+ `pctChange`, `cumulative`) no longer break it.
21
+
22
+ ### Changed
23
+
24
+ - **`partitionBy(col).<chained>().rolling(window, m, { trigger: Trigger.clock(seq) })` now works.**
25
+ Previously this threw a clear-but-restrictive error. The chain
26
+ factory runs per partition; the sync rolling subscribes to each
27
+ chain output instead of the raw partition events. Output schema is
28
+ unchanged (`[time, <partitionColumn>, ...mappingColumns]`); the
29
+ partition tag is set from the routing key, so chains that drop the
30
+ partition column still emit correctly.
31
+
32
+ Motivating example — per-host gap-filling before synchronised
33
+ ticks:
34
+
35
+ ```ts
36
+ const ticks = live
37
+ .partitionBy('host')
38
+ .fill({ cpu: 'hold' })
39
+ .rolling(
40
+ '1m',
41
+ { cpu: 'avg' },
42
+ { trigger: Trigger.clock(Sequence.every('200ms')) },
43
+ );
44
+ ```
45
+
46
+ Coherence-of-feature fix: the trigger concept now applies wherever
47
+ `rolling()` appears in the partitioned chain, not just in the
48
+ one-step case. Captured in the RFC's post-implementation notes
49
+ alongside the deferred-and-now-shipped section.
50
+
51
+ ### Tests
52
+
53
+ - 4 new tests in `test/Triggers.test.ts` covering chained-view sync
54
+ rolling: `fill().rolling(.., trigger)`, output schema, cross-
55
+ partition synchronisation through the chain, dispose semantics
56
+ through the chain, and replay-on-construction with the chain factory.
57
+ - 1 test removed (the throw-on-chained-view assertion that no longer
58
+ applies).
59
+ - Test count: 34 (was 30). Total core tests: 1043 (was 1039).
60
+
61
+ [0.12.1]: https://github.com/pjm17971/pond-ts/compare/v0.12.0...v0.12.1
62
+
14
63
  ## [0.12.0] — 2026-05-01
15
64
 
16
65
  The "triggers" release. Major redesign of how live accumulators
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pond-ts/react",
3
- "version": "0.12.0",
3
+ "version": "0.12.1",
4
4
  "description": "React hooks for pond-ts live time series",
5
5
  "license": "MIT",
6
6
  "repository": {