Skip to content

unityz 0.1.3

Choose a tag to compare

@github-actions github-actions released this 04 Sep 15:21
· 185 commits to main since this release
b7ee8db

CLI contract release. Every command now shares one exit-code and output
contract, so scripts can branch on the status without parsing text.

Added

  • trees command: exports the type trees embedded in a bundle, WebFile, or
    serialized file as a --trees JSON table, MonoBehaviour trees keyed by
    their script via the container's MonoScripts (#146).
  • diff --trees decodes typeless Mono objects for --fields (#143).
  • Directory --json batches wrap each file's output as
    {"file":...,"results":[...]}, with "error" on a failing member (#140).
  • show accepts --json as 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).
  • extract on a bundle or WebFile extracts the assets inside its nodes by
    default; --recursive is accepted as a no-op (#148).
  • Batch extract and fsb write each input under <outdir>/<file name>/
    so bundles sharing node names cannot overwrite each other (#141, #145).
  • edit --out and trees --out are 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 diff stopped after the first matched file and ignored
    --fields (#139).
  • verify --path-id N on a missing object reported success (#142).
  • edit --patch silently dropped entries naming missing objects on bundles
    and WebFiles; the patch now fails before writing (#150).
  • unityz --version reported 0.1.1 while the package declared 0.1.2; the
    version is now derived from build.zig.zon (#144).
  • managed exited 0 with no assemblies found or an unparseable assembly
    (#151).