Change log
All notable changes to the LaunchDarkly Relay will be documented in this file. This project adheres to Semantic Versioning.
8.19.1 (2026-04-29)
Bug Fixes
- Bump opencensus-go-exporter-stackdriver to address CVE-2026-40179 (#655) (cd062ad)
8.19.0 (2026-04-22)
Features
- cache autoconfig in store, init from store (#593) (3b16c8e)
Bug Fixes
- avoid double-close of AutoConfig cache on init error (#652) (1599a68)
- deps: update Dockerfiles from 3.23.3 to alpine:3.23.4 (#645) (08ac7c2)
8.18.0 (2026-04-09)
Features
- Add request_duration metric for each endpoint (#634) (fb309fc)
Bug Fixes
- deps: bump supported Go versions to 1.26.2 and 1.25.9 (#633) (08bbc9e)
- remove racy syncTimeCh length assertions in big segment sync tests (#624) (2c43bda)
8.17.8 (2026-04-01)
Bug Fixes
- Include tags header in
relayUsage metadata (#618) (41152b1)
8.17.7 (2026-04-01)
Bug Fixes
- deps: bump google.golang.org/grpc from 1.61.0 to 1.79.3 (2ebb357)
8.17.6 (2026-03-30)
Bug Fixes
8.17.5 (2026-03-27)
Bug Fixes
- Include server evalx routes in polling metrics (#601) (3e78c23)
8.17.4 (2026-03-12)
Bug Fixes
- Remove deprecated big segment excluded usage from integration tests (#591) (81c53aa)
8.17.3 (2026-03-11)
Bug Fixes
8.17.2 (2026-03-11)
Bug Fixes
- Set timeout for big segment revisions poll (#584) (2b3051e)
8.17.1 (2026-03-11)
Bug Fixes
- deps: bump supported Go versions to 1.25.7 and 1.24.13 (#579) (9f99a49)
- deps: bump supported Go versions to 1.26.1 and 1.25.8 (#585) (49aa16e)
- deps: update Dockerfiles from 3.23.2 to alpine:3.23.3 (#577) (f6b4e48)
8.17.0 (2026-01-26)
Features
- Add support for structured JSON logging (#572) (9afcc4d)
Bug Fixes
- deps: bump supported Go versions to 1.25.6 and 1.24.12 (#575) (5b4810a)
8.16.4 (2025-12-18)
Bug Fixes
- deps: update Dockerfiles from 3.23.0 to alpine:3.23.2 (#569) (4bb745d)
8.16.3 (2025-12-18)
Bug Fixes
- deps: bump supported Go versions to 1.25.5 and 1.24.11 (#560) (c986132)
- deps: update Dockerfiles from 3.22.2 to alpine:3.23.0 (#566) (090e7b0)
8.16.2 (2025-12-03)
Bug Fixes
- Remove double slash in diagnostic url debug message (#558) (b7c3a58)
8.16.1 (2025-11-24)
Bug Fixes
8.16.0 (2025-11-21)
Features
- Support jitter for client/mobile ping stream connections (#551) (ab1b945)
Bug Fixes
- Bump github.com/launchdarkly/go-server-sdk/v7 from v7.14.0 -> v7.14.1 (#553) (ea8df17)
- Bump minimum go to 1.24 (#552) (7f622ac)
8.15.0 (2025-11-13)
Features
- Add HTTP client transport configuration options (#545) (cab095a)
Bug Fixes
- deps: bump supported Go versions to 1.25.3 and 1.24.9 (#541) (1f37eac)
- deps: bump supported Go versions to 1.25.4 and 1.24.10 (#548) (91cf12f)
8.14.0 (2025-10-22)
Features
Bug Fixes
- deps: bump supported Go versions to 1.25.0 and 1.24.6 (#533) (8b70264)
- deps: bump supported Go versions to 1.25.1 and 1.24.7 (#536) (fba0368)
- deps: bump supported Go versions to 1.25.2 and 1.24.8 (#537) (8f50322)
- deps: update Dockerfiles from 3.22.1 to alpine:3.22.2 (#539) (c686a36)
8.13.3 (2025-08-14)
Bug Fixes
- Improve compression performance via new provider (#532) (3ece4f4)
8.13.2 (2025-08-12)
Bug Fixes
- Fix enabling gzip compression via environment variable (#530) (6c3fe0c)
8.13.1 (2025-08-07)
Bug Fixes
- deps: bump supported Go versions to 1.24.6 and 1.23.12 (#528) (2576371)
8.13.0 (2025-07-29)
Features
- Support gzip compression across serviced endpoints (#526) (b0f8fda)
Bug Fixes
- deps: bump supported Go versions to 1.24.5 and 1.23.11 (#521) (0811cd4)
- deps: update Dockerfiles from 3.22.0 to alpine:3.22.1 (#523) (cf7c914)
8.12.4 (2025-07-07)
Bug Fixes
- Bump github.com/google/uuid to v1.6.0 (685bbaf)
- Bump github.com/hashicorp/consul/api to v1.27.0 (685bbaf)
- Bump github.com/launchdarkly/eventsource to v1.10.0 (685bbaf)
- Bump github.com/launchdarkly/go-sdk-common/v3 to v3.3.0 (685bbaf)
- Bump github.com/launchdarkly/go-server-sdk/v7 to v7.11.0 (685bbaf)
- Bump github.com/prometheus/client_golang to v1.22.0 (685bbaf)
8.12.3 (2025-07-01)
Bug Fixes
- Bump version to override default docker (#515) (39da958)
8.12.2 (2025-06-06)
Bug Fixes
- Bump golang.org/x/net to v0.38 (via opencensus-exporter) for CVE-2025-22872 (#506) (e1d7690)
- deps: bump supported Go versions to 1.24.4 and 1.23.10 (#510) (5cd9e29)
8.12.1 (2025-06-02)
Bug Fixes
- Bump eventsource v1.9.1 (f8837e0)
- Bump server SDK v7.10.2 (f8837e0)
- deps: update Dockerfiles from 3.21.3 to alpine:3.22.0 (#503) (ef7cc53)
8.12.0 (2025-05-19)
Features
- support for graceful shutdown of http server in case of SIGTERM signal (#493) (11429dd)
Bug Fixes
- deps: bump supported Go versions to 1.24.3 and 1.23.9 (#496) (b92f25b)
8.11.0 (2025-04-16)
Features
- Improve relay usage tracking statistics (#491) (1a55b52)
Bug Fixes
- deps: bump supported Go versions to 1.24.2 and 1.23.8 (#488) (779155b)
8.10.9 (2025-03-28)
Bug Fixes
- Bump github.com/launchdarkly/opencensus-go-exporter-stackdriver to v0.14.4 (#485) (ce91697)
- Bump launchdarkly/go-server-sdk/v7 to v7.10.0 (#486) (0156adb)
8.10.8 (2025-03-06)
Bug Fixes
- deps: bump supported Go versions to 1.24.1 and 1.23.7 (#481) (f437341)
8.10.7 (2025-02-19)
Bug Fixes
- deps: bump supported Go versions to 1.24.0 and 1.23.6 (#477) (2e67f14)
- deps: update Dockerfiles from 3.21.2 to alpine:3.21.3 (#478) (f945993)
8.10.6 (2025-02-05)
Bug Fixes
- deps: bump supported Go versions to 1.23.6 and 1.22.12 (#476) (1ce9396)
- deps: update Dockerfiles from 3.21.0 to alpine:3.21.1 (#470) (5b7a450)
- deps: update Dockerfiles from 3.21.1 to alpine:3.21.2 (#472) (580c48f)
- Mitigate web cache poisoning for
/sdk/goals endpoint (#475) (a6ee692)
8.10.5 (2025-01-02)
Bug Fixes
- Bump golang.org/x/crypto for CVE-2024-45337 (5d1c3b9)
- Bump opencensus-go-exporter-stackdriver for CVE-2024-45338 (#468) (543cf2d)
8.10.4 (2024-12-09)
Bug Fixes
- deps: update Dockerfiles from 3.20.3 to alpine:3.21.0 (#465) (b8237c4)
8.10.3 (2024-12-04)
Bug Fixes
- deps: bump supported Go versions to 1.23.4 and 1.22.10 (#463) (0b22f62)
8.10.2 (2024-11-07)
Bug Fixes
- deps: bump supported Go versions to 1.23.3 and 1.22.9 (#461) (3318a21)
8.10.1 (2024-10-23)
Bug Fixes
- build: add windows binaries (388feb4)
8.10.0 (2024-10-17)
Features
- add support for client-side prerequisite events (#452) (9dea4b5)
8.9.6 (2024-10-02)
Bug Fixes
- deps: bump supported Go versions to 1.23.2 and 1.22.8 (#447) (59203f5)
8.9.5 (2024-09-17)
Bug Fixes
- deps: bump supported Go versions to 1.23.1 and 1.22.7 (#441) (1ab08a2)
- deps: update Dockerfiles from alpine:3.20.2 to alpine:3.20.3 (#444) (613ee33)
8.9.4 (2024-09-06)
Bug Fixes
- Include expires header on 304 cache hit (#438) (b24370e)
8.9.3 (2024-08-14)
Bug Fixes
- deps: bump supported Go versions to 1.23.0 and 1.22.6 (#432) (e246aec)
8.9.2 (2024-08-07)
Bug Fixes
- deps: bump supported Go versions to 1.22.6 and 1.21.13 (#426) (c3097d4)
8.9.1 (2024-08-05)
Bug Fixes
- deps: update Dockerfiles from alpine:3.20.1 to alpine:3.20.2 (#419) (3d6e5ae)
- don't panic if envContext is closed twice (#417) (36f3168)
8.9.0 (2024-07-25)
Features
- Add new
MaxInboundPayloadSize configuration to limit event payload sizes (#364) (4803e76)
- gzip event payloads before sending to upstream LaunchDarkly APIs (#364) (4803e76)
- Support receiving compressed event payloads (#364) (4803e76)
Bug Fixes
8.8.2 (2024-07-15)
Bug Fixes
- redact password in logs if specified as part of URL (#413) (0471d51)
8.8.1 (2024-07-10)
Bug Fixes
- deps: bump supported Go versions to 1.22.5 and 1.21.12 (#411) (02c0a7e)
8.8.0 (2024-06-25)
Features
Bug Fixes
- offline mode would spam logs when file changes (#406) (3c12e10)
8.7.1 (2024-06-21)
Bug Fixes
- deps: update Dockerfiles from alpine:3.20.0 to alpine:3.20.1 (#402) (f70a5df)
8.7.0 (2024-06-17)
Features
- publish -alpine suffixed Docker images (#396) (2d7cecd)
8.6.0 (2024-06-10)
Features
- publish distroless debian12 image (fe0155f)
8.5.2 (2024-06-05)
Bug Fixes
- deps: bump supported Go versions to 1.22.4 and 1.21.11 (#372) (e0efbad)
- deps: update Dockerfiles from alpine:3.19.1 to alpine:3.20.0 (#386) (6935080)
8.5.1 (2024-05-21)
Bug Fixes
8.5.0 (2024-05-14)
Features
- replace offline-mode filewatcher with polling (#317) (7bea824)
8.4.2 (2024-05-10)
Bug Fixes
- deps: bump golang.org/x/net from 0.19 -> 0.25 for CVE-2023-45288 (#360) (b6eab4c)
- deps: bump supported Go versions to 1.22.3 and 1.21.10 (#357) (758bfa8)
8.4.1 (2024-04-04)
Bug Fixes
- deps: bump supported Go versions to 1.22.2 and 1.21.9 (#349) (a23f728)
8.4.0 (2024-03-14)
Features
Bug Fixes
- Bump go-sdk-events to 3.2.0 (87e3cc3)
- Bump go-server-sdk/v7 to 7.1.0 (2cf8613)
- deps: Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 (#342) (81175da)
8.3.2 (2024-03-07)
Bug Fixes
- deps: bump supported Go versions to 1.22.1 and 1.21.8 (#333) (4a670b7)
8.3.1 (2024-02-12)
Bug Fixes
- deps: bump supported Go versions to 1.22.0 and 1.21.7 (#314) (e81454f)
8.3.0 (2024-02-09)
Features
- build Docker images for ARMv7 and ARM64v8 architectures [v8] (#291) (a361688)
[8.2.3] - 2024-01-29
Changed:
- Continuous integration was migrated from CircleCI to Github Actions.
- Bumped supported Go versions from 1.21.5 to 1.21.6, and 1.20.12 to 1.20.13
- Bumped base AWS SDK from 1.18 to 1.24, AWS config module from 1.18 to 1.26, AWS credentials module from 1.13 to 1.16 and AWS dynamodb module from 1.19 to 1.27
Fixed:
- Offline Mode file watcher should now correctly handle atomic updates to the archive. Thanks, @gmckerrell.
[8.2.2] - 2024-01-03
Changed:
- Build with Go 1.21.5 and 1.20.12 in CI
- Bumped Alpine from 3.18 to 3.19
- Bumped go-git from 5.7.0 to 5.11.0
- Bumped x/crypto from 0.14.0 to 0.17
[8.2.1] - 2023-11-29
Changed:
- Bump google.golang.org/grpc from 1.55.0 to 1.56.3
- Bump Alpine from 3.18.3 to 3.18.4
- Bump github.com/docker/docker from v23.0.3 to v24.0.7
[7.4.2] - 2023-11-29
Changed:
- Bump google.golang.org/grpc from 1.55.0 to 1.56.3
- Bump Alpine from 3.18.3 to 3.18.4
[8.2.0] - 2023-10-24
Added:
- Support sampling and exclusions in PHP events
[8.1.1] - 2023-10-20
Fixed:
- The big segments synchronization process will now handle empty versions correctly when using DynamoDB.
[8.1.0] - 2023-10-17
Changed:
- Build with Go 1.21 and 1.20 in CI
- Bump minimum required Go version to 1.19
Removed:
- Removed obsolete documentation related to
disableInternalUsageMetrics config option.
[8.0.0] - 2023-10-12
Added:
- Added support for Payload Filters, which is an EAP feature. Please contact LaunchDarkly support for more information.
- Added support for upcoming technology migration functionality.
Changed:
- Expanded
relayMetric to track polling requests.
Removed:
DisableInternalUsageMetrics configuration has been removed.
[7.4.1] - 2023-10-20
Fixed:
- The big segments synchronization process will now handle empty versions correctly when using DynamoDB.
[7.4.0] - 2023-10-17
Changed:
- Build with Go 1.21 and 1.20 in CI
- Bump minimum required Go version to 1.19
- Bump golang.org/x/net from 0.11.0 to 0.17.0
Deprecated:
disableInternalUsageMetrics is deprecated in Relay Proxy v7 and removed in v8.
[7.3.3] - 2023-09-27
Changed:
- Updated internal relay metric to include data scoped to individual environment.
- Bumped cyphar/filepath-securejoin to v0.2.4
[7.3.2] - 2023-08-08
Changed:
- Updated Alpine docker image to 3.18.3.
Fixed:
[7.3.1] - 2023-06-21
Changed:
- The relay proxy web server will now time out if a connection does not provide header information within 10 seconds.
- Updated Alpine docker image to 3.18.2.
Fixed:
[7.3.0] - 2023-05-24
Added:
- Add a version command line option to return Relay's current version
Fixed:
- Event payloads receiving an HTTP 413 status code will no longer prevent subsequent event payloads from being attempted.
- Unrecoverable failure conditions will no longer block event go routines.
[7.2.5] - 2023-05-12
Changed:
- Updated Alpine docker image to 3.18.0.
[7.2.4] - 2023-05-05
Fixed:
[7.2.3] - 2023-04-13
Changed:
- Updated Alpine docker image to 3.17.3.
- Bumped docker dependency from 20.10.21+incompatible to 20.10.24+incompatible.
Fixed:
- Removed redundant autoconfig stream restart upon receiving reconnect event.
[7.2.2] - 2023-04-04
Changed:
- CI tests now execute for Go 1.20.2 and Go 1.19.7.
- Upgraded 3rd party dependencies.
Fixed:
- Fixed a broken link in configuration.md.
[7.2.1] - 2023-03-07
Changed:
- Updated Alpine image to use Go 1.20.1.
- CI tests now execute for Go 1.20.1 and Go 1.19.6; removed Go 1.18.
[7.2.0] - 2023-02-21
Changed:
- Updated goreleaser to
v1.15.2: release artifact names now follow goreleaser's standard ConventionalFileName template. Additionally, the deb and rpm packages now install ld-relay to /usr/bin instead of /usr/local/bin.
Fixed:
- Updated
golang.org/x/net to v0.7.0 to address CVE-2022-41723.
- Fixed typo in
docs/metrics.md.
[7.1.0] - 2023-02-10
Added:
- Added ability to specify Redis username via config file or environment variable.
[7.0.3] - 2023-02-06
Fixed:
- Fixed Go module path to match the major version number, which was preventing installation using Go tooling. (Thanks, @macro1).
[7.0.2] - 2023-01-19
Fixed:
- Removed logging of "Big Segment store status query" error messages in a situation where the Relay Proxy has not been able to synchronize Big Segment data with LaunchDarkly. These messages were redundant since there is already a different and clearer error being logged for the synchronization failure.
[6.7.18] - 2023-03-06
Changed:
- Updated Alpine image to use Go 1.20.1.
- CI tests now execute for Go 1.20.1 and Go 1.19.6; removed Go 1.17 and 1.18.
Fixed:
- Bumped golang.org/x/net to 0.7.0 to address CVE-2022-41723.
[6.7.17] - 2023-01-17
Fixed:
- Removed logging of "Big Segment store status query" error messages in a situation where the Relay Proxy has not been able to synchronize Big Segment data with LaunchDarkly. These messages were redundant since there is already a different and clearer error being logged for the synchronization failure.
[6.7.16] - 2023-01-06
The 6.7.15 release was incomplete and has been skipped.
Changed:
- It is no longer possible to build the Relay Proxy from source code in Go 1.16, or to import it as a module in a Go 1.16 project. This is because the security patch described below is not possible for Go 1.16. Although LaunchDarkly tries to maintain compatibility with old platform versions within the same major version of a LaunchDarkly product, maintaining support for Relay Proxy 6.x requires that we patch security vulnerabilities for the most common use cases; building Relay from source code with an EOL Go version is an uncommon use case.
- Updated Alpine to 3.16.3 in the published Docker image.
Fixed:
- Updated Go networking code to address CVE-2022-41717. (#210)
[7.0.1] - 2022-12-29
Changed:
- Updated Alpine to 3.16.3 in the published Docker image.
Fixed:
- Updated Go to 1.19.4 in the published Docker image and executables, to address CVE-2022-41717. (#210)
Fixed:
- Updated Go to 1.19.4 in the published Docker image and executables, to address CVE-2022-41717. (#210)
[7.0.0] - 2022-12-07
The latest version of the Relay Proxy supports LaunchDarkly's new custom contexts feature. Contexts are an evolution of a previously-existing concept, "users." Contexts let you create targeting rules for feature flags based on a variety of different information, including attributes pertaining to users, organizations, devices, and more. You can even combine contexts to create "multi-contexts."
This feature is only available to members of LaunchDarkly's Early Access Program (EAP). If you're in the EAP, and the SDK you are using also has an EAP release, you can use contexts by updating your SDK to the latest version and, updating your Relay Proxy. Outdated SDK versions do not support contexts, and will cause unpredictable flag evaluation behavior.
If you are not in the EAP, only use single contexts of kind "user", or continue to use the user type if available. If you try to create contexts, the context will be sent to LaunchDarkly, but any data not related to the user object will be ignored.
For detailed information about this version, please refer to the list below.
Added:
- Added support for new context-based features in flag evaluations.
- Added evaluation endpoints that are used by new versions of client-side SDKs.
Changed:
- When building the Relay Proxy from source code or using its packages from application code, the minimum Go version is now 1.18.
- The pre-built binaries and Docker image are now built with Go 1.19.
Removed:
- Removed support for obsolete evaluation endpoints that were used by very old client-side SDKs.
[6.7.14] - 2022-10-26
This is a security patch release.
Fixed:
- Updated Go runtime version in the Docker image to 1.19.2, to address multiple vulnerability reports in Go 1.17.x and 1.18.x. (#205)
- Updated Consul API module version as a workaround for a false-positive report of CVE-2022-40716. (#205)
- Removed a transitive dependency on AWS SDK v1, which was causing vulnerability reports for CVE-2020-8911 and CVE-2020-8912; in practice, this functionality was never being used by the Relay Proxy. (#204)
- Enforce a minimum TLS version of 1.2 when connecting to a secure Redis instance.
- In offline mode, added a check to prevent a maliciously crafted archive file from causing file data to be written outside of the directory where the archive is being expanded.
- Minor code changes to avoid using the deprecated
ioutil package.
- CI tests now include Go 1.18 and 1.19.
[6.7.13] - 2022-08-12
Fixed:
- Updated Alpine version in Docker image to 3.16.2 to address a vulnerability warning. (#201)
[6.7.12] - 2022-07-28
Fixed:
- When using DynamoDB with Big Segments, if the configuration specified a different table name for each environment, that name was being ignored. The Relay Proxy was only respecting the per-environment table name setting for regular data storage, not for Big Segments. This has been fixed so Big Segments data now uses the correct table name. (#199)