NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #1755 by repository stars
Last release today
07 Oct 2026
Ships on a steady schedule
a new release about every 2 weeks
Rarely documented
notes for 10 of 41 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
144 releases · first in 2024
One column per month.
Nothing published for this version
Nothing published for this version
Nothing published for this version
outpost.configuration.getManagedConfig() : response Changed
outpost.configuration.getManagedConfig(): response Changedoutpost.configuration.updateManagedConfig():
request Changedresponse ChangedGenerated with Speakeasy CLI 1.798.0
Publishing Completed
outpost.configuration.get_managed_config(): response Changedoutpost.configuration.update_managed_config():
request Changedresponse ChangedGenerated with Speakeasy CLI 1.798.0
Publishing Completed
See the v1.6 Upgrade Guide for details.
include=destination on the attempt endpoints returns the destination without credentials. SDK versions generated before this release expect the field and can fail to parse the response, so upgrade the SDK with the server. by @alexluong in #1095data that is not a JSON object, missing topic when TOPICS is set) are rejected on the first failure instead of redelivered. On RabbitMQ they go to the queue's dead-letter exchange if it has one and are discarded otherwise; on Azure Service Bus they are dead-lettered. by @alexluong in #1093400 for an invalid limit or cursor, the destination attempts endpoints return 404 for a deleted or missing destination, and POST /retry reports a missing, disabled or non-matching destination instead of 404 event not found. by @alexluong in #1109DESTINATIONS_AWS_EVENTBRIDGE_SOURCE sets the Source (default outpost). by @pryzmatical in #1059DESTINATIONS_PROXY_URL routes webhook, RabbitMQ and Kafka destination connections through an HTTP CONNECT proxy chain, so destinations that allowlist source IPs see the proxy's address. DESTINATIONS_WEBHOOK_PROXY_URL is deprecated; it still works and overrides the new variable for webhooks. RabbitMQ destinations now connect within the delivery timeout. by @alexluong in #1100NATS_SERVER_URL to use it. by @rohanshirsath-droadmap in #1053SUPERVISOR_RESTART_WORKERS and the supervisor restarts them when they fail, such as after losing the broker connection. /healthz reports them as degraded while they are within their restart budget. Off by default. by @alexluong in #1099PUBLISH_MAX_REDELIVERIES caps how many times a failed publish queue message is redelivered. Unset keeps redelivering without limit. by @alexluong in #1093{"status": 404, "message": "destination not found"}). Before, 401, 403 and the 409 from POST /publish had no body, and the 404 for a missing destination or destination type was plain text. Status codes are unchanged. by @alexluong in #1109POST /retry for a deleted destination returns 404 instead of 500, and GET /topics returns [] instead of null when no topics are configured. by @alexluong in #1109operatorEvents. by @leggetter in #1103, #1105, #1106OPERATOR_EVENTS_ by @leggetter in #1102Full Changelog: v1.5.0...v1.6.0
Nothing published for this version
Nothing published for this version
Per-attempt delivery latency: each attempt now records latency_ms , the time the destination took to respond or fail. GET /metrics/attempts adds avg_l
latency_ms, the time the destination took to respond or fail. GET /metrics/attempts adds avg_latency, p50_latency, p95_latency and p99_latency measures, which work with the existing dimensions, filters and granularity. Includes a ClickHouse and a Postgres migration that each add one nullable column. Attempts recorded before the upgrade return null. by @kunwar-axilio in #1079PUBLISH_PROXY_URL routes the RabbitMQ publish queue connection through an HTTP CONNECT proxy chain, so a broker that allowlists source IPs sees the proxy's address. It uses the same format as DESTINATIONS_WEBHOOK_PROXY_URL. TLS (amqps) runs end to end through the tunnel. by @alexluong in #1086Full Changelog: v1.4.1...v1.5.0
Nothing published for this version
Webhook templates (signature content and header, signing secret, compat headers) now have an explicit set of Sprig functions: join , upper , lower , t
join, upper, lower, trim, trimPrefix, trimSuffix, replace, b64enc, default. Go's built-in template functions (index, slice, printf, …) are unchanged. A template that uses a function outside this set fails to parse at startup. See custom signature templates. By @alexluong in #1077Full Changelog: v1.4.0...v1.4.1
Compat signature for changing signature schemes. Webhook deliveries can carry a second signature in your previous format, sent alongside the primary o
DESTINATIONS_WEBHOOK_COMPAT_*; nothing changes unless DESTINATIONS_WEBHOOK_COMPAT_SIGNATURE_HEADER_NAME is set. The primary signature also gains secret key decoding (DESTINATIONS_WEBHOOK_SIGNATURE_SECRET_ENCODING / _PREFIX). See the change webhook signature scheme guide. By @alexluong in #1069REDIS_TLS_VERIFY=true to verify the Redis server's certificate. For self-signed certificates, use SSL_CERT_FILE / SSL_CERT_DIR. The default is unchanged. By @hogklint in #1071Standard Webhooks mode now runs on the default webhook provider. Standard mode is now a set of config values applied to the default webhook provider, and the duplicate provider is removed. Headers, signatures, secret generation and portal instructions are unchanged, and the compat signature now works in standard mode. New option DESTINATIONS_WEBHOOK_TIMESTAMP_FORMAT (rfc3339 or unix); the default mode keeps its current format. Standard mode now logs a startup warning for each set option it ignores. Standard-mode edge cases that changed:
webhook-<key>). It was also sent as bare header names.whsec_ prefix; a bare base64 secret is accepted, as with the official SDKs. A secret that doesn't decode now fails validation as invalid (was pattern).By @alexluong in #1072
DEPLOYMENT_ID. Before, several deployments starting together could fail with failed to acquire lock after 5 attempts. By @alexluong in #1065opevent delivery failed errors and redelivered log messages. By @samadalishah in #1050alert.attempt.exhausted_retries suppression window. Before, this caused context deadline exceeded nacks. By @alexluong in #1063TOPICS_ALLOW_WILDCARDS now applies to delivery matching as well as validation. When it's disabled, stored wildcard patterns are ignored without being deleted, so re-enabling the flag restores them. * still means all topics. By @Abdulmumin1 in #1051Full Changelog: v1.3.0...v1.4.0
Nothing published for this version
Nothing published for this version
Release workflow pins GoReleaser and migrates off deprecated config by @alexluong in #1045
DESTINATIONS_WEBHOOK_PROXY_URL now accepts a whitespace-separated list of proxies, and Outpost tunnels through each in order with HTTP CONNECT by @alexluong in #1060pprof profiling endpoints on the service HTTP port via PPROF_ENABLED / pprof_enabled (default off, unauthenticated, works for every service type) by @alexluong in #1056REDIS_POOL_SIZE / redis.pool_size. Unset keeps go-redis's default of 10 × GOMAXPROCS; in cluster mode the value applies per node by @alexluong in #1055CLICKHOUSE_LOG_RETENTION_TTL_DAYS no longer crash-loops on ClickHouse versions before 25.7; the TTL expression now wraps the timestamp in toDateTime and existing tables are re-altered on next boot by @alexluong in #1044outpost-server instead of spawning it as a child, so graceful shutdown works under Docker and Kubernetes by @alexluong in #1048CLICKHOUSE_LOG_RETENTION_TTL_DAYS by @alexluong in #1032Full Changelog: v1.2.0...v1.3.0
Nothing published for this version
Note : This release includes a new PostgreSQL migration and one behavior change ( RETRY_POLL_BACKOFF_MS ). Run outpost migrate apply --yes before star
Note: This release includes a new PostgreSQL migration and one behavior change (
RETRY_POLL_BACKOFF_MS). Runoutpost migrate apply --yesbefore starting v1.2, and review the v1.2 Upgrade Guide.
outpost config list command, printing the effective configuration after defaults, YAML, and environment variables are resolved, with the same masking as the startup log. It skips validation, so it still works when a required field is missing by @zahradm in #1038RETRY_POLL_BACKOFF_MS is redefined as a maximum idle sleep with a new default of 0 (auto) by @alexluong in #1026OTEL_EXPORTER/OTEL_PROTOCOL pair, so enabling one signal enabled the other two against localhost:4317. The spec's OTEL_EXPORTER_OTLP_*_PROTOCOL variables are now honored by @alexluong in #1019deliveries_pkey and deliveries_default_pkey indexes renamed to attempts_* (migration 000010). Metadata-only, no table rewrite or downtime by @alexluong in #1031MAX_DESTINATIONS_PER_TENANT returns 400 Bad Request instead of 500 by @alexluong in #1010outpost failure previously exited 1 with nothing on stderr, which made outpost migrate failures indistinguishable from one another by @alexluong in #1034x/text norm.Iter (GO-2026-5970), reachable through webhook delivery, pgx, and Kafka SCRAM — plus GO-2026-6061 in grpc xDS by @alexluong in #1030distroless/base-debian12 to debian13, as debian12 has reached security end of life by @8BitJonny in #1036RETRY_POLL_BACKOFF_MS documented in the configuration reference and its resolved value logged at startup by @alexluong in #1040.env, Compose, and YAML users; content and header template fields merged into one table by @alexluong in #1024configdocsgen retired — it wrote to a docs path that no longer exists after the Markdoc migration by @alexluong in #1035, #1037Full Changelog: v1.1.0...v1.2.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Note : No breaking changes and no new migrations in this release. Review the Upgrade to v1.1 guide for behavior changes and deprecations before upgrad…
Note: No breaking changes and no new migrations in this release. Review the Upgrade to v1.1 guide for behavior changes and deprecations before upgrading.
DESTINATIONS_WEBHOOK_EVENT_ID_HEADER_NAME, _TIMESTAMP_, _TOPIC_, _SIGNATURE_) or set to an empty string to disable it. Deprecates the DESTINATIONS_WEBHOOK_DISABLE_DEFAULT_*_HEADER flags by @ambroziepaval in #992AWS_SQS_ACCESS_KEY_ID and AWS_SQS_SECRET_ACCESS_KEY are now optional; when omitted, Outpost uses the AWS SDK default credential chain (EKS Pod Identity, IRSA, instance profiles) by @ambroziepaval in #996attempt.success and attempt.failed operator events, emitted once per delivery attempt. If you subscribe with OPERATION_EVENTS_TOPICS=*, note these fire at full delivery throughput — see the upgrade guide before upgrading by @alexluong in #989deliverymq-retry-dlq after 5 receives instead of retrying forever. Tasks stuck in a retry loop before the upgrade drain into the DLQ shortly after upgrading — that's expected and surfaces previously invisible failures by @LendritIbrahimi in #997DESTINATIONS_WEBHOOK_MAX_RESPONSE_BODY_BYTES (default 128 KiB) are replaced with a placeholder so oversized attempt logs can't exceed queue message limits; set 0 to disable by @alexluong in #975exhausted_retries alerts are now suppressed per destination instead of per event, so a high-volume failing destination no longer floods your alert sink by @alexluong in #995Full Changelog: v1.0.7...v1.1.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Wildcard topic subscriptions: destinations can now subscribe to topic patterns like user.* , *.created , or order.*.completed in addition to exact top
user.*, *.created, or order.*.completed in addition to exact topics and the existing catch-all * by @Abdulmumin1 in #912Full Changelog: v1.0.6...v1.0.7
Nothing published for this version
Alert dimensions now support default/disable semantics via a single config key — leave it unset for the built-in default, set an empty string to disab
ALERT_CONSECUTIVE_FAILURE_COUNT and ALERT_EXHAUSTED_RETRIES_WINDOW_SECONDS by @alexluong in #964Full Changelog: v1.0.5...v1.0.6
Nothing published for this version
Webhook secret rotation now correctly defaults the previous-secret invalidation window to 24h on every rotation, not just the first — previously later
aws_s3 key_template referencing a missing field) are now recorded as normal failed deliveries that retry and surface to the customer, instead of being silently dead-lettered and paging on-call by @alexluong in #957ManagedConfig now accurately reflects the supported configs by @alexbouchardd in #943make health/make smoke, and repaired make up/test by @alexluong in #930, #952publish() shape and surfaced failing checks in CI logs by @leggetter in #950Full Changelog: v1.0.4...v1.0.5
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →