Skip to content

Releases: statsig-io/go-sdk

v1.28.0 - Transport override option & bug fixes

22 Aug 16:47
2c24056
Compare
Choose a tag to compare

New Features

  • Option to override the internal HTTP client's transport.

Improvements

  • Better type conversion, now supports golang
    "enums"

Fixes

  • User persistent store evaluation schema for explicit_parameters fixed to be consistent with other SDKs

Included In This Release

  • 8f92476 kenny-statsig
    • Add Transport Option to allow egress proxies (#217)
  • 3ad0fae kenny-statsig
    • Fix lint errors (#218)
  • a85cc88 kenny-statsig
    • Fix GCIR test (#220)
  • 3c50265 kenny-statsig
    • Fix type conversion for custom type definitions (#204)
  • 9f37bc1 kenny-statsig
    • Fix type of explicit parameters (#219)

Full Changelog: v1.27.1...v1.28.0

v1.27.1 - Remove private attributes from bootstrapping

06 Aug 23:22
bd0fc41
Compare
Choose a tag to compare

Fixes

  • Remove private attribute from user object in getClientInitializationResponse api

Included In This Release

  • 41dbb9b kat-statsig
    • remove private attribute (#214)

Full Changelog: v1.27.0...v1.27.1

v1.27.0 - API Overrides, initialize timeout bug fix, hashing exposures

02 Aug 21:03
9f5928a
Compare
Choose a tag to compare

New Features

  • Added options to override APIs used for /download_config_specs, /get_id_lists, /log_event.

Improvements

  • Allow omitempty on User struct
  • Support hashing secondary exposures on GetClientInitializeResponse

Fixes

  • Fixed a bug where the sdk doesn't not poll config sync if timed out.

Included In This Release

  • d61c079 kat-statsig
    • add hash algo + hash secondary and undelegated exposures (#209)
  • 6c9e4ad kat-statsig
    • omit empty on non id fields (#211)
  • 2d84feb kat-statsig
    • fix flakey tests (#210)
  • 042361a kenny-statsig
    • API Overrides (#205)
  • bad9d89 kenny-statsig
    • Allow UAParser and CountryLookup to load in case of timeout (#207)
  • a17493f kat-statsig
    • set timeout on client init (#203)
  • 9b5e607 kenny-statsig
    • Fix race condition in test (#206)

Full Changelog: v1.26.0...v1.27.0

v1.26.0 - Exposure callback and spec update bug fix

05 Jul 20:45
81aa3b3
Compare
Choose a tag to compare

New Features

  • New options to pass in ExposureCallback and IncludeDisabledExposures

Fixes

  • Fixes a bug where we could update the internal store with stale values (older than the current values in memory). While this was unlikely, now it wont happen

Included In This Release

  • 048e42f kat-statsig
    • only throw away spec if lcut is older (#200)
  • 1c2f343 kat-statsig
    • exposure callback (#197)
  • 2e30520 kat-statsig
    • check lcut before process (#198)

Full Changelog: v1.25.0...v1.26.0

v1.25.0 - Sanitize error messages

27 Jun 17:29
4c81d81
Compare
Choose a tag to compare

Improvements

  • Remove secret keys in output logs

Included In This Release

  • 65247f2 kat-statsig
    • sanitize msg in output logger (#195)
  • e477619 kenny-statsig
    • fix error interface nil check (#194)
  • 954c724 kat-statsig
    • filter secret from err output (#193)

Full Changelog: v1.24.0...v1.25.0

v1.24.0 - Improved errors

17 Jun 17:13
d64278c
Compare
Choose a tag to compare

Bug fixes:

  • Errors for failed event logging not being sent to stderr or log callback

Improvements:

  • Introduced custom errors with matching: ErrFailedLogEvent
  • Error messages in stderr now contain timestamps
  • Network error messages include status code, # of retries, and endpoint
  • Errors now sent to stderr instead of stdout

Included In This Release

  • 42df398 kenny-statsig
    • Nil-safe response status code check (#190)
  • 3c9f008 kenny-statsig
    • improve error formatting (#188)
  • f53d35e kenny-statsig
    • fix log event output error (#187)

Full Changelog: 1.23.0...v1.24.0

v1.23.0 - Evaluation and LogEvent Improvements

22 May 16:39
de654f5
Compare
Choose a tag to compare
  • GetClientInitialization improvements
  • LogEvent compression
  • Output logging for logEvent failures
  • Added Evaluation Details to GetGate
  • Diagnostics bug fixes

Included In This Release

  • 5c91260 kenny-statsig
    • add empty secondary exposures to GCIR with local override (#185)
  • 8285fec kenny-statsig
    • filter & dedupe exposures during evaluation (#184)
  • 45ad920 kat-statsig
    • log compression (#183)
  • 654e8f1 kat-statsig
    • logEvent Error Logging (#181)
  • eb645d9 kat-statsig
    • diagnostics changes (#182)
  • 9fd3b2f kat-statsig
    • gcir improvements (#180)
  • 7901e86 kenny-statsig
    • make evaluation details public (#179)
  • 59bf132 kenny-statsig
    • add evaluation details to GetGate (#176)

Full Changelog: 1.22.0...1.23.0

v1.22.0 - Add GetExperimentLayer

06 May 18:22
6e62cb9
Compare
Choose a tag to compare

New method GetExperimentLayer to retrieve the layer name an experiment belongs to

Included In This Release

  • ec74201 kat-statsig
    • get experiment layer (#177)

Full Changelog: v1.21.0...1.22.0

v1.21.0 - Optimize local mode initialization

25 Apr 18:05
0aae723
Compare
Choose a tag to compare

Introduced 2 new options to configure the load strategy of the IP to country lookup & UA parser.

  • IPCountryOptions
    • Disabled: Fully disable IP to country lookup
    • LazyLoad: Load in background
    • EnsureLoaded: Wait until loaded when needed
  • UAParserOptions
    • Disabled: Fully disable UA parser
    • LazyLoad: Load in background
    • EnsureLoaded: Wait until loaded when needed

These are 2 of the more expensive processes during initialization of the SDK outside of network requests.

  • If your service does not rely on country based checks from an IP address, disabling IPCountry is recommended.
  • If your service does not rely on parsing the UserAgent, disabling UAParser is recommended.
  • LazyLoad is generally recommended to avoid waiting to initialize these on start up. EnsureLoaded will ensure that it's loaded when eventually needed for evaluation.

Bug fix:

  • Disable internal error logging in Local Mode

Included In This Release

  • 3b13ae3 kenny-statsig
    • skip network error handling if in local mode (#174)
  • 9cff2f5 kenny-statsig
    • optimize synchronous initialization processes (#173)

Full Changelog: v1.20.0...1.21.0

v1.20.0 - Optimizations & persistent storage updates

06 Apr 01:05
8e83469
Compare
Choose a tag to compare

Made optimizations to evaluation logic:

  • Unmarshal spec defaultValue and rule returnValue on initialization (rather than per evaluation)
  • Remove unnecessary string conversion for layer assignment
  • Replace array contains with map lookup
  • Replace Sprintf with strconv

Impact

  • Reduces layer evaluation for layers with partial allocation by about 50%
  • Reduces general evaluation for dynamic configs, experiments, layers by about 15%

  • Refactored persistent storage interface to include experiment name to solve for concurrent user evaluations across SDK instances

Included In This Release

  • b171689 kenny-statsig
    • support persisted layers (#171)
  • 6f1aea8 kenny-statsig
    • refactor persistent storage (#170)
  • 8fcd077 kenny-statsig
    • optimize string conversion (#169)
  • 95a9fd4 kenny-statsig
    • optimize array contains to lookup (#167)
  • 2eb486f kenny-statsig
    • optimize parsing config values and layer bucketing (#166)

Full Changelog: v1.19.0...1.20.0