Releases: configcat/kotlin-sdk
Releases · configcat/kotlin-sdk
v5.0.1
v5.0.0
Added
addOnClientReadyWithSnapshot(snapshotHandler: (ConfigCatClientSnapshot) -> Unit)
hook subscription function that gets a snapshot whenever the client reaches the ready state.addOnConfigChanged(handler: (Map<String, Setting>, ConfigCatClientSnapshot) -> Unit)
hook subscription function that also gets a snapshot (beside the settings map) about the changed config state of the client.
Breaking changes
- Depreceted
addOnClientReady(handler: () -> Unit)
hook subscription function was removed. - Signature of the
addOnConfigChanged()
hook subscription function changed fromaddOnConfigChanged(handler: (Map<String, Setting>) -> Unit)
toaddOnConfigChanged(handler: (Map<String, Setting>, ConfigCatClientSnapshot) -> Unit)
.
v4.2.0
Changed
- Switch to a new
mavenPublish
plugin to publish via the new Maven Central publishing API. forceRefresh
reports about being called in offline mode only when no external cache is set.- When an external cache is configured, the SDK continues to sync with it in offline mode.
Added
- Ability to create snapshots via a
client.snapshot()
method to execute synchronous feature flag evaluations on a captured state of the SDK. - Introduce new error codes for better error handling on
EvaluationDetails
andRefreshResults
.
v4.1.1
4.1.0
Added
waitForReady
method to theConfigCatClient
.
Changed
- Deprecated
addOnClientReady(handler: () -> Unit)
hook and added a new versionaddOnClientReady(handler: (ClientCacheState) -> Unit)
4.0.0
Changed
- Updated Kotlin to 2.0.21
- Updated Ktor to 3.0.0
- Updated related dependencies
3.1.1
3.1.0
Changed
- Updated Kotlin to 1.9.23
- Updated related dependencies
3.0.1
3.0.0
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.
- Performance improvements to setting evaluation when info level logging is turned off.
Breaking changes:
- Change the type of the
ConfigCatUser
custom attribute map fromMap<String, String>
toMap<String, Any>
to allow other values thanString
. Setting
OverrideDataSource
replaced withConfig
OverrideDataSoruce
- Rename the
matchedEvaluationRule
property tomatchedTargetingRule
and thematchedEvaluationPercentageRule
property tomatchedPercentageOption
inEvaluationDetails
. - Change config model (
Config
and related interfaces/enums). - Throw
IllegalArgumentException
when the SDK key passed toConfigCatClient.get
is in an invalid format (unless the client is set up to use local-only flag override behaviour).