The bundle suffix went through one rename I'd rather have done earlier: `.appc` / `.appcd` (legacy, schema-suffixed names that predated the project's identity) became `.app` (shipping single file) and `.appdev` (developer directory). Same week the directory inside a bundle moved from `Contents/MacOS` to `Contents/CopyCatOS`, with a `MacOS → CopyCatOS` symlink emitted for soft transition and slated to be removed after ABI freeze.
The trailer format for single-file `.app` landed: ELF stub plus an appended squashfs image plus a small trailer with the bundle id and squashfs offset. The launcher reads the trailer, mounts the squashfs read-only at runtime via squashfuse, runs the app under bwrap, and unmounts on exit. No suid helper. No CAP_SYS_ADMIN. No kernel-level mount. The format works on FAT32, exFAT, ext4, btrfs.
Cursors got rebuilt from the authoritative PSDs. The whole theme was reauthored at multiple densities so HiDPI doesn't mean upscaling a 16px cursor.