# inconshreveable/go-update

Build self-updating Golang programs

Repository: https://github.com/inconshreveable/go-update
Canonical: https://ross.abutalabs.com/products/go-update
Language: Go
License: NOASSERTION
License Family: other
Last push: 2022-06-24T10:20:58+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4799, "days_push": 1531, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2271, forks 255 (observed 2026-08-28T04:06:33.136812+00:00)

## What it is
A Go library that lets programs update themselves by safely replacing their own executable file with a new version. It supports checksum verification, code signing, binary patching, and works cross-platform including Windows.

## Use cases
- make my Go CLI auto-update itself
- implement self-updating desktop application in Go
- verify code signature before applying a binary update
- apply binary patches instead of full downloads
- update an arbitrary single file from a URL safely

## When to choose
- you ship a single-file Go binary that needs in-place self-updates
- you need secure update application with checksum or signature verification
- you want to build your own updater UX on top of a low-level library

## When to avoid
- you want a full hosted update service with channels and metrics (use equinox.io or similar)
- you need to update multi-file applications or plugins
- you need a library with frequent maintenance and modern Go module practices

## Facets
- artifact type: library
- maturity: maintenance
- function: deployment, security, cryptography
- domain: developer-tools, cross-platform
- platform: windows, cross-platform, go
- tags: self-update, binary-patching, code-signing, go-library, automation, linux, macos

## Member repositories
- inconshreveable/go-update (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:33.136812+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:41:48.184880+00:00, confidence not recorded.
  - readme: https://github.com/inconshreveable/go-update (fetched 2026-08-28T04:06:33.136812+00:00, sha 124215ee8fe2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
