diff --git a/FirebaseRemoteConfig/CHANGELOG.md b/FirebaseRemoteConfig/CHANGELOG.md index f98ceaeab36..0f65853597c 100644 --- a/FirebaseRemoteConfig/CHANGELOG.md +++ b/FirebaseRemoteConfig/CHANGELOG.md @@ -1,3 +1,7 @@ +# Unreleased +- [fixed] Mark two internal properties as `atomic` to prevent concurrency + related crash. (#13898) + # 11.0.0 - [fixed] RemoteConfigValue stringValue is now `nonnull`. This may break some builds. (#10870) - [removed] **Breaking change**: The deprecated `FirebaseRemoteConfigSwift` diff --git a/FirebaseRemoteConfig/Sources/Private/RCNConfigSettings.h b/FirebaseRemoteConfig/Sources/Private/RCNConfigSettings.h index 034c50c7330..26b82172681 100644 --- a/FirebaseRemoteConfig/Sources/Private/RCNConfigSettings.h +++ b/FirebaseRemoteConfig/Sources/Private/RCNConfigSettings.h @@ -41,9 +41,11 @@ /// Device data version of checkin information. @property(nonatomic, copy) NSString *deviceDataVersion; /// InstallationsID. -@property(nonatomic, copy) NSString *configInstallationsIdentifier; +/// @note The property is atomic because it is accessed across multiple threads. +@property(atomic, copy) NSString *configInstallationsIdentifier; /// Installations token. -@property(nonatomic, copy) NSString *configInstallationsToken; +/// @note The property is atomic because it is accessed across multiple threads. +@property(atomic, copy) NSString *configInstallationsToken; /// A list of successful fetch timestamps in milliseconds. /// TODO Not used anymore. Safe to remove.