Releases: hook0/hook0
Releases · hook0/hook0
play/v1.0.4
play/v1.0.4 - 2026-05-18
Added
- Brand schema.org + canonical fix + comparisons title + CVE bumps (website,docs,play)
Fixed
- Bump npm packages flagged by osv-scanner + clean atty + osv config (deps)
Other
- Update dependencies and remove unused ones
Docker image
registry.gitlab.com/hook0/hook0/play:1.0.4
api/v1.0.2
api/v1.0.2 - 2026-05-13
Added
- Server-side Google Ads conversion via gclid only (api,frontend)
- Redesign transactional emails + Matomo + welcome (api)
Fixed
- Commit event ingestion before sending request attempts to Pulsar (api)
Other
- Update dependencies
Docker images
hook0/hook0-api:1.0.2(DockerHub)ghcr.io/hook0/hook0-api:1.0.2(GHCR)registry.gitlab.com/hook0/hook0/hook0-api:1.0.2(GitLab)
mcp/v1.0.2
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 hook0-mcp@1.0.2play/v1.0.3
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
[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
- Up...
cli/v1.0.1
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-clifrontend/v1.0.1
[frontend/v1.0.1] - 2026-05-09
Added
- Frontend
- Feat
- Improved frontend
- Routing is working
- Components
- Application listing and application create
- Error management + swagger-ui
- Add organization metadata in database
- Add support for working on another api environment
- Add footer + universal button
- Add Hook0Table and Hook0TableCellLink (frontend)
- Application create, edit (frontend)
- Organization crud
- Complete organisation & application support + partial event_types support
- Add support for event types deletion
- Remove application and bug fixes
- Support organization and application removal
- Display problem as alert
- Fill in default organization_id & application_id
- Events and eventsdetail
- Full organization support
- Better event list display (frontend)
- Fix types and add Hook0Code and Hook0DateTime (frontend)
- Toggle on subscription list (frontend)
- First version of logs
- Add container and docker-compose (docker)
- Add more lists to application dashboard (frontend)
- Add ability to edit and view subscription's metadata (SubscriptionsEdit)
- Improve navigation lisibility (frontend)
- Display plan on organization dashboard (frontend)
- Add a second name to plans for user-facing display
- Allow to disable pricing
- Do not override dedicated workers when editing a subscription (frontend)
- Allow to select text in tables (frontend)
- Improve several tables (frontend)
- Improve several tables (frontend)
- Improve event details (frontend)
- Add subscriptions to application dashboard (frontend)
- Hide unfinished search bar (frontend)
- Adjust default column size for IPs (frontend)
- DAST support (gitlab)
- Updated logo
- Add Crisp chatbox (frontend)
- Handle organization members (frontend)
- Never index pages from this app (frontend)
- Improve some data tables (frontend)
- Add subscription secret (frontend)
- Add some personal information's and possibility to delete your account (frontend)
- IAM v2
- Login page form and field with iam-v2 (frontend)
- Modification applied (check David's comment) (frontend)
- Add iam-v2 form and routes (frontend)
- Some modification and upgrade of Register / AuthPlugin (frontend)
- Add email verification frontend + modify some details (@dsferruzza comment's) (frontend)
- Tentative to add notifications system into hook0 project (frontend)
- Modify the Hook0Problem with notification system (notivue) (frontend)
- Add notification when user logged in (frontend)
- Feat(frontend) add banner / logo to /public
- Add automatically pushed user to login routes when registered (frontend)
- Add and modify UserSettings to the new iam + add frontend change password (frontend)
- Finish begin reset password && reset password frontend part (frontend)
- Organization services tokens (frontend)
- Add service token view page and start to implement biscuit auth (frontend)
- Some updates (frontend)
- Complete a part for get BiscuitToken deserialized (frontend)
- Some updates (frontend)
- Finish the part for attenuate biscuit token with some params (frontend)
- Add function to get ServiceToken information by he's token_id (frontend)
- Some updates in token view part. Changed the moment when receive the biscuit token not by getting routes params but an api call (frontend)
- Some updates (frontend)
- Check if attenuate expiration date is in the future and convert it to RFC 3339 (frontend)
- Finished the work with attenuation token (frontend)
- Add plugin (didn't work actually) for check on load if webassembly is supported on user browser. (frontend)
- Display unattenuated biscuit token. (frontend)
- Various improvements (frontend)
- Add a message on organization's dashboard when no service token exist (frontend)
- Add a button to return to service token list when viewing a service token (frontend)
- Suppress reload and add notification when create/removing/editing organizations (frontend)
- Add a message on organization's dashboard when no service token exist (frontend)
- Add possibility to replay an event when he's already consume in the past (api/frontend)
- Remove useless item in event list datatable (frontend)
- Better displaying for login / registration part (frontend)
- Prepare application secrets deprecation and hide service token UIs
- Make logout safer (frontend)
- Update Hook0Select.vue to use default props (api)
- Update dependencies
- Display the organization id in organizations/{org_id}/settings and add a copy button
- Add better display of organization_id and application_id (#56)
- Add copy button (#56)
- Add better display of organization_id and application_id (#56)
- Upgrade for the mobile ui
- Better display for org id & app id (#56)
- Add possibility to copy app and org id with text on mobile (#56) (frontend)
- Add a system for revokate token of users when password changes (frontend/api)
- Limit number of event types and subscriptions by application on the plans (#61) (frontend/api)
- Add non persistant cache for api instance (frontend)
- Start implementation of tutorial (not finished only 2 steps ) (frontend)
- Rebase to iam-v2 for merging (frontend)
- Add possibility to select an existing organization for the tutorial (frontend)
- Partial init of progress bar component
- #9
- Lot of things (UX/UI edit (fg & david comment's)) (frontend)
- Add CodeMirror in send event payload (frontend)
- Add tutorial check flow for onboarding and application setup (frontend)
- Feat(tutorial): replace TutorialOnboarding with TutorialIntroduction for better clarity and user experience
feat(tutorial): create TutorialIntroduction.vue to provide a welcoming tutorial interface and guide users through initial steps - Feat(tutorial): refactor progress bar implementation to use a shared progressItems array for consistency and maintainability
fix(tutorial): update step numbers in various components to reflect the correct order in the tutorial flow
chore(tutorial): create TutorialService.ts to centralize progressItems data for better organization and reusability - Feat(frontend): enhance tutorial flow by passing organization and application IDs to the success page
fix(frontend): remove unnecessary console log from event listing in OrganizationAndApplicationSelector.vue
refactor(frontend): implement error handling for missing organization and application IDs in TutorialSuccess.vue - Add possibility to use an existing application or creating a new one in tutorial (frontend)
- Feat(frontend)
- Add tutorial's wizard in application dashboard (api/frontend)
- Feat/fix(frontend)
- Feat/fix(frontend)
- Improve contents (frontend)
- Add card tree structure for org & app (frontend)
- Avoid concurrent config API calls (frontend)
- Add Matomo integration (frontend)
- Start impleting change user role in organization (api/frontend)
- Implement consumption (frontend)
- Add color changes on 80% and 100% on quotas progress bar (frontend)
- Add support email adress to configuration field (frontend)
- Add Cloudflare Turnstile on registration form
- Improve subscription UI (frontend)
- Only display request attempts that are more recent than 7 days (frontend)
- Ask for confirmation when disabling a subscription (frontend)
- Redesign login page with modern dark theme (frontend)
- Add Hook0 MCP server for AI assistant integration (mcp)
- Implement GDPR-compliant Matomo tracking with all goals (analytics)
- Add animated 404 error page with fishing hook theme (ui)
- Display login and error pages in full-screen mode (ui)
- Allow to set API_ENDPOINT at runtime when using Docker image (frontend)
- Allow to set API_ENDPOINT and API_TIMEOUT at runtime when using Docker image (frontend)
- Add sdk release workflow with manual triggers (release)
- Add organization/application consumption
- Add response detail view to delivery logs (frontend)
- Extract header filter to pure function with unit tests (frontend)
- Add requestAttempt detail service, keys, and composable (frontend)
- Extract and test formatBody and statusCodeClass (frontend)
- Create LogDetailContent shared component (frontend)
- Create LogSidePanel drawer component (frontend)
- Create LogDetail page and update routes (frontend)
- Redesign logs table and delivery drawer (frontend)
- Split-panel layout, responsive mobile, lifecycle animations (frontend)
- Add Hook0Section component (frontend)
- Add Hook0SplitLayout component (frontend)
- Google Ads landing pages, conversion tracking, SEO fixes (website,docs,frontend)
- Improve health check (api)
- Per-package release flow + monorepo tag convention (ci)
Build
- Remove deprecated plugin (frontend)
- Fix dev mode (frontend)
- Add ARG for API endpoint in frontend Dockerfile and update dependencies
CI/CD
- Fix watched paths
- Check frontend & avoid downloading previous artifacts if not necessary
- Fix a path
- Remove some warnings (frontend)
- Fix job rules
- Add frontend container build and GitLab release to pipeline
- Validate Dockerfile workspace coverage and migrate play.docker to BuildKit
Changed
- Activate prettier everywhere
- Display metadata and labels (EventsDetail)
- Add a cell renderer for dates (frontend)
- Remove a useless dependency (frontend)
- Optimization and simplification of displaying errors (frontend)
- Optimization and simplification of displaying errors (frontend)
- Improve content (frontend)
- Do not display optional section before checking if it should be displayed (frontend)
- Remove a debug message (frontend)
- Remove non-working WASM check (frontend)
- Rename some components (frontend)
- Add semver checks in CI, fixes #48 (repo)
- Apply suggestions from David's review
- Refactor(frontend)
- Apply suggestions from David's review
- Refactor(ci)
- Fix Dockerfile warnings
- Rename the routes and files for better naming (frontend)
- Remove an useless comment (frontend)
- Update header text to be more inviting and concise for better user experience (frontend)
- Update text (frontend)
- Update text (frontend)
- Pdate subtitles and descriptions (frontend)
- Change icons...
api/v1.0.1
[api/v1.0.1] - 2026-05-09
Added
- Create API project
- Add DB connection
- Add OpenAPI doc generation
- Add routes
- Add CRUD handlers for applications
- Use crate name as app name when connecting to PG
- Add event_types endpoints
- Put API URLs inside /api/
- Serve webapp
- Add application_secrets endpoints
- Add endpoints to see events
- Add event ingestion endpoint
- Rewrite Sentry integration & use it in both apps
- Feat
- Add authentication for application endpoints
- Add authentication for every endpoint that should require it
- Add endpoint to list organizations
- Add subscriptions endpoints
- Error management + swagger-ui
- Add request attempts endpoint
- Allow to filter request attempts
- Add responses endpoint
- Add organization metadata in database
- Enable auto DB migration by default
- Improve JWT claims extraction & update dependencies
- Allow authentication using both JWT or application secret
- Improve auth module to better handle event ingestion
- Add a registration endpoint
- Allow to disable registration
- Add API rate limiting
- Expose instance config
- Cors
- Add input validation infrastructure
- Add input validators
- Check max length of input strings
- Return JSON body parsing errors as Hook0 problems
- Add more validators
- Require front client ID to be set and expose it
- Add a secure extractor for user's IP
- Allow to configure CORS allowed origins
- Add multiple rate limiters
- Add an endpoint to list organization's users
- Add endpoints to invite or remove users from organizations
- Add an endpoint to create an organization
- Add a created_by field for organizations
- Add an endpoint to edit organizations
- Switch API spec from OpenAPI v2 to v3
- Add an endpoint to remove an organization
- Improve the way event playload content types are handled
- Add an endpoint to get a subscription
- Expose application_id in subscriptions endpoints
- Allow to not serve web app (api)
- Initialize a Hook0 client in Hook0 API
- Implement Hook0 client for some events
- Implement Hook0 client for more events
- Support the new way of handling payload content in events
- Implement Hook0 client for more events
- Upsert Hook0 client event types on startup
- Improve labels of Hook0 events
- Implement Hook0 client for more events
- Implement Hook0 client for more events
- Add user info in Sentry reports
- Publish openapi to readme.io (api)
- User must provide a password when registering (api)
- Add options to allow Sentry to trace and profile transactions
- Add Sentry middleware for Actix Web
- Add a Cargo feature to use rustls-native-certs for outgoing HTTPS requests
- Add server in OpenAPI spec (api)
- Declare application secret authentication in OpenAPI (api)
- Add quotas (api)
- Allow fetching quotas to use transactions
- Enforce some quotas
- Add a second name to plans for user-facing display
- Allow to disable pricing
- Add dedicated workers
- Allow to configure a master API key (api)
- Allow to set default organization workers
- Enforce events per day quota (api)
- Check that subscriptions target URLs are valid (api)
- Add health check endpoint (api)
- Clean up old events (api)
- Backup events per day before cleaning up and do some housekeeping after (api)
- Only run housekeeping operations after actual data was deleted because of retention policy (api)
- Add secured headers / HSTS with configuration (api)
- Betters named give to configuration / enable by default the HSTS (api)
- Init (api)
- Add module for send some mails with template made in mjml (api)
- #20 upgrade mails semantics / add reset password mail (api)
- #20 upgrade variable system of each mail / add a new template (welcome) (api)
- #20 remove subject field from Mails enum (api)
- #20 add conversion for html to text (api)
- Support SMTP authentication (api)
- Some little updates (api)
- IAM v2
- IAM v2
- Add mailer (api)
- Implement module for email verification with mailer to send a mail (api)
- Add /auth/verify-email process (not finished) (api)
- Finished the part for email verification (api)
- Implement "Forgot Password" + "Password Reset" + "Change Password" features (api)
- Add email_logo_url config used for replace variable { $logo_url } in mail template (api)
- Add route for get information about only one service token (api)
- Add migration to replay an event (migrations)
- Add possibility to replay an event when he's already consume in the past (api/frontend)
- Add authorizer MAX_AUTHORIZATION_TIME_IN_MS config (api)
- Add comment and constant for MAX_DURATION_TIME_IN_MS (api)
- Make email case insensitive and return a proper error when registering with an already registered email (api)
- Clean all unverfied users (api)
- Prepare application secrets deprecation and hide service token UIs
- Improve emails (api)
- Change HSTS max age to 2 years (api)
- Improve emails (api)
- Add a security header (api)
- Update api keywords (api)
- Delete unreachable organizations (api)
- Only clean up empty organizations (api)
- Vacuum, analyze and reindex after unverified users cleanup (api)
- Update dependencies
- Add a system for revokate token of users when password changes (frontend/api)
- Limit number of event types and subscriptions by application on the plans (#61) (frontend/api)
- Add an index (api)
- Feat(api)
- Add tutorial's wizard in application dashboard (api/frontend)
- Add Matomo integration (frontend)
- Implement AuthEmailNotVerified problem (#68) (api)
- Add routes for exposing default quotas (#61) (api)
- Start impleting change user role in organization (api/frontend)
- Send email when events per days quota reached (api)
- Implement consumption (api)
- Allow to whitelist trusted reverse proxies using CIDR IPs (api)
- Support user IP extraction when behind Cloudflare (api)
- Add support email adress to configuration field (api)
- Add a default value for support email address (api)
- Add Cloudflare Turnstile on registration form
- Add pagination on the request attempts endpoint (api)
- Add pagination on the request attempts endpoint (api)
- Improve OpenAPI documentation for paginated responses (api)
- Allow to extract profiling information (api)
- Add a Pulsar-based worker mode
- Improve health check (api)
- Use protobuf to serialize request attempts transported by Pulsar
- Prevent housekeeping tasks from running concurrently (api)
- Add a timeout on materialized views refresh (api)
- Allow to continue starting without Pulsar connection (api)
- Improve housekeeping (api)
- Add support for storing events' payload in object storage
- Allow to configure health check timeout (api)
- Enable retries in object storage client
- Improve log message when finding orphan applications in object storage (api)
- Add support for storing responses' body and headers in object storage
- Allow to configure DB statement timeout (api)
- Allow to configure maximum number of attempts for object storage operations
- Marks subscription as failed when disabling/deleting a subscription or deleting and application.
- Add OTLP metrics/traces support (api)
- Report span when refreshing materialized views (api)
- Track size of rate limiters (api)
- Add event type filter and response to request attempts endpoint (api)
- Add GET /api/v1/environments endpoint (api)
- Add Hook0 MCP server for AI assistant integration (mcp)
- Add comprehensive GitLab CI release automation workflow with version management and changelog generation
- Add metrics related to events ingestion (api)
- Use latest behavior of S3 client
- Add timeouts to object storage operations
- Improve token rate limiter (api)
- Improve S3 errors messages
- 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)
- Add organization/application consumption
- Add updated_at timestamp to subscription API responses (api)
- Add hook0 CLI with full API coverage (cli)
- Add http_response_status to RequestAttempt list query (api)
- Add GET /request_attempts/:id endpoint (api)
- Make event ID optional and use UUIDv7 in big tables
- Add concurrency and configurable timeouts to object storage cleanup (api)
- Improve health check (api)
- Per-package release flow + monorepo tag convention (ci)
Breaking Changes
- Edit info! for dbg! (auth.rs) + remove useless .clone (api)
Build
- Use SQLx in offline mode
- Fix warning (api)
CI/CD
- Split rust job
- Fix jobs restricted to master branch
- Check frontend & avoid downloading previous artifacts if not necessary
- Update Clever Cloud Pipeline component
- Update deployment component
- Update readme CLI
- Fix change rule
- Fix publishing of API documentation (api)
- Remove useless job & fix stages (documentation)
- Allow release jobs to run with alpha/beta/rc versions
- Validate Dockerfile workspace coverage and migrate play.docker to BuildKit
Changed
- Sort dependencies
- Fix indentation
- Use sqlx DB migrations
- Fix
- Reformat imports
- Improve queries formatting
- Use a Hook0Problem to report user-facing errors
- Use strum to implement Display
- Fix
- Log sqlx error messages
- Create a service to use Keycloak API
- Rephrase
- Improve naming
- Use validator wherever possible for the event ingestion endpoint
- Separate user IP generic middleware from extractor
- Rename middleware
- Remove useless default config value
- Cors allowed headers
- Allow Role type in responses
- Rename types and endpoints
- Remove useless exception
- Add a price table (api)
- Fix typo (api)
- Old events cleanup (api)
- Mailer (api)
- Improve a lot of things (api)
- Run cargo fmt (api)
- Improve a lot of things (api)
- Improve a lot of things (api)
- Run cargo fmt (api)
- Clean up unverified users (api)
- Add semver checks in CI, fixes #48 (repo)
- Run cargo fmt (api)
- Apply suggestions from David's review
- Refactor(api)
- Fix Dockerfile warni...
v1.0.0-alpha.3
1.0.0-alpha.3 - 2026-02-19
CI
- Fix GitLab releases
- Fix output worker package name
Docker Images
| Image | DockerHub | GitHub Container Registry | GitLab Registry |
|---|---|---|---|
| API | hook0/hook0-api |
ghcr.io/hook0/hook0-api |
registry.gitlab.com/hook0/hook0/hook0-api |
| Output Worker | hook0/hook0-output-worker |
ghcr.io/hook0/hook0-output-worker |
registry.gitlab.com/hook0/hook0/hook0-output-worker |
| Frontend | hook0/hook0-frontend |
ghcr.io/hook0/hook0-frontend |
registry.gitlab.com/hook0/hook0/hook0-frontend |
v1.0.0-alpha.2
1.0.0-alpha.2 - 2026-02-13
Added
- Add Pulsar metrics (output-worker)
CI
- Improve release content
- Improve release content
- Add frontend container build and GitLab release to pipeline
- Update tools
- Improve GitLab releases contents
Other
- Update dependencies
Docker Images
| Image | DockerHub | GitHub Container Registry | GitLab Registry |
|---|---|---|---|
| API | hook0/hook0-api |
ghcr.io/hook0/hook0-api |
registry.gitlab.com/hook0/hook0/hook0-api |
| Output Worker | hook0/hook0-output-worker |
ghcr.io/hook0/hook0-output-worker |
registry.gitlab.com/hook0/hook0/hook0-output-worker |
| Frontend | hook0/hook0-frontend |
ghcr.io/hook0/hook0-frontend |
registry.gitlab.com/hook0/hook0/hook0-frontend |