# Upgrade Guide — v0.12.8

<!-- bump: patch -->

## What Changed

Three fixes targeting notification spam from the update loop and lifeline:

**1. Update Loop Breaker (AutoUpdater)**
If `lastAppliedVersion` matches the detected latest version, the auto-updater now skips re-applying the update. This breaks the update→restart→detect→update loop that occurred when the restarted server's binary path didn't match the globally installed version (e.g., npx cache vs global install). A one-time notification is sent explaining the mismatch.

**2. Restart Notification Dedup (AutoUpdater)**
The "Just updated to vX" notification now only fires once per version, not on every restart attempt. Prevents the wall of identical "Just updated to v0.12.7. Restarting to pick up the changes." messages.

**3. Lifeline Notification Rate Limiting (TelegramLifeline)**
"Server went down: Health check failed" notifications are rate-limited to one per 30 minutes. Subsequent occurrences within the window are suppressed and counted. When the rate limit expires and a new alert fires, it includes the count of suppressed notifications.

## What to Tell Your User

- **Quieter updates**: "The server no longer spams notifications when updating. You'll see one update message, and if something goes wrong with the restart, one lifeline alert — not dozens."

## Summary of New Capabilities

| Capability | How to Use |
|-----------|-----------|
| Update loop prevention | Automatic — no more repeated update-restart cycles |
| Restart notification dedup | Automatic — one notification per version |
| Lifeline rate limiting | Automatic — max one "server down" alert per 30 minutes |
