@neocompose/cli 0.22.7 → 0.23.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/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.23.1] - 2026-08-05
4
+
5
+ ### Fixed
6
+
7
+ - Invalidate stale compiled constructor IR when an authored constructor contract changes, and compile only those changed constructors during local initializer replay. Constructor parameter edits now work through `neo status`, dry-run, and push without preserving a mismatched action or recompiling the whole project.
8
+
9
+ ## [0.23.0] - 2026-08-05
10
+
11
+ ### Added
12
+
13
+ - Member defaults may be operator expressions — arithmetic over statics,
14
+ coalesce, indexing, type tests, string interpolation, and negation of a
15
+ non-literal. They are stored as computed initializers evaluated during
16
+ construction, exactly like call defaults, instead of failing with
17
+ "Expression binary is not a persisted default." Positions that store no
18
+ rows keep requiring literals and now say so precisely: dictionary keys,
19
+ Vector/Color components, and an `@id` written on part of an unparenthesized
20
+ computed entry (parenthesize the expression so the annotation names the
21
+ row).
22
+
23
+ ### Fixed
24
+
25
+ - Function members lower with the contract's value-less `required: false`
26
+ shape, so a push that adds a `.neo` function passes prospective validation,
27
+ and stored functions stop generating phantom `required` updates on every
28
+ push. Compiled bodies that read static members validate through the
29
+ previously missing static-member pointer guard.
30
+ - Push preparation reads the prospective document with pending enum-option
31
+ ids admitted and source-authored localized texts completed through the
32
+ server's own create envelope, so a push that creates an enum, adds an
33
+ option, or authors localized text no longer fails initializer
34
+ materialization or prospective animation validation. Committed-document
35
+ reads keep their exact strictness.
36
+ - Stored function bodies re-emit whole. A body opening with a nested block
37
+ (`switch`, `if`) was truncated to that block — leaking trailing statements
38
+ to class scope — and a body that was exactly one block silently lost its
39
+ guard on pull. An authored empty body re-emits as `{ }` instead of mutating
40
+ into a `native` signature.
41
+
3
42
  ## [0.22.7] - 2026-08-05
4
43
 
5
44
  ### Fixed