Skip to content

Releases: hookdeck/outpost

v1.0.3

13 May 17:53
2aa4cec

Choose a tag to compare

Features

  • Enable/disable destinations directly through Create and Update endpoints via the disabled_at field, plus importable created_at/updated_at timestamps so migrations can preserve original source-system timestamps by @alexluong in #895
  • Proxy-aware error handling for webhook deliveries through a forward proxy: proxy infrastructure failures (auth, dial) now nack instead of burning the destination's retry budget, and proxy-reported upstream errors are translated into accurate destination error codes (dns_error, connection_refused, timeout, etc.). Envoy-specific response headers/bodies are stripped on the plain-HTTP path; HTTPS deliveries remain byte-transparent by @alexluong in #899
  • Node identifier added to every log line (derived from os.Hostname()) so multi-node deployments are traceable from logs alone — surfaces pod name on Kubernetes, container/task ID on Docker/ECS by @mvanhorn in #894

Fixes

  • Consumer error tolerance increased from ~3s to ~1min (10 errors, 15s backoff cap) so brief infra blips like OAuth token timeouts or managed broker restarts no longer permanently kill logmq / deliverymq workers by @alexluong in #900
  • Automated database migrations in the examples/docker-compose/ setup via a new migrate service — api, log, and delivery now wait for migrations to finish before booting, removing the manual migration step for local example runs by @distroaryan in #898
  • Corrected misleading desc tags on AttemptPrefix, DestinationPrefix, and EventPrefix config fields — prefixes are used as-is, not prepended with an underscore by @alexluong in #896

New Contributors

Full Changelog: v1.0.2...v1.0.3

typescript - sdks/outpost-typescript/v1.3.0 - 2026-05-13 18:14:46

13 May 18:14
d875c66

Choose a tag to compare

Generated by Speakeasy CLI

@hookdeck/outpost-sdk 1.3.0

Typescript SDK Changes:

  • outpost.destinations.create(): request.body Changed
  • outpost.destinations.update(): request.body Changed

Generated with Speakeasy CLI 1.763.0

Publishing Completed

python - sdks/outpost-python/v1.3.0 - 2026-05-13 18:06:20

13 May 18:06
2406263

Choose a tag to compare

Generated by Speakeasy CLI

outpost_sdk 1.3.0

Python SDK Changes:

  • outpost.destinations.create(): request.body Changed
  • outpost.destinations.update(): request.body Changed

Generated with Speakeasy CLI 1.763.0

Publishing Completed

go - sdks/outpost-go/v1.3.0 - 2026-05-13 17:59:58

13 May 18:00
d4b3fcc

Choose a tag to compare

Generated by Speakeasy CLI

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

Go SDK Changes:

  • Outpost.Destinations.Create(): request.Body Changed
  • Outpost.Destinations.Update(): request.Body Changed

Generated with Speakeasy CLI 1.763.0

typescript - sdks/outpost-typescript/v1.2.0 - 2026-05-01 17:57:42

01 May 17:57
b0e749e

Choose a tag to compare

Generated by Speakeasy CLI

@hookdeck/outpost-sdk 1.2.0

Typescript SDK Changes:

  • outpost.publish(): Added
  • outpost.retry(): Added
  • outpost.publish.event(): Removed (Breaking ⚠️)
  • outpost.retry.retry(): Removed (Breaking ⚠️)

Generated with Speakeasy CLI 1.761.10

Publishing Completed

typescript - sdks/outpost-typescript/v1.1.0 - 2026-05-01 15:52:48

01 May 15:52
48fe03c

Choose a tag to compare

Generated by Speakeasy CLI

@hookdeck/outpost-sdk 1.1.0

Typescript SDK Changes:

  • outpost.destinations.create():
    • request.body.union(kafka) Added
    • response.union(kafka) Added (Breaking ⚠️)
  • outpost.destinations.disable(): response.union(kafka) Added (Breaking ⚠️)
  • outpost.events.list(): request Changed (Breaking ⚠️)
  • outpost.attempts.list():
    • request Changed (Breaking ⚠️)
    • response.models[].destination.union(kafka) Added (Breaking ⚠️)
  • outpost.attempts.get(): response.destination.union(kafka) Added (Breaking ⚠️)
  • outpost.destinations.list(): response.[].union(kafka) Added (Breaking ⚠️)
  • outpost.metrics.getAttemptMetrics(): request Changed (Breaking ⚠️)
  • outpost.destinations.update():
    • request.body.union(DestinationUpdateKafka) Added
    • response.union(Destination).union(kafka) Added (Breaking ⚠️)
  • outpost.metrics.getEventMetrics(): request Changed (Breaking ⚠️)
  • outpost.destinations.enable(): response.union(kafka) Added (Breaking ⚠️)
  • outpost.destinations.get(): response.union(kafka) Added (Breaking ⚠️)
  • outpost.destinations.listAttempts():
    • request Changed (Breaking ⚠️)
    • response.models[].destination.union(kafka) Added (Breaking ⚠️)
  • outpost.destinations.getAttempt(): response.destination.union(kafka) Added (Breaking ⚠️)
  • outpost.retry.retry(): Added
  • outpost.attempts.retry(): Removed (Breaking ⚠️)

Generated with Speakeasy CLI 1.761.10

Publishing Completed

python - sdks/outpost-python/v1.2.0 - 2026-05-01 17:49:21

01 May 17:49
c8f3f39

Choose a tag to compare

Generated by Speakeasy CLI

outpost_sdk 1.2.0

Python SDK Changes:

  • outpost.publish(): Added
  • outpost.retry(): Added
  • outpost.publish.event(): Removed (Breaking ⚠️)
  • outpost.retry.retry(): Removed (Breaking ⚠️)

Generated with Speakeasy CLI 1.761.10

Publishing Completed

python - sdks/outpost-python/v1.1.0 - 2026-05-01 15:44:52

01 May 15:44
88c2fcc

Choose a tag to compare

Generated by Speakeasy CLI

outpost_sdk 1.1.0

Python SDK Changes:

  • outpost.destinations.create():
    • request.body.union(kafka) Added
    • response.union(kafka) Added (Breaking ⚠️)
  • outpost.destinations.disable(): response.union(kafka) Added (Breaking ⚠️)
  • outpost.events.list(): request Changed (Breaking ⚠️)
  • outpost.attempts.list():
    • request Changed (Breaking ⚠️)
    • response.models[].destination.union(kafka) Added (Breaking ⚠️)
  • outpost.attempts.get(): response.destination.union(kafka) Added (Breaking ⚠️)
  • outpost.destinations.list(): response.[].union(kafka) Added (Breaking ⚠️)
  • outpost.metrics.get_attempt_metrics(): request Changed (Breaking ⚠️)
  • outpost.destinations.update():
    • request.body.union(DestinationUpdateKafka) Added
    • response.union(Destination).union(kafka) Added (Breaking ⚠️)
  • outpost.metrics.get_event_metrics(): request Changed (Breaking ⚠️)
  • outpost.destinations.enable(): response.union(kafka) Added (Breaking ⚠️)
  • outpost.destinations.get(): response.union(kafka) Added (Breaking ⚠️)
  • outpost.destinations.list_attempts():
    • request Changed (Breaking ⚠️)
    • response.models[].destination.union(kafka) Added (Breaking ⚠️)
  • outpost.destinations.get_attempt(): response.destination.union(kafka) Added (Breaking ⚠️)
  • outpost.retry.retry(): Added
  • outpost.attempts.retry(): Removed (Breaking ⚠️)

Generated with Speakeasy CLI 1.761.10

Publishing Completed

go - sdks/outpost-go/v1.2.0 - 2026-05-01 17:33:07

01 May 17:33
bc014ba

Choose a tag to compare

Generated by Speakeasy CLI

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

Go SDK Changes:

  • Outpost.Publish(): Added
  • Outpost.Retry(): Added
  • Outpost.Publish.Event(): Removed (Breaking ⚠️)
  • Outpost.Retry.Retry(): Removed (Breaking ⚠️)

Generated with Speakeasy CLI 1.761.10

go - sdks/outpost-go/v1.1.0 - 2026-05-01 15:28:10

01 May 15:28
c665fd3

Choose a tag to compare

Generated by Speakeasy CLI

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

Go SDK Changes:

  • Outpost.Destinations.Create():
    • request.Body.union(kafka) Added
    • response.union(kafka) Added (Breaking ⚠️)
  • Outpost.Destinations.Disable(): response.union(kafka) Added (Breaking ⚠️)
  • Outpost.Events.List(): request.Request Changed (Breaking ⚠️)
  • Outpost.Attempts.List():
    • request.Request Changed (Breaking ⚠️)
    • response.Models[].Destination.union(kafka) Added (Breaking ⚠️)
  • Outpost.Attempts.Get(): response.Destination.union(kafka) Added (Breaking ⚠️)
  • Outpost.Destinations.List(): response.[].union(kafka) Added (Breaking ⚠️)
  • Outpost.Metrics.GetAttemptMetrics(): request.Request Changed (Breaking ⚠️)
  • Outpost.Destinations.Update():
    • request.Body.union(DestinationUpdateKafka) Added
    • response.union(Destination).union(kafka) Added (Breaking ⚠️)
  • Outpost.Metrics.GetEventMetrics(): request.Request Changed (Breaking ⚠️)
  • Outpost.Destinations.Enable(): response.union(kafka) Added (Breaking ⚠️)
  • Outpost.Destinations.Get(): response.union(kafka) Added (Breaking ⚠️)
  • Outpost.Destinations.ListAttempts():
    • request.Request Changed (Breaking ⚠️)
    • response.Models[].Destination.union(kafka) Added (Breaking ⚠️)
  • Outpost.Destinations.GetAttempt(): response.Destination.union(kafka) Added (Breaking ⚠️)
  • Outpost.Retry.Retry(): Added
  • Outpost.Attempts.Retry(): Removed (Breaking ⚠️)

Generated with Speakeasy CLI 1.761.10