Releases: configcat/go-sdk
Releases · configcat/go-sdk
v9.0.7
v9.0.6
v9.0.5
v9.0.4
v9.0.3
v9.0.2
v9.0.1
v9.0.0
Added
- Support for the new Config JSON v6 format: update the config model and implement new features in setting evaluation logic.
- Consistent evaluation-related logging across SDKs.
Changed
- The config JSON v5 format is no longer accepted by flag overrides. If you use this feature, you must convert your override JSON file(s) to the v6 format. You can do this using the
config-json convert v5-to-v6
command of the ConfigCat CLI tool. - Rename the
MatchedEvaluationRule
field toMatchedTargetingRule
and theMatchedEvaluationPercentageRule
field toMatchedPercentageOption
inEvaluationDetailsData
. - User object related changes:
- Signature of
UserAttributes
interface:GetAttribute(attr string) string
->GetAttribute(attr string) interface{}
- Type of
Custom
field ofUserData
:map[string]string
->map[string]interface{}
- Support for using
map[string]interface{}
as the User in evaluation functions was added.
- Signature of
- Signature of the
Logger
interface:- Before:
type Logger interface { GetLevel() LogLevel Debugf(format string, args ...interface{}) Infof(format string, args ...interface{}) Warnf(format string, args ...interface{}) Errorf(format string, args ...interface{}) }
- After:
type Logger interface { Debugf(format string, args ...interface{}) Infof(format string, args ...interface{}) Warnf(format string, args ...interface{}) Errorf(format string, args ...interface{}) }
- Option to define the LogLevel is moved to the
Client
initialization config:config := configcat.Config{ LogLevel: LogLevelInfo, // PollingMode: configcat.AutoPoll, // etc. }
- The constant values related to the
LogLevel
type alias were changed:LogLevelDebug LogLevel = -2 LogLevelInfo LogLevel = -1 LogLevelWarn LogLevel = 0 // default level LogLevelError LogLevel = 1 LogLevelNone LogLevel = 2
- Before:
Removed
- Dependency on
logrus
. It was replaced by a simple logger built upon thelog
package.
v8.0.1
v8.0.0
Added
Ready()
function. It returns a channel that closes when the SDK reaches the ready state.- When the polling mode is
Manual
orLazy
, the SDK is considered ready right after instantiation. - When the polling mode is
AutoPoll
, the SDK is considered ready when the first initial HTTP request is finished.
- When the polling mode is
Changed
- Standardized config cache key generation algorithm and cache payload format to allow shared caches to be used by SDKs of different platforms.
Removed
GetVariationID() / GetVariationIDs()
methods. Alternative:Get[Type]ValueDetails() / GetAllValueDetails()
.ChangeNotify
callback function. Alternative:Hooks.OnConfigChanged
.