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) -> s32
ParseAppcast :: (json: string, channel: string) -> Appcast

Select one channel from the release manifest. A missing channel still yields a valid appcast: package-managed installs show the release page.

Source ↗ · All modules