Import with #import "std/update".
Artifact :: struct { url: [512]u8; sha256: [65]u8; size: s64; available: bool; }Release metadata and version decisions are portable. Downloading and installing an artifact remain explicit host operations.
Appcast :: struct { version: [32]u8; notes_url: [512]u8; artifact: Artifact; valid: bool; }CompareVersions :: (left: string, right: string) -> s32ParseAppcast :: (json: string, channel: string) -> AppcastSelect one channel from the release manifest. A missing channel still yields a valid appcast: package-managed installs show the release page.