@neocompose/cli 0.59.4 → 0.60.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,26 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.60.1] - 2026-09-28
4
+
5
+ - When push checks which classes a variant reference or a class-typed default may select, it finds the class's subclasses from one parent-to-children index. Before, it rescanned every class once per level of inheritance.
6
+
7
+ ## [0.60.0] - 2026-09-27
8
+
9
+ - **Behavior change:** A command that reads or writes a project opens one live connection to the server and uses it for every query, write, and subscription until it exits. Push no longer posts its commit to an HTTP route. The connection runs on its own thread, so it finishes opening while push prepares the commit.
10
+ - **Behavior change:** The CLI requires Node 22 or later. That connection is a WebSocket, which Node 20 doesn't provide.
11
+ - **Behavior change:** Push and `neo doctor --fix` send the prepared commit over that connection. A commit of up to 512 KB with no managed files goes in one write. Larger commits, and commits that stage managed files, go in chunks, and the server starts applying them once the last one arrives.
12
+ - **Behavior change:** The server refuses pushes from CLI versions before 0.60.0 with a 410 `cli-update-required`, over both the HTTP route and 0.59's small-push action.
13
+ - `neo push --dry-run` checks the server's derived-edge extractor version against the CLI's and says whether to upgrade the CLI or repair the project's derived edge index. It no longer tells you to run `neo pull`, which doesn't change that version, and `.neo/state.json` no longer stores `derivedEdgeVersion`.
14
+ - **Behavior change:** `neo migrate run` and `neo migrate prune` prepare their writes on your machine, like push, against the project as they read it from the server. If another commit lands while they run, they are refused: run the command again. `--server` is removed.
15
+ - **Behavior change:** `neo loc` writes are prepared on your machine, like push, against the project as they read it from the server. If another commit lands while one runs, it is refused: run the command again. A `neo loc set` batch is one commit, so it lands whole or not at all, and entries for the same text apply in order. Before, each entry was its own commit.
16
+ - `neo loc comment-set` works. Before, the server rejected every request it sent.
17
+ - `neo loc create` gives a non-main locale the Needs translation status. Before, it named a status that doesn't exist.
18
+ - A `neo loc set` batch entry's `comment` sets that locale's comment. Before, it was ignored.
19
+ - **Behavior change:** The server checks whether a push needs a version bump while it applies the commit. When it does, push asks whether to accept the bump and, if you agree, runs the whole push again with `--accept-bump`. Your push hooks run again too.
20
+ - Creating a branch or publishing a version no longer makes the next `neo pull` download the whole project.
21
+ - A push, `neo doctor --fix` or `neo migrate` that another commit beats after sending its last chunk reports that the project moved on, the same as one refused at submit. Before, push printed the raw failure.
22
+ - A push that uploads more than 1,024 new or changed project files is refused before it uploads anything.
23
+
3
24
  ## [0.59.4] - 2026-09-26
4
25
 
5
26
  - `neo status` and `neo push` read an object's canonical source only when its initializer leaves out a stored key that some class declares, the only case where an authored reset can apply. Before, every constructed object asked for it, including world objects whose only unauthored key is a placement sidecar like `assetClassId`. After a push, that meant re-emitting the object's whole owning root. After moving one tile in the HelloWorld sample, push prepares the commit in 869 ms instead of 1,093 ms. Writing the result back takes about 50 ms longer, so push does about 170 ms less local work.