@neocompose/cli 0.24.8 → 0.25.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.25.0] - 2026-08-07
4
+
5
+ ### Added
6
+
7
+ - Add the `NeoAction<P1, …>` member kind (P62): multicast void members whose
8
+ listener set is ordinary durable data. Authored defaults use a listener-list
9
+ literal of method groups (`public NeoAction<int> OnDamaged = [PlayHitFlash];`),
10
+ `+=`/`-=` in NeoScript are set-semantic member-value writes deduplicated by
11
+ `(memberId, valueId)` identity, and invocation fans out sequentially through
12
+ the existing delegate member-target dispatch (empty set is a no-op; a
13
+ throwing listener fails fast with a `{action}[{row}] listener {index}` frame).
14
+ - Lower and emit NSAction members round-trip in project source, including the
15
+ manifest `action` record kind with an `arguments` key and arity ≤ 16.
16
+ - Compiled bodies containing the new `callAction` pointer or the
17
+ `addActionListener`/`removeActionListener` instructions claim compiler
18
+ revision 8; every stored body at revision ≤ 7 stays valid with no recompile.
19
+
20
+ ### Changed
21
+
22
+ - The NeoScript evaluator's schema-resolution cache (compiled bodies, schema
23
+ walks, callable signatures) now survives across top-level evaluations and is
24
+ invalidated by document edits, instead of being rebuilt cold per call —
25
+ repeated `neo test`/`neo script` evaluations and NSAction fan-out drop from
26
+ ~45 us to ~26 us per invocation, ~4 us per additional listener.
27
+ - Unity export schema version is now 17: exports carry NSAction members and
28
+ generated C# surfaces them as cached `NeoAction<P1, …>` registry properties
29
+ with `[NeoMemberMethod]`-stamped listener targets. Older exports are
30
+ rejected with instructions to regenerate.
31
+ - A lambda literal is a compile error at every action listener position
32
+ (authored default, constructor argument, `+=`), and an action member is
33
+ never nullable, never a value, and never a return type; diagnostics point at
34
+ extracting an `NSFunction` member or subscribing through the member
35
+ reference.
36
+
37
+ ## [0.24.9] - 2026-08-08
38
+
39
+ ### Fixed
40
+
41
+ - Build `neo test` execution documents from the server-prepared candidate and
42
+ compile every remaining authored initializer into evaluator-only IR. Tests
43
+ can now construct classes whose pending idless list rows capture lexical
44
+ selectors without requiring an earlier push.
45
+ - Index constructor-initializer ownership by class and member instead of
46
+ repeatedly scanning the project document. This reduces Neowyn's
47
+ initializer-owner walk from 87.8 ms to 24.9 ms median.
48
+
3
49
  ## [0.24.8] - 2026-08-08
4
50
 
5
51
  ### Fixed