Releases: hookdeck/outpost
Releases · hookdeck/outpost
v0.13.0
⚠️ Breaking Changes
Warning: This release contains significant breaking changes. Please review the v0.13.0 Migration Guide before upgrading.
Features
- ClickHouse log storage support by @alexluong in #580, #645, #652
- Redis ACL authentication support by @alexluong in #658
- Matched destinations returned in publish API response by @alexluong in #669
Refactors
- Unified base62 cursor pagination format by @alexluong in #646
- API response schema refinement (new
models/paginationenvelope, error format) by @alexluong in #650 - Delivery concept renamed to attempt by @alexluong in #653
- API router restructuring and tenant auth scope by @alexluong in #668
- Denormalized PostgreSQL log store schema by @alexluong in #677
- Tenantstore extraction and models simplification by @alexluong in #666
- Pagination helpers and improved logstore test suite by @alexluong in #647
Fixes
- Tenant pagination by @alexluong in #648
- Flat portal topics without separator by @alexluong in #651
- Standard webhook default header prefix by @alexluong in #665
- Empty custom_headers validation in webhook configurations by @alexbouchardd in #674
- ID prefix delimiter removed by @alexluong in #660
Small Fixes & QoL
- Proper error for list event by destination by @alexluong in #676
- Use errors.As for ErrDestinationPublishAttempt by @alexluong in #678
- Include deployment_id in JWT by @alexluong in #659
- Fix v0.12.0 upgrading guide info by @alexluong in #628
- Use localhost:1 instead of non-routable IP in migrator test by @alexluong in #649
- Removed unused DestinationID from RetrieveEventRequest by @alexluong in #679
- Update outpost version in compose.yml by @github-actions in #627
SDKs
- Contributing guide for Outpost SDKs by @leggetter in #552
- SDK release preparation for v0.12 by @leggetter in #631
- Update pagination field naming and Python overlay configuration by @leggetter in #634
- Fix Python speakeasy pagination config by @leggetter in #639
- Generate outpost-go v0.5.0, v0.5.1 by @github-actions in #632, #637, #638
- Generate outpost-python v0.5.0 by @github-actions in #640
- Generate outpost-ts v0.6.0 by @github-actions in #641
Full Changelog: v0.12.0...v0.13.0
typescript - sdks/outpost-typescript/v0.6.0 - 2026-01-16 13:28:38
Generated by Speakeasy CLI
2026-01-16 13:28:38
Changes
Based on:
- OpenAPI Doc 0.0.1
- Speakeasy CLI 1.686.1 (2.796.1) https://github.com/speakeasy-api/speakeasy
Generated
- [typescript v0.6.0] sdks/outpost-typescript
Releases
- [NPM v0.6.0] https://www.npmjs.com/package/@hookdeck/outpost-sdk/v/0.6.0 - sdks/outpost-typescript
Publishing Completed
python - sdks/outpost-python/v0.5.0 - 2026-01-16 13:09:58
Generated by Speakeasy CLI
Python SDK Changes:
outpost.destinations.enable():responseChangederrorChanged Breaking⚠️
outpost.tenants.get_token():response.tenant_idAddederrorChanged Breaking⚠️
outpost.tenants.upsert():request.paramsAddedresponseChangederrorChanged Breaking⚠️
outpost.tenants.get():responseChangederrorChanged Breaking⚠️
outpost.tenants.delete():errorChanged Breaking⚠️ outpost.tenants.get_portal_url():response.tenant_idAddederrorChanged Breaking⚠️
outpost.destinations.delete():errorChanged Breaking⚠️ outpost.destinations.list():request.typeChanged Breaking⚠️ response.[]ChangederrorChanged Breaking⚠️
outpost.destinations.create():request.paramsChangedresponseChangederrorChanged Breaking⚠️
outpost.destinations.get():responseChangederrorChanged Breaking⚠️
outpost.health.check():response.status[200]Changed Breaking⚠️ outpost.destinations.update():request.paramsChangedresponse.[destination]ChangederrorChanged Breaking⚠️
outpost.schemas.get():errorChanged Breaking⚠️ outpost.destinations.disable():responseChangederrorChanged Breaking⚠️
outpost.events.retry():errorChanged Breaking⚠️ outpost.schemas.list_tenant_destination_types():errorChanged Breaking⚠️ outpost.events.get_by_destination():responseChanged Breaking⚠️ errorChanged Breaking⚠️
outpost.topics.list():errorChanged Breaking⚠️ outpost.events.list():requestChanged Breaking⚠️ response.data.[]Changed Breaking⚠️ errorChanged Breaking⚠️
outpost.events.get():responseChanged Breaking⚠️ errorChanged Breaking⚠️
outpost.events.list_deliveries():errorChanged Breaking⚠️ outpost.events.list_by_destination():requestChanged Breaking⚠️ response.data.[]Changed Breaking⚠️ errorChanged Breaking⚠️
outpost.tenants.list_tenants(): Addedoutpost.publish.event():response.duplicateAdded
Generated with Speakeasy CLI 1.686.1
Publishing Completed
go - sdks/outpost-go/v0.5.1 - 2026-01-16 12:34:03
Generated by Speakeasy CLI
github.com/hookdeck/outpost/sdks/outpost-go 0.5.1
Go SDK Changes:
Outpost.Destinations.Enable():responseChangederrorChanged Breaking⚠️
Outpost.Tenants.GetToken():response.TenantIdAddederrorChanged Breaking⚠️
Outpost.Tenants.Upsert():request.ParamsAddedresponseChangederrorChanged Breaking⚠️
Outpost.Tenants.Get():responseChangederrorChanged Breaking⚠️
Outpost.Tenants.Delete():errorChanged Breaking⚠️ Outpost.Tenants.GetPortalUrl():response.TenantIdAddederrorChanged Breaking⚠️
Outpost.Destinations.Delete():errorChanged Breaking⚠️ Outpost.Destinations.List():request.TypeChanged Breaking⚠️ response.[]ChangederrorChanged Breaking⚠️
Outpost.Destinations.Create():request.ParamsChangedresponseChangederrorChanged Breaking⚠️
Outpost.Destinations.Get():responseChangederrorChanged Breaking⚠️
Outpost.Health.Check():response.status[200]Changed Breaking⚠️ Outpost.Destinations.Update():request.ParamsChangedresponse.[destination]ChangederrorChanged Breaking⚠️
Outpost.Schemas.Get():errorChanged Breaking⚠️ Outpost.Destinations.Disable():responseChangederrorChanged Breaking⚠️
Outpost.Events.Retry():errorChanged Breaking⚠️ Outpost.Schemas.ListTenantDestinationTypes():errorChanged Breaking⚠️ Outpost.Events.GetByDestination():responseChanged Breaking⚠️ errorChanged Breaking⚠️
Outpost.Topics.List():errorChanged Breaking⚠️ Outpost.Events.List():response.Data.[]Changed Breaking⚠️ errorChanged Breaking⚠️
Outpost.Events.Get():responseChanged Breaking⚠️ errorChanged Breaking⚠️
Outpost.Events.ListDeliveries():errorChanged Breaking⚠️ Outpost.Events.ListByDestination():response.Data.[]Changed Breaking⚠️ errorChanged Breaking⚠️
Outpost.Tenants.ListTenants(): AddedOutpost.Publish.Event():response.DuplicateAdded
Generated with Speakeasy CLI 1.686.0
go - sdks/outpost-go/v0.5.0 - 2026-01-16 09:49:54
Generated by Speakeasy CLI
github.com/hookdeck/outpost/sdks/outpost-go 0.5.0
Go SDK Changes:
Outpost.Destinations.Enable():responseChangederrorChanged Breaking⚠️
Outpost.Tenants.GetToken():response.TenantIdAddederrorChanged Breaking⚠️
Outpost.Tenants.Upsert():request.ParamsAddedresponseChangederrorChanged Breaking⚠️
Outpost.Tenants.Get():responseChangederrorChanged Breaking⚠️
Outpost.Tenants.Delete():errorChanged Breaking⚠️ Outpost.Tenants.GetPortalUrl():response.TenantIdAddederrorChanged Breaking⚠️
Outpost.Destinations.Delete():errorChanged Breaking⚠️ Outpost.Destinations.List():request.TypeChanged Breaking⚠️ response.[]ChangederrorChanged Breaking⚠️
Outpost.Destinations.Create():request.ParamsChangedresponseChangederrorChanged Breaking⚠️
Outpost.Destinations.Get():responseChangederrorChanged Breaking⚠️
Outpost.Health.Check():response.status[200]Changed Breaking⚠️ Outpost.Destinations.Update():request.ParamsChangedresponse.[destination]ChangederrorChanged Breaking⚠️
Outpost.Schemas.Get():errorChanged Breaking⚠️ Outpost.Destinations.Disable():responseChangederrorChanged Breaking⚠️
Outpost.Events.Retry():errorChanged Breaking⚠️ Outpost.Schemas.ListTenantDestinationTypes():errorChanged Breaking⚠️ Outpost.Events.GetByDestination():responseChanged Breaking⚠️ errorChanged Breaking⚠️
Outpost.Topics.List():errorChanged Breaking⚠️ Outpost.Events.List():responseChanged Breaking⚠️ errorChanged Breaking⚠️
Outpost.Events.Get():responseChanged Breaking⚠️ errorChanged Breaking⚠️
Outpost.Events.ListDeliveries():errorChanged Breaking⚠️ Outpost.Events.ListByDestination():responseChanged Breaking⚠️ errorChanged Breaking⚠️
Outpost.Tenants.ListTenants(): AddedOutpost.Publish.Event():response.DuplicateAdded
Generated with Speakeasy CLI 1.686.0
v0.12.0
⚠️ Breaking Changes
Warning: This release contains significant breaking changes. Please review the v0.12.0 Migration Guide before upgrading.
Features
- List tenants using RediSearch by @alexluong in #616
- Improved Redis migration flow by @alexluong in #618
- Added
/tenantsprefix to tenant-scoped API routes by @alexluong in #617
Fixes
- Added new Azure params and updated to v11 by @Fraaankes in #614
- Regex pattern for webhook URL validation by @voytech-net in #619
- Set
updated_aton entity creation by @alexluong in #626 - Fixed
/inject-portal-config.jscontent type by @alexbouchardd in #624
Updates
- Removed timestamps from default signature template by @alexbouchardd in #588
- v0.12.0 migration guide & documentation by @alexluong in #622
- Use gotest in local & CI to mitigate flaky test blocker by @alexluong in #621
New Contributors
- @Fraaankes made their first contribution in #614
- @voytech-net made their first contribution in #619
Full Changelog: v0.11.0...v0.12.0
v0.11.0
Fixes
- Webhook connection errors now retry instead of failing as system errors by @alexluong in #600
- Retry ID collision for multi-destination events by @alexluong in #609
- Dragonfly compatibility issue with Lua script in RSMQ package by @alexluong in #607
Updates
- Replaced Bitnami charts with official Docker images in examples by @leggetter in #595
- Improved log lines metadata by @alexluong in #608
- Local development setup improvements by @alexluong in #606
Full Changelog: v0.10.0...v0.11.0
v0.10.0
Features
- Destination filtering support by @alexluong in #594
- Custom headers for webhook destinations by @alexluong in #590
Updates
- Portal feature flags for webhook custom headers and destination filter features by @alexluong in #599
- Portal sidebar refactoring to fix simultaneous sidebar by @alexluong in #602
- Fixed alert threshold comparison to use greater-than-or-equal check by @alexluong in #597
- Comprehensive destination documentation by @alexluong #603
- Filter syntax & documentation in #601 #603
Full Changelog: v0.9.1...v0.10.0
v0.9.1
Features
- Improved startup logging with clearer output to help operators understand Outpost's configuration and behavior by @fmvilas in #564
Updates
- Portal UI enhancements for a better user experience by @alexluong in #574
- Made secret field copyable in the portal for easier credential management by @alexluong in #585
- Consumer package now uses proper logger for consistent logging behavior by @alexluong in #591
- Removed deadcode by @alexluong in #583
Documentation
- Added documentation for bringing your own message queues (BYOMQ) by @alexluong in #570
- Fixed SQS PublishMQ permission documentation by @alexluong in #592
- Fixed configuration documentation errors for
DESTINATIONS_WEBHOOK_HEADER_PREFIXandPORTAL_REFERER_URLby @alexbouchardd in #587
New Contributors
Full Changelog: v0.9.0...v0.9.1
v0.9.0
Features
- Enhanced publish endpoint response with
duplicatefield indicating whether an event was already processed via idempotency, allowing clients to distinguish between new and deduplicated events by @alexluong in #563 - Configurable retry monitor polling via
RETRY_POLL_BACKOFF_MSenvironment variable, allowing operators to tune the retry queue polling interval by @alexluong in #562 - Self-managed message queue infrastructure via
MQS_AUTO_PROVISIONenvironment variable, allowing operators to manage their own message queue infrastructure instead of automatic provisioning by @alexluong in #560 - Comprehensive health check endpoint refactor returning structured JSON with individual worker status reporting (HTTP 200 for healthy, 503 for failed), enabling better integration with container orchestration health probes by @alexluong in #558
Full Changelog: v0.8.0...v0.9.0