unityz 0.1.3
CLI contract release. Every command now shares one exit-code and output
contract, so scripts can branch on the status without parsing text.
Added
treescommand: exports the type trees embedded in a bundle, WebFile, or
serialized file as a--treesJSON table, MonoBehaviour trees keyed by
their script via the container's MonoScripts (#146).diff --treesdecodes typeless Mono objects for--fields(#143).- Directory
--jsonbatches wrap each file's output as
{"file":...,"results":[...]}, with"error"on a failing member (#140). showaccepts--jsonas a no-op, so scripts can pass the flag uniformly
(#142).- Tag-driven release workflow, this changelog, and prebuilt Linux x86_64 and
macOS arm64 binaries on each GitHub Release.
Changed
- Usage errors (unknown flag, missing argument, malformed id) exit 2; read,
decode, and check failures exit 1; the diagnostic always goes to stderr and
a failing run writes nothing to stdout (#139, #141, #148, #151). - A file that is not a Unity asset is an error for every command instead of
a per-command empty success (#140). extracton a bundle or WebFile extracts the assets inside its nodes by
default;--recursiveis accepted as a no-op (#148).- Batch
extractandfsbwrite each input under<outdir>/<file name>/
so bundles sharing node names cannot overwrite each other (#141, #145). edit --outandtrees --outare rejected over a directory instead of
overwriting one output file (#147).- Every CLI flag is documented in README.md and docs/features.md (#149).
Fixed
- Directory
diffstopped after the first matched file and ignored
--fields(#139). verify --path-id Non a missing object reported success (#142).edit --patchsilently dropped entries naming missing objects on bundles
and WebFiles; the patch now fails before writing (#150).unityz --versionreported 0.1.1 while the package declared 0.1.2; the
version is now derived frombuild.zig.zon(#144).managedexited 0 with no assemblies found or an unparseable assembly
(#151).