output-worker/v1.0.4

hook0/hook0output-worker/v1.0.4Aug 5, 2026by hook0-bot

AI Summary

Adds observability features and fixes concurrency issues in Pulsar mode, ensuring proper message acknowledgments to the broker.

Key Highlights

  • Spike/backlog alerts + worker lag & outcome metrics
  • Fix: avoid processing the same request attempt several times concurrently in Pulsar mode
  • Fix: make sure Pulsar messages are ACKed by the broker

New Features

  • Spike/backlog alerts
  • Worker lag metrics
  • Fix concurrent Pulsar processing
  • Fix Pulsar message ACKs

Full Release Notes

## output-worker/v1.0.4

- chore(release): bump output-worker to 1.0.4
- chore(release): bump output-worker to 1.0.3
- feat(observability): spike/backlog alerts + worker lag & outcome metrics
- feat(output-worker): increase delay tolerance and improve log message
- chore: update dependencies
- feat: add service.instance.id OTel resource attribute
- feat(output-worker): sample free concurrency slots for logs and OTel
- feat(output-worker): resolve targets with a shared caching async DNS resolver
- refactor(output-worker): extract and bound Pulsar send helpers
- chore: update dependencies
- feat(output-worker): promote trace to warn
- chore: update dependencies
- fix(output-worker): target IP security
- chore: update dependencies
- feat: improve amounts/durations in log messages
- chore: update dependencies
- fix: improve behavior in case of object storage issues
- chore: regen sqlx offline data
- refactor: avoid rebuilding OT meters everytime
- chore: update dependencies
- feat(output-worker): improve loading request attempts from DB
- refactor(output-worker): promote a trace log to a warn
- chore(release): bump output-worker to 1.0.2
- fix(ci): opt cli/play/mcp into cargo-release + serialize trigger jobs
- chore(output-worker): disable Pulsar consumer stats by default as it still needs some work
- feat(ci): per-package release flow + monorepo tag convention
- chore: update dependencies
- refactor(output-worker): use a struct instead of a tuple
- fix: make sure Pulsar messages are ACKed by the broker
- fix(output-worker): avoid processing the same request attempt several times concurrently in Pulsar mode

## Docker images

- `hook0/hook0-output-worker:1.0.4` (DockerHub)
- `ghcr.io/hook0/hook0-output-worker:1.0.4` (GHCR)
- `registry.gitlab.com/hook0/hook0/hook0-output-worker:1.0.4` (GitLab)