Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [0.9.5] 2025-11-07
### Fixed
- Fix macOS postinstall script where it was not properly handling the `--scan-root` argument.
- **macOS**: Complete auto-update implementation - now properly mounts DMG, copies app bundle to /Applications, clears quarantine, and restarts
- **macOS**: Complete auto-update implementation - extracts binary from DMG and uses go-update for atomic replacement
- **Windows**: Fix critical file locking bug by integrating go-update library for proper binary replacement
- **Linux**: Implement staging directory approach with atomic binary swap on startup
- **Linux**: Use go-update library for atomic binary replacement with automatic rollback
- Add ELF binary verification for Linux updates to prevent corrupted downloads

### Changed
- macOS updates use rsync for atomic installation with fallback to cp
- Windows updates properly handle running executable replacement
- Linux updates use `.next` staging file with atomic swap on next launch
- Improve error handling and logging throughout update process
- **All platforms now use go-update library** for consistent, reliable binary replacement
- macOS updates extract and replace just the binary inside .app bundle (simpler and more reliable)
- Windows and Linux updates also use go-update for atomic operations
- Linux auto-updates now detect webkit version (webkit40/webkit41) based on distro version
- All platforms have automatic rollback on update failure built into go-update
- Significantly simplified update code by using proven library instead of custom approaches

## [0.9.4] 2025-11-06
### Changed
Expand Down
6 changes: 6 additions & 0 deletions backend/service/update_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,10 @@ type UpdateService interface {

// SetContext sets the context for the service
SetContext(ctx context.Context)

// VerifyUpdateSuccess checks if an update completed successfully and cleans up backup
VerifyUpdateSuccess() error

// CheckForFailedUpdate checks if the previous update failed and performs rollback if needed
CheckForFailedUpdate() error
}
Loading
Loading