feat: the admin Overview shows who is listening, downloads, the library and its disk, and the server's version, uptime and recent errors; a download waiting on you, a client not answering or a full disk count in its verdict (M504 #5627 #5628 #5629 #5630)
release / govulncheck (push) Successful in 17s
release / web (push) Successful in 1m35s
release / go (push) Successful in 2m0s
release / integration (push) Successful in 5m40s
release / android (push) Successful in 6m15s
release / Build signed APK (releases and dev) (push) Successful in 6m30s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 25s
release / Verify release artifacts (tag releases only) (push) Skipped

The version moves to internal/buildinfo, so /rest/ping reports the build
instead of "dev".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-11 14:51:41 -04:00
co-authored by Claude Opus 5.5
parent ead0abf0cf
commit c1305a547d
22 changed files with 1148 additions and 38 deletions
+3 -4
View File
@@ -7,6 +7,8 @@ import (
"io"
"net/http"
"strings"
"git.fabledsword.com/bvandeusen/minstrel/internal/buildinfo"
)
// APIVersion is the Subsonic REST version we advertise. 1.16.1 is the last
@@ -18,9 +20,6 @@ const (
XMLNS = "http://subsonic.org/restapi"
)
// ServerVersion identifies this build. Overwritten by cmd/minstrel at startup.
var ServerVersion = "dev"
// Envelope holds the attributes present on every Subsonic response. Concrete
// response types embed it and add endpoint-specific fields with json+xml tags.
type Envelope struct {
@@ -48,7 +47,7 @@ func NewEnvelope(status string) Envelope {
Status: status,
Version: APIVersion,
Type: ServerType,
ServerVersion: ServerVersion,
ServerVersion: buildinfo.Version,
OpenSubsonic: true,
}
}