@kudzujs/core 0.8.5 → 0.8.6

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.5 - Owned timer actions.** A directly returned relative custom-hook callback may own one private timeout ref with latest-only replacement and effect cleanup, without adding a timer runtime. Read the [release notes](./RELEASES.md#085---owned-timer-actions) or open the [release page](https://kudzujs.cloud/releases/0.8.5).
13
+ **Latest release: 0.8.6 - Responsive list reversals.** Keyed-list reverse and removal fast paths now retain current bookkeeping, so repeated actions update immediately while preserving DOM identity. Read the [release notes](./RELEASES.md#086---responsive-list-reversals) or open the [release page](https://kudzujs.cloud/releases/0.8.6).
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.6 - Responsive list reversals
4
+
5
+ Kudzu 0.8.6 fixes stale keyed-list bookkeeping after reverse and one-item removal fast paths.
6
+
7
+ ### Fixed in 0.8.6
8
+
9
+ - Reverse fast paths now store the latest logical item order after moving existing keyed DOM nodes.
10
+ - One-item removal fast paths update the same baseline before subsequent list actions.
11
+ - Repeated reverse clicks apply on the next microtask instead of requiring another delayed interaction.
12
+ - Existing keyed rows retain DOM identity and uncontrolled input values through every reorder.
13
+ - Chrome coverage verifies `3,2,1 → 1,2,3 → 3,2,1` across rapid actions, and the complete suite passes 134/134 tests.
14
+
15
+ ### Boundary
16
+
17
+ This is a bookkeeping correction in the existing keyed-list runtime. It adds no list capability, VDOM, hydration, or component runtime.
18
+
19
+ ### Upgrade
20
+
21
+ ```bash
22
+ npm install @kudzujs/core@^0.8.6
23
+ ```
24
+
3
25
  ## 0.8.5 - Owned timer actions
4
26
 
5
27
  Kudzu 0.8.5 compiles one proven private timeout ref pattern from a returned relative custom-hook action into existing state and effect ownership.
@@ -198,6 +198,7 @@ function updateList(list) {
198
198
  list.roots = new Map(nextTokens.map(token => [token, list.roots.get(token)]))
199
199
  if (__KUDZU_LIST_STABLE_FAST_PATHS__) list.orderedRoots = nextTokens.map(token => list.roots.get(token))
200
200
  list.container ??= parent
201
+ list.items = items
201
202
  return
202
203
  }
203
204
  if (nextTokens.length === currentTokens.length - 1) {
@@ -207,6 +208,7 @@ function updateList(list) {
207
208
  removeListRoot(list, removed)
208
209
  list.roots = new Map(nextTokens.map(token => [token, list.roots.get(token)]))
209
210
  if (__KUDZU_LIST_STABLE_FAST_PATHS__) list.orderedRoots = nextTokens.map(token => list.roots.get(token))
211
+ list.items = items
210
212
  return
211
213
  }
212
214
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kudzujs/core",
3
- "version": "0.8.5",
3
+ "version": "0.8.6",
4
4
  "description": "HTML-first TSX framework with synchronous state semantics and no virtual DOM",
5
5
  "type": "module",
6
6
  "license": "MIT",