CacheTTL option, in which case the persistent store will never be read unless the application restarts. Use this mode with caution as described in the comments for redis.CacheTTL, dynamodb.CacheTTL, etc.ldlog defines these levels, and you can use Config.Loggers.SetMinLevel() and Config.Loggers.SetBaseLogger() to control the behavior. The old property Config.Logger still works but is deprecated.Config.Loggers.SetMinLevel(ldlog.Debug). This includes information about when and how it connects to LaunchDarkly, and a full dump of all analytics event data it is sending. Since the debug logging is very verbose, and the event data includes user properties, you should not normally enable this log level in production unless advised to by LaunchDarkly support.Config.FeatureStoreFactory, which takes a factory method, rather than Config.FeatureStore, which takes an implementation instance. Using a factory method allows the implementation to access Config properties such as the logging configuration. The new methods NewInMemoryFeatureStoreFactory, redis.NewRedisFeatureStoreFactory, consul.NewConsulFeatureStoreFactory, and dynamodb.NewDynamoDBFeatureStoreFactory work with this mechanism.Config.SamplingInterval: the intended use case for the SamplingInterval feature was to reduce analytics event network usage in high-traffic applications. This feature is being deprecated in favor of summary counters, which are meant to track all events.Config.Logger: use Config.Loggers for more flexible configuration.NewInMemoryFeatureStore, redis.NewRedisFeatureStoreWithDefault, consul.NewConsulFeaturStore, dynamodb.NewDynamoDBFeatureStore: see above.LDClient.TrackWithMetric.redis subpackage, the new option DialOptions allows configuration of any connection option supported by Redigo, such as setting a password or enabling TLS. (Thanks, D-Raiser!) Note that it was already possible to specify a password or TLS as part of the Redis URL.Config property LogUserKeyInErrors, if set to true, causes error log messages that are related to a specific user to include that user's key. This is false by default since user keys could be considered privileged information.Config property LogEvaluationErrors, if set to true, causes the client to output a WARN: log message whenever a flag cannot be evaluated because the flag does not exist, the user key was not specified, or the flag rules are invalid. The error message is the same as the message in the error object returned by the evaluation method. This may be useful in debugging if you are unexpectedly seeing default values instead of real values for a flag. Most of the other LaunchDarkly SDKs already log these messages by default, but since the Go SDK historically did not, this has been made an opt-in feature. It may be changed to be true by default in the next major version.HTTPS_PROXY) that is normally provided by http.ProxyFromEnvironment. (Thanks, mightyguava!)HTTPClientFactory property in Config allows you to customize the HTTP client instances used by the SDK. This could be used, for instance, to support a type of proxy behavior that is not built into the Go standard library, or for compatibility with frameworks such as Google App Engine that require special networking configuration.int or float64, as long as the actual value is an integer. This is necessary to ensure consistent behavior because of the default behavior of JSON encoding in Go, which causes all numbers to become float64 if they have been marshaled to JSON and then unmarshaled. As described in the documentation for this feature, any floating-point value that has a fractional component is still disallowed.Version in ldclient.go is now correctly reported as 4.7.4.gopkg.in/launchdarkly/go-client.v4 to gopkg.in/launchdarkly/go-server-sdk.v4. Users of this SDK should update their import paths accordingly.launchdarkly/go-server-sdk repository.