Skip to content

fix: bump SDK deps for EasyJSON removal (v4 cascade)#34

Draft
aaron-zeisler wants to merge 4 commits into
v3from
aaronz/SDK-2119/v4-cascade
Draft

fix: bump SDK deps for EasyJSON removal (v4 cascade)#34
aaron-zeisler wants to merge 4 commits into
v3from
aaronz/SDK-2119/v4-cascade

Conversation

@aaron-zeisler
Copy link
Copy Markdown

@aaron-zeisler aaron-zeisler commented May 27, 2026

Summary

Bumps go-sdk-common from /v3 to /v4 (and go-server-sdk/v7 to a v4-cascade dev pseudo) so that consumers of go-server-sdk-consul/v3 building against the new SDK majors can compile.

This module itself stays on /v3 — only its dependencies bump. .go imports are rewritten go-sdk-common/v3/v4.

Why now

The SDK-2113 EasyJSON removal project is shipping go-jsonstream, go-sdk-common, and go-server-sdk-evaluation as /v4 majors. ld-relay imports both consul/v3 and go-sdk-common/v4, which produces a type mismatch unless this module's source is bumped to /v4.

Dependency Chain (v4 cascade)

go-jsonstream/v4 (#39)        <- feat!:
└─ go-sdk-common/v4 (#50)     <- feat!:
   ├─ go-server-sdk-evaluation/v4 (#51) <- feat!:
   ├─ go-sdk-events/v3 (#43)  <- chore:
   └─ go-server-sdk/v7 (#380) <- chore: (also bumps ldotel sub-module)
      ├─ ld-relay (#666)      <- chore:
      ├─ go-server-sdk-redis-redigo/v3 (#42) <- chore:
      ├─ go-server-sdk-consul/v3 (this PR) <- chore:
      ├─ go-server-sdk-dynamodb/v4 <- chore: (separate PR)
      └─ launchdarkly/opentelemetry (#10) <- chore:
         └─ foundation (#8924) <- chore:
            └─ internal services (6 PRs) <- chore:

Test plan

  • go build ./... clean
  • Unit tests pass (go test -short)
  • No /v3 imports of bumped libs remaining

Context

Part of SDK-2113 (epic). Tracks SDK-2119 (cascade). Surfaced during ld-relay's v4 transition.

Stage 5 cleanup

Once go-sdk-common@v4.0.0 and a real go-server-sdk@v7.x.y tag exist, this PR's pseudo-versions should be flipped to those real versions before merge — or merge as-is and follow up.

via LD Research 🤖

Made with Cursor


Note

Low Risk
Import and dependency-only changes with no Consul persistence logic edits; main follow-up is replacing dev pseudo-versions with released tags before merge.

Overview
Aligns this Consul persistent data store module with the go-sdk-common v4 cascade so apps that already use go-sdk-common/v4 (e.g. ld-relay) do not hit type mismatches when wiring this package. Source imports move from go-sdk-common/v3 to /v4 for ldvalue, ldlog, and ldlogtest in the builder, implementation, and tests; module identity stays go-server-sdk-consul/v3.

go.mod raises the toolchain to Go 1.24.0, bumps go-server-sdk/v7 to a v4-cascade dev pseudo-version, refreshes testify and transitive LaunchDarkly libs (go-jsonstream/v4, evaluation v4, events, etc.), and updates go.sum. No Consul store behavior changes—only dependency and import alignment.

Reviewed by Cursor Bugbot for commit c05fd21. Bugbot is set up for automated code reviews on this repo. Configure here.

@aaron-zeisler aaron-zeisler requested a review from a team as a code owner May 27, 2026 00:27
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit c05fd21. Configure here.

Comment thread go.mod Outdated
github.com/launchdarkly/go-sdk-common/v3 v3.1.0
github.com/launchdarkly/go-server-sdk/v7 v7.0.0
github.com/stretchr/testify v1.7.0
github.com/launchdarkly/go-server-sdk/v7 v7.14.8-0.20260526234754-18487da78db5
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

go.mod has v3 direct and v4 indirect, reversed

Medium Severity

go-sdk-common/v3 is listed as a direct dependency in go.mod but no source file imports from it anymore. Conversely, go-sdk-common/v4 is marked // indirect despite being directly imported by consul_builder.go, consul_impl.go, and consul_test.go. This indicates go mod tidy was not run after the import rewrites. The direct/indirect markers are inverted, which misrepresents the module's actual dependency graph and may confuse tooling or downstream consumers.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c05fd21. Configure here.

@aaron-zeisler aaron-zeisler marked this pull request as draft May 27, 2026 17:02
Updates go-sdk-common /v3 -> /v4 (dev pseudo) and go-server-sdk to
the v4 cascade dev pseudo. Module path itself stays /v3.

Part of the SDK-2113 EasyJSON removal project.

Co-authored-by: Cursor <cursoragent@cursor.com>
@aaron-zeisler aaron-zeisler force-pushed the aaronz/SDK-2119/v4-cascade branch from c05fd21 to 1198f1b Compare May 27, 2026 17:38
…95b9066

Align with go-server-sdk #381 (8ab3995) and flip transitive LD deps to
released v4.0.0 / v3.6.1 tags.
The v4 cascade pins go-server-sdk at a pseudo that requires Go 1.24+.
Older CI matrix versions cannot parse go 1.24.0 or load SDK export data.
Re-pin to f45511677931 after feat! → fix rebase on go-server-sdk #381.
@aaron-zeisler aaron-zeisler changed the title chore: bump SDK deps for EasyJSON removal (v4 cascade) fix: bump SDK deps for EasyJSON removal (v4 cascade) May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant