@neocompose/cli 0.54.1 → 0.56.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,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.56.0] - 2026-09-23
|
|
4
|
+
|
|
5
|
+
- `@storage(allowed: .Writable)` declares a member that is always writable at runtime and persists wherever its owner persists: Save under a Save parent, Session otherwise. NeoScript can write it through any receiver, including one read from Assets, and animation clips can target it. `neo pull` writes it back in the same form. Earlier CLIs fail on a project that uses it, so upgrade before pulling.
|
|
6
|
+
- `@storage(allowed: .Writable)` on a class requires every placement of the class to resolve to Save or Session.
|
|
7
|
+
- An override below a `.Writable` member may narrow it to `.Save` or `.Session`. Declaring `.Immutable` or `.Inherit` on it fails at the member's position and names the `.Writable` ancestor. `.Writable` on a static member also fails at its position. A `readonly` member under or declaring `.Writable` fails with the existing "Read-only field … requires resolved @storage(allowed: .Immutable)" error.
|
|
8
|
+
|
|
9
|
+
## [0.55.0] - 2026-09-23
|
|
10
|
+
|
|
11
|
+
- `@settings` before a `List` element or `Dictionary` value type configures the collection's entries, such as `List<@settings(format: .Plain) string>` or `Dictionary<string, @settings(min: 0) int>`. `neo pull` writes entry settings in this form. Switching entries between Localized and Plain converts every entry's text exactly as the same change on a string member does. Annotations on a Dictionary key, another generic's type argument, or an override's element type are reported at their position. Run `neo pull` before your first push so entry settings set in the web app appear in source.
|
|
12
|
+
- Changing an existing collection's element type, such as `List<string>` to `List<int>`, fails with an error. It used to be ignored: the push kept the old type without saying so.
|
|
13
|
+
- Switching a string member from Plain to Localized converts the values it already stores, including values packed inside their parent row. It used to fail with "Localized text … was not pulled" or "Localizable value references missing localized text".
|
|
14
|
+
- Switching a string member from Localized to Plain keeps packed values packed, so `neo status` is clean after the push.
|
|
15
|
+
- Adding a value beside packed children that link localized text, such as a new field on an item whose names are packed, no longer fails with "must reference an existing localized text id."
|
|
16
|
+
|
|
3
17
|
## [0.54.1] - 2026-09-22
|
|
4
18
|
|
|
5
19
|
- Variants with the same name in different folders, such as `Oak/Day1` and `Ash/Day1`, keep their own nested rows on push. Adding overrides to one of them no longer fails with "claims identity …, which another value created by this push already owns."
|