@neocompose/cli 0.68.3 → 0.69.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,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.69.0] - 2026-10-05
4
+
5
+ - **Breaking:** `neo export` replaces `neo export unity --out <dir>`. It builds the Unity export from the last pull, offline, and writes it into the directories the Unity project's `NeoComposeConfig` asset names. It writes only files whose bytes changed, skips codegen when only values changed since the last export into that Unity project, and writes `Library/NeoCompose/export.json` last for Unity to ingest. Local edits aren't exported, and the output counts them. An error diagnostic, or a project file whose bytes differ from the pulled file, stops the export before anything is written.
6
+ - `neo export` writes into the Unity project `unityConfigPath` points into. Without it, an interactive export offers to link the one config asset that names this project, and scripts get an error with the line to add. `--unity-project <dir>` exports into another Unity project without linking it.
7
+ - Export schema 36 moves value rows out of `project.json` into `Partitions/*.json`, one file per storage partition, and keeps only `schemaVersion`, `projectId`, `versionId` and `semver` in `metadata`. It requires the matching SDK 0.58.0. The export warns when the `project.json` it replaces has another schema. The runtime data route keeps schema 35.
8
+ - Pull records the version's semver and runtime OAuth settings for export, and the project and version the working copy holds. Pull, push and export refuse a working copy that holds another project or version than the config, as after the Unity asset's version changes outside the CLI, and say to run `neo branch switch <versionId>`. `neo branch switch` resets and pulls unless both the config and the working copy are on the target. It also runs when the Unity asset has no version selected, as after picking a project in the Neo Compose window; every other command says to run it.
9
+ - `neo login` no longer requests the `unity:export` scope.
10
+
11
+ ## [0.68.4] - 2026-10-05
12
+
13
+ - An empty header base clause such as `class Child(string name) : Base() { Name = name } {}` uses the base's member initializers when its declared constructors require arguments. The base block must settle remaining required members. Zero-argument and fully defaulted base constructors still run; required base constructors and declared `: base()` calls still require valid arguments. Fixes [#1186](https://github.com/ryanbliss/neo-compose/issues/1186). Use SDK 0.57.4 for matching Unity runtime behavior.
14
+
3
15
  ## [0.68.3] - 2026-10-05
4
16
 
5
17
  - `neo push --dry-run` preserves valid authored UUID-v4 IDs on new nested member and dictionary values, including values named by local declarations. Previously, verification dropped the ID and failed with an internal "has no pending id assignment" error. Status and push report malformed new member-value IDs at the annotation, name the affected `Class.Member`, and suggest removing `@id` or providing an unused UUID v4 ([#1189](https://github.com/ryanbliss/neo-compose/issues/1189)).
package/README.md CHANGED
@@ -103,7 +103,14 @@ snapshot.
103
103
 
104
104
  In Unity projects, `neo.json` may use `unityConfigPath` instead of storing
105
105
  `projectId` and `versionId`. The referenced `NeoComposeConfig.asset` then owns
106
- those IDs and receives branch/version switches.
106
+ those IDs and receives branch/version switches. `neo export` writes into that
107
+ Unity project; without `unityConfigPath`, it offers to link the config asset
108
+ for this project it finds in the Unity project around the working copy.
109
+
110
+ Pull, push, and export refuse a working copy whose pulled project or version
111
+ differs from the config's, which happens when the asset changes outside the
112
+ CLI. Run `neo branch switch <versionId>` to reset and pull the config's
113
+ version.
107
114
 
108
115
  ### Organize source locally
109
116
 
@@ -495,7 +502,7 @@ authorization boundary.
495
502
  | `release` | Cut, publish, archive, or restore releases. |
496
503
  | `channel` | Manage release channels. |
497
504
  | `history` | Inspect and deliberately rewrite retained history. |
498
- | `export unity` | Export the runtime Unity projection. |
505
+ | `export [--unity-project <dir>]` | Write the pulled head into a Unity project, offline. |
499
506
 
500
507
  With the deliberate exception of `neo loc`, content authoring goes through
501
508
  tracked native source and `neo push`. Localization commands can mutate