configcat_client
Dart (Flutter) SDK for ConfigCat. ConfigCat is a hosted feature flag service that lets you manage feature toggles across frontend, backend, mobile, desktop apps.
4.1.1
15K downloads/mo
#2453 most downloaded on pub.dev
configcat/dart-sdk
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 7 months
Nearly every release is documented
notes for 24 of 25 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
25 releases · first in 2022
0 releases in the last 12 months
see the full history below
Release timeline
25 releases · Jan 2022 to May 2024Releases
latest 25-
4.1.107 May 2024Release notes
Open source →Fixed
- Initial config JSON load when auto poll enabled with results from cache.
Release notes
Open source →Fixed
- Fix initial config JSON load when auto poll enabled with results from cache.
-
4.1.003 Apr 2024Release notes
Open source →Changed
- Rename
SettingsValueto correctSettingValue - Add
getKeyAndValuemissing exception - Improve prerequisite flag evaluation type checks
- Typo fixes
Release notes
Open source →Changed
- Rename
SettingsValueto correctSettingValue - Add
getKeyAndValuemissing exception - Improve prerequisite flag evaluation type checks
- Typo fixes
- Rename
-
4.0.113 Feb 2024Release notes
Open source →Fixed
WEBplatform support.
Changed
- In the case of
WEBplatform, the SDK now sends the ETag and the SDK-related info in query parameters.
Release notes
Open source →Fixed
WEBplatform support.
Changed
- In case of
WEBplatform the SDK now sends the Etag and SDK info in query parameters.
-
4.0.013 Feb 2024Release notes
Open source →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
ConfigCatUserconstructorcustomparameter type to Map<String, Object> to allow other values than string. - Rename the
matchedEvaluationRuleproperty tomatchedTargetingRuleand thematchedEvaluationPercentageRuleproperty tomatchedPercentageOptioninEvaluationDetails. - Change
Configmodel
Release notes
Open source →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
ConfigCatUserconstructorcustomparameter type to Map<String, Object> to allow other values than string. - Rename the
matchedEvaluationRuleproperty tomatchedTargetingRuleand thematchedEvaluationPercentageRuleproperty tomatchedPercentageOptioninEvaluationDetails. - Change
Configmodel
-
3.0.018 Aug 2023Release notes
Open source →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()/getAllVariationIds()methods. Alternative:getValueDetails()/getAllValueDetails()
Release notes
Open source →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()/getAllVariationIds()methods. Alternative:getValueDetails()/getAllValueDetails()
-
2.5.221 Jun 2023Release notes
Open source →Removed
loggerpackage dependency. Switched to simpleprint()as default.
Release notes
Open source →Removed
loggerpackage dependency. Switched to simpleprint()as default.
-
2.5.121 Jun 2023Release notes
Open source →Changed
- Bump to
dio v5.2.0in order to useDioExceptioninstead of the deprecatedDioError.
Release notes
Open source →Changed
- Bump to
dio v5.2.0in order to useDioExceptioninstead of the deprecatedDioError.
- Bump to
-
2.5.022 May 2023Release notes
Open source →Changed
- Bumped dependency versions.
- Set min Dart SDK version to
>=2.19.0.
Release notes
Open source →Changed
- Bumped dependency versions.
- Set min Dart SDK version to
>=2.19.0.
-
2.4.020 Dec 2022Release notes
Open source →Added
- New
getAllValueDetails()method.
Changed
- Deprecated
getVariationId()andgetAllVariationIds()methods in favor ofgetValueDetails()andgetAllValueDetails().
Release notes
Open source →Added
- New
getAllValueDetails()method.
Changed
- Deprecated
getVariationId()andgetAllVariationIds()methods in favor ofgetValueDetails()andgetAllValueDetails().
- New
-
2.3.018 Oct 2022 -
2.2.117 Oct 2022Release notes
Open source →Fixed
- Prevent auto-poll from starting when the SDK is initialized in offline mode.
-
2.2.013 Oct 2022Release notes
Open source →Added
- Allow offline SDK initialization with an
offlineconfiguration option.
- Allow offline SDK initialization with an
-
2.1.029 Sep 2022Release notes
Open source →Changed
RolloutPercentageItem->PercentageRule
Fixed
- Set the
userfield ofEvaluationDetailsin case of error.
-
2.0.228 Sep 2022 -
2.0.127 Sep 2022 -
2.0.027 Sep 2022Release notes
Open source →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 thehooksproperty 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 givenConfigCatClientand 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
lazyLoadand interval ofautoPollis compared against a cachedfetchTime, which allows the SDK not necessarily download a newconfig.jsonat 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.016 Aug 2022Release notes
Open source →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.209 Aug 2022 -
1.0.104 Aug 2022Release notes
Open source →Fixed
- When the
dataGovernanceparameter wasn't in match with the remote setting, it could have happened that the fetcher downloaded the correctconfig.jsonmultiple times.
- When the
-
1.0.024 Jan 2022 -
0.1.424 Jan 2022 -
0.1.320 Jan 2022 -
0.1.219 Jan 2022 -
0.1.119 Jan 2022Nothing published for this version
-
0.1.019 Jan 2022