Add an index of all known features.

This helps avoid incorrect behavior on typos and notifies end users
that a feature has been stabilized and removed. It also helps us avoid
reusing feature names by accident.
This commit is contained in:
Catherine
2026-05-28 11:58:19 +00:00
parent 3efb332351
commit 6e232b5229
+17
View File
@@ -40,6 +40,23 @@ func configureFeatures(ctx context.Context) (err error) {
if len(config.Features) > 0 {
logc.Println(ctx, "features:", strings.Join(config.Features, ", "))
}
for _, feature := range config.Features {
switch feature {
// Work-in-progress features:
case "preview", "existence-cache":
// Permanently unstable features:
case "codeberg-pages-compat", "relaxed-idna":
// Stabilized features:
case "archive-site", "audit", "compress", "patch", "serve-h2c":
logc.Printf(ctx, "feature %s has been stabilized", feature)
// Removed or renamed features:
case "h2c", "sentry-telemetry-buffer", "site-existence-cache", "domain-existence-cache":
logc.Printf(ctx, "feature %s has been removed", feature)
// Invalid features:
default:
return fmt.Errorf("unknown feature %q", feature)
}
}
return
}