# Upgrade Guide — v0.13.0

<!-- bump: patch -->
<!-- Valid values: patch, minor, major -->
<!-- patch = bug fixes, refactors, test additions, doc updates -->
<!-- minor = new features, new APIs, new capabilities (backwards-compatible) -->
<!-- major = breaking changes to existing APIs or behavior -->

## What Changed

**Bug fix: WhatsApp stall detector wasn't clearing on agent response.** When the agent sent a reply via WhatsApp, the stall tracker wasn't notified. This meant the 5-minute "no response" timer kept running even after the agent had already replied, generating false alerts. Added `clearStallForChannel()` call in WhatsAppAdapter's `send()` method, matching TelegramAdapter's existing behavior.

**Bug fix: Multiple pending messages caused duplicate stall alerts.** If a user sent several messages quickly, each created a separate pending entry. When the timeout fired, ALL of them triggered separate "no response" notifications. Added per-channel deduplication in `StallDetector.check()` so only one alert fires per channel per check cycle.

3 new tests covering per-channel deduplication scenarios.

## What to Tell Your User

- **Stall notifications fixed**: "No more false 'no response' alerts — you'll only see them when the agent is genuinely stuck, not after it already replied."

## Summary of New Capabilities

| Capability | How to Use |
|-----------|-----------|
| Accurate WhatsApp stall detection | Automatic — no action needed |
| Per-channel alert deduplication | Automatic — applies to all platforms |
