Skip to content

← All releases

v0.11.0

0.11.0 — 2026-09-11

On a real estate, alerting sent 40 Slack messages in one day about roughly six situations, and only one of them needed anyone to act. Eleven of the 40 announced recoveries that hadn’t happened. The detector was mostly right; the problem was what it notified about. It sent one message per queue every time a threshold was crossed. Nobody cares that subscription #6 crossed a line at 17:52. They care that a namespace has been degrading since 14:36.

One incident, not a stream of transitions

  • Alerts group into incidents per namespace. Whatever fires in a namespace joins one open incident, across monitored sets. A backlog alert and a dead-letter alert on the same subscription, from two different sets, are one incident now, not two.
  • It speaks when something changes. It sends a message when the incident opens, when another rule joins it, and when a count doubles since the last message sent. In between it stays quiet. When every member has recovered it closes, and says so if you’ve asked to be told about resolutions.
  • No more false all-clears. A dead-letter alert only counts as recovered once the dead-letter count is back to where it was before the incident started. Previously, ”✅ Resolved” went out four times while a dead-letter queue climbed from 0 to 1,021. When arrivals stop but the backlog stays, the incident stays open and silent. It never gets a green checkmark.
  • Backlog alerts need a backlog that’s growing. A queue that peaked an hour ago and has been draining since no longer fires a “piling up” alert.

Webhooks follow your notification rules

  • Cooldown and resolve settings now apply to webhooks. They only ever gated the desktop toast, so the desktop stayed quiet while Slack got everything. The monitoring dashboard is still ungated — it’s the full record.
  • Numbers group their thousands in webhook messages (51,115, not 51115), as toasts always did.
  • For anyone parsing the payload: event gains incident_opened, incident_escalated and incident_closed, and the v1 envelope gains an optional incident object. Per-alert payloads are byte-for-byte unchanged.

Desktop notifications are still per alert. Each one names the queue, which is what makes it clickable.

Fixes

  • The viewbus link in an alert opens the app. The viewbus:// link handler was never actually registered, so the “viewbus” link in a Slack or Discord alert only ever reached the download page. It now opens viewbus on that queue. On a machine without viewbus it still offers the download.

All local-first as always. Update via the in-app updater or grab a fresh installer from viewbus.app — your settings, themes, monitored sets, and stored connections carry over untouched.

Download v0.11.0 →