Skip to content

fix: bump core deps to v4 and remove EasyJSON support#381

Open
aaron-zeisler wants to merge 4 commits into
v7from
aaronz/SDK-2119/v4-cascade
Open

fix: bump core deps to v4 and remove EasyJSON support#381
aaron-zeisler wants to merge 4 commits into
v7from
aaronz/SDK-2119/v4-cascade

Conversation

@aaron-zeisler
Copy link
Copy Markdown
Contributor

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

Summary

Updates the root go-server-sdk/v7 module to use the v4 releases of core dependencies, completing the EasyJSON removal for this library.

  • go-jsonstream /v3/v4 (v4.0.0)
  • go-sdk-common /v3/v4 (v4.0.0)
  • go-server-sdk-evaluation /v3/v4 (v4.0.0)
  • go-sdk-events v3.5.0 → v3.6.1
  • Remove EasyJSON section from README
  • All /v3 imports rewritten to /v4

Dependency Chain (v4 cascade)

go-jsonstream/v4        <- merged, v4.0.0 released
└─ go-sdk-common/v4     <- merged, v4.0.0 released
   ├─ go-server-sdk-evaluation/v4 <- merged, v4.0.0 released
   ├─ go-sdk-events/v3  <- merged, v3.6.1 released
   └─ go-server-sdk/v7 (this PR) <- root module only

Sequence of events

This PR is intentionally scoped to unblock the v4 cascade without getting stuck on circular dependencies between the root module and its sub-modules:

  1. Only the root module of go-server-sdk has been updated to v4 dependencies and /v4 imports. Sub-modules are handled separately (see below).

  2. ldai and ldotel will be updated in a separate pull request (#382) due to circular dependencies between those sub-modules and the root module. They should merge after this PR lands.

  3. testservice is temporarily configured with pseudo-versions of the integration modules (consul, dynamodb, redis-go-redis) so contract-test CI can compile against v4-capable deps via replace go-server-sdk => ../. Those pseudo-versions will be replaced with real tagged releases in a subsequent pull request (Stage 5 cleanup).

Scope

  • In this PR: root module + testservice (pseudo-version pins only)
  • Separate PR: ldai, ldotel (#382)
  • Follow-up PR: flip testservice pseudo-versions to real releases; ldmiddleware if needed

Test plan

  • go build ./... clean (root module)
  • make build-contract-tests clean (testservice with integration pseudo-versions)
  • go mod tidy produces no diff
  • No /v3 imports of bumped libs remaining in root module or testservice

Context

Part of SDK-2113 (EasyJSON removal epic). Tracks SDK-2119.

via LD Research 🤖


Note

Medium Risk
Wide import and dependency churn touches evaluation, JSON streaming, and contract-test wiring; behavior should be unchanged but regressions could show up in flag evaluation or integration tests until sibling modules (ldai, ldotel) and real integration tags land.

Overview
This PR moves the root go-server-sdk/v7 module onto the v4 LaunchDarkly core libraries and drops optional EasyJSON integration from the product surface.

Dependencies: go.mod / go.sum now require go-sdk-common/v4, go-jsonstream/v4, and go-server-sdk-evaluation/v4, with go-sdk-events bumped to v3.6.1. Indirect mailru/easyjson and josharian/intern entries are removed from the root module.

Code: Imports across the root package tree are rewritten from /v3 to /v4 for those libraries (client, datasources, datastore, hooks, tests, etc.). testservice is updated the same way and temporarily pins integration modules (Consul, DynamoDB, Redis) at pseudo-versions so contract tests can build against this branch.

Docs: The README section describing the launchdarkly_easyjson build tag is removed; config.go / package_info.go comments now reference go-sdk-common/v4 paths.

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

@aaron-zeisler aaron-zeisler changed the title feat!: bump core deps to v4 and remove EasyJSON support fix: bump core deps to v4 and remove EasyJSON support May 29, 2026
aaron-zeisler added a commit that referenced this pull request May 29, 2026
Pin integration modules at commits that target go-server-sdk
v7.15.1-0.20260529202418-8ab3995b9066 (#381).
- go-jsonstream /v3 → /v4
- go-sdk-common /v3 → /v4
- go-server-sdk-evaluation /v3 → /v4
- go-sdk-events v3.5.0 → v3.6.1
- Remove EasyJSON section from README
- Rewrite all /v3 imports to /v4

Part of SDK-2113 (EasyJSON removal epic).
Pin consul, dynamodb, and redis-go-redis to their v4 cascade-branch
pseudos and rewrite testservice imports to go-sdk-common/v4. Keeps
replace go-server-sdk => ../ so contract tests compile against the
local root module without waiting for a tagged SDK release.
Pin integration modules at commits that target go-server-sdk
v7.15.1-0.20260529202418-8ab3995b9066 (#381).
@aaron-zeisler aaron-zeisler force-pushed the aaronz/SDK-2119/v4-cascade branch from 8ebf071 to 398e2ea Compare May 29, 2026 22:01
Re-pin SDK and integration modules after f455116 rebase replaced
8ab3995 on #381.
aaron-zeisler added a commit that referenced this pull request May 29, 2026
Import rewrites (go-sdk-common/v3 → /v4) belong in #381.
This PR only updates testservice dependency pins in go.mod/go.sum
alongside ldai, ldotel, and ldmiddleware sub-modules.
@aaron-zeisler aaron-zeisler marked this pull request as ready for review June 1, 2026 14:33
@aaron-zeisler aaron-zeisler requested a review from a team as a code owner June 1, 2026 14:33
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