@kudzujs/core 0.8.11 → 0.8.12

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/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.8.x`: the compiler API and supported TSX surface may change.
16
16
 
17
- **Latest release: 0.8.11 - Stale-safe data migration.** Build-known query data moves to async pages, browser-only reads move to route effects, and superseded promise or fetch setters can no longer overwrite newer state. Read the [release notes](./RELEASES.md#0811---stale-safe-data-migration) or open the [release page](https://kudzujs.cloud/releases/0.8.11).
17
+ **Latest release: 0.8.12 - Static icon migration.** Used Lucide-shaped icons move to relative TSX and compile to accessible static SVG while build-folded evaluator JavaScript disappears from deploy output. Read the [release notes](./RELEASES.md#0812---static-icon-migration) or open the [release page](https://kudzujs.cloud/releases/0.8.12).
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,32 @@
1
1
  # Kudzu Releases
2
2
 
3
+ ## 0.8.12 - Static icon migration
4
+
5
+ Kudzu 0.8.12 proves a source migration path from Lucide React-shaped icon usage to accessible static SVG without a package factory or browser runtime.
6
+
7
+ ### New in 0.8.12
8
+
9
+ - Used icons move into relative TSX components with direct intrinsic SVG roots and familiar size, stroke, class, fill, ARIA, and title props.
10
+ - Meaningful icons retain explicit roles and titles, while decorative icons remain hidden from assistive technology.
11
+ - React-shaped SVG presentation attributes normalize to native output and complete icon routes ship zero JavaScript.
12
+ - Unreachable icon modules are excluded from compilation instead of becoming deploy artifacts.
13
+ - Public documentation records the migration recipe and its deliberate package boundary.
14
+
15
+ ### Fixed in 0.8.12
16
+
17
+ - Handler emission now follows references in the final route plan and HTML, removing evaluator modules left behind by build-folded component conditions while preserving list-expression evaluators.
18
+ - The complete suite passes 143/143 tests.
19
+
20
+ ### Boundary
21
+
22
+ This release does not execute `lucide-react`. Dynamic icon lookup, `createLucideIcon()`, package-owned factories, and a generic icon runtime remain unsupported source migration work.
23
+
24
+ ### Upgrade
25
+
26
+ ```bash
27
+ npm install @kudzujs/core@^0.8.12
28
+ ```
29
+
3
30
  ## 0.8.11 - Stale-safe data migration
4
31
 
5
32
  Kudzu 0.8.11 proves source migration paths for TanStack Query-shaped data and React Hook Form-shaped forms while strengthening dependency-effect stale-write isolation.
@@ -145,7 +145,8 @@ export async function build({ quiet = false, minify = true } = {}) {
145
145
  runtimeParams: runtimeSchema?.params,
146
146
  ...(navigable ? { navigationAsset: navigationGroup.assetPath, applicationId: navigationGroup.applicationId, layoutId: navigationGroup.layoutId, routeId: applicationRoute } : {})
147
147
  }, props, module.layout)
148
- for (const url of result.handlerModules) renderedHandlerUrls.add(url)
148
+ const renderedOutput = `${JSON.stringify(result.plan)}\n${result.html}`
149
+ for (const url of result.handlerModules) if (renderedOutput.includes(JSON.stringify(url))) renderedHandlerUrls.add(url)
149
150
  if (navigationGroup) {
150
151
  navigationGroup.hasEffects ||= result.hasEffects
151
152
  navigationGroup.hasParams ||= result.hasParams
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kudzujs/core",
3
- "version": "0.8.11",
3
+ "version": "0.8.12",
4
4
  "description": "HTML-first TSX framework with synchronous state semantics and no virtual DOM",
5
5
  "type": "module",
6
6
  "license": "MIT",