@kudzujs/core 0.10.3 → 0.11.0
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,24 @@ 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.0 Project Owned Fetch Lifecycle
|
|
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` uses fresh Chrome
|
|
13
|
+
profiles, waits for the initial project fetch and persisted workspace update,
|
|
14
|
+
then measures list-to-detail completion including route-effect cancellation.
|
|
15
|
+
|
|
16
|
+
The two-route session uses 15 unique JavaScript files totaling 54,770 raw /
|
|
17
|
+
20,763 aggregate gzip bytes. Navigation samples are
|
|
18
|
+
`[1.1, 0.8, 0.7, 0.8, 0.7, 0.8, 0.8, 0.7, 0.7, 0.9, 0.9, 0.9, 0.7, 0.8, 0.7, 1.3, 0.8, 0.8, 0.6, 0.9, 0.9]`
|
|
19
|
+
ms, with a 0.8 ms median and 0.6/1.3 ms minimum/maximum.
|
|
20
|
+
|
|
21
|
+
Compared with the `0.10.3` release, the authored fetch effect, loading/error
|
|
22
|
+
conditions, and refetch state add 1,208 raw / 440 aggregate gzip session bytes.
|
|
23
|
+
`/help` remains 0 B JavaScript. The measured interval is unchanged, but the new
|
|
24
|
+
fetch-completion prerequisite makes this an acceptance-safe no-regression check,
|
|
25
|
+
not a latency improvement claim. No compiler or browser-runtime source changed.
|
|
26
|
+
|
|
9
27
|
## 0.10.3 Project Persistence Recipe
|
|
10
28
|
|
|
11
29
|
Measured 2026-08-22 on macOS arm64 with Node 25.6.1 and Chrome
|
package/README.md
CHANGED
|
@@ -12,9 +12,9 @@ Kudzu compiles ordinary React-shaped TypeScript and TSX into complete static HTM
|
|
|
12
12
|
|
|
13
13
|
*Watch: React-shaped TSX to static HTML and route-specific ESM in 22 seconds.*
|
|
14
14
|
|
|
15
|
-
> Experimental `0.
|
|
15
|
+
> Experimental `0.11.x`: the compiler API and supported TSX surface may change.
|
|
16
16
|
|
|
17
|
-
**Latest release: 0.
|
|
17
|
+
**Latest release: 0.11.0 - Owned fetch lifecycle.** The tracked project application now owns loading, accessible HTTP errors, explicit refetch, stale completion rejection, cancellation, and route-release behavior without a query runtime. Read the [release notes](./RELEASES.md#0110---owned-fetch-lifecycle), open the [release page](https://github.com/kudzujs/kudzu/releases/tag/v0.11.0), 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,51 @@
|
|
|
1
1
|
# Kudzu Releases
|
|
2
2
|
|
|
3
|
+
## 0.11.0 - Owned Fetch Lifecycle
|
|
4
|
+
|
|
5
|
+
Kudzu 0.11.0 proves browser-only server data as application-owned state, one
|
|
6
|
+
native fetch effect, and exact route lifetime rather than a query framework.
|
|
7
|
+
|
|
8
|
+
### Changed in 0.11.0
|
|
9
|
+
|
|
10
|
+
- Added accessible loading, success, and HTTP error states to the maintained
|
|
11
|
+
project application.
|
|
12
|
+
- Added explicit refetch and recovery through one primitive request dependency.
|
|
13
|
+
- Proved that a delayed prior continuation cannot overwrite newer keyed data.
|
|
14
|
+
- Added authored `AbortController` cleanup for dependency replacement and route
|
|
15
|
+
removal, with late route work denied state authority.
|
|
16
|
+
- Updated `create-kudzu@0.1.108` to generate projects on
|
|
17
|
+
`@kudzujs/core@^0.11.0`.
|
|
18
|
+
|
|
19
|
+
### Output Evidence
|
|
20
|
+
|
|
21
|
+
- The application fixture emits 19 files, 67,886 raw / 24,077 aggregate gzip
|
|
22
|
+
bytes, and deploy digest
|
|
23
|
+
`9c06d2a5d47b4ea2ae54cebbc0448bf161907691ee37a02a5dae0e7c37779ae4`.
|
|
24
|
+
- The list/detail session uses 15 unique JavaScript files totaling 54,770 raw /
|
|
25
|
+
20,763 aggregate gzip bytes; `/help` remains 0 B JavaScript.
|
|
26
|
+
- Twenty-one fresh Chrome profiles record a 0.8 ms navigation median and
|
|
27
|
+
0.6/1.3 ms range after fetch completion and persisted workspace setup.
|
|
28
|
+
- No semantic primitive, compiler pass, production compiler line, runtime
|
|
29
|
+
concept, cache, Provider, retry scheduler, or query runtime was added.
|
|
30
|
+
|
|
31
|
+
### Validation
|
|
32
|
+
|
|
33
|
+
- Required Chrome proves loading, stale completion rejection, accessible HTTP
|
|
34
|
+
failure, recovery, cancellation, and route-removal authority loss.
|
|
35
|
+
- The full suite, package smoke, registry metadata, and fresh installation are
|
|
36
|
+
release gates.
|
|
37
|
+
|
|
38
|
+
### Limits
|
|
39
|
+
|
|
40
|
+
Shared request deduplication, invalidation, optimistic mutation, retries,
|
|
41
|
+
polling, and retained caches remain later evidence packets.
|
|
42
|
+
|
|
43
|
+
### Upgrade
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
npm install @kudzujs/core@^0.11.0
|
|
47
|
+
```
|
|
48
|
+
|
|
3
49
|
## 0.10.3 - Application-Owned Persistence
|
|
4
50
|
|
|
5
51
|
Kudzu 0.10.3 proves guarded browser persistence as application code composed
|
|
@@ -270,6 +270,11 @@ timing ranges overlap with no material loss; the 7,144 raw / 3,278 gzip byte
|
|
|
270
270
|
increase is the explicit cost of route-owned effect/native entries, not a
|
|
271
271
|
compiler or shared-runtime change.
|
|
272
272
|
|
|
273
|
+
Release commit `4420ccc`, tag `v0.10.3`, both CI jobs, the GitHub release,
|
|
274
|
+
`@kudzujs/core@0.10.3`, `create-kudzu@0.1.107`, registry metadata, and a fresh
|
|
275
|
+
registry-backed scaffold install/check passed on 2026-08-22. Publish workflow
|
|
276
|
+
`32568752477` completed every version, package, publication, and registry gate.
|
|
277
|
+
|
|
273
278
|
## `0.11.x`: Async And Server Data
|
|
274
279
|
|
|
275
280
|
### `0.11.0`: Owned Fetch Lifecycle
|
|
@@ -282,6 +287,36 @@ compiler or shared-runtime change.
|
|
|
282
287
|
- **Stop condition:** a query cache is added to implement one request.
|
|
283
288
|
- **Done condition:** the project list journey passes and `/help` stays zero-JS.
|
|
284
289
|
|
|
290
|
+
**Completion evidence:** the project list now composes one route-owned native
|
|
291
|
+
`fetch` effect with ordinary request, status, error, project, and summary state.
|
|
292
|
+
The deterministic server drives initial loading, a fast explicit refetch, an
|
|
293
|
+
HTTP 500 alert, and recovery. A delayed prior continuation attempts its writes
|
|
294
|
+
after dependency replacement and cannot replace the newer keyed project data.
|
|
295
|
+
The effect owns an `AbortController`; dependency replacement and route removal
|
|
296
|
+
invoke authored abort cleanup, and late route work cannot mutate the detail
|
|
297
|
+
route or recreated list ownership. Existing project filtering, nested keyed
|
|
298
|
+
identity, row state, shared layout state, persistence, and logout journeys still
|
|
299
|
+
pass. `/help` remains complete HTML with 0 B JavaScript.
|
|
300
|
+
|
|
301
|
+
This packet adds zero semantic primitives, ModuleIR kinds, compiler passes,
|
|
302
|
+
production compiler lines, runtime concepts, normalization rules, adapter
|
|
303
|
+
rules, public APIs, caches, Providers, retry schedulers, or query runtimes. One
|
|
304
|
+
existing positive application fixture gains loading, success, stale completion,
|
|
305
|
+
HTTP failure, recovery, cancellation, and route-release cases. The fixture
|
|
306
|
+
still emits 19 files and now totals 67,886 raw / 24,077 aggregate gzip bytes,
|
|
307
|
+
with deploy SHA-256
|
|
308
|
+
`9c06d2a5d47b4ea2ae54cebbc0448bf161907691ee37a02a5dae0e7c37779ae4`.
|
|
309
|
+
The project route uses 52,130 raw / 19,502 aggregate gzip JavaScript bytes; the
|
|
310
|
+
two-route session uses 54,770 / 20,763 bytes, an authored capability increase of
|
|
311
|
+
1,208 raw / 440 gzip bytes over `0.10.3`. Twenty-one fresh Chrome profiles record
|
|
312
|
+
0.8 ms median list-to-detail completion with a 0.6/1.3 ms range. The changed
|
|
313
|
+
fetch-completion prerequisite permits no latency improvement claim; no material
|
|
314
|
+
regression is present.
|
|
315
|
+
|
|
316
|
+
Clean-worktree `npm run check`, 273/273 standard tests, the required project
|
|
317
|
+
Chrome journey, the focused required-Chrome retry for the one full-suite browser
|
|
318
|
+
timeout, and packed-package smoke pass on 2026-08-22.
|
|
319
|
+
|
|
285
320
|
### `0.11.1`: List And Detail Data Consistency Evidence
|
|
286
321
|
|
|
287
322
|
- **Purpose:** expose the first real multi-consumer coordination limit.
|
|
@@ -917,5 +952,6 @@ release transaction where possible or document and publish a forward-fix patch.
|
|
|
917
952
|
| `0.10.0` | Released | Preserve the published application baseline and release evidence. | None |
|
|
918
953
|
| `0.10.1` | Released | Preserve the published state-scale evidence and explicit object-field limit. | None |
|
|
919
954
|
| `0.10.2` | Released | Preserve the published shared-layout navigation and exact route-release evidence. | None |
|
|
920
|
-
| `0.10.3` |
|
|
921
|
-
| `0.11.0`
|
|
955
|
+
| `0.10.3` | Released | Preserve the published guarded persistence recipe and zero-runtime exclusion. | None |
|
|
956
|
+
| `0.11.0` | Active | Add the owned loading/error/data/refetch and stale-response journey. | None |
|
|
957
|
+
| `0.11.1` 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.108` retains the explicit install instructions and generates projects with `@kudzujs/core@^0.11.0`.
|
|
70
70
|
|
|
71
71
|
## Release Boundary
|
|
72
72
|
|