r2Vault includes a built-in auto-update system that checks for new releases on GitHub and allows in-app installation.Documentation Index
Fetch the complete documentation index at: https://docs.r2vault.app/llms.txt
Use this file to discover all available pages before exploring further.
GitHub Releases Integration
The update system fetches release information from the GitHub API:UpdateService.swift:32-51
The update check uses
.reloadIgnoringLocalCacheData to ensure you always get the latest release information.Release Model
The GitHub release data structure includes all necessary information:UpdateService.swift:3-30
Tag Name
Version number (e.g., “v1.2.3”)
HTML URL
Link to the release page on GitHub
Body
Release notes and changelog
Assets
Downloadable files (.dmg installer)
Version Comparison
Versions are compared using numeric comparison to handle multi-digit version numbers correctly:UpdateService.swift:43-48
Check for Updates (Manual and Automatic)
The app checks for updates on startup and can be triggered manually:AppViewModel.swift:637-659
Update Status States
The app tracks the update check status:AppViewModel.swift:51-63
Automatic checks on startup only show the update sheet when a new version is available. Manual checks always show the sheet, even if you’re already up to date.
Automatic Startup Check
The app automatically checks for updates when it launches:AppViewModel.swift:133-136
This happens silently in the background. You’ll only see a notification if a new version is available.
In-App Download and Install
When an update is available, the app presents an update sheet with:- Current version vs. new version
- Release notes from GitHub
- Download button linking to the .dmg file
- “View on GitHub” link for full release details
dmgDownloadURL property automatically finds the DMG installer:
UpdateService.swift:17-19
Manual Update Check
You can manually check for updates from the app menu:- Click “r2Vault” in the menu bar
- Select “Check for Updates…”
- The update check runs and displays the result
Update Frequency
The app currently checks for updates:- On launch (automatic, silent unless update available)
- On demand (via menu bar “Check for Updates…” command)
There is no background auto-update daemon. The app only checks when it’s running.
GitHub Release Requirements
For the auto-update system to work, GitHub releases must:- Use semantic versioning tags (e.g.,
v1.2.3) - Include a
.dmgfile as a release asset - Be marked as “Latest Release” on GitHub
Error Handling
Update check failures are captured and reported:AppViewModel.swift:654-657
- Network connection unavailable
- GitHub API rate limit exceeded
- Invalid JSON response
- No .dmg asset found in release
Privacy and Security
What data is sent to GitHub?
What data is sent to GitHub?
Only a standard HTTPS GET request to the GitHub API. No personal information or telemetry is transmitted.
Is the DMG download secure?
Is the DMG download secure?
The DMG is downloaded directly from GitHub Releases over HTTPS. The download URL is authenticated by GitHub’s SSL certificate.
Can I disable auto-update checks?
Can I disable auto-update checks?
Currently, the app always checks on launch. You can skip installing updates by dismissing the update sheet.
How is the DMG verified?
How is the DMG verified?
The DMG should be code-signed by the developer. macOS Gatekeeper verifies the signature when you open the installer.
Open Source Releases
All r2Vault releases are open source and published on GitHub:r2Vault Releases
View all releases, changelogs, and download previous versions
Related Features
Installation
Install r2Vault for the first time
Configuration
Set up your R2 credentials