@kudzujs/core 0.11.3 → 0.11.4
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
|
@@ -6,6 +6,25 @@ Reproducibility classes: `npm run benchmark`, `npm run benchmark:keyed`, `npm ru
|
|
|
6
6
|
|
|
7
7
|
The maintained 2026-08-13 comparison used Node 24.14.0 and an Intel Core i5-9500 Linux x64 host, one warm-up, and seven alternating fresh-process samples against clean `v0.8.44`. A narrow fast path skips Kudzu semantic transformation for 450 plain `.ts` modules whose runtime edges are exclusively resolvable relative TypeScript imports or exports; all other modules retain the existing transformer. Compile median fell from 2,323.9 ms to 1,413.2 ms (39.2%) and clean-build median from 3,325.3 ms to 2,382.4 ms (28.4%); every paired sample improved. Compile peak-RSS median fell from 571.2 MiB to 552.6 MiB, while build peak RSS was 570.9 MiB versus 568.8 MiB. Compiler scratch fell from 7,328,390 to 1,971,061 bytes. Both targets emitted the same 50 static HTML files, 10,980 bytes, and deploy SHA-256 `e107d78a7f55bc8a1af0ea6e53efeffa19b3d44d21c892484d103fa346e7ba7b`. This is a source-scale compiler comparison, not a cross-framework result.
|
|
8
8
|
|
|
9
|
+
## 0.11.4 Project Pagination And Polling Policy
|
|
10
|
+
|
|
11
|
+
Measured 2026-08-23 on macOS arm64 with Node 25.6.1 and Chrome
|
|
12
|
+
151.0.7922.172. `RUNS=21 npm run benchmark:project-navigation` retains the same
|
|
13
|
+
fetch-complete list-to-detail interval. Required Chrome separately proves URL
|
|
14
|
+
page/filter push and back synchronization, explicit refresh, hidden-page polling
|
|
15
|
+
suppression, one visible refresh, exact cleanup, and results bounded to two rows.
|
|
16
|
+
|
|
17
|
+
The two-route session uses 16 unique JavaScript files totaling 58,970 raw /
|
|
18
|
+
22,124 aggregate gzip bytes. Navigation samples are
|
|
19
|
+
`[1.3, 1.6, 1.3, 1.3, 1.3, 1.3, 1.2, 1.2, 1.2, 1.4, 1.3, 1.3, 1.3, 1.4, 1.3, 1.3, 1.3, 1.3, 1.2, 1.5, 1.4]`
|
|
20
|
+
ms, with a 1.3 ms median and 1.2/1.6 ms minimum/maximum.
|
|
21
|
+
|
|
22
|
+
Compared with `0.11.3`, the authored query controls, query-backed fetch
|
|
23
|
+
dependencies, polling state/effect, and native timer/listener cleanup add 2,652
|
|
24
|
+
raw / 913 aggregate gzip session bytes. The prior 0.8 ms median and 0.7/1.0 ms
|
|
25
|
+
range do not overlap, so the measured 0.5 ms median increase is disclosed. No
|
|
26
|
+
compiler or browser-runtime source changed, and `/help` remains 0 B JavaScript.
|
|
27
|
+
|
|
9
28
|
## 0.11.3 Project Optimistic Mutation
|
|
10
29
|
|
|
11
30
|
Measured 2026-08-22 on macOS arm64 with Node 25.6.1 and Chrome
|
|
@@ -23,6 +42,11 @@ UI, and async handler add 582 raw / 3 aggregate gzip session bytes. The prior
|
|
|
23
42
|
0.9 ms median and 0.7/1.2 ms range overlap, so no latency change is claimed. No
|
|
24
43
|
compiler or browser-runtime source changed, and `/help` remains 0 B JavaScript.
|
|
25
44
|
|
|
45
|
+
A clean homepage verification rerun on the same environment recorded
|
|
46
|
+
`[0.9, 0.7, 0.8, 0.9, 0.9, 0.7, 0.8, 0.9, 0.7, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.8, 0.8, 0.9, 0.8, 0.9]`
|
|
47
|
+
ms, with a 0.9 ms median and 0.7/0.9 ms range. It reproduces the release result's
|
|
48
|
+
overlapping range and does not change the no-regression conclusion.
|
|
49
|
+
|
|
26
50
|
## 0.11.1 Project List/Detail Consistency
|
|
27
51
|
|
|
28
52
|
Measured 2026-08-22 on macOS arm64 with Node 25.6.1 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.11.x`: the compiler API and supported TSX surface may change.
|
|
16
16
|
|
|
17
|
-
**Latest release: 0.11.
|
|
17
|
+
**Latest release: 0.11.4 - Pagination, refresh, and polling policy.** URL-owned page/filter state, exact refresh, bounded results, back/forward, and visibility-aware polling now compose from existing query signals and owned effects without a scheduler or cache. Read the [release notes](./RELEASES.md#0114---pagination-refresh-and-polling-policy), open the [release page](https://github.com/kudzujs/kudzu/releases/tag/v0.11.4), 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,50 @@
|
|
|
1
1
|
# Kudzu Releases
|
|
2
2
|
|
|
3
|
+
## 0.11.4 - Pagination, Refresh, And Polling Policy
|
|
4
|
+
|
|
5
|
+
Kudzu 0.11.4 completes the `0.11.x` server-data train with bounded URL-owned
|
|
6
|
+
pagination and application-owned refresh policy.
|
|
7
|
+
|
|
8
|
+
### Changed in 0.11.4
|
|
9
|
+
|
|
10
|
+
- Synchronized project page/filter values with URL query signals and browser
|
|
11
|
+
back navigation.
|
|
12
|
+
- Proved explicit refresh and exact list request counts without a query cache.
|
|
13
|
+
- Added optional visibility-aware polling with interval/listener cleanup.
|
|
14
|
+
- Bounded every server response to two retained rows.
|
|
15
|
+
- Updated `create-kudzu@0.1.112` to generate projects on
|
|
16
|
+
`@kudzujs/core@^0.11.4`.
|
|
17
|
+
|
|
18
|
+
### Output Evidence
|
|
19
|
+
|
|
20
|
+
- The application emits 20 files, 77,263 raw / 26,156 aggregate gzip bytes, and
|
|
21
|
+
deploy digest
|
|
22
|
+
`a3864a5155d658e86378fce80de94e082ef0894c5db5f5793d91b4de7f359b46`.
|
|
23
|
+
- The list/detail session uses 16 JavaScript files totaling 58,970 raw / 22,124
|
|
24
|
+
aggregate gzip bytes; `/help` remains 0 B JavaScript.
|
|
25
|
+
- Twenty-one fresh Chrome profiles record a 1.3 ms navigation median and
|
|
26
|
+
1.2/1.6 ms range.
|
|
27
|
+
- No semantic primitive, compiler pass, production compiler line, runtime
|
|
28
|
+
concept, cache, retained result store, or scheduler was added.
|
|
29
|
+
|
|
30
|
+
### Validation
|
|
31
|
+
|
|
32
|
+
- Required Chrome proves query push/back, bounded results, exact requests,
|
|
33
|
+
refresh, hidden polling suppression, visible refresh, and cleanup.
|
|
34
|
+
- The full suite, package smoke, registry metadata, and fresh installation are
|
|
35
|
+
release gates.
|
|
36
|
+
|
|
37
|
+
### Limits
|
|
38
|
+
|
|
39
|
+
Polling remains authored route policy. Kudzu does not ship a universal
|
|
40
|
+
scheduler, request registry, invalidation graph, or retained query cache.
|
|
41
|
+
|
|
42
|
+
### Upgrade
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
npm install @kudzujs/core@^0.11.4
|
|
46
|
+
```
|
|
47
|
+
|
|
3
48
|
## 0.11.3 - Optimistic Mutation And Rollback
|
|
4
49
|
|
|
5
50
|
Kudzu 0.11.3 proves optimistic server mutation with ordinary shared state and
|
|
@@ -453,6 +453,13 @@ aggregate gzip bytes, an authored application increase of 582 raw / 3 gzip bytes
|
|
|
453
453
|
over `0.11.2`. Twenty-one fresh Chrome profiles record a 0.8 ms median with a
|
|
454
454
|
0.7/1.0 ms range; no latency change is claimed.
|
|
455
455
|
|
|
456
|
+
Clean-worktree `npm run check`, 273/273 required-Chrome tests, and packed-package
|
|
457
|
+
smoke passed on 2026-08-22. Release commit `ba6f97a`, tag `v0.11.3`, CI
|
|
458
|
+
`32576861865`, the GitHub release, `@kudzujs/core@0.11.3`,
|
|
459
|
+
`create-kudzu@0.1.111`, registry metadata, and a fresh registry-backed scaffold
|
|
460
|
+
install/check passed. Publish workflow `32577090955` completed every version,
|
|
461
|
+
package, publication, and registry gate.
|
|
462
|
+
|
|
456
463
|
### `0.11.4`: Pagination, Refresh, And Polling Policy
|
|
457
464
|
|
|
458
465
|
- **Purpose:** complete bounded server-data loading before infinite data work.
|
|
@@ -465,6 +472,34 @@ over `0.11.2`. Twenty-one fresh Chrome profiles record a 0.8 ms median with a
|
|
|
465
472
|
- **Done condition:** the exact owner and network behavior are measured and
|
|
466
473
|
documented.
|
|
467
474
|
|
|
475
|
+
**Completion evidence:** the project list reads page and filter from two
|
|
476
|
+
existing React Router query signals and restarts its existing abortable fetch
|
|
477
|
+
effect when either changes. Static updater handlers push page 2/all and page
|
|
478
|
+
1/active URLs. Two browser back operations restore the prior URL, signal values,
|
|
479
|
+
and bounded server results. An explicit refresh increments the same route-owned
|
|
480
|
+
request signal. Optional polling owns one native interval and one
|
|
481
|
+
`visibilitychange` listener; hidden events perform no work, one visible event
|
|
482
|
+
performs one refresh, and disabling polling clears both owners before a later
|
|
483
|
+
event. The deterministic journey records 11 total list requests across initial
|
|
484
|
+
stale replacement, HTTP recovery, page/filter history, refresh, polling, and
|
|
485
|
+
route remount. Every response retains at most two rows.
|
|
486
|
+
|
|
487
|
+
Existing query signals, primitive state, dependency effects, abort invalidation,
|
|
488
|
+
native timers/listeners, and route cleanup are sufficient. This packet adds zero
|
|
489
|
+
semantic primitives, ModuleIR kinds, compiler passes, production compiler lines,
|
|
490
|
+
runtime concepts, normalization rules, adapter rules, public APIs, caches,
|
|
491
|
+
schedulers, or retained result stores. One positive application fixture gains
|
|
492
|
+
page/filter URL ownership, history, refresh, visibility-aware polling, exact
|
|
493
|
+
cleanup, request counts, and bounded-result cases. It emits 20 files totaling
|
|
494
|
+
77,263 raw / 26,156 aggregate gzip bytes with deploy SHA-256
|
|
495
|
+
`a3864a5155d658e86378fce80de94e082ef0894c5db5f5793d91b4de7f359b46`.
|
|
496
|
+
The two-route session uses 16 JavaScript files totaling 58,970 raw / 22,124
|
|
497
|
+
aggregate gzip bytes, an authored application increase of 2,652 raw / 913 gzip
|
|
498
|
+
bytes over `0.11.3`. Twenty-one fresh Chrome profiles record a 1.3 ms median
|
|
499
|
+
with a 1.2/1.6 ms range. The prior range does not overlap, so the 0.5 ms median
|
|
500
|
+
increase is disclosed rather than presented as a no-regression result. `/help`
|
|
501
|
+
remains 0 B JavaScript.
|
|
502
|
+
|
|
468
503
|
## `0.12.x`: Routing And Application Lifetime
|
|
469
504
|
|
|
470
505
|
### `0.12.0`: Project Route Shell And Runtime Parameters
|
|
@@ -1053,5 +1088,6 @@ release transaction where possible or document and publish a forward-fix patch.
|
|
|
1053
1088
|
| `0.11.0` | Released | Preserve the published owned-fetch lifecycle and zero-query-runtime exclusion. | None |
|
|
1054
1089
|
| `0.11.1` | Released | Preserve the published single-owner consistency and exact request-count evidence. | None |
|
|
1055
1090
|
| `0.11.2` | Released | Preserve the published no-new-primitive architecture decision and zero-byte result. | None |
|
|
1056
|
-
| `0.11.3` |
|
|
1057
|
-
| `0.11.4`
|
|
1091
|
+
| `0.11.3` | Released | Preserve the published optimistic rollback, duplicate prevention, navigation, and retry evidence. | None |
|
|
1092
|
+
| `0.11.4` | Active | Prove bounded page/filter synchronization, history, refresh, optional polling cleanup, and exact request behavior. | None |
|
|
1093
|
+
| `0.12.0` onward | Blocked | Wait for explicit approval after the patch-only release sequence. | User-directed minor-version 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.
|
|
69
|
+
`create-kudzu@0.1.112` retains the explicit install instructions and generates projects with `@kudzujs/core@^0.11.4`.
|
|
70
70
|
|
|
71
71
|
## Release Boundary
|
|
72
72
|
|