Skip to content

Release history

hook0 releases

Open-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.

All releases

11 shown

Upgrade now
play/v1.0.4 Maintenance
Dependencies

Routine maintenance and dependency updates.

No immediate action
api/v1.0.2 Bug fix

Commit event ingestion fix

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
frontend/v1.0.1 Breaking risk

Increase default API timeout for frontend requests.

Full changelog

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 for use the actual's one (frontend)
  • Refactor(frontend)
  • Style component (tutorial & wizard) changes (frontend)
  • Refactor(frontend)
  • Redirect to tutorial routes when orga & app created (frontend)
  • Edit the datas management (org & app stats -> onboarding_steps (api/frontend)
  • Make more performant the sql request for organization onboardingsteps (api/frontend)
  • Put onboarding logic in its own modules
  • Improve Hook0ProgressBar props (frontend)
  • Rename events (frontend)
  • Improve components (frontend)
  • Improve OrganizationAndApplicationSelector.vue components (frontend)
  • Add progress bar for quota displaying (frontend)
  • Minor improvements
  • Cloudflare Turnstile integration
  • Remove workaround for subscriptions target (frontend)
  • Update and improve Formbricks integration (frontend)
  • Metadata and labels validation
  • Remove mention of old build variables (frontend)
  • Run Caddy with exec (frontend)
  • Rename e2e-tests to tests-api-integrations and add Playwright E2E tests
  • Wire LogSidePanel, remove Response column, delete ResponseDetail (frontend)
  • Refactor tooltips, align created_at, polish lifecycle (frontend)
  • Format LogLifecycle.vue (frontend)
  • Extract shared formatDate utility, remove duplication from useLogColumns (frontend)
  • Use Hook0Section and Hook0CardContentLine in LogDetailContent (frontend)
  • Use Hook0Badge and Hook0CardContentLine for grids and labels (frontend)
  • Use Hook0SplitLayout in LogList (frontend)

Documentation

  • Improve some contents and comments (frontend)
  • Comprehensive documentation overhaul

Fixed

  • Vue
  • It works
  • Navigation
  • Routing
  • Ui
  • Remove unused imports
  • Build
  • Application create
  • Add license
  • Ci (should be the last time)
  • Use different names for Keycloak clients used by frontend/backend
  • Rebase glitches
  • API docs ordering
  • Pin nodejs version
  • Forgot to set button with the right pointer (frontend)
  • Input component should have default value (frontend)
  • Move api doc behind a feature flag
  • Event_type creation UI & add subscription edit
  • Api documentation is now authenticated
  • Convert timeouts axios's error to Problem
  • Dev mode
  • Center vertically
  • Add missing files (frontend)
  • Add missing file
  • Enable/disable subscriptions (frontend)
  • Better navigation menu and bring back prettier
  • Always set active (frontend)
  • Fix subscription edit and add tests (frontend)
  • Lock file (frontend)
  • Subscription deletion (frontend)
  • Typo (frontend)
  • Better app selected (ui)
  • Link (frontend)
  • Improve request attempts page (frontend)
  • Cancel action on application creation ui now does not throw error
  • Fix typescript issue (Hook0Table)
  • Updated and aligned menu icon (frontend)
  • Deprecation warning (frontend)
  • Subscription editing (frontend)
  • App title (frontend)
  • Subscription editing (frontend)
  • Fix column width for options (frontend)
  • Remove debugger; (frontend)
  • Correctly populate HTTP target headers when editing (frontend)
  • Disable jobs when on schedule (gitlab-ci)
  • Remove deprecated only/except & replace with rules (gitlab-ci)
  • Disabled buttons (frontend)
  • Typo (frontend)
  • Increase default API timeout (frontend)
  • Fix api keys token resizable (frontend)
  • Better display frontend errors (frontend)
  • Display error < 500 (frontend)
  • Close the dropdown after click on item (frontend)
  • Close the dropdown after click on item (frontend)
  • Close the dropdown after click on item (frontend)
  • Close the dropdown after click on item (frontend)
  • Remove useless setTimeout (api)
  • Display error and not error notification (frontend)
  • Edit verified message successfully / remove unused codes (frontend)
  • Remove useless verification when user logged in (already worked in iam.ts) (frontend)
  • Add unauthenticated post to verifyEmail function (frontend)
  • Some fix (frontend)
  • Some fix + start implement for reset password frontend (frontend)
  • Another implementation for resetting password. Not finished (frontend)
  • David's comment fix (frontend)
  • Remove hook0button disable when clicked (frontend)
  • Undo some modification (frontend)
  • Miss linter (frontend)
  • Add eye + pen fontawesome icon (frontend)
  • Some fixe about biscuit auth attenuation (frontend)
  • Fix some types (frontend)
  • Fix some types (frontend)
  • Some fixes but not finished (frontend)
  • David's comment fixes (frontend)
  • Linter format (frontend)
  • Some fixes (frontend)
  • David's thread fix (api/frontend)
  • Remove useless export (frontend)
  • David comment's fix (frontend)
  • Rename 256x256.svg to logo.svg (frontend)
  • Add width to svg logo (frontend)
  • Fix links (frontend)
  • Remove useless broken code (frontend)
  • Docker deployment
  • Frontend sending 404 responses on paths other than / (docker)
  • Fix typescript build error (frontend)
  • Sidebar opening on mobile (frontend)
  • Remove outdated welcome message (frontend)
  • Sidebar disappearing on desktop (frontend)
  • Remove console.log (#56)
  • Sidebar doesn't open on mobile (#8) (frontend)
  • Metadata Rows Not Handling Multiple Entries in Subscription Configuration (#50) (frontend)
  • Fix(ci)
  • Add a scroll possibility for the users on OrganizationAndApplicationSelector.vue (#65) (frontend)
  • Some david's thread fixes (frontend)
  • David comment's fix (frontend)
  • Fix ci (frontend)
  • Update image source path to use absolute path for better accessibility (TutorialIntroduction.vue)
  • Update subtitle text to specify Hook0 for clarity and branding consistency (TutorialIntroduction.vue)
  • Update error messages to provide a more user-friendly response and maintain consistency across components (tutorial)
  • Navbar UX/UI fix (frontend)
  • Display tutorial after email verification (frontend)
  • Warning (frontend)
  • Build (frontend)
  • Component fix (frontend)
  • Allow multiple labels in event test UI (frontend)
  • Timeout error message (frontend)
  • Optimize sign-up page performance and UX (#114) (frontend)
  • Convert SVG files from LFS to regular git files (frontend)
  • Harmless error (frontend)
  • Filter API endpoint from query string (frontend)
  • Polish org & app dashboard quotas UI (dashboard)
  • Fix response detail loading state and improve coverage (frontend)
  • Align response grid layout, use unified CSS grid for summary+headers (frontend)
  • UI polish — grid layout, status labels, attempt prop, response visibility (frontend)
  • Address code review issues — error handling, a11y, BEM, dates, types (frontend)
  • Fix statusQueued fallback without delay_until, contextual 404 error (frontend)
  • Normalize font sizes to 13px, fix tooltip overflow in drawer (frontend)
  • Address review — a11y focus-visible, dark mode tokens, scoped CSS (frontend)
  • Fix stale drawer, error state ordering, tooltip clamping (frontend)
  • Review feedback — drop date-fns, simplify lifecycle props, add comments (frontend)
  • Polish split-panel — underline fix, mono event, lifecycle colors (frontend)
  • Guard auto-select on refetch, add tabindex on tooltip trigger (frontend)
  • Address MR review — a11y, permissions, button fix, docs (frontend)
  • Remove custom header styling in LogSidePanel, align with Hook0SidePanel (frontend)
  • Use Hook0Uuid for subscription fallback display instead of raw UUID (frontend)
  • Auto-select first row on desktop when delivery param is stale (frontend)

Other

  • List necessary frontend env var
  • Downgrade before release (frontend)
  • Chore(frontend)
  • Chore(frontend)
  • Chore(ignore)
  • Update caniuse
  • Update front dependencies & improve linter support
  • Regenerate types from backend
  • Fix warnings
  • Enable more Typescript lints & fix corresponding violations
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies & use Node.js 18
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies (frontend)
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Add Prettier & update frontend types (frontend)
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Move adr to root folder
  • Update dependencies
  • 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
  • Add logo (frontend)
  • Remove useless files (frontend)
  • Update dependencies
  • Remove Keycloak JS (frontend)
  • Upgrade to node v20 (frontend)
  • 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 & 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
  • Update dependencies
  • Update dependencies & fix Dockerfiles
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Commit to force frontend deployment
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies

Testing

  • Fix all e2e tests for split-panel layout and button link variant (e2e)

Docker images

  • hook0/hook0-frontend:1.0.1 (DockerHub)
  • ghcr.io/hook0/hook0-frontend:1.0.1 (GHCR)
  • registry.gitlab.com/hook0/hook0/hook0-frontend:1.0.1 (GitLab)
api/v1.0.1 Breaking risk
Breaking changes
  • Edit info! for dbg! in auth.rs and remove a useless .clone call.
Full changelog

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 warnings
  • Style(api)
  • Edit the datas management (org & app stats -> onboarding_steps (api/frontend)
  • Make more performant the sql request for organization onboardingsteps (api/frontend)
  • Put onboarding logic in its own modules
  • Check if the password is correct before checking if the user's email is verified (api)
  • Refactor(api)
  • Refactor(api)
  • Refactor(api)
  • Refactor(api)
  • Refactor(api)
  • Refactor(api)
  • Refactor(api)
  • Refactor(api)
  • Refactor(api)
  • Refactor(api)
  • Refactor(api)
  • User IP detection (api)
  • Minor improvements
  • Cloudflare Turnstile integration
  • Metadata and labels validation
  • Remove unnecessary boxing (api)
  • Minor improvements
  • Remove Actix as a direct dependency (api)
  • Improve pulsar health check (api)
  • Merge conditional SQL queries into a unique one (api)
  • Improve logs related to object storage operations (api)
  • Variable name (api)
  • Improve metric name (api)
  • Remove dbg (api)
  • Improve error messages related to object storage
  • Improve endpoint metadata (api)
  • Token expiration query on password change (api)

Documentation

  • Update .env and readme
  • Add warnings to some organizations-related endpoints
  • Improve configuration docs (api)
  • Add description to service_token (api)
  • Add description (api)
  • Add/improve endpoint descriptions (api)
  • Fix OpenAPI schema for Target (api)
  • Update technical detail from openApi documentation (api)

Fixed

  • Default webapp path
  • Do not return application_id when provided in input
  • Typo
  • Building workspace
  • Regen sqlx offline data
  • Add missing auth middleware
  • Remove double underscores from public entities
  • Remove tests
  • Remove unused imports
  • Implement From instead of Into
  • Application create
  • Regen sqlx offline data
  • Upgrade cargo version
  • API documentation
  • Add license
  • Cargo warning
  • Remove a natural join
  • Warning
  • Regen sqlx offline data
  • Regen sqlx offline data
  • Regen sqlx offline data
  • HTTP methods and webhook response errors must be uppercase
  • Problem's details consistency
  • Event dispatch
  • Warning
  • Cors
  • Typo
  • API docs ordering
  • Log
  • User IP detection
  • Cors
  • Warnings
  • Warnings
  • Typo
  • Do not allow soft-deleted application secrets for authentication
  • Do not list soft-deleted application secrets through API
  • Backward-compatible change to make application_id optional
  • Fix sql unwrap issue (api)
  • Fix sqlx (api)
  • Allow API paths to have a final slash
  • Regen sqlx offline data
  • Allow to soft delete subscriptions
  • Event type primary key
  • Display a proper error when creating a duplicate event type (api)
  • Logic issue related to dedicated workers (api)
  • Disable jobs when on schedule (gitlab-ci)
  • Remove deprecated only/except & replace with rules (gitlab-ci)
  • Warning (api)
  • Quota limits calculation (api)
  • Rare dispatch issue (api)
  • Do not require metadata field when updating a subscription (api)
  • Get subgroups on recent Keycloak versions (api)
  • Remove useless check (api)
  • Regen sqlx offline data
  • Dispatch issue (api)
  • Better display frontend errors (frontend)
  • Fix(ci)
  • Removed domain url to app_url and api_url (they can be different) (api)
  • Return HTTP error (api)
  • Add expiration for the email verification token (api)
  • Unsupported DateTime in biscuit auth. Replaced by SystemTime (api)
  • Removed get method in route /api/v1/auth/verify-email (api)
  • Convert Option to String because he is useless (api)
  • Add AND email_verified_at IS NULL in UPDATE iam.user (api)
  • Little modification for adding dbg when token verification failed (authorize_email_verification) (api)
  • Remove useless impl error (api)
  • Rename some part of verify_email struct and argument (api)
  • Split reset password process to begin-reset-password / reset-password (api)
  • Fix logo_url variable (api)
  • Remove unused biscuit token from ChangePasswordPost body (already get by ReqData) (api)
  • Change message when email sending failed. More user-friendly (need to check with @dsferruzza if we remove the detail to user and only warn and alert our team ??) (api)
  • Replace default logo url (api)
  • Some fixes (api)
  • Prepare to remove application_secret__token from events (api)
  • Fix organization's viewers can't see right now the services tokens and api keys (api)
  • Fix organization's viewers can't see right now the services tokens and api keys (api)
  • David's thread fix (api/frontend)
  • Prepare sqlx modified request (migration)
  • David comment's fix (api)
  • Sqlx prepare (api)
  • Add config to enable or not keycloack migration and service tokens (api)
  • David comment's fix (api)
  • Pipeline fix (api)
  • Pipeline fix (api)
  • Some fixes (api)
  • Sqlx prepare fix (api)
  • Reject revoked application secrets (api)
  • Automate output-worker deploy to clever (ci)
  • Unverified users config (api)
  • Replace deprecated reqwest feature
  • Docker deployment
  • Weird routing behavior when 'application-secret-compatibility' feature is disabled (api)
  • Remove wrong ignores
  • Unhandled event type errors (api)
  • Return a 404 response when organization does not exist (api)
  • Import from Keyclaok when an organization was removed (api)
  • Display an error when constraint (user__organization_pkey) violated
  • Remove useless warning
  • Fixes FEATURES build arg scope for API Dockerfile (docker)
  • Concurrent builds with cache (docker)
  • Update the RUST_VERSION argument to 1.83.0 (last stable rust docker image)
  • #57
  • Cargo fmt
  • Password display on validation error #57
  • Password min length while login (api)
  • Cargo fmt (api)
  • Cargo fmt (#61) (api)
  • Cargo sqlx prepare (#61) (api)
  • Default quota value (api)
  • Subscriptions and event types quotas (api)
  • Subscriptions and event types quotas (api)
  • Never delete unreachable organizations that have a plan (api)
  • Cargo sqlx prepare (api)
  • Remove deleted event_type & subscription from orga & app statistics (api)
  • Cargo sqlx prepare (api)
  • Error when organization does not have any application (api)
  • Remove trailing slash in Matomo URL (api)
  • Do not allow current user to change his role (api)
  • Add the real default quota (api)
  • Remove index drop (already droped by drop table) (api)
  • Fix email link (api)
  • IPv6 support (api)
  • Fix openapi typ (api)
  • Internal server error (api)
  • Better validate custom headers in subscriptions (api)
  • Computation of organization consumption (api)
  • Do not block organization deletion that contain soft-deleted applications (api)
  • Missing OpenAPI documentation for paginated responses (api)
  • Invalid OpenAPI documentation for paginated responses (api)
  • Do regular housekeeping on rate limiters (api)
  • Regen sqlx offline data
  • Index name (api)
  • Removing dangling responses (api)
  • Regen sqlx offline data
  • Replaying events with a pulsar worker (api)
  • Add protoc and protobuf mount to Docker build (api,output-worker)
  • Timeout for refreshing materialized views (api)
  • Object storage cleanup with deleted applications (api)
  • Use housekeeping DB pool to refresh materialized views (api)
  • Cargo fmt (api)
  • Delete a sql request (api)
  • Add missing sqlx files (ci)
  • Address MR review feedback for environment_variables endpoint (api)
  • Environment variables groups (api)
  • Server URL in API reference (documentation)
  • Typos (api)
  • TLS crypto provider
  • Warning in response endpoint (api)
  • Switch release containers from docker:dind to BuildKit rootless (ci)
  • Remove duplicate rate limiter (api)
  • Improve object storage cleanup task (api)
  • Add ca-certificates to Dockerfile (api)
  • Add mcp tag to request_attempt.get endpoint (api)
  • Ensure request attempts cannot be both succeeded and failed
  • Race condition when disabling/removing subscription/application (api)
  • Make sure Pulsar messages are ACKed by the broker

Other

  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Rename crates
  • Update dependencies
  • Update dependencies
  • Add TODO
  • Update dependencies
  • Update dependencies
  • Chore(ignore)
  • Migrate to actix-web 4
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • 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 actix-governor
  • 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
  • Trigger recompilation when a new migration is added
  • Improve debug compile time
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Add a comment on a table
  • 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
  • Add editorconfig and clevercloud deploy (ci)
  • Remove dead code (api)
  • 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
  • Remove useless comments (api)
  • Update dependencies
  • Update dependencies
  • Enable only necessary features for Hook0 client (api)
  • 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
  • Remove migrate-users-from-keycloak from default features (api)
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Add log messages (api)
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Update dependencies & fix Dockerfiles
  • Update dependencies
  • Update dependencies
  • Update dependencies
  • Remove automatic reindexing from housekeeping tasks (api)
  • 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
  • Update dependencies

Performance

  • Add an index on event table (api)
  • Add an index in request attempt table (api)
  • Add indexes to improve performances of picking request attempts (output-worker)
  • Add index to improve performance of picking request attempts (output-worker)
  • Use jemalloc (api)
  • Disable authorizer context log message by default (api)
  • Avoid re-deriving Biscuit public key on each request (api)
  • Add indexes (api)
  • Allow to avoid reindexing big tables (api)
  • Add various indexes (api)
  • Change type of request attempt created_at index
  • Improve a slow query (api)
  • Avoid manually reindexing tables (api)
  • Reduce scope of events per day materialized view (api)
  • Add application ID to request_attempt table
  • Improve request attempts listing endpoint (api)
  • Properly run blocking Argon2 operations (api)
  • Split queue (output-worker)
  • Wait for all Pulsar ACKs after sending all messages instead of one by one (api)

Testing

  • HTTP target deserialization (api)

Docker images

  • hook0/hook0-api:1.0.1 (DockerHub)
  • ghcr.io/hook0/hook0-api:1.0.1 (GHCR)
  • registry.gitlab.com/hook0/hook0/hook0-api:1.0.1 (GitLab)
v1.0.0-alpha.3 Bug fix

Fixed GitLab release process and corrected output worker package naming for proper deployment and identification.

v1.0.0-alpha.1 Bug fix

Fixed Docker container build setup and quote escaping in BuildKit configuration for improved CI reliability.

Beta — feedback welcome: [email protected]