@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 +46 -0
- package/dist/neo.mjs +920 -276
- package/package.json +1 -1
- package/skills/neocompose-cli/SKILL.md +1 -1
- package/skills/neocompose-cli/references/cli-development.md +1 -1
- package/skills/neocompose-cli/references/declarations-and-construction.md +8 -4
- package/skills/neocompose-cli/references/neoscript.md +30 -4
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
|