# Upgrade Guide — v0.28.3

<!-- bump: patch -->

## What Changed

- **activationChallenge forwarding**: The `/features/:id/transition` route handler now correctly forwards the `activationChallenge` field when transitioning feature states. Previously, the field was missing from the destructured request body and the `transition()` options, causing activation challenges to silently fail.

- **Slack session continuity**: Fixed an issue where Slack-connected sessions could lose context after compaction or recovery events. Sessions now properly restore their conversation state, preventing the "amnesia" behavior where the agent forgets the ongoing conversation.

- **Supervisor restart cascade prevention**: Added protection against runaway supervisor restart loops under high CPU load. The supervisor now tracks restart frequency and backs off exponentially when it detects a cascade pattern, preventing resource exhaustion.

- **Dashboard session names**: The dashboard now resolves session display names from Telegram topic names instead of showing raw session IDs, making it easier to identify which session is which.

- **Config path respect**: Sessions now properly honor `sessions.claudePath` and `sessions.tmuxPath` from config.json instead of always auto-detecting. This fixes environments where the auto-detected paths were wrong.

- **iMessage mention trigger**: Fixed handling of the `iMessage;-;` prefix in chatId detection so that mention trigger mode no longer incorrectly gates 1:1 conversations. Direct messages now always reach the agent regardless of mention settings.

## What to Tell Your User

- **"Feature activation should work more reliably now"**: If your user was having trouble with feature activation challenges not completing, that should be resolved. The system was accidentally dropping part of the activation handshake.

- **"Slack conversations should keep their context better"**: If your user noticed you forgetting things mid-conversation on Slack, that has been fixed. You will now maintain context even after internal recovery events.

- **"The system is more stable under heavy load"**: Under the hood, the restart behavior is smarter now. Your user does not need to do anything — things should just be more reliable.

## Summary of New Capabilities

| Capability | How to Use |
|-----------|-----------|
| activationChallenge fix | Automatic — feature transitions now forward all required fields |
| Slack session continuity | Automatic — sessions restore context after compaction/recovery |
| Supervisor stability | Automatic — cascade protection kicks in under high CPU |
| Config path respect | Set `sessions.claudePath` and `sessions.tmuxPath` in config.json |
| iMessage mention fix | Automatic — 1:1 DMs always reach the agent |
