@neocompose/cli 0.66.0 → 0.67.1

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,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.67.1] - 2026-10-04
4
+
5
+ - Pull adopts records the server only recompiled into `.neo/state.json` before it reads local sources, even when the same pull also merges authored changes. Previously one authored change anywhere in the pull sent every recompiled record through the merge, which read the stale baseline and failed.
6
+ - Status, push, and pull refuse a baseline holding a compiled body this CLI cannot read, name the record, and say to run `neo pull`, or `neo pull --force` after backing up local edits when pull cannot refresh it. Previously they failed with "init.compiled carries compiler revision 16" and suggested `npm run compiler-revision:mint`, which cannot fix a local file.
7
+ - A baseline pulled before 0.67.0 also holds 64-bit floats, which only the server's copy rounded. Plain `neo pull` cannot refresh it. Commit or back up local edits, run `neo pull --force` once, then restore them.
8
+
9
+ ## [0.67.0] - 2026-10-04
10
+
11
+ - `float` is a 32-bit float everywhere, as in C#. Float literals, defaults, constructor arguments, and stored values round to the nearest 32-bit float, and pull prints the shortest decimal that reads back as that float, so `0.7` stays `0.7`. Previously push stored the 64-bit double, and Unity read a value that its own `float` could not hold.
12
+ - Float arithmetic rounds to 32 bits after every step, as do `Math.Sqrt`, `ToFloat`, vector constructors, and native function results declared `float`. `int` division truncates toward zero, so `7 / 2` is `3`. Previously it returned `3.5`.
13
+ - Unity codegen types NeoScript `float` members, parameters, and returns as C# `float` instead of `double`.
14
+ - Native functions with `List` or `Dictionary` parameters receive the collection. Previously generated code cast the script value straight to the C# collection type and threw `InvalidCastException`.
15
+ - Compiler revision 17 recompiles every stored body. The rollout also rounds every 64-bit float already stored in values, members, and constructors, including retained history.
16
+ - Push rejects a float, vector component, color channel, float bound, or float parameter default that is not a 32-bit float. Older CLIs that send 64-bit doubles fail validation instead of storing them.
17
+
3
18
  ## [0.66.0] - 2026-10-03
4
19
 
5
20
  - Add the 18 script runtime lifecycle interfaces from P98, such as `INeoOnLoad`, `INeoUnityUpdate`, and `INeoUnityOnTriggerEnter2D`. Every project gets them as protected system records, and pull writes them under `Interfaces/System/` with `@system(kind: .ScriptRuntime)`.