configcat_client 4.0.0 configcat_client: ^4.0.0 copied to clipboard
Dart (Flutter) SDK for ConfigCat. ConfigCat is a hosted feature flag service that lets you manage feature toggles across frontend, backend, mobile, desktop apps.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
4.0.0 - 2024-02-13 #
New features and improvements #
- Add support for the new Config JSON v6 format: update the config model and implement new features in setting evaluation logic.
- Overhaul setting evaluation-related logging and make it consistent across SDKs.
- SDK key format validation (when client is not set up to use local-only flag overrides).
- Go to the cache in all polling modes instead of using the in memory variable.
Breaking changes #
- Change the
ConfigCatUser
constructorcustom
parameter type to Map<String, Object> to allow other values than string. - Rename the
matchedEvaluationRule
property tomatchedTargetingRule
and thematchedEvaluationPercentageRule
property tomatchedPercentageOption
inEvaluationDetails
. - Change
Config
model
3.0.0 - 2023-08-18 #
2.5.1 - 2023-06-21 #
Changed #
- Bump to
dio v5.2.0
in order to useDioException
instead of the deprecatedDioError
.
2.4.0 - 2022-12-20 #
2.2.1 - 2022-10-17 #
Fixed #
- Prevent auto-poll from starting when the SDK is initialized in offline mode.
2.1.0 - 2022-09-30 #
2.0.0 - 2022-09-27 #
Added #
setDefaultUser(user)
/clearDefaultUser()
methods to set / remove a default user object used when there's no user passed togetValue()
/getValueDetails()
/getAllValues()
/getAllVariationIds()
methods.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.onClientReady()
/onConfigChanged(Map<string, Setting>)
/onFlagEvaluated(EvaluationDetails)
/onError(String)
hooks. Subscription is possible on client initialization options and on thehooks
property ofConfigCatClient
.getValueDetails()
method to retrieve evaluation details along with the feature flag / setting value. It returns the same details that is passed toonFlagEvaluated(EvaluationDetails)
on each evaluation.
Changed #
- The static
close()
method was split to an instance levelclose()
method which closes the givenConfigCatClient
and to a staticcloseAll()
method which closes all instantiated client instances. - The
forceRefresh()
method now returns with a result object that indicates whether the refresh succeeded or not. - The TTL of
lazyLoad
and interval ofautoPoll
is compared against a cachedfetchTime
, which allows the SDK not necessarily download a newconfig.json
at each application restart.
Removed #
- The
onConfigChanged()
hook parameter ofPollingModes.autoPoll
. It was replaced by the newly introducedonConfigChanged(Map<string, Setting>)
hook function which is invoked with each polling mode.
1.1.0 - 2022-08-16 #
Changed #
- Replaced the refresh policies construction with a single config service that takes care of the different polling mechanisms, caching, and the synchronization of HTTP requests.
1.0.1 - 2022-08-04 #
Fixed #
- When the
dataGovernance
parameter wasn't in match with the remote setting, it could have happened that the fetcher downloaded the correctconfig.json
multiple times.
1.0.0 - 2022-01-24 #
- First official release.
0.1.4 - 2022-01-24 #
- WIP release.
0.1.3 - 2022-01-20 #
- WIP release.
0.1.2 - 2022-01-19 #
- WIP release.
0.1.0 - 2022-01-19 #
- WIP release.