Releases: Flagsmith/flagsmith-go-client
v5.0.0
Breaking Changes ⚠️
Package restructuring: Evaluation logic moved to new engine_eval package
Removed: flagengine/segments/evaluator.go (moved to engine_eval/)
Requires Go 1.24+: Dropped support for older Go versions that have reached end of life
Client API unchanged: Client methods (GetFlags, GetIdentityFlags etc) remain compatible
What's Changed
- docs: removing hero image from SDK readme by @robertnorrie in #167
- chore: versioned test data by @khvn26 in #168
- chore: Add
CODEOWNERSby @khvn26 in #172 - feat: add User-Agent header with SDK version by @gagantrivedi in #181
- feat!: engine evaluation context by @gagantrivedi in #178
- fix: use the updated schema by @gagantrivedi in #183
- fix: update engine test data v3.1.0 by @gagantrivedi in #184
- chore(deps): bump github.com/ohler55/ojg from 1.26.10 to 1.26.11 by @dependabot[bot] in #187
- fix: Multivariate sgement overrides not evaluated by @khvn26 in #191
- fix: clear-segments-and-identities-in-env-evaluation by @Zaimwa9 in #192
- fix: log arguments are not formatted by @h-no in #180
- chore: update engine-test-data submodule to v3.5.0 by @Zaimwa9 in #198
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #195
- chore(deps): bump github.com/go-resty/resty/v2 from 2.16.5 to 2.17.0 by @dependabot[bot] in #197
New Contributors
- @robertnorrie made their first contribution in #167
- @h-no made their first contribution in #180
Full Changelog: v4.4.0...v5.0.0
v4.4.0
v4.3.0
What's Changed
- chore(deps): bump github.com/go-resty/resty/v2 from 2.14.0 to 2.16.5 by @dependabot in #159
- chore(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @dependabot in #158
- feat: option-to-pass-optional-resty-or-http-client by @Zaimwa9 in #161
New Contributors
Full Changelog: v4.2.0...v4.3.0
v4.2.0
What's Changed
feat: Realtime improvements by @rolodato in #154
The goroutine created when using WithRealtime that handles the SSE connection no longer panics. The SDK will now retry fetching the initial environment if it fails.
If a realtime connection cannot be established, the SDK will now retry using exponential backoff with jitter.
Added WithPolling, which can be used together with WithRealtime. This enables polling in addition to receiving updates over SSE.
The SDK now uses slog for logging. A custom slog logger can be provided with the new option WithSlogLogger. All HTTP requests, responses, durations, errors and failures are now debug logged. Many log messages were improved.
Full Changelog: v4.1.0...v4.2.0
v4.1.0
What's Changed
- Fix godoc link to point to v4 by @rsheasby in #145
- feat(realtime): Add realtime support by @gagantrivedi in #146
New Contributors
Full Changelog: v4.0.0...v4.1.0
v4.0.0
Deprecations
A new GetFlags interface has been added. It accepts an EvaluationContext struct that you can use to specify an identity and/or traits to use for evaluation, and whether they should be transient.
The following methods are deprecated in favour of GetFlags and will be removed by the next major release:
GetIdentityFlags— useGetFlagsprovidingEvaluationContext.Identityinstead.GetEnvironmentFlags.
What's Changed
- feat!: Support transient identities and traits by @khvn26 in #133
- Add direct link to golang SDK docs in README by @rolodato in #141
New Contributors
Full Changelog: v3.7.0...v4.0.0
v3.7.0
What's Changed
- feat: Add a configurable error handler for environment updates. Return response codes on HTTP errors by @ajinkyasurya in #140
New Contributors
- @ajinkyasurya made their first contribution in #140
Full Changelog: v3.6.0...v3.7.0
v3.6.0
What's Changed
- chore(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #119
- chore(deps): bump golangci/golangci-lint-action from 4.0.0 to 6.0.1 by @dependabot in #129
- tests: fix logged errors by @gagantrivedi in #138
- feat: replace internal http client with resty by @gagantrivedi in #139
Full Changelog: v3.5.0...v3.6.0
v3.5.0
What's Changed
- feat: Identity overrides in local evaluation mode by @khvn26 in #121
- feat: Use RFC 3339, more lax datetime parsing by @khvn26 in #122
- feat: Handle nil options by @khvn26 in #120
- chore(deps): bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 by @dependabot in #114
- chore(deps): bump github.com/google/uuid from 1.5.0 to 1.6.0 by @dependabot in #111
- chore: remove examples by @dabeeeenster in #118
Full Changelog: v3.4.0...v3.5.0