Skip to content

feat: implement auto-update mechanism #11

@pmqueiroz

Description

@pmqueiroz

Summary

Add an auto-update feature so the app can check for new releases and prompt the user to update without requiring manual downloads.

Motivation

Currently users have to manually check for new versions and download/install them themselves. An auto-update mechanism would significantly improve the user experience by keeping the app up to date automatically.

Proposed Behavior

  • On startup (or on a configurable interval), check the latest release against the current version
  • If a newer version is available, notify the user (e.g. a banner, dialog, or status message)
  • Optionally: allow the user to trigger the download and install from within the app
  • Optionally: support a background silent update mode that applies on next launch

Implementation Ideas

  • Query the GitHub Releases API (https://api.github.com/repos/pmqueiroz/nova/releases/latest) and compare the tag version against the compiled-in CARGO_PKG_VERSION
  • Use a crate like self_update or update-informer to handle version checking and binary replacement
  • Add a CLI flag like --check-update / --update for manual invocation
  • Respect a config option to disable auto-check for users who manage updates externally (package managers, etc.)

Acceptance Criteria

  • App checks for a new version on startup (can be disabled via config)
  • User is notified when a newer release is available
  • Update check does not block startup or degrade performance (async/background)
  • Works on all supported platforms (Linux, macOS, Windows)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions