@cloudflare/think@0.8.8
cloudflare/agents@cloudflare/think@0.8.8Jun 8, 2026by github-actions[bot]
AI Summary
A patch release fixing a bug where agents fired alarms every 30 seconds indefinitely when they did not use workflow notifications.
Key Highlights
- Fixes alarm firing loop for agents without workflow notifications
- Agents now correctly hibernate after the fix
- `_startWorkflowNotificationDrain()` now returns early when no notifications exist
New Features
- Bug fix for alarm behavior
- Improved hibernation behavior
Full Release Notes
### Patch Changes
- [#1705](https://github.com/cloudflare/agents/pull/1705) [`611e8c3`](https://github.com/cloudflare/agents/commit/611e8c3417b06ec6b284e38c4a1ba73730530a10) Thanks [@threepointone](https://github.com/threepointone)! - Fix Think agents firing an alarm every 30s forever when they don't use workflow notifications ([#1703](https://github.com/cloudflare/agents/issues/1703)).
`alarm()` called `_startWorkflowNotificationDrain()` unconditionally, which wrapped its work in `keepAliveWhile(...)`. Acquiring the keepAlive lease armed the 30s keepAlive heartbeat alarm even though there was nothing to drain, and releasing the lease did not pull the alarm back — so the DO re-scheduled itself every 30s and never hibernated.
`_startWorkflowNotificationDrain()` now returns early when there are no pending notifications, matching its other call sites. Affected DOs self-heal on their next alarm fire after upgrading: `super.alarm()` reschedules to the next legitimate task (or clears the alarm entirely) and the drain no longer re-arms the heartbeat.