@kudzujs/core 0.12.0 → 0.12.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,27 @@ 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.12.1 Shared Layout, History, Focus, And Scroll
|
|
10
|
+
|
|
11
|
+
Measured 2026-08-23 on macOS arm64 with Node 25.6.1 and Chrome
|
|
12
|
+
151.0.7922.172. `RUNS=7 npm run benchmark:project-navigation` uses fresh Chrome
|
|
13
|
+
profiles after the required browser journey proves hash and non-hash focus,
|
|
14
|
+
explicit hash/top scroll, title/live announcements, back/forward, retained
|
|
15
|
+
layout state, fresh route state, and native navigation outside the route group.
|
|
16
|
+
|
|
17
|
+
The two-route session uses 16 JavaScript files totaling 58,974 raw / 22,129
|
|
18
|
+
aggregate gzip bytes, an increase of 4 raw / 5 gzip bytes from `0.12.0` for the
|
|
19
|
+
correct non-hash focus fallback. Navigation samples are
|
|
20
|
+
`[1.5, 1.4, 1.3, 1.3, 1.3, 1.3, 1.4]` ms, with a 1.3 ms median and 1.3/1.5 ms
|
|
21
|
+
minimum/maximum. The range overlaps `0.12.0`, so no latency change is claimed.
|
|
22
|
+
|
|
23
|
+
The application emits 36 files totaling 106,096 raw / 38,201 aggregate gzip
|
|
24
|
+
bytes with deploy SHA-256
|
|
25
|
+
`4f1ce541af0794fcb17458ad37db7b32beb434f3a83cb7f949f13b3e4536fe1c`.
|
|
26
|
+
Core semantic LOC remains 5,682 with no pass, primitive, or runtime-concept
|
|
27
|
+
change. `/help` remains 0 B JavaScript. No AI-delivery cost comparison applies
|
|
28
|
+
to this browser correctness patch.
|
|
29
|
+
|
|
9
30
|
## 0.12.0 Project Route Shell And Runtime Parameters
|
|
10
31
|
|
|
11
32
|
Measured 2026-08-23 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.12.x`: the compiler API and supported TSX surface may change.
|
|
16
16
|
|
|
17
|
-
**Latest release: 0.12.
|
|
17
|
+
**Latest release: 0.12.1 - Shared layout, history, focus, and scroll.** Enhanced route groups now prove retained layout state, route cleanup, back/forward history, titles, live announcements, hash and heading focus, explicit scroll policy, and native navigation outside the group. Read the [release notes](./RELEASES.md#0121---shared-layout-history-focus-and-scroll), open the [release page](https://github.com/kudzujs/kudzu/releases/tag/v0.12.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,55 @@
|
|
|
1
1
|
# Kudzu Releases
|
|
2
2
|
|
|
3
|
+
## 0.12.1 - Shared Layout, History, Focus, And Scroll
|
|
4
|
+
|
|
5
|
+
Kudzu 0.12.1 completes the accepted same-document project route group with
|
|
6
|
+
explicit history, focus, announcement, and scroll behavior.
|
|
7
|
+
|
|
8
|
+
### Changed in 0.12.1
|
|
9
|
+
|
|
10
|
+
- Fixed non-hash enhanced navigation so the existing heading/main focus
|
|
11
|
+
fallback runs instead of treating an empty hash as a target.
|
|
12
|
+
- Proved push, back, and forward navigation with retained layout state and
|
|
13
|
+
freshly recreated route state.
|
|
14
|
+
- Added route titles, a native hash anchor, and an intrinsic hash destination to
|
|
15
|
+
the maintained project application.
|
|
16
|
+
- Proved polite navigation announcements, hash scrolling, top scrolling, and
|
|
17
|
+
browser-native links outside the configured route group.
|
|
18
|
+
- Updated `create-kudzu@0.1.114` to generate projects on
|
|
19
|
+
`@kudzujs/core@^0.12.1`.
|
|
20
|
+
|
|
21
|
+
### Output Evidence
|
|
22
|
+
|
|
23
|
+
- The application emits 36 files, 106,096 raw / 38,201 aggregate gzip bytes,
|
|
24
|
+
and deploy digest
|
|
25
|
+
`4f1ce541af0794fcb17458ad37db7b32beb434f3a83cb7f949f13b3e4536fe1c`.
|
|
26
|
+
- The maintained enhanced session uses 16 JavaScript files totaling 58,974 raw
|
|
27
|
+
/ 22,129 aggregate gzip bytes, 4 raw / 5 gzip bytes above `0.12.0`.
|
|
28
|
+
- `/help` remains complete HTML with 0 B JavaScript.
|
|
29
|
+
- No semantic primitive, compiler pass, core compiler line, runtime concept,
|
|
30
|
+
public API, or browser route registry was added.
|
|
31
|
+
|
|
32
|
+
### Validation
|
|
33
|
+
|
|
34
|
+
- Required Chrome proves focused anchor activation, back/forward, layout
|
|
35
|
+
retention, route cleanup/reset, title/live updates, hash/heading focus, and
|
|
36
|
+
hash/top scroll behavior.
|
|
37
|
+
- Seven fresh Chrome profiles record a 1.3 ms navigation median with a 1.3-1.5
|
|
38
|
+
ms range. The range overlaps `0.12.0`, so no latency change is claimed.
|
|
39
|
+
- The full suite, package smoke, registry metadata, and fresh installation are
|
|
40
|
+
release gates.
|
|
41
|
+
|
|
42
|
+
### Limits
|
|
43
|
+
|
|
44
|
+
Enhanced navigation remains explicit and route-group scoped. Routes outside the
|
|
45
|
+
group use browser-native document navigation.
|
|
46
|
+
|
|
47
|
+
### Upgrade
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
npm install @kudzujs/core@^0.12.1
|
|
51
|
+
```
|
|
52
|
+
|
|
3
53
|
## 0.12.0 - Project Route Shell And Runtime Parameters
|
|
4
54
|
|
|
5
55
|
Kudzu 0.12.0 opens the routing and application-lifetime train with directly
|
|
@@ -557,6 +557,31 @@ overlaps `0.11.4`, so no latency change is claimed.
|
|
|
557
557
|
- **Done condition:** keyboard and browser-history journeys pass with native
|
|
558
558
|
recovery.
|
|
559
559
|
|
|
560
|
+
**Completion evidence:** the project application adds route titles, one native
|
|
561
|
+
hash anchor, and one intrinsic hash destination. Required Chrome activates the
|
|
562
|
+
focused anchor, retains the layout and workspace state through push, back, and
|
|
563
|
+
forward navigation, releases and recreates dirty route state, updates the title
|
|
564
|
+
and polite live status, focuses hash and heading destinations, applies explicit
|
|
565
|
+
hash and top scroll policies, and leaves `/help` browser-native outside the
|
|
566
|
+
approved route group.
|
|
567
|
+
|
|
568
|
+
The journey exposed one existing JavaScript value bug: an absent hash produced
|
|
569
|
+
the empty string and prevented the nullish heading/main focus fallback. The
|
|
570
|
+
navigation runtime now produces `null` for that case. This packet adds zero
|
|
571
|
+
semantic primitives, ModuleIR kinds, compiler passes, core compiler lines,
|
|
572
|
+
runtime concepts, normalization rules, adapter rules, or public APIs. Runtime
|
|
573
|
+
source remains 351 lines. One positive application fixture gains the complete
|
|
574
|
+
acceptance journey; `/help` remains 0 B JavaScript.
|
|
575
|
+
|
|
576
|
+
The fixture emits 36 files totaling 106,096 raw / 38,201 aggregate gzip bytes
|
|
577
|
+
with deploy SHA-256
|
|
578
|
+
`4f1ce541af0794fcb17458ad37db7b32beb434f3a83cb7f949f13b3e4536fe1c`.
|
|
579
|
+
The two-route session uses 16 JavaScript files totaling 58,974 raw / 22,129
|
|
580
|
+
aggregate gzip bytes, 4 raw / 5 gzip bytes above `0.12.0`. Seven fresh Chrome
|
|
581
|
+
profiles record a 1.3 ms navigation median with a 1.3/1.5 ms range. The range
|
|
582
|
+
overlaps `0.12.0`, so no latency change is claimed. This correctness packet has
|
|
583
|
+
no measured AI-delivery cost effect.
|
|
584
|
+
|
|
560
585
|
### `0.12.2`: Authentication And Permission Boundary
|
|
561
586
|
|
|
562
587
|
- **Purpose:** complete login, restore, 401, logout, and permission-aware UI.
|
|
@@ -1124,5 +1149,6 @@ release transaction where possible or document and publish a forward-fix patch.
|
|
|
1124
1149
|
| `0.11.2` | Released | Preserve the published no-new-primitive architecture decision and zero-byte result. | None |
|
|
1125
1150
|
| `0.11.3` | Released | Preserve the published optimistic rollback, duplicate prevention, navigation, and retry evidence. | None |
|
|
1126
1151
|
| `0.11.4` | Released | Preserve the published bounded pagination, history, refresh, polling cleanup, and exact request-count evidence. | None |
|
|
1127
|
-
| `0.12.0` |
|
|
1128
|
-
| `0.12.1`
|
|
1152
|
+
| `0.12.0` | Released | Preserve direct runtime entry, reload, rewrite, and native fallback evidence. | None |
|
|
1153
|
+
| `0.12.1` | Active | Release the completed layout/history/focus/scroll evidence. | None |
|
|
1154
|
+
| `0.12.2` onward | Blocked | Complete the `0.12.1` 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.114` retains the explicit install instructions and generates projects with `@kudzujs/core@^0.12.1`.
|
|
70
70
|
|
|
71
71
|
## Release Boundary
|
|
72
72
|
|
|
@@ -330,7 +330,7 @@ function updateHead(incoming) {
|
|
|
330
330
|
}
|
|
331
331
|
|
|
332
332
|
function focusAndScroll(url) {
|
|
333
|
-
const hashTarget = url.hash
|
|
333
|
+
const hashTarget = url.hash ? document.getElementById(decodeURIComponent(url.hash.slice(1))) : null
|
|
334
334
|
const target = hashTarget ?? routeElement("h1") ?? routeElement("main")
|
|
335
335
|
if (target) {
|
|
336
336
|
if (!target.hasAttribute("tabindex")) target.setAttribute("tabindex", "-1")
|