This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryFixed self‑loop in segment recompute trigger and ensured timeout timestamps are stored as UTC.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Bugfix | Medium |
Trigger short-circuits on segment membership events in queue_contact_for_segment_recomputation migration v31.0. Trigger short-circuits on segment membership events in queue_contact_for_segment_recomputation migration v31.0. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
Recurring tasks via HTTP now write timeout_after in UTC. Recurring tasks via HTTP now write timeout_after in UTC. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Bugfix | Medium |
GetWorkspaceConnection health check uses isolated context for pool.PingContext. GetWorkspaceConnection health check uses isolated context for pool.PingContext. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
Full changelog
Database Schema Changes
- Migration v31.0 updates the
queue_contact_for_segment_recomputationtrigger function on every workspace database to short-circuit when the insertedcontact_timelinerow is itself a segment membership event (kind IN ('segment.joined', 'segment.left')).
Fixes
- Fix:
queue_contact_for_segment_recomputationtrigger no longer re-enqueues contacts when the insertedcontact_timelineevent is itself a segment membership change (segment.joined/segment.left). Removes a self-loop where every membership write re-queued the same contact. - Fix: Recurring tasks dispatched via HTTP now write
timeout_afterin UTC. The column isTIMESTAMP WITHOUT TIME ZONEand the scheduler compares it againsttime.Now().UTC(); on non-UTC hosts the local-time value caused the task to appear "still running" for the host's UTC offset. Same fix applied to the broadcast-pausenext_run_after. - Fix:
GetWorkspaceConnection's pool health check now uses an isolated context forpool.PingContextinstead of the caller's. A caller-context cancellation no longer triggers pool eviction.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Beta — feedback welcome: [email protected]