diff --git a/index.html b/index.html
index f7e9f9c..f66b2ab 100644
--- a/index.html
+++ b/index.html
@@ -28,6 +28,20 @@
Stout Releases
+
+
+- document wildcard ingress upgrade behavior
+
+Existing installs should mostly auto-heal after upgrading because Stout
+reconciles stored domain ingresses on startup and reapplies the current
+wildcard/external-dns behavior.
+No manual action is needed if the desired domains already exist in Stout.
+If an install expects both a wildcard and its root domain, both domains must
+exist in Stout so external-dns can be updated for the pair.
+The new wildcard root-domain behavior is now controlled by a system setting.
+Admins should review that setting after upgrade if they want wildcard-only
+behavior or wildcard+root behavior for future reconciliations.
+
- add system-level wildcard ingress domains
diff --git a/releases.json b/releases.json
index 5a8fcb8..1f5027f 100644
--- a/releases.json
+++ b/releases.json
@@ -1,4 +1,11 @@
[
+ {
+ "tag_name": "v0.12.1",
+ "html_url": "https://git.thokra.dev/thokra/stout-releases/raw/branch/main/index.html#v0.12.1",
+ "prerelease": false,
+ "published_at": "2026-04-22T00:00:00Z",
+ "body": "- document wildcard ingress upgrade behavior\n\nExisting installs should mostly auto-heal after upgrading because Stout\nreconciles stored domain ingresses on startup and reapplies the current\nwildcard/external-dns behavior.\n\nNo manual action is needed if the desired domains already exist in Stout.\nIf an install expects both a wildcard and its root domain, both domains must\nexist in Stout so external-dns can be updated for the pair.\n\nThe new wildcard root-domain behavior is now controlled by a system setting.\nAdmins should review that setting after upgrade if they want wildcard-only\nbehavior or wildcard+root behavior for future reconciliations."
+ },
{
"tag_name": "v0.12.0",
"html_url": "https://git.thokra.dev/thokra/stout-releases/raw/branch/main/index.html#v0.12.0",