How it works
The app asks a server, often a JSON file or a feed on GitHub Releases, whether a newer version exists, downloads the installer or a patch, checks its signature and installs it, usually on the next restart. Electron offers electron-updater (from electron-builder) and a built-in autoUpdater based on Squirrel, plus a free update service for open-source apps on GitHub. Tauri has an updater plugin, and native Mac apps often use the Sparkle framework.
Signing is the part that cannot be skipped: an updater that installs whatever a server sends is a direct route for attackers, so Tauri requires, and Sparkle recommends, updates signed with a key only the developer holds, on top of HTTPS and code signing. Staged rollouts, where a new version reaches a small share of users first, limit the damage of a bad release. Apps from the Microsoft Store and the Mac App Store are updated by the store instead.
Related terms
More in Desktop apps
Shipping