Repository navigation
v0.6.0
Reads one-byte type tree arrays as compact byte arrays, so large byte vectors such as 20-45 MB Live2D CubismMoc data now read and export as JSON. The Rust API of unity-rs-core changes; Python, Node and CLI signatures do not.
⚠️ Breaking changes
TypeValueis now#[non_exhaustive]and has a newTypeValue::ByteArray { element, bytes }variant. One-byteUInt8,SInt8andcharvectors (for example Live2DCubismMoc._bytesandFont.m_FontData) are read asByteArrayinstead of anArrayof per-byte values. Add a_ =>arm to exhaustive matches, and matchByteArrayor useas_bytes()where you expected anArray. See the migration notes. (#37)TypeTreeReadLimitshas a new field,maximum_byte_array_bytes(default 256 MiB). Struct literals without..TypeTreeReadLimits::default()no longer compile; add the field or the spread. (#37)- Budgets charge each container slot once and byte arrays by their length, so a hand-tuned
maximum_materialized_bytesadmits about twice as much element-wise data; re-derive it if you used it as an element cap. Byte arrays count as one value and are bounded bymaximum_byte_array_bytesinstead ofmaximum_array_elements; set it if you relied on those limits to refuse long byte vectors. The refusal messages for oversized byte vectors changed. (#37)
Changed
- On every surface (CLI, Python, Node), objects that 0.5 refused because of a large byte vector now read and export as JSON. JSON and dump output is byte-identical for every object 0.5 already read. (#37)
Upgrade notes
- A 45 MB moc becomes about 160 MB of compact or 386 MB of pretty JSON. Python
read_type_tree_json/read_mono_behaviour_jsonand export JSON budgets default to 256 MiB, and export is pretty by default, so use compact output (--compact-json) or raise the output budget for such objects. NodereadTypeTreeJsondefaults to 512 MiB. (#37)
Artifacts
- Python:
unity-rs0.6.0 on PyPI (cp39-abi3wheels for six platforms and an sdist). - Rust:
unity-rs-coreandunity-rs-cli0.6.0 on crates.io. - CLI archives (
unity-rs-cli-0.6.0-<platform>) and Node.js addon packages (unity-rs-node-0.6.0-<platform>.tgz) for Linux, macOS and Windows on x64 and arm64: attached below, with checksums inSHA256SUMS-v0.6.0.txt.
Maintenance
- Bump the workspace version to 0.6.0. (#38)
Full Changelog: v0.5.5...v0.6.0