# Auto-Updater {#auto-updater}


Desktop applications include automatic update functionality via `electron-updater`.


## How It Works {#how-it-works}






```mermaid
graph LR
    A["App Startup"] --> B["Check for Updates"]
    B --> C["Download Update"]
    C --> D["User Prompted"]
    C --> E["Background Download"]
    D --> F["Install & Restart"]
    E --> G["Install on Quit"]
```






## Update Sources {#update-sources}


| Source              | Configuration                  |
| ------------------- | ------------------------------ |
| **GitHub Releases** | Default — checks repo releases |
| **Custom Server**   | Self-hosted update server      |
| **S3 Bucket**       | AWS S3 with update metadata    |


## Configuration {#configuration}



### GitHub Releases {#github-releases}


```json
// electron-builder.yml
publish:
  provider: github
  owner: ever-co
  repo: ever-gauzy
```


### Custom Server {#custom-server}


```json
publish:
  provider: generic
  url: https://updates.yourdomain.com
```


## Update Process {#update-process}


1. **Check** — polls update server on startup and periodically
2. **Download** — downloads update package in background
3. **Verify** — validates checksum and signature
4. **Prompt** — notifies user of available update
5. **Install** — applies update (may require restart)


## Code Signing {#code-signing}


Updates require code-signed builds to pass OS security:

| Platform | Signing                           |
| -------- | --------------------------------- |
| Windows  | Authenticode certificate (.pfx)   |
| macOS    | Apple Developer ID + notarization |
| Linux    | Not required (AppImage)           |


## Version Strategy {#version-strategy}


Semantic versioning: `MAJOR.MINOR.PATCH`

Pre-release channels:

- `latest` — stable releases
- `alpha` — pre-release builds


## Related Pages {#related-pages}


- [Desktop Overview](https://sourcey-gauzy.pages.dev/desktop/desktop-overview/index.md)
- [Desktop Builds](https://sourcey-gauzy.pages.dev/desktop/desktop-builds/index.md) — building releases
- [GitHub Actions](https://sourcey-gauzy.pages.dev/deployment/ci-cd/github-actions/index.md) — CI for releases
