go-update
Build self-updating Golang programs
...It lets an application replace its own executable with a newer version while keeping update logic inside the program. The package supports different update experiences, including automatic background updates and user-triggered manual updates. It also includes advanced capabilities such as binary patching, checksum verification, and code-signing verification for safer updates. go-update is useful for developers distributing Go binaries who want users to stay current without manually downloading every release. It is especially relevant for CLI tools, desktop helpers, agents, and long-running utilities that need controlled, secure update behavior.