feat!: remove easyjson from go-sdk-common#50
Merged
Conversation
This was referenced May 18, 2026
Merged
2 tasks
4a6cc36 to
97f2812
Compare
Draft
4 tasks
Drops the optional easyjson backend and its build-tag gate. The stdlib encoding/json implementation is now the only path. The launchdarkly_easyjson build tag becomes a silent no-op for any consumer that still sets it. Bumps go-jsonstream to the development pseudo-version that has its own easyjson removal merged, dropping the easyjson indirect dependency from this module's transitive graph as well. Squashed from three earlier commits on this branch (the original removal, the go-jsonstream dev-version bump, and a no-op merge from v3 that pulled in the release-please-action v4->v5 upgrade — which is already on v4). Part of the SDK-2113 EasyJSON removal project. Co-authored-by: Cursor <cursoragent@cursor.com>
97f2812 to
ed02fce
Compare
Transitions go-sdk-common to its v4 major version per Go's semantic import versioning. With easyjson removed in the prior commit, this is the natural moment to take the major bump. Changes in this commit: - go.mod: module path /v3 -> /v4; go-jsonstream pinned at /v4 dev pseudo-version - All .go files: import paths /v3 -> /v4 for both go-sdk-common's own internal packages and go-jsonstream - README.md: pkg.go.dev link and version-pairing prose updated (4.x of go-sdk-common pairs with 7.x of go-server-sdk) - .release-please-manifest.json: 3.5.0 -> 4.0.0 Workflow file (release-please.yml, ci.yml, check-go-versions.yml) changes for v4 are landing in #52 separately. Part of the SDK-2113 EasyJSON removal project, shipping these libraries as v4 majors per the v3 -> v4 strategy. Co-authored-by: Cursor <cursoragent@cursor.com>
ed02fce to
3387248
Compare
keelerm84
approved these changes
May 28, 2026
Merged
aaron-zeisler
pushed a commit
that referenced
this pull request
May 28, 2026
🤖 I have created a release *beep* *boop* --- ## [4.0.0](v3.5.0...v4.0.0) (2026-05-28) ### ⚠ BREAKING CHANGES * remove easyjson from go-sdk-common ([#50](#50)) ### Features * remove easyjson from go-sdk-common ([#50](#50)) ([e7dec07](e7dec07)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Diff only updates version manifest and changelog; consumer risk from easyjson removal is documented for the release, not introduced in this PR’s files. > > **Overview** > This PR is a **Release Please** cut that publishes **v4.0.0** by updating `.release-please-manifest.json` from `3.5.0` to `4.0.0` and adding the matching **CHANGELOG** section for the `v3.5.0...v4.0.0` release. > > The new changelog entry records the **breaking change** for this major: **easyjson is removed** from `go-sdk-common` ([#50](#50)). Downstream apps that depended on the `launchdarkly_easyjson` build tag or generated easyjson codecs need to move to **v4** and standard JSON paths (e.g. `encoding/json` / `go-jsonstream`) instead. > > No library source changes appear in this diff—only release metadata and documentation of what shipped in 4.0.0. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit fa6628e. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is the v4 major-version bump for
go-sdk-common. Two commits:chore: remove easyjson implementation— drops the optional easyjson backend, removes the easyjson conversion files forldcontext/ldreason/ldvalue, and bumpsgo-jsonstreamto a development pseudo-version that has its own easyjson removal merged.feat!: bump module path to v4— bumps the module path/v3→/v4, rewrites all internal imports, bumpsgo-jsonstreamfrom/v3to/v4. Workflow file changes for v4 landed separately in #52.SDK-2119: EasyJSON Removal — Dependency Chain (v4 strategy)
Stage layout
Context
Part of SDK-2113 (epic). Tracks SDK-2117. Second PR in the dep-chain stack — pins
go-jsonstream/v4at #39 and is itself pinned by #51.Test plan
go test ./...passes (v4 module path)go build ./...cleango mod graph | grep easyjsonreturns emptygrep -r mailru/easyjson .returns no source hitsvia LD Research 🤖
Note
High Risk
Breaking major version with module path and JSON stack changes affects all dependent SDKs and services; incorrect migration breaks builds and context/value serialization at runtime.
Overview
This PR ships go-sdk-common v4 as a breaking release aligned with Go SDK 7.x: the module path moves from
/v3to/v4, Go 1.24 is required, andgo-jsonstreamis upgraded to v4 with imports updated repo-wide.The functional change is removal of the optional EasyJSON integration:
mailru/easyjsonis dropped from dependencies, all//go:build launchdarkly_easyjsonsources (context,ldvalue,ldreasonmarshaling/tests/benchmarks) are deleted, and JSON handling stays on encoding/json plus jsonstream only. Docs no longer describe thelaunchdarkly_easyjsonbuild tag.Downstream consumers must import
github.com/launchdarkly/go-sdk-common/v4and cannot rely on EasyJSON-specific APIs from this library.Reviewed by Cursor Bugbot for commit 3387248. Bugbot is set up for automated code reviews on this repo. Configure here.