@neocompose/cli 0.82.5 → 0.83.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,39 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.83.0
4
+
5
+ ### Minor Changes
6
+
7
+ - d3d1894: Interface members (P113). A member, list or set element, dictionary value, or
8
+ parameter can be typed by an interface, such as `public IReward Reward`. Its
9
+ row holds any class that implements the interface. Interfaces can be generic
10
+ (`IContainer<T>`), extend other interfaces with arguments, and constrain
11
+ generic parameters (`T extends IReward`). Classes pass interface arguments in
12
+ their implements list. A row's class must fit every storage its slot lives at;
13
+ the push refuses a row that can't be stored there, naming the slot and the
14
+ row's path. `neo status` reports a row whose class the interface doesn't
15
+ determine at the row's `new` expression. The compiler checks storage for
16
+ assignments, collection `Add`, `Insert`, indexer writes, and literal entries,
17
+ and completion offers only classes that fit the slot. Changing an interface
18
+ slot's row to another class replaces it with a fresh construction of that
19
+ class, and the push refuses when the old row has sparse overrides. The web editor picks an interface slot's class
20
+ from its implementers and edits interface parameters and arguments. Type
21
+ arguments in interface signatures, for interfaces and classes, must satisfy
22
+ their parameter's constraint, and a constrained parameter's argument can't be
23
+ nullable. Empty localized text no longer blocks pushes that touch static
24
+ values. Unity needs SDK 0.73.0. Re-export to regenerate C# clients. A generic
25
+ argument that forwards a type parameter no longer reads as a local change
26
+ after a pull when the web editor wrote it. The web Database now expands a
27
+ generic class row in a generic slot or a generic collection, such as
28
+ `Box<Crate<Seed>>.Value` or `List<T>` entries, instead of failing to construct
29
+ the open class.
30
+
31
+ ### Patch Changes
32
+
33
+ - ad68a76: Cut repeated work from each `neo dev` save. Derived caches are written once when `neo dev` exits instead of after every save, unchanged initializers are no longer re-parsed, constructor edits no longer rebuild the analyzer's class and member lookups, row comparisons skip copying rows with nothing to strip, and Unity variant, localization and codegen fingerprint projections are reused for unchanged records.
34
+ - 3a956a2: `neo dev` reuses more work across saves. An instance expansion is now reused when a schema edit, or an edit to a nested instance, doesn't change anything it read. Unchanged lowered rows and schema indexes are also kept across saves instead of being rebuilt.
35
+ - 0c0cf7d: Speed up fresh edits in `neo export` and `neo dev`. Sparse-root expansions now depend on the member contracts and method bodies they actually ran, so editing a method body only re-expands the roots that executed it. Clip validation is skipped when changes reach nothing the server would re-grade. Schema validation, binary snapshots, root path edges and Unity JSON fragments are reused across saves.
36
+
3
37
  ## 0.82.5
4
38
 
5
39
  ### Patch Changes