Skip to content

feat: add auto-upgrade system with /upgrade command#2

Merged
dayanstef merged 1 commit intomainfrom
feature/auto-upgrade
Feb 4, 2026
Merged

feat: add auto-upgrade system with /upgrade command#2
dayanstef merged 1 commit intomainfrom
feature/auto-upgrade

Conversation

@dayanstef
Copy link
Copy Markdown
Member

Add automatic version checking and upgrade capability:

  • Check for updates on startup (async, non-blocking)
  • Detect install method (Homebrew, go install, curl script)
  • /upgrade command with subcommands (check, now, skip, changelog, status)
  • Skip versions user doesn't want to install
  • Configurable via upgrade.auto_check in config

New package: internal/upgrade/

  • types.go: ReleaseInfo, UpgradeState, CheckResult
  • checker.go: GitHub API version checking
  • installer.go: Binary download and installation
  • checker_test.go: Unit tests for version comparison

Description

Brief description of what this PR does.

Related Issue

Fixes #(issue number) or Related to #(issue number)

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)

How Has This Been Tested?

Describe the tests you ran:

  • Tested locally with Ollama
  • Added/updated unit tests
  • Tested on macOS
  • Tested on Linux

Checklist

  • My code follows the project style guidelines
  • I have performed a self-review of my code
  • gofmt -s -l . shows no files (code is formatted)
  • go vet ./... passes
  • make test passes
  • make build succeeds
  • I have updated documentation if needed
  • My changes generate no new warnings

Add automatic version checking and upgrade capability:
- Check for updates on startup (async, non-blocking)
- Detect install method (Homebrew, go install, curl script)
- /upgrade command with subcommands (check, now, skip, changelog, status)
- Skip versions user doesn't want to install
- Configurable via upgrade.auto_check in config

New package: internal/upgrade/
- types.go: ReleaseInfo, UpgradeState, CheckResult
- checker.go: GitHub API version checking
- installer.go: Binary download and installation
- checker_test.go: Unit tests for version comparison
@dayanstef dayanstef self-assigned this Feb 4, 2026
@dayanstef dayanstef merged commit 7b693dc into main Feb 4, 2026
4 checks passed
@dayanstef dayanstef deleted the feature/auto-upgrade branch February 4, 2026 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant