40 lines
942 B
Markdown
40 lines
942 B
Markdown
# HTTP Manifest v1
|
|
|
|
The generic update provider uses a first-party JSON manifest.
|
|
|
|
Schema:
|
|
|
|
```json
|
|
{
|
|
"schemaVersion": 1,
|
|
"productID": "com.example.app",
|
|
"releases": [
|
|
{
|
|
"id": "1.2.0",
|
|
"version": "1.2.0",
|
|
"channel": "stable",
|
|
"publishedAt": "2026-03-01T03:10:56Z",
|
|
"notesMarkdown": "Bug fixes",
|
|
"artifacts": [
|
|
{
|
|
"os": "darwin",
|
|
"arch": "arm64",
|
|
"kind": "bundle-archive",
|
|
"format": "zip",
|
|
"url": "https://updates.example.com/app/1.2.0/darwin-arm64.zip",
|
|
"sha256": "..."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
Rules:
|
|
|
|
- `schemaVersion` must be `1`
|
|
- `productID` must match the running app descriptor
|
|
- `channel` is one of `stable`, `beta`, or `alpha`
|
|
- the provider picks the highest semver above the current version for the current `os` and `arch`
|
|
- artifact URLs are fetched with the adapter's per-provider request preparation hook
|