@kudzujs/core 0.13.0 → 0.13.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.
package/PERFORMANCE.md
CHANGED
|
@@ -6,6 +6,33 @@ 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.13.1 Nested Form Metadata
|
|
10
|
+
|
|
11
|
+
Measured 2026-08-25 on Linux x64 with Node 24.14.0 and Chrome
|
|
12
|
+
142.0.7444.175. Required Chrome proves conditional assignee fields, dynamic
|
|
13
|
+
checklist rows, explicit dirty/touched display, stable-key reorder, removal,
|
|
14
|
+
native reset, exact retained/released DOM identity, and the preserved keyboard
|
|
15
|
+
constraint and server retry journey.
|
|
16
|
+
|
|
17
|
+
The application emits 44 files totaling 138,064 raw / 47,964 aggregate gzip
|
|
18
|
+
bytes with deploy SHA-256
|
|
19
|
+
`f0d96cfd5dee2cf3fa67f4ebe25d8b32cbb1bf66e72ed5ca1c29bd06fdcc0a33`.
|
|
20
|
+
The two-route session remains 17 JavaScript files and totals 65,404 raw / 23,899
|
|
21
|
+
aggregate gzip bytes, 3,286 raw / 803 gzip bytes above `0.13.0`. `/help`
|
|
22
|
+
remains 0 B JavaScript. The added bytes are route-specific authored handlers,
|
|
23
|
+
bindings, conditionals, and keyed-list descriptors; there is no shared form
|
|
24
|
+
runtime.
|
|
25
|
+
|
|
26
|
+
Navigation samples are `[3.5, 3.3, 4.4, 3.3, 3.2, 4.7, 3.3]` ms, with a 3.3
|
|
27
|
+
ms median and 3.2/4.7 ms minimum/maximum. The range overlaps `0.13.0`, and the
|
|
28
|
+
destination now contains dynamic nested form behavior, so no same-content
|
|
29
|
+
runtime regression or improvement claim is made.
|
|
30
|
+
|
|
31
|
+
Core semantic LOC remains 5,682 with no semantic primitive, IR kind, compiler
|
|
32
|
+
pass, production compiler/runtime line, normalization rule, adapter, runtime
|
|
33
|
+
concept, public API, registration function, proxy metadata graph, schema
|
|
34
|
+
adapter, or form runtime.
|
|
35
|
+
|
|
9
36
|
## 0.13.0 Production Form And Server Validation
|
|
10
37
|
|
|
11
38
|
Measured 2026-08-24 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.13.x`: the compiler API and supported TSX surface may change.
|
|
16
16
|
|
|
17
|
-
**Latest release: 0.13.
|
|
17
|
+
**Latest release: 0.13.1 - Nested form metadata.** Conditional fields, dynamic keyed checklist rows, explicit dirty/touched state, reset, and exact DOM identity compose without a field registry or form runtime. Read the [release notes](./RELEASES.md#0131---nested-form-metadata), open the [release page](https://github.com/kudzujs/kudzu/releases/tag/v0.13.1), 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,54 @@
|
|
|
1
1
|
# Kudzu Releases
|
|
2
2
|
|
|
3
|
+
## 0.13.1 - Nested Form Metadata
|
|
4
|
+
|
|
5
|
+
Kudzu 0.13.1 composes conditional fields, dynamic keyed rows, dirty/touched
|
|
6
|
+
display, and reset from ordinary application state without a form registry.
|
|
7
|
+
|
|
8
|
+
### Changed in 0.13.1
|
|
9
|
+
|
|
10
|
+
- Added conditional assignee fields backed by one ordinary object state.
|
|
11
|
+
- Added dynamic checklist rows with immutable add, reorder, remove, input, and
|
|
12
|
+
touched updates over one ordinary array state.
|
|
13
|
+
- Preserved exact keyed DOM identity through reorder and reset while releasing
|
|
14
|
+
removed and reset-added rows.
|
|
15
|
+
- Kept native constraints, field/form server errors, retained values, and retry
|
|
16
|
+
behavior from `0.13.0`.
|
|
17
|
+
- Updated `create-kudzu@0.1.119` to generate projects on
|
|
18
|
+
`@kudzujs/core@^0.13.1`.
|
|
19
|
+
|
|
20
|
+
### Output Evidence
|
|
21
|
+
|
|
22
|
+
- The application emits 44 files totaling 138,064 raw / 47,964 aggregate gzip
|
|
23
|
+
bytes with deploy digest
|
|
24
|
+
`f0d96cfd5dee2cf3fa67f4ebe25d8b32cbb1bf66e72ed5ca1c29bd06fdcc0a33`.
|
|
25
|
+
- The maintained two-route session remains 17 JavaScript files and totals
|
|
26
|
+
65,404 raw / 23,899 aggregate gzip bytes; `/help` remains 0 B JavaScript.
|
|
27
|
+
- No semantic primitive, IR kind, compiler pass, production compiler/runtime
|
|
28
|
+
line, normalization rule, adapter, public API, registration function, proxy
|
|
29
|
+
metadata graph, schema adapter, or form runtime was added.
|
|
30
|
+
|
|
31
|
+
### Validation
|
|
32
|
+
|
|
33
|
+
- Required Chrome proves dirty/touched output, conditional ownership, stable-key
|
|
34
|
+
reorder, removal release, native reset, and exact retained/released identity.
|
|
35
|
+
- The existing keyboard validation and delayed `422`, `503`, and `201` journey
|
|
36
|
+
passes while nested assignee and checklist values survive failures.
|
|
37
|
+
- Seven fresh Chrome profiles record a 3.3 ms list-to-detail median with a
|
|
38
|
+
3.2-4.7 ms range. The range overlaps `0.13.0`, so no latency change is claimed.
|
|
39
|
+
|
|
40
|
+
### Limits
|
|
41
|
+
|
|
42
|
+
Dynamic field names, schema-driven registration, generic watchers, and proxy
|
|
43
|
+
dirty/touched graphs remain unsupported. Add framework metadata only after
|
|
44
|
+
independent real forms prove the same otherwise-inexpressible graph.
|
|
45
|
+
|
|
46
|
+
### Upgrade
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
npm install @kudzujs/core@^0.13.1
|
|
50
|
+
```
|
|
51
|
+
|
|
3
52
|
## 0.13.0 - Production Form And Server Validation
|
|
4
53
|
|
|
5
54
|
Kudzu 0.13.0 compiles an accessible issue-creation form from ordinary TSX
|
|
@@ -752,6 +752,39 @@ same-content compiler/runtime comparison or a latency improvement claim.
|
|
|
752
752
|
- **Done condition:** application composition is accepted or the smallest
|
|
753
753
|
repeated metadata semantic is isolated.
|
|
754
754
|
|
|
755
|
+
**Completion evidence:** the maintained Alpha issue form now owns nested
|
|
756
|
+
assignee metadata as one ordinary object state and a dynamic checklist as one
|
|
757
|
+
ordinary array state with stable string keys. Native `input`, `blur`, `change`,
|
|
758
|
+
and `reset` events drive explicit dirty/touched display, conditional assignee
|
|
759
|
+
fields, immutable checklist add/reorder/remove operations, and reset to the
|
|
760
|
+
authored baseline. Required Chrome proves retained checklist keys preserve exact
|
|
761
|
+
DOM identity through reorder and reset, removed and reset-added keys disconnect,
|
|
762
|
+
conditional ownership releases the assignee controls, and native reset clears
|
|
763
|
+
uncontrolled title/body values plus application-owned metadata. The existing
|
|
764
|
+
keyboard constraints and delayed `422`, `503`, and `201` server journey continue
|
|
765
|
+
to pass while nested assignee/checklist values survive field and form failures.
|
|
766
|
+
|
|
767
|
+
The first failing fixture was the `0.13.1` project-application contract against
|
|
768
|
+
the released `0.13.0` Alpha form. Native controls and existing object/array
|
|
769
|
+
state, condition, keyed-list, binding, and handler semantics close it without a
|
|
770
|
+
normalization rule, adapter, semantic primitive, IR kind, compiler pass,
|
|
771
|
+
production compiler/runtime line, runtime concept, public API, registration
|
|
772
|
+
function, proxy metadata graph, schema adapter, or form runtime. The
|
|
773
|
+
machine-readable decision is `closed-by-application-composition`; dynamic field
|
|
774
|
+
names, schema-driven registration, generic watchers, and proxy dirty/touched
|
|
775
|
+
graphs remain unsupported until independent real forms prove a repeated gap.
|
|
776
|
+
|
|
777
|
+
The application emits 44 files totaling 138,064 raw / 47,964 aggregate gzip
|
|
778
|
+
bytes with deploy SHA-256
|
|
779
|
+
`f0d96cfd5dee2cf3fa67f4ebe25d8b32cbb1bf66e72ed5ca1c29bd06fdcc0a33`.
|
|
780
|
+
The maintained two-route session remains 17 JavaScript files and grows by 3,286
|
|
781
|
+
raw / 803 aggregate gzip bytes to 65,404 / 23,899 bytes. This is authored
|
|
782
|
+
route-specific form behavior, not a shared form runtime; `/help` remains 0 B
|
|
783
|
+
JavaScript. Seven fresh Linux x64 Chrome 142 profiles record list-to-detail
|
|
784
|
+
samples of `[3.5, 3.3, 4.4, 3.3, 3.2, 4.7, 3.3]` ms, a 3.3 ms median and
|
|
785
|
+
3.2/4.7 ms range. The range overlaps `0.13.0` and the destination content
|
|
786
|
+
changed, so no latency regression or improvement is claimed.
|
|
787
|
+
|
|
755
788
|
### `0.13.2`: Multistep Draft And Autosave
|
|
756
789
|
|
|
757
790
|
- **Purpose:** prove draft persistence across steps and failures.
|
|
@@ -1270,5 +1303,6 @@ release transaction where possible or document and publish a forward-fix patch.
|
|
|
1270
1303
|
| `0.12.3` | Released | Preserve the published route failure, focused retry, native fallback, and precommit retention evidence. | None |
|
|
1271
1304
|
| `0.12.4` | Released | Preserve the published single-layout decision and zero-owner-chain evidence. | None |
|
|
1272
1305
|
| `0.13.0` | Released | Preserve native constraints, server feedback, focused field errors, retained input, and retry evidence. | None |
|
|
1273
|
-
| `0.13.1` |
|
|
1274
|
-
| `0.13.2`
|
|
1306
|
+
| `0.13.1` | Released | Preserve application-owned nested metadata, keyed row identity, release, and reset evidence. | None |
|
|
1307
|
+
| `0.13.2` | Active | Complete the multistep draft and autosave packet. | None |
|
|
1308
|
+
| `0.13.3` onward | Blocked | Complete the `0.13.2` release transaction 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.
|
|
69
|
+
`create-kudzu@0.1.119` retains the explicit install instructions and generates projects with `@kudzujs/core@^0.13.1`.
|
|
70
70
|
|
|
71
71
|
## Release Boundary
|
|
72
72
|
|