@neocompose/cli 0.76.2 → 0.76.3

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,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.76.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 62912f7: Generic constructions whose collection type arguments appear only in code, such as a `Box<List<int>>` built inside a function, now run in functions and specs without an unrelated field that declares the same type. Dictionaries are fixed too.
8
+ - 19ac23d: Completion, go to definition, references, and rename now work on a local assigned from a conditional, such as `var item = ready ? first : second;`.
9
+ - 734baf4: Members of a delegate call's result, such as `factory().Count`, complete and rename again, and a lambda that returns `new(...)` gets constructor argument help.
10
+ - 2bf9270: Delegates can now be called straight from an index, a conditional, a function result, or a force-unwrapped value, such as `callbacks["key"]!()`, `(condition ? first : second)()`, or `Factory.Make()()`. These calls get the same argument, return type, and null checks as other delegate calls.
11
+ - b971d88: An enum default of the wrong type is reported at the expression you wrote instead of failing later. An invalid local definition reports its own error instead of breaking the values that use it. Qualified enum options work in instance defaults, and `neo pull` writes a nested enum value that refers to another stored value as `Reference<…>(id: …)` instead of a plain string.
12
+ - 7643c12: A collection field initialized from a class header parameter, such as `class Box<T>(List<T> value) { public List<T> Value = value; }`, keeps its element type. Unused generic classes now push, and compiler errors keep their file and line.
13
+ - 04a188d: Delegate fields with defaults, such as `public NeoDelegate<int> Value = () => this.Number;`, now run on new and stored instances. An invalid lambda is reported at its line by status and editor validation.
14
+ - dc3ab1d: When a list or dictionary is extracted into a local definition, invalid entries are reported at that definition in status, editor validation, and push or test preparation. Invalid qualified enum keys are reported where they are written, and an invalid option written as `.Name` is reported at that option.
15
+ - 77e4479: Member completion works again after `?.` and `!.`, including on dictionary values such as `items["key"]?.` and on partly typed member names.
16
+ - 1d7b2a3: Large pushes prepare faster.
17
+ - fbab09a: Push, test, and status are faster on projects with many stored instances.
18
+ - 1052547: Static delegate fields, such as `public static NeoDelegate<int> Value = () => Number;`, and lambdas passed to constructors in static fields now run. Invalid lambdas passed to constructors in field values are now reported by status and editor validation, not only when preparing a push or test.
19
+ - 621cb75: A static field can now be initialized by calling another class's static delegate, such as `Helper.Run()`, or by reading a field of a new instance, such as `new Counter().Count`. Status and editor validation now accept a static field built from a generic type that only code names, such as `new Box<List<int>>([1]).Value[0]`, instead of reporting a missing type descriptor.
20
+ - 1ed5f02: Generic constructors accept collection arguments: static fields such as `public static Box<List<int>> Value = new([1, 2]);` now prepare and run with populated, empty, or nested lists and dictionaries.
21
+
3
22
  ## 0.76.2
4
23
 
5
24
  ### Patch Changes