hook0
Alerting & IncidentsOpen-source webhook server that helps you provide webhooks to your users. It handles for you a great amount of features that are usually tedious to (re)implement.
Features
- Real‑time API and dashboard for managing webhooks
- JSON REST API with fine‑grained event subscriptions
- Auto‑retry of failed webhook deliveries and persistent logging
Recent releases
View all 11 releases →
mcp/v1.0.2
New feature
Notable features
- Added Hook0 MCP server for AI assistant integration
Full changelog
mcp/v1.0.2
- chore(release): bump mcp to 1.0.2
- chore(release): bump mcp to 1.0.1
- fix(ci): opt cli/play/mcp into cargo-release + serialize trigger jobs
- feat(ci): per-package release flow + monorepo tag convention
- chore: update dependencies
- chore: update dependencies
- test(cli): do not run tests with external dependencies by default
- chore: update dependencies
- chore: update dependencies
- chore: update dependencies
- chore: update dependencies
- chore: update dependencies
- chore: update dependencies
- chore: update dependencies
- ci: fix build
- chore: update dependencies
- chore: update to reqwest 0.13
- chore: update dependencies
- chore: avoid running MCP integration tests by default
- chore: update dependencies
- fix(frontend): convert SVG files from LFS to regular git files
- feat(mcp): add Hook0 MCP server for AI assistant integration
Install
cargo install [email protected]
play/v1.0.3
Breaking risk
Breaking changes
- Replaced Traefik IngressRoute with Kubernetes Ingress (kingress)
Notable features
- Web UI for webhook tester with Redis storage and cross-property navigation
- hook0 CLI providing full API coverage
Full changelog
play/v1.0.3
- chore(release): bump play to 1.0.3
- chore(release): bump play to 1.0.2
- chore(release): bump play to 1.0.1
- fix(ci): opt cli/play/mcp into cargo-release + serialize trigger jobs
- feat(ci): per-package release flow + monorepo tag convention
- chore: update dependencies
- ci: validate Dockerfile workspace coverage and migrate play.docker to BuildKit
- feat(website,docs): SEO comparison pages, glossary, schema markup
- fix(play): deploy job, smoke tests, E2E Playwright CI, auto-select first webhook, CLI link fix, pullPolicy fix
- feat(play): web UI for webhook tester + Redis storage + cross-property navigation
- chore(play): sort dependencies
- chore: update dependencies
- chore: update dependencies
- chore: update dependencies
- fix(play): replace Traefik IngressRoute with Kubernetes Ingress (kingress)
- chore: update dependencies
- feat(cli): add hook0 CLI with full API coverage
Docker image
registry.gitlab.com/hook0/hook0/play:1.0.3
output-worker/v1.0.2
Breaking risk
Notable features
- Add authentication for application endpoints
- Add a Cargo feature to use rustls-native-certs for outgoing HTTPS requests
- Add Hook0 MCP server for AI assistant integration (mcp)
Full changelog
output-worker/v1.0.2 - 2026-05-10
Added
- Use crate name as app name when connecting to PG
- Implement output worker
- Implement bounded linear retry delay
- Rewrite Sentry integration & use it in both apps
- Add authentication for application endpoints
- Store worker ID and version when processing
- Slow down or stop attempting requests after given numbers of retries
- Improve JWT claims extraction & update dependencies
- Use trust dns resolver and enable anyhow integration in Sentry
- Add more trace messages
- Sign webhook calls
- Improve the way event playload content types are handled
- Upsert response error names
- Add event type in webhook requests
- Add options to allow Sentry to trace and profile transactions
- Add a Cargo feature to use rustls-native-certs for outgoing HTTPS requests
- Add dedicated workers
- Allow to set default organization workers
- Allow to periodically send monitoring heartbeats (output-worker)
- Allow to forbid HTTP requests that target IPs that are not globally reachable (output-worker)
- Handle multiple request attempts concurrently (output-worker)
- Improve resilience (output-worker)
- When there is nothing to do, close DB transaction before waiting (output-worker)
- When there is nothing to do, close DB transaction before waiting (output-worker)
- Make timeouts configurable (output-worker)
- Update dependencies
- Configurable signature header name (worker)
- Improve usage on signature_header_name (worker)
- Support v1 signature verification (clients/rust)
- Add a Pulsar-based worker mode
- Use protobuf to serialize request attempts transported by Pulsar
- Allow to load waiting request attempts from database into Pulsar on startup (output-worker)
- Add support for storing events' payload in object storage
- Enable retries in object storage client
- Add support for storing responses' body and headers in object storage
- Add OTLP metrics/traces support (output-worker)
- Allow to configure maximum number of attempts for object storage operations
- Improve retry logic (output-worker)
- Add Hook0 MCP server for AI assistant integration (mcp)
- Add comprehensive GitLab CI release automation workflow with version management and changelog generation
- Allow to configure grace period for unfound request attempts in Pulsar mode (output-worker)
- Do not block start of worker when loading waiting request attempts into Pulsar (output-worker)
- Use latest behavior of S3 client
- Add timeouts to object storage operations
- Add Pulsar metrics (output-worker)
- Improve S3 errors messages
- Periodically display throughput information in logs (output-worker)
- Migrate Rust loggers from log to tracing
- Improve log messages (output-worker)
- Make Sentry SDK debug mode OFF by default
- Allow to configure sending default PII to Sentry
- Allow to configure sending spans to Sentry
- Add sdk release workflow with manual triggers (release)
- Improve throughtput log (output-worker)
- Make sure delayed request attempts are never processed ahead of time in Pulsar mode (output-worker)
- Improve log messages (output-worker)
- Improve static retry policy (output-worker)
- Make Pulsar worker only handle its own request attempts (output-worker)
- Per-package release flow + monorepo tag convention (ci)
Build
- Use SQLx in offline mode
CI/CD
- Split rust job
- Check frontend & avoid downloading previous artifacts if not necessary
- Update Clever Cloud Pipeline component
- Update deployment component
- Allow release jobs to run with alpha/beta/rc versions
- Validate Dockerfile workspace coverage and migrate play.docker to BuildKit
Changed
- Git ignore files
- Let the DB compute the delay_until date
- Split logic into several files (output-worker)
- Make imports more readable
- Fix
- Improve SQL query coding style
- Improve worker type log message (output-worker)
- Pass the whole config to the work function (output-worker)
- Add semver checks in CI, fixes #48 (repo)
- Fix Dockerfile warnings
- Format code (output-worker)
- Improve signature (output-worker)
- Improve string interpolation (output-worker)
- Minor improvements
- Improve logs related to object storage operations (api)
- Improve logs related to object storage operations
- Improve error messages related to object storage
- Merge PG worker queries (output-worker)
- Use a struct instead of a tuple (output-worker)
Fixed
- Move Cargo profile config to workspace root
- Typo
- Clippy warning
- Attempt picking
- Upgrade cargo version
- Add license
- Cargo warning
- Regen sqlx offline data
- Regen sqlx offline data
- Allow to soft delete subscriptions
- Regen sqlx offline data
- Retries limits (output-worker)
- Typo (output-worker)
- Allow a public worker to pick work dedicated to itself (output-worker)
- Disable jobs when on schedule (gitlab-ci)
- Remove deprecated only/except & replace with rules (gitlab-ci)
- Merge glitch (output-worker)
- Add missing info in some log messages (output-worker)
- Commit instead of rolling back (output-worker)
- Avoid doing a rollback even if it does not change much (output-worker)
- Enable a missing Cargo feature (output-worker)
- Automate output-worker deploy to clever (ci)
- Replace deprecated reqwest feature
- Docker deployment
- Remove wrong ignores
- Concurrent builds with cache (docker)
- Fix(output-worker)
- Private workers (output-worker)
- Avoid crashing if header names/values are invalid (output-worker)
- Send heartbeat in pulsar mode even if worker is idle (output-worker)
- Add protoc and protobuf mount to Docker build (api,output-worker)
- Prevent pg workers to pick up request attempts from disabled or deleted subscriptions (output-worker)
- Typo in metric name (output-worker)
- TLS crypto provider
- Switch release containers from docker:dind to BuildKit rootless (ci)
- Allow to disable Pulsar consumer stats (output-worker)
- Correctly handle waiting but delayed request attempts when loading them from DB in Pulsar mode (output-worker)
- Pick up assigned-to-self work for public PG workers (output-worker)
- Add ca-certificates to Dockerfile (output-worker)
- Ensure request attempts cannot be both succeeded and failed
- Make Pulsar worker more resilient to broker errors (output-worker)
- Initialize rustls crypto provider for all queue types (output-worker)
- Avoid processing the same request attempt several times concurrently in Pulsar mode (output-worker)
- Make sure Pulsar messages are ACKed by the broker
- Opt cli/play/mcp into cargo-release + serialize trigger jobs (ci)
Other
- Update SQLx
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Rename crates
- Update dependencies
- Update dependencies
- Update dependencies
- Chore(ignore)
- Migrate to actix-web 4
- Update dependencies
- Update dependencies
- Update dependencies
- Add missing env var
- Update dependencies
- Update dependencies
- Update to Rust 2021 edition
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Improve debug compile time
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Remove support of Sentry profiling
- Update dependencies
- Update dependencies
- Remove useless folder
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Remove keycloak deps (docker)
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update to Rust Edition 2024
- Update dependencies & improve mailer
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Improve logging (output-worker)
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies & fix Dockerfiles
- Update dependencies
- Update dependencies
- Change level of some log messages (output-worker)
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update to reqwest 0.13
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update to Rust 1.94
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Update dependencies
- Disable Pulsar consumer stats by default as it still needs some work (output-worker)
Performance
- Try to reduce stress on the database when output worker is idle (output-worker)
- Add application ID to request_attempt table
- Share retry producer instead of always recreating it (output-worker)
- Split queue (output-worker)
Docker images
hook0/hook0-output-worker:1.0.2(DockerHub)ghcr.io/hook0/hook0-output-worker:1.0.2(GHCR)registry.gitlab.com/hook0/hook0/hook0-output-worker:1.0.2(GitLab)
cli/v1.0.1
New feature
Notable features
- Add hook0 CLI with full API coverage
- Make event ID optional and use UUIDv7 in big tables
- Web UI for webhook tester with Redis storage and cross-property navigation
Full changelog
cli/v1.0.1 - 2026-05-10
Added
- Add hook0 CLI with full API coverage (cli)
- Make event ID optional and use UUIDv7 in big tables
- Web UI for webhook tester + Redis storage + cross-property navigation (play)
- Per-package release flow + monorepo tag convention (ci)
CI/CD
- Enable CI (cli)
- Run API for E2E tests (cli)
- Fix build (cli)
- Fix build (cli)
Documentation
- Add CLI reference documentation
- Improve CLI reference wording and structure
Fixed
- Opt cli/play/mcp into cargo-release + serialize trigger jobs (ci)
Other
- Update dependencies
- Update dependencies
- Update dependencies
- Sort dependencies (cli)
- Update Rust Edition to 2024 (cli)
- Update dependencies
- Update keyring (cli)
Testing
- Do not run tests with external dependencies by default (cli)
Install
Download the binary for your platform from the assets below, or build from source:
cargo install --git https://github.com/hook0/hook0 --tag cli/v1.0.1 hook0-cli
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.
Install & Platforms
Platforms
linux
macos
windows