@kudzujs/core 0.8.3 → 0.8.4

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
@@ -10,7 +10,7 @@ Kudzu compiles ordinary React-shaped TypeScript and TSX into complete static HTM
10
10
 
11
11
  > Experimental `0.8.x`: the compiler API and supported TSX surface may change.
12
12
 
13
- **Latest release: 0.8.3 - Native interaction composition.** Clipboard actions, effect-owned debounce, and accessible selected-point SVG tooltips compile through existing route-specific capabilities without dedicated runtimes. Read the [release notes](./RELEASES.md#083---native-interaction-composition) or open the [release page](https://kudzujs.cloud/releases/0.8.3).
13
+ **Latest release: 0.8.4 - Browser-native handlers.** Named event handlers now keep `localStorage`, `FileReader`, and `alert` in browser ESM instead of attempting to serialize them during static rendering. Read the [release notes](./RELEASES.md#084---browser-native-handlers) or open the [release page](https://kudzujs.cloud/releases/0.8.4).
14
14
 
15
15
  - [Documentation](https://kudzujs.cloud/docs)
16
16
  - [Installation guide](https://kudzujs.cloud/docs#install)
package/RELEASES.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Kudzu Releases
2
2
 
3
+ ## 0.8.4 - Browser-native handlers
4
+
5
+ Kudzu 0.8.4 fixes named event handlers that use standard browser globals during real React application migrations.
6
+
7
+ ### New in 0.8.4
8
+
9
+ - Named and inline event handlers keep `localStorage`, `FileReader`, and `alert` in route-specific browser ESM instead of serializing them as component captures during static rendering.
10
+ - FrugalHQ backup export, file import, and reset handlers now build without evaluating browser-only globals in Node.
11
+ - Browser regression coverage verifies that the globals remain absent from SSR capture scope and resolve normally after a real click.
12
+ - The fix adds no runtime, shared bytes, hydration, or browser component tree.
13
+ - The complete suite passes 133/133 tests.
14
+
15
+ ### Boundary
16
+
17
+ Application-owned handler captures must still be JSON-safe. This release only corrects classification of the proven standard browser globals; it does not execute browser APIs during static rendering or add arbitrary callback support.
18
+
19
+ ### Upgrade
20
+
21
+ ```bash
22
+ npm install @kudzujs/core@^0.8.4
23
+ ```
24
+
3
25
  ## 0.8.3 - Native interaction composition
4
26
 
5
27
  Kudzu 0.8.3 characterizes ordinary clipboard, debounce, and accessible SVG point interactions through existing route-specific capabilities instead of dedicated browser runtimes.
@@ -5127,7 +5127,7 @@ function compileOptimizedEvent(expression, setters, factory) {
5127
5127
  }
5128
5128
 
5129
5129
  const nativeGlobals = new Set([
5130
- "Array", "ArrayBuffer", "BigInt", "Blob", "Boolean", "Date", "Error", "Event", "FormData", "Infinity", "Intl", "JSON", "Map", "Math", "NaN", "Number", "Object", "Promise", "Proxy", "RangeError", "ReferenceError", "Reflect", "RegExp", "Set", "String", "Symbol", "TypeError", "URL", "URLSearchParams", "WeakMap", "WeakSet", "WebSocket", "Worker", "atob", "btoa", "clearInterval", "clearTimeout", "console", "crypto", "document", "fetch", "globalThis", "history", "isFinite", "isNaN", "location", "navigator", "parseFloat", "parseInt", "queueMicrotask", "requestAnimationFrame", "setInterval", "setTimeout", "structuredClone", "undefined", "window"
5130
+ "Array", "ArrayBuffer", "BigInt", "Blob", "Boolean", "Date", "Error", "Event", "FileReader", "FormData", "Infinity", "Intl", "JSON", "Map", "Math", "NaN", "Number", "Object", "Promise", "Proxy", "RangeError", "ReferenceError", "Reflect", "RegExp", "Set", "String", "Symbol", "TypeError", "URL", "URLSearchParams", "WeakMap", "WeakSet", "WebSocket", "Worker", "alert", "atob", "btoa", "clearInterval", "clearTimeout", "console", "crypto", "document", "fetch", "globalThis", "history", "isFinite", "isNaN", "localStorage", "location", "navigator", "parseFloat", "parseInt", "queueMicrotask", "requestAnimationFrame", "setInterval", "setTimeout", "structuredClone", "undefined", "window"
5131
5131
  ])
5132
5132
 
5133
5133
  function rewriteEffectWorkers(callback, file, sourceFile, sourceFiles, workerReferences, factory, context) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kudzujs/core",
3
- "version": "0.8.3",
3
+ "version": "0.8.4",
4
4
  "description": "HTML-first TSX framework with synchronous state semantics and no virtual DOM",
5
5
  "type": "module",
6
6
  "license": "MIT",