@kudzujs/core 0.14.1 → 0.14.2

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.
package/PERFORMANCE.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  Reproducibility classes: `npm run benchmark`, `npm run benchmark:keyed`, `npm run benchmark:native`, `npm run benchmark:module-cache`, `npm run benchmark:project-navigation`, `npm run benchmark:project-state`, and `npm run benchmark:source-scale` are maintained in this repository; `npm run benchmark:commerce` is a maintained paired runner over the public external storefront; older excluded-workspace sections are historical provenance only and are not current framework rankings.
4
4
 
5
+ ## 0.14.2 Infinite Loading Composition
6
+
7
+ Measured 2026-08-26 on macOS arm64 with Node 24.14.0 and Chrome
8
+ 151.0.7922.174.
9
+
10
+ The project route adds one intrinsic sentinel, an owned `IntersectionObserver`,
11
+ cursor fetch, duplicate suppression, error/retry/end state, and immutable keyed
12
+ append. Required Chrome proves a three-request bound across two successful pages,
13
+ at most six retained projects, retained existing-row identity, observer cleanup,
14
+ and route-owned fetch abort. `/help` remains 0 B JavaScript.
15
+
16
+ The application emits 44 files totaling 168,037 raw / 52,955 aggregate gzip
17
+ bytes with deploy SHA-256
18
+ `230dea098442275e42a966ca595743a4da9c832327ba52d4d09de663c68f8f1a`.
19
+ The two-route session remains 17 JavaScript files and totals 76,889 raw / 26,750
20
+ aggregate gzip bytes. The authored application composition adds 3,732 raw / 770
21
+ gzip deploy bytes and 2,063 raw / 546 gzip session bytes over `0.14.1`; no
22
+ semantic primitive, IR kind, compiler pass, production compiler/runtime line,
23
+ runtime concept, or public API was added.
24
+
25
+ Table update samples are `[0.4, 0.5, 0.5, 0.3, 0.5, 0.4, 0.6]` ms, with a 0.5
26
+ ms median and 0.3/0.6 ms minimum/maximum. Navigation samples are
27
+ `[2.3, 2.3, 2.2, 2.6, 2.5, 2.5, 2.3]` ms, with a 2.3 ms median and 2.2/2.6 ms
28
+ minimum/maximum. The environment differs from the `0.14.1` release evidence, so
29
+ no improvement or regression claim is made.
30
+
5
31
  ## 0.14.1 Nested Object-State Collections
6
32
 
7
33
  Measured 2026-08-26 on Linux x64 with Node 24.14.0 and Chrome
package/README.md CHANGED
@@ -14,7 +14,7 @@ Kudzu compiles ordinary React-shaped TypeScript and TSX into complete static HTM
14
14
 
15
15
  > Experimental `0.14.x`: the compiler API and supported TSX surface may change.
16
16
 
17
- **Latest release: 0.14.1 - Nested and object-state collections.** Direct immutable array fields of ordinary object state now compose root and nested keyed ownership with retained identity, latest handlers, and exact row-state release. Read the [release notes](./RELEASES.md#0141---nested-and-object-state-collections), open the [release page](https://github.com/kudzujs/kudzu/releases/tag/v0.14.1), or follow the [architecture packet](./docs/next-architecture/README.md).
17
+ **Latest release: 0.14.2 - Infinite loading composition.** Native `IntersectionObserver`, owned fetch, ordinary state, and existing keyed lists now compose bounded cursor loading with duplicate suppression, retry, terminal state, retained identity, and exact cleanup. Read the [release notes](./RELEASES.md#0142---infinite-loading-composition), open the [release page](https://github.com/kudzujs/kudzu/releases/tag/v0.14.2), or follow the [architecture packet](./docs/next-architecture/README.md).
18
18
 
19
19
  - [Documentation](https://kudzujs.cloud/docs)
20
20
  - [Installation guide](https://kudzujs.cloud/docs#install)
package/RELEASES.md CHANGED
@@ -1,5 +1,53 @@
1
1
  # Kudzu Releases
2
2
 
3
+ ## 0.14.2 - Infinite Loading Composition
4
+
5
+ Kudzu 0.14.2 composes bounded sentinel-driven loading from ordinary state,
6
+ owned effects, native `IntersectionObserver`, fetch, and existing keyed lists.
7
+
8
+ ### Changed in 0.14.2
9
+
10
+ - Added an intrinsic sentinel with an owned observer and exact disconnect.
11
+ - Added cursor-based incremental fetch with duplicate project suppression.
12
+ - Added accessible loading, error, retry, and terminal states.
13
+ - Aborted in-flight incremental work when enhanced navigation releases the route.
14
+ - Bounded successful incremental pages to two and retained projects to six.
15
+ - Updated `create-kudzu@0.1.124` to generate projects on
16
+ `@kudzujs/core@^0.14.2`.
17
+
18
+ ### Output Evidence
19
+
20
+ - The application emits 44 files totaling 168,037 raw / 52,955 aggregate gzip
21
+ bytes with deploy digest
22
+ `230dea098442275e42a966ca595743a4da9c832327ba52d4d09de663c68f8f1a`.
23
+ - The maintained two-route session remains 17 JavaScript files and totals
24
+ 76,889 raw / 26,750 aggregate gzip bytes; `/help` remains 0 B JavaScript.
25
+ - No semantic primitive, IR kind, compiler pass, production compiler/runtime
26
+ line, normalization rule, adapter, runtime concept, public API, infinite-query
27
+ runtime, or observer scheduler was added.
28
+
29
+ ### Validation
30
+
31
+ - Required Chrome proves cursor progression, duplicate trigger and record
32
+ suppression, HTTP error and retry, terminal state, retained row identity,
33
+ bounded requests/results, observer disconnect, and route-owned fetch abort.
34
+ - The complete suite passes 274 tests, package smoke, and serialized required-
35
+ Chrome execution.
36
+ - Seven fresh Chrome 151 profiles record a 0.5 ms table-update median with a
37
+ 0.3-0.6 ms range and a 2.3 ms navigation median with a 2.2-2.6 ms range.
38
+
39
+ ### Limits
40
+
41
+ Incremental loading is capped at two successful pages of two records and six
42
+ retained projects. Unbounded datasets, automatic query caching, windowing, and
43
+ virtualization remain separate measured decisions.
44
+
45
+ ### Upgrade
46
+
47
+ ```sh
48
+ npm install @kudzujs/core@^0.14.2
49
+ ```
50
+
3
51
  ## 0.14.1 - Nested And Object-State Collections
4
52
 
5
53
  Kudzu 0.14.1 lets one direct immutable array field of ordinary object state own
@@ -959,6 +959,36 @@ projects on `@kudzujs/core@^0.14.1`.
959
959
  - **Done condition:** the full journey passes with explicit network and memory
960
960
  bounds.
961
961
 
962
+ Release candidate evidence complete. The maintained project application adds one
963
+ intrinsic sentinel, an owned native `IntersectionObserver`, cursor and request
964
+ primitive state, an owned fetch with `AbortController`, immutable keyed append,
965
+ duplicate ID suppression, and explicit loading/error/retry/end UI. The authored
966
+ policy permits two successful pages of two records and retains at most six unique
967
+ projects. It adds no infinite-query runtime, observer scheduler, cache, retained
968
+ component tree, or virtualization machinery.
969
+
970
+ Required Chrome proves duplicate sentinel triggers issue one request, duplicate
971
+ records do not remount retained rows, cursor progression reaches an authored
972
+ `503`, retry reaches terminal state, post-terminal triggers issue no request, and
973
+ enhanced navigation disconnects the observer and aborts the in-flight fetch
974
+ signal. Exact request counts and retained DOM identity pass. `/help` remains
975
+ complete HTML with 0 B JavaScript.
976
+
977
+ The slice adds zero semantic primitives, IR kinds, compiler passes, production
978
+ compiler/runtime lines, normalization rules, adapters, runtime concepts, or
979
+ public APIs. The application emits 44 files totaling 168,037 raw / 52,955
980
+ aggregate gzip bytes with deploy SHA-256
981
+ `230dea098442275e42a966ca595743a4da9c832327ba52d4d09de663c68f8f1a`.
982
+ The maintained two-route session remains 17 JavaScript files totaling 76,889 raw
983
+ / 26,750 aggregate gzip bytes.
984
+
985
+ Seven fresh macOS arm64 Chrome 151 profiles record table update samples of
986
+ `[0.4, 0.5, 0.5, 0.3, 0.5, 0.4, 0.6]` ms, a 0.5 ms median and 0.3/0.6 ms range,
987
+ plus navigation samples of `[2.3, 2.3, 2.2, 2.6, 2.5, 2.5, 2.3]` ms, a 2.3 ms
988
+ median and 2.2/2.6 ms range. The environment differs from `0.14.1`, so no timing
989
+ delta is claimed. `0.14.2` publishes this accepted packet, and
990
+ `create-kudzu@0.1.124` generates projects on `@kudzujs/core@^0.14.2`.
991
+
962
992
  ### `0.14.3`: 10,000-Item Browser Decision
963
993
 
964
994
  - **Purpose:** measure direct DOM, pagination, and windowing alternatives.
@@ -1427,5 +1457,5 @@ release transaction where possible or document and publish a forward-fix patch.
1427
1457
  | `0.13.3` | Released | Preserve the published upload validation, cancellation, retry, route cleanup, and attachment mutation evidence. | None |
1428
1458
  | `0.14.0` | Released | Preserve native table CRUD, retained identity, keyboard access, and measured update evidence. | None |
1429
1459
  | `0.14.1` | Released | Preserve immutable object-state replacement, nested keyed identity, latest handlers, and exact row release. | None |
1430
- | `0.14.2` | Active | Add the first failing infinite-loading composition fixture. | None |
1460
+ | `0.14.2` | Release candidate | Complete commit, CI, tag, GitHub release, npm publication, and registry verification. | Release transaction |
1431
1461
  | `0.14.3` onward | Blocked | Complete or explicitly close `0.14.2` first. | Ordered patch boundary |
@@ -66,7 +66,7 @@ Keep each patch behavior-preserving and independently reviewable. If a boundary
66
66
 
67
67
  ## Generator Versions
68
68
 
69
- `create-kudzu@0.1.123` retains the explicit install instructions and generates projects with `@kudzujs/core@^0.14.1`.
69
+ `create-kudzu@0.1.124` retains the explicit install instructions and generates projects with `@kudzujs/core@^0.14.2`.
70
70
 
71
71
  ## Release Boundary
72
72
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kudzujs/core",
3
- "version": "0.14.1",
3
+ "version": "0.14.2",
4
4
  "description": "HTML-first TSX framework with synchronous state semantics and no virtual DOM",
5
5
  "type": "module",
6
6
  "license": "MIT",