wharfy 0.20.0 — say more in latest.json

Declare what you want in latest.json

The file your update check reads could only say which version is newest. An app that keeps data on disk also has a data format version, and knows the oldest app version that can read it — but there was nowhere to put that. So an old copy could not name a version, and fell back to “please reinstall the latest”.

Whatever you write in wharfy.yaml now rides along:

latest_json:
  extra:
    store_format: 3
    min_app_version: "1.4.0"
{
  "version": "1.4.0",
  "notes_url": "https://github.com/acme/demo/releases/tag/v1.4.0",
  "assets": { "macos-arm64": "…", "linux-x64": "…" },
  "extra": {
    "store_format": 3,
    "min_app_version": "1.4.0"
  }
}

A typo is refused, by name

The one rule is that it has to be JSON. YAML lets you write a key that is not a string; wharfy will not quietly drop it.

$ wharfy config
✗ wharfy.yaml is invalid (showing inferred config)
  ! config_invalid: wharfy.yaml: latest_json.extra.schema: key 1 is not a string (latest.json is JSON: object keys must be strings)
    fix wharfy.yaml; see schemas/wharfy.config.json for known keys

Dropped quietly, the declaration would just be gone and nobody would notice.

Fixed (0.20.1)

Getting it

brew upgrade wharfy / scoop update wharfy / go install github.com/ShiroDoromoto/wharfy/cmd/wharfy@latest. On Linux, from the apt / yum repo.