@kudzujs/core 0.11.2 → 0.11.3
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,23 @@ 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.3 Project Optimistic Mutation
|
|
10
|
+
|
|
11
|
+
Measured 2026-08-22 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; the required application journey
|
|
14
|
+
separately executes optimistic failure, rollback, retry, and success.
|
|
15
|
+
|
|
16
|
+
The two-route session uses 15 unique JavaScript files totaling 56,318 raw /
|
|
17
|
+
21,211 aggregate gzip bytes. Navigation samples are
|
|
18
|
+
`[0.7, 0.7, 0.8, 0.8, 0.9, 0.7, 0.8, 0.8, 0.8, 0.8, 0.7, 0.8, 0.9, 0.7, 0.8, 0.9, 0.8, 0.9, 1.0, 0.9, 0.7]`
|
|
19
|
+
ms, with a 0.8 ms median and 0.7/1.0 ms minimum/maximum.
|
|
20
|
+
|
|
21
|
+
Compared with `0.11.2`, the authored mutation status/error state, conditional
|
|
22
|
+
UI, and async handler add 582 raw / 3 aggregate gzip session bytes. The prior
|
|
23
|
+
0.9 ms median and 0.7/1.2 ms range overlap, so no latency change is claimed. No
|
|
24
|
+
compiler or browser-runtime source changed, and `/help` remains 0 B JavaScript.
|
|
25
|
+
|
|
9
26
|
## 0.11.1 Project List/Detail Consistency
|
|
10
27
|
|
|
11
28
|
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.3 - Optimistic mutation and rollback.** One layout-owned handler now proves optimistic list/detail state, disabled duplicate submission, exact HTTP-failure rollback, accessible error, retry, navigation, and reload without a transaction runtime. Read the [release notes](./RELEASES.md#0113---optimistic-mutation-and-rollback), open the [release page](https://github.com/kudzujs/kudzu/releases/tag/v0.11.3), 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,52 @@
|
|
|
1
1
|
# Kudzu Releases
|
|
2
2
|
|
|
3
|
+
## 0.11.3 - Optimistic Mutation And Rollback
|
|
4
|
+
|
|
5
|
+
Kudzu 0.11.3 proves optimistic server mutation with ordinary shared state and
|
|
6
|
+
one owned async handler rather than a transaction runtime.
|
|
7
|
+
|
|
8
|
+
### Changed in 0.11.3
|
|
9
|
+
|
|
10
|
+
- Added immediate optimistic project name/revision updates visible from list and
|
|
11
|
+
detail routes.
|
|
12
|
+
- Disabled duplicate submission after the synchronous-turn optimistic commit.
|
|
13
|
+
- Restored the exact prior state after an HTTP 500 and exposed an accessible
|
|
14
|
+
error.
|
|
15
|
+
- Proved retry success, retained keyed row identity, enhanced navigation, and
|
|
16
|
+
server restoration after document reload.
|
|
17
|
+
- Updated `create-kudzu@0.1.111` to generate projects on
|
|
18
|
+
`@kudzujs/core@^0.11.3`.
|
|
19
|
+
|
|
20
|
+
### Output Evidence
|
|
21
|
+
|
|
22
|
+
- The application emits 19 files, 73,202 raw / 25,057 aggregate gzip bytes, and
|
|
23
|
+
deploy digest
|
|
24
|
+
`40c68fef4eeba5ea4c1a92e9a8003b74e6a45b7a10671ee2f3e4952010117b26`.
|
|
25
|
+
- The list/detail session uses 15 unique JavaScript files totaling 56,318 raw /
|
|
26
|
+
21,211 aggregate gzip bytes; `/help` remains 0 B JavaScript.
|
|
27
|
+
- Twenty-one fresh Chrome profiles record a 0.8 ms navigation median and
|
|
28
|
+
0.7/1.0 ms range.
|
|
29
|
+
- No semantic primitive, compiler pass, production compiler line, runtime
|
|
30
|
+
concept, transaction primitive, cache, or scheduler was added.
|
|
31
|
+
|
|
32
|
+
### Validation
|
|
33
|
+
|
|
34
|
+
- Required Chrome proves optimistic state, one accepted attempt after failure,
|
|
35
|
+
exact rollback, retry, identity, navigation, and reload.
|
|
36
|
+
- The full suite, package smoke, registry metadata, and fresh installation are
|
|
37
|
+
release gates.
|
|
38
|
+
|
|
39
|
+
### Limits
|
|
40
|
+
|
|
41
|
+
The authored handler owns one mutation and snapshot. Generic transactions and
|
|
42
|
+
same-turn programmatic reentrancy are not application semantics.
|
|
43
|
+
|
|
44
|
+
### Upgrade
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
npm install @kudzujs/core@^0.11.3
|
|
48
|
+
```
|
|
49
|
+
|
|
3
50
|
## 0.11.2 - Request Coordination Evidence
|
|
4
51
|
|
|
5
52
|
Kudzu 0.11.2 reviews three unrelated server-data fixtures and closes shared
|
|
@@ -409,6 +409,13 @@ application retains its 20-file, 69,501 raw / 24,649 aggregate gzip deploy and
|
|
|
409
409
|
not applicable because no cache exists; cleanup remains existing effect and
|
|
410
410
|
route/layout owner release.
|
|
411
411
|
|
|
412
|
+
Clean-worktree `npm run check`, 273/273 required-Chrome tests, and packed-package
|
|
413
|
+
smoke passed on 2026-08-22. Release commit `0ae4d5d`, tag `v0.11.2`, CI
|
|
414
|
+
`32575316981`, the GitHub release, `@kudzujs/core@0.11.2`,
|
|
415
|
+
`create-kudzu@0.1.110`, registry metadata, and a fresh registry-backed scaffold
|
|
416
|
+
install/check passed. Publish workflow `32575541567` completed every version,
|
|
417
|
+
package, publication, and registry gate.
|
|
418
|
+
|
|
412
419
|
### `0.11.3`: Mutation, Optimistic Update, And Rollback
|
|
413
420
|
|
|
414
421
|
- **Purpose:** complete issue create/edit/delete behavior under failure.
|
|
@@ -422,6 +429,30 @@ route/layout owner release.
|
|
|
422
429
|
- **Done condition:** data integrity survives success, failure, navigation, and
|
|
423
430
|
retry.
|
|
424
431
|
|
|
432
|
+
**Completion evidence:** one layout-owned async rename handler snapshots the
|
|
433
|
+
current project name/revision, writes an immediate optimistic value, disables its
|
|
434
|
+
button after the synchronous-turn commit, and sends one native POST. The
|
|
435
|
+
deterministic server rejects the first attempt. The handler restores the exact
|
|
436
|
+
snapshot, exposes `HTTP 500` through an accessible alert, and leaves the retained
|
|
437
|
+
keyed row identity unchanged. A retry from detail writes the optimistic value,
|
|
438
|
+
clears the alert, commits the confirmed revision, survives list/detail
|
|
439
|
+
navigation, and restores from server truth after full document reload. Counts
|
|
440
|
+
record two attempts, one accepted mutation, and no mutation-triggered GET.
|
|
441
|
+
|
|
442
|
+
Existing immediate setters, native async handlers, shared layout signals, and
|
|
443
|
+
owner authority are sufficient. This packet adds zero semantic primitives,
|
|
444
|
+
ModuleIR kinds, compiler passes, production compiler lines, runtime concepts,
|
|
445
|
+
normalization rules, adapter rules, public APIs, transaction primitives, caches,
|
|
446
|
+
or schedulers. One positive application fixture gains optimistic success,
|
|
447
|
+
failure, rollback, disabled duplicate submission, navigation, retry, and reload
|
|
448
|
+
cases. It emits 19 files totaling 73,202 raw / 25,057 aggregate gzip bytes with
|
|
449
|
+
deploy SHA-256
|
|
450
|
+
`40c68fef4eeba5ea4c1a92e9a8003b74e6a45b7a10671ee2f3e4952010117b26`.
|
|
451
|
+
The two-route session uses 15 JavaScript files totaling 56,318 raw / 21,211
|
|
452
|
+
aggregate gzip bytes, an authored application increase of 582 raw / 3 gzip bytes
|
|
453
|
+
over `0.11.2`. Twenty-one fresh Chrome profiles record a 0.8 ms median with a
|
|
454
|
+
0.7/1.0 ms range; no latency change is claimed.
|
|
455
|
+
|
|
425
456
|
### `0.11.4`: Pagination, Refresh, And Polling Policy
|
|
426
457
|
|
|
427
458
|
- **Purpose:** complete bounded server-data loading before infinite data work.
|
|
@@ -1021,5 +1052,6 @@ release transaction where possible or document and publish a forward-fix patch.
|
|
|
1021
1052
|
| `0.10.3` | Released | Preserve the published guarded persistence recipe and zero-runtime exclusion. | None |
|
|
1022
1053
|
| `0.11.0` | Released | Preserve the published owned-fetch lifecycle and zero-query-runtime exclusion. | None |
|
|
1023
1054
|
| `0.11.1` | Released | Preserve the published single-owner consistency and exact request-count evidence. | None |
|
|
1024
|
-
| `0.11.2` |
|
|
1025
|
-
| `0.11.3`
|
|
1055
|
+
| `0.11.2` | Released | Preserve the published no-new-primitive architecture decision and zero-byte result. | None |
|
|
1056
|
+
| `0.11.3` | Active | Prove optimistic mutation, exact rollback, duplicate-submit prevention, navigation, and retry. | None |
|
|
1057
|
+
| `0.11.4` onward | Blocked | Wait for the preceding patch acceptance and release record. | Ordered dependency |
|
|
@@ -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.111` retains the explicit install instructions and generates projects with `@kudzujs/core@^0.11.3`.
|
|
70
70
|
|
|
71
71
|
## Release Boundary
|
|
72
72
|
|