---
title: Publishing Updates
index: 11
---

# Publishing Updates

## Release Workflow

- Standalone binaries are published as `Spacedrive-{Format}-{Target Triple}.zip`
- Updater binaries are published as `Spacedrive-Updater-{Target Triple}.zip`

## Desktop Update API

- Available at `/api/releases/tauri/[version]/[target]/[arch]`
- Version should be specified via `[version]` or overridden in `X-Spacedrive-Version`
  - Exact versions should be specified as semantic versions, eg `0.1.0`, `1.0.0-alpha.1`
  - Release channels `stable` and `alpha` can also be specified
    - `alpha` will look for tags that contain the string `alpha`
    - `stable` will look for the release marked as `Latest Release`
- Looks for assets named `Spacedrive-Updater-{Target}-{Arch}.{Extension}`
  - `Target`: `darwin`, `linux`, `windows`
  - `Arch`: `x86_64`, `aarch64`
- Returns `TauriResponse`

## Desktop Download API

- Available at `/api/releases/desktop/[version]/[target]/[arch]`
- Same version semantics as Desktop Update API
- Looks for assets starting with `Spacedrive-{Target}-{Arch}` to allow for extensions like `.dmg`, `.AppImage` and `.msi`
- Returns a redirect as it's intended to be invoked via `<a>` elements

## Publishing a Release

- Create tag that follows semver, eg. `0.1.0`, `1.0.0-alpha.1`
- Update version number in `apps/desktop/src-tauri/Cargo.toml`
- Create release - name does not matter, only the tag
- Add assets that match the names expected by the Desktop Updater and Downloader APIs
- Publish release :)
