@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
|