@neocompose/cli 0.75.2 → 0.76.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,36 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.76.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b9d4b99: Support local class values as instance references in constructor arguments and
8
+ other initializer expressions. Compose nested local member and collection values
9
+ inside constructor-backed initializers without copying referenced instances or
10
+ losing concrete subclass types. Report unsupported local uses at their source
11
+ location in the editor and CLI.
12
+ - a4b7721: `readonly` is now init-only, as in C#, and independent of storage. Field
13
+ initializers, constructors, object initializer blocks, and authored values set
14
+ a readonly member; nothing writes it after construction. It is valid on Save,
15
+ Session, Immutable, and User classes, but not with Writable storage. It is
16
+ shallow: a readonly collection's membership is fixed while its entries keep
17
+ their own mutability. Runtime construction can no longer set Immutable members,
18
+ and generated C# factories omit them. An Immutable member whose declaration,
19
+ including every row it owns, reads neither `this` nor a constructor argument
20
+ is a constant that every instance shares. Any other Immutable member is
21
+ evaluated per instance from its declared initializer, with its own `this` and
22
+ constructor arguments. Tile placements can no longer set NeoTile's class-level
23
+ `Name`, `Sprite`, or `SmartTile`. Exports move to schema 42, so Unity
24
+ needs SDK 0.66.0.
25
+
26
+ ### Patch Changes
27
+
28
+ - a4b7721: An object initializer block in a NeoScript body now settles a required member,
29
+ as P49 specifies: `new Folder() { Children = [] }` compiles when `Children` has
30
+ no default. Such an entry is evaluated with construction, before the block's
31
+ other entries assign in source order. A construction that leaves one unset
32
+ names each missing member.
33
+
3
34
  ## 0.75.2
4
35
 
5
36
  ### Patch Changes