@neocompose/cli 0.32.3 → 0.33.0

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,51 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.33.0] - 2026-08-19
4
+
5
+ ### Added
6
+
7
+ - Add lazy, right-associative conditional expressions with the familiar
8
+ `condition ? whenTrue : whenFalse` spelling. Both result arms are
9
+ target-typed and only the selected arm runs in CLI tests, web previews, and
10
+ the Unity runtime. Project exports now use schema version 24 and compiled
11
+ NeoScript bodies use compiler revision 12 so older runtimes fail at their
12
+ normal compatibility gate.
13
+ - Add `NeoAction.Clear()` as the statement-form way to replace an action's
14
+ stored listener set with the empty set.
15
+ - Allow returned inline `NeoDelegate` lambdas to capture surrounding locals
16
+ and parameters by value. Captures are explicit in revision-12 IR and remain
17
+ available after the delegate is stored or serialized.
18
+ - Accept every NeoScript type grammar in explicit lambda parameters, including
19
+ `decimal`, generic parameters, collections, arrays, and nullable types.
20
+
21
+ ### Fixed
22
+
23
+ - Resolve local type annotations such as `T modifiedValue` against the
24
+ declaring Class's generic parameters instead of synthesizing an unrelated
25
+ type named `T`.
26
+ - Support `Equals(...)` on a non-null generic type parameter. Runtime Class
27
+ values dispatch a compatible one-argument, bool-returning `Equals` Function
28
+ or NSFunction (including overrides); other values use ordinary NeoScript
29
+ equality.
30
+ - Parse `value is Type ? whenTrue : whenFalse` as a conditional expression
31
+ instead of consuming its question mark as a forbidden nullable `is Type?`
32
+ suffix.
33
+ - Use the strict compiler's numeric/nullability join rules when validating
34
+ project-source conditional branches, and make nested-lambda shadowing
35
+ diagnostics independent of whether an outer value was captured earlier.
36
+
37
+ ## [0.32.4] - 2026-08-18
38
+
39
+ ### Fixed
40
+
41
+ - Validate identifiers in their actual namespace so qualified member labels,
42
+ enum options, registry entries, and schema keys may reuse unrelated builtin
43
+ type or module names such as `Set`, `Dictionary`, `List`, and `Math`, while
44
+ preserving real keyword, binding, global namespace, and codegen conflicts.
45
+ - Share those contextual rules across project compilation, schema validation,
46
+ rename analysis, CLI emission, generated file registries, and server-side
47
+ validation so `neo test`, `neo script check --all`, dry runs, and pushes agree.
48
+
3
49
  ## [0.32.3] - 2026-08-18
4
50
 
5
51
  ### Fixed