Skip to content

Releases: hookdeck/outpost

v0.7.0

13 Oct 13:12
a62b2a7

Choose a tag to compare

Fixes

  • Add status to event resources in OpenAPI spec by @obazoud #491

Features

Updates

Full Changelog: v0.6.1...v0.7.0

typescript - sdks/outpost-typescript/v0.5.0 - 2025-10-13 12:59:42

13 Oct 12:59
a62b2a7

Choose a tag to compare

Generated by Speakeasy CLI

2025-10-13 12:59:42

Changes

Based on:

Generated

  • [typescript v0.5.0] sdks/outpost-typescript

Releases

Publishing Completed

v0.6.1

06 Oct 12:33
60a6110

Choose a tag to compare

Fixes

  • Core: Sanitize go-migrate error messages to prevent credential exposure by @alexluong in #487
  • Core: Add retry logic for migration lock errors by @alexluong in #508

Updates

Full Changelog: v0.6.0...v0.6.1

v0.6.0

02 Oct 17:46
17333a1

Choose a tag to compare

Breaking Changes

Redis Schema Migration Required

Existing deployments must migrate Redis keys to hash-tagged format before upgrading to v0.6.0. This enables Redis Cluster support for horizontal scaling.

Schema Change

The Redis key structure has been updated to support Redis Cluster by adding hash tags:

OLD SCHEMA NEW SCHEMA
tenant:123 tenant:{123}:tenant
tenant:123:destinations tenant:{123}:destinations
tenant:123:destination:abc tenant:{123}:destination:abc

Why?

Redis Cluster distributes keys across nodes using hash slots. Without hash tags, related keys like tenant:123 and tenant:123:destinations could be on different nodes, causing CROSSSLOT errors during transactions. Hash tags {...} ensure all tenant data maps to the same hash slot, enabling atomic multi-key operations.

outpost binary behavior change

The outpost binary is now a unified CLI that consolidates server and migration operations.
The binary interface has changed:

Before v0.6.0:

outpost # Start the server

v0.6.0 and later:

outpost serve    # Start the server
outpost migrate  # Run migrations
outpost --version
  • Docker service users (e.g., docker-compose up) - No changes required. The container
    still starts the server by default.
  • Docker CLI users (e.g., docker run hookdeck/outpost ...) - The entrypoint is now the
    unified CLI, so commands change as shown above.
  • Binary users - Update scripts/commands to use outpost serve instead of outpost.
    • NOTE: The outpost CLI orchestrates outpost-server and
      outpost-migrate-redis binaries. All three binaries must be in the same directory or
      available in your $PATH for the CLI to function correctly.

Migration Steps

Option 1: Using environment variables

docker run --rm \\
  -e REDIS_HOST=your-host \\
  -e REDIS_PASSWORD=your-password \\
  hookdeck/outpost:v0.6.0 migrate plan

Option 2: Using CLI flags

docker run --rm hookdeck/outpost:v0.6.0 migrate plan \\
  --redis-host=your-host \\
  --redis-password=your-password

Option 3: Using .env file

docker run --rm --env-file .env hookdeck/outpost:v0.6.0 migrate plan

Then proceed with apply, verify, deploy, and cleanup:

docker run --rm -it hookdeck/outpost:v0.6.0 migrate apply [options]
docker run --rm hookdeck/outpost:v0.6.0 migrate verify [options]
# Deploy v0.6.0 and test thoroughly
docker run --rm -it hookdeck/outpost:v0.6.0 migrate cleanup [options]

📖 Full guide: Outpost Migration Guide

X-Outpost-Timestamp header and metadata timestamps now use Unix seconds

All timestamps now consistently use Unix seconds to align with the signature format. Applications parsing these timestamps will need to update their logic to expect seconds instead of milliseconds.

Features

  • Core: Add Redis Cluster support with TLS and automatic node discovery (#465) by @leggetter
  • Core: Add unified Outpost CLI with migration tool (outpost migrate) (#498) by @alexluong

Fixes

  • Portal: Fix inline SVG icons inflating table row height (#501) by @leggetter

Full Changelog

Compare v0.5.1...v0.6.0

v0.5.1

30 Sep 06:29
fa3b471

Choose a tag to compare

Fixes

  • API: Add pagination support to event listings in OpenAPI documentation by @leggetter
    in #474
  • Core: Delivery timestamp metadata now in unix seconds by @alexluong in #495
  • Portal: UI small fixes & enhancements by @alexluong in #497
  • Tests: Update destination type count in e2e assertion by @alexluong in #496

Updates

  • API: Log /api/v1/healthz requests at debug level instead of info to reduce noise by
    @obazoud in #481
  • Portal: Add outpost icon SVG to public images by @leggetter in #499
  • Examples: Update outpost version in compose.yml to 0.5.0 by @github-actions in #473

New Contributors

Full Changelog: v0.5.0...v0.5.1

typescript - sdks/outpost-typescript/v0.4.0 - 2025-09-03 18:08:30

03 Sep 18:08
d53a1c2

Choose a tag to compare

Generated by Speakeasy CLI

@hookdeck/outpost-sdk 0.4.0

Typescript SDK Changes Detected:

  • outpost.events.list():
    • request Changed
    • response Changed Breaking ⚠️
  • outpost.events.listByDestination():
    • request Changed
    • response Changed Breaking ⚠️
  • outpost.destinations.list():
    • request.type Changed
    • response.[].[awsS3] Added
  • outpost.destinations.create():
    • request.destinationCreate.[awsS3] Added
    • response.[aws_s3] Added
  • outpost.destinations.get(): response.[aws_s3] Added
  • outpost.destinations.update():
    • request.destinationUpdate.[destinationUpdateAwss3] Added
    • response.[destination].[awsS3] Added
  • outpost.destinations.enable(): response.[aws_s3] Added
  • outpost.destinations.disable(): response.[aws_s3] Added
  • outpost.schemas.get():
    • request.type Changed
  • outpost.schemas.getDestinationTypeJwt():
    • request.type Changed

Generated with Speakeasy CLI 1.609.0

Publishing Completed

python - sdks/outpost-python/v0.4.0 - 2025-09-03 17:57:45

03 Sep 17:57
a4257c4

Choose a tag to compare

Generated by Speakeasy CLI

2025-09-03 17:57:45

Changes

Based on:

Generated

  • [python v0.4.0] sdks/outpost-python

Releases

Publishing Completed

go - sdks/outpost-go/v0.4.0 - 2025-09-03 14:52:32

03 Sep 14:52
8bd23bb

Choose a tag to compare

Generated by Speakeasy CLI

github.com/hookdeck/outpost/sdks/outpost-go 0.4.0

Go SDK Changes Detected:

  • Outpost.Events.List():
    • request Changed Breaking ⚠️
    • response Changed Breaking ⚠️
  • Outpost.Events.ListByDestination():
    • request Changed Breaking ⚠️
    • response Changed Breaking ⚠️
  • Outpost.Destinations.List():
    • request.Type Changed
    • response.[].[awsS3] Added
  • Outpost.Destinations.Create():
    • request.DestinationCreate.[awsS3] Added
    • response.[awsS3] Added
  • Outpost.Destinations.Get(): response.[awsS3] Added
  • Outpost.Destinations.Update():
    • request.DestinationUpdate.[destinationUpdateAwss3] Added
    • response.[destination].[awsS3] Added
  • Outpost.Destinations.Enable(): response.[awsS3] Added
  • Outpost.Destinations.Disable(): response.[awsS3] Added
  • Outpost.Schemas.Get(): request.Type Changed
  • Outpost.Schemas.GetDestinationTypeJwt(): request.Type Changed

Generated with Speakeasy CLI 1.608.0

v0.5.0

02 Sep 22:55
d72b81b

Choose a tag to compare

Features

Updates

New Contributors

Full Changelog: v0.4.1...v0.5.0

v0.4.1

14 Aug 00:09
f32a349

Choose a tag to compare

Features

  • Add deployment scripts and configuration for Azure Container Apps by @leggetter in #447
  • Improve observability for Destinations API 5xx error investigation by @leggetter in #458

Updates

Full Changelog: v0.4.0...v0.4.1