In-app update modal with real-time download progress bar, version info, and release notes — replaces silent native dialogs
Update states clearly visible: checking, available, downloading (with MB counter), installing, ready to restart
Restart Now button after successful install — no more guessing if the update worked
Error state links to crabpad.app/contact for easy bug reporting
Install via brew install --cask LukaszOleniuk/tap/crabpad — bypasses Gatekeeper, no manual xattr needed
Cask auto-updated on each release via CI/CD