@neocompose/cli 0.38.0 → 0.38.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,59 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.38.2] - 2026-08-27
4
+
5
+ ### Changed
6
+
7
+ - Read every stored class-value placement through one canonical sparse graph,
8
+ including constructor-settled aggregate arguments. The retired body-only
9
+ compatibility paths are gone, root-path and ownership readers now agree on
10
+ the same placement, and variant lowering builds that index once rather than
11
+ once per variant.
12
+
13
+ ### Fixed
14
+
15
+ - Resolve same-push root paths against the prospective class and member schema
16
+ while keeping an existing constructor's compiled action paired with its
17
+ durable argument signature. Inserting or reordering a constructor parameter
18
+ no longer binds stored argument ids to the wrong parameter by position.
19
+ - Preserve constructor-origin precedence through nested descendants. An
20
+ authored constructor subtree now wins over a declaration-default echo at
21
+ every depth without overriding a genuine authored member body.
22
+ - Reuse constructor settlement across required base constructors and base
23
+ initializer fields, so inherited aggregate arguments remain reachable and
24
+ lower to the same sparse graph as web and Unity readers.
25
+
26
+ ## [0.38.1] - 2026-08-27
27
+
28
+ ### Changed
29
+
30
+ - A stored construction from before the P75 collapse now converges to the
31
+ sparse shape on its next push. Such a row recorded every
32
+ constructor-settled member twice — once as creation data and once as a body
33
+ key — and re-lowering used to preserve that duplication forever. The
34
+ duplicate body keys are now dropped and the construction's provenance is
35
+ stamped explicitly. This is a one-time storage convergence with no change in
36
+ resolved values: each argument row is still named by the creation data that
37
+ already named it, so nothing is stranded, and the authored creation data is
38
+ untouched, so a converged push is not reported as an edit. Rows already in
39
+ the sparse shape are unaffected.
40
+
41
+ ### Fixed
42
+
43
+ - Lower an authored default echo on a fresh row to absence instead of a stored
44
+ override. Spelling a member's declared default verbatim in a new
45
+ initializer — a leaf equal to its declaration, or a bare class construction
46
+ whose members the declaration wholly settles — minted a pending row that
47
+ push verification then rejected as absent from the verified source manifest.
48
+ - Converge a stored inline member default toward the collapsed sparse shape
49
+ instead of re-minting its seed. A pre-collapse stored default that equals
50
+ its declaration reported `create 1 member value seed(s)` on every push of an
51
+ otherwise clean checkout.
52
+ - Keep a compiled delegate action when a re-lowered argument's source code is
53
+ unchanged. Re-lowering emitted the code-only shape over the stored compiled
54
+ closure, so an untouched delegate argument round-tripped as an edit and
55
+ evaluation lost its compiled action until the next server compile.
56
+
3
57
  ## [0.38.0] - 2026-08-26
4
58
 
5
59
  ### Added