v8.0.0
Added
ConfigCatClient.get()
factory method that produces a single instance / SDK key.setOffline()
/setOnline()
methods to indicate whether the SDK is allowed to make HTTP calls or not. In 'offline' mode the SDK works from the cache only.getValueDetails()
/getValueDetailsAsync()
methods to retrieve evaluation details along with the feature flag / setting value.getAllValueDetails()
/getAllValueDetailsAsync()
methods to retrieve the detailed values of all feature flags or settings.onCleintReady()
/onBeforeClientClose()
/onConfigChanged(Map<String, Setting>)
/onFlagEvaluated(EvaluationDetails)
/onError(String)
hooks. Subscription is possible on client initialization options and on the hooks property of ConfigCatClient.setDefaultUser(user)
/clearDefaultUser()
methods to set / remove a default user object used when there's no user passed togetValue[Async]()
/getValueDetails[Async]()
/getAllValues[Async]()
/getAllValueDetails[Async]()
methods.
Changed
- Client initialization options were moved to a
Options
object that can be passed with aConsumer
to the newConfigCatClient.get()
factory method. ConfigCatClient
can be explicitly closed viaclient.close()
andConfigCatClient.closeAll()
methods.forceRefresh()
method now returns with a result object to indicate whether the refresh succeeded or not.autoPollRateInSeconds
lower limit changed to 1 second.- The TTL of
lazyLoad
and interval ofautoPoll
is compared against a cachedfetchTime
, which allows the SDK not necessarily download a new config.json at each application restart. - Fetch logic handles
403
response status and update cachedfetchTime
in case of304
403
and404
response status.
Removed
ConfigCatClient(String sdkKey)
public constructor.asyncRefresh
parameter ofPollingModes.lazyLoad()
.getVariationId()
,getVariationIdAsync()
,getAllVariationIds()
,getAllVariationIdsAsync()
removed in favour ofgetValueDetails()
,getAllValueDetails()
configurationChangeListener
parameter ofPollingModes.autoPoll()
. It was replaced by theonConfigChanged()
hook.