[changed] Added a check on whether the default token has been changed by Messaging before writing to the InstanceID keychain storage. (#7223)
2020-10 -- 7.0.0
[changed] Deprecated private -[FIRInstanceID appInstanceID:] method was removed. (#4486)
[fixed] Fixed an issue that APNS token is not sent in token request when there's a delay of getting the APNS token from Apple. (#6553)
2020-09 -- 4.7.0
[deprecated] Deprecated InstanceID. For app instance identity handling, use FirebaseInstallations. For FCM registration token handling, use FirebaseMessaging. (#6585)
2020-08 -- 4.6.0
[added] Added a new notification listening token refresh from Messaging and update the token cache in InstanceID. (#6286)
[fixed] Fixed an issue that token refresh notification is not triggered when use tokenWithAuthorizedEntity:scope:options:handler to get token. (#6286)
2020-07 -- 4.5.1
[changed] Remove FIRInstanceIDURLQueryItem in favor of NSURLQueryItem. (#5835)
2020-07 -- 4.5.0
[changed] Functionally neutral updated import references for dependencies. (#5824)
[changed] Added heartbeat support for InstanceID (#4323)
[fixed] Fixed the documentations on a few random generation and hash methods to clarify its use case to avoid confusions. (#4469, #4444, #4326)
2019-11-05 -- 4.2.7
[fixed] Fixed a crash in checkTokenRefreshPolicyWithIID: and ensure tokenWithAuthorizedEntity:scope:options:handler method is refreshing token if token is not freshed any more. (#4167)
[changed] Always update keychain access control when adding new keychain to ensure it won't be blocked when device is locked. (#1399)
2019-01-22 -- v3.4.0
[changed] Move all keychain write operations off the main thread. (#1399)
[changed] Make keychain operations asynchronous where possible (given the current APIs)
[changed] Avoid redundant keychain operations when it's been queried and cached before.
2018-10-25 -- v3.3.0
[fixed] Fixed a crash caused by keychain operation when accessing default access group. (#1399, #1393)
[changed] Remove internal APIs that are no longer used.
2018-09-25 -- v3.2.2
[fixed] Fixed a crash caused by NSUserDefaults being called on background thread.
2018-08-14 -- v3.2.1
[fixed] Fixed an issue that checkin is not cached properly when app first started. (#1561)
2018-07-31 -- v3.2.0
[added] Added support for global Firebase data collection flag. (#1219)
[changed] Improved message tracking sent by server API.
[fixed] Fixed an issue that InstanceID doesn't compile in app extensions, allowing its
dependents like remote config to be working inside the app extensions.
2018-06-19 -- v3.1.1
[fixed] Ensure the checkin and tokens are refreshed if firebase project changed.
[fixed] Fixed an issue that checkin should be turned off when FCM's autoInitEnabled flag is off.
2018-06-12 -- v3.1.0
[added] Added a new API to fetch InstanceID and Token with a completion handler. The completion handler returns a FIRInstanceIDResult with a instanceID and a token properties.
[deprecated] Deprecated the token method.
[added] Added support to log a new customized label provided by developer.
2018-05-08 -- v3.0.0
[removed] Removed deprecated method setAPNSToken:type defined in FIRInstanceID, please use setAPNSToken:type defined in FIRMessaging instead.
[removed] Removed deprecated enum FIRInstanceIDAPNSTokenType defined in FIRInstanceID, please use FIRMessagingAPNSTokenType defined in FIRMessaging instead.
[fixed] Fixed an issue that FCM scheduled messages were not tracked successfully.
2018-03-06 -- v2.0.10
[changed] Improved documentation on InstanceID usage for GDPR.
[fixed] Improved the keypair handling during GCM to FCM migration. If you are migrating from GCM to FCM, we encourage you to update to this version and above.
2018-02-06 -- v2.0.9
[fixed] Improved support for language targeting for FCM service. Server updates happen more efficiently when language changes.
[fixed] Improved support for FCM token auto generation enable/disable functions.
2017-12-11 -- v2.0.8
[fixed] Fixed a crash caused by a reflection call during logging.
[changed] Updating server with the latest parameters and deprecating old ones.
2017-11-27 -- v2.0.7
[fixed] Improve identity reset process, ensuring all information is reset during Identity deletion.
2017-11-06 -- v2.0.6
[changed] Make token refresh weekly.
[fixed] Fixed a crash when performing token operation.
2017-10-11 -- v2.0.5
[added] Improved support for working in shared Keychain environments.
2017-09-26 -- v2.0.4
[fixed] Fixed an issue where the FCM token was not associating correctly with an APNs
device token, depending on when the APNs device token was made available.
[fixed] Fixed an issue where FCM tokens for different Sender IDs were not associating
correctly with an APNs device token.
[fixed] Fixed an issue that was preventing the FCM direct channel from being
established on the first start after 24 hours of being opened.
2017-09-13 -- v2.0.3
[fixed] Fixed a race condition where a token was not being generated on first start,
if Firebase Messaging was included and the app did not register for remote
notifications.
2017-08-25 -- v2.0.2
[fixed] Fixed a startup performance regression, removing a call which was blocking the
main thread.
2017-08-07 -- v2.0.1
[fixed] Fixed issues with token and app identifier being inaccessible when the device
is locked.
[fixed] Fixed a crash if bundle identifier is nil, which is possible in some testing
environments.
[fixed] Fixed a small memory leak fetching a new token.
[changed] Moved to a new and simplified token storage system.
[changed] Moved to a new queuing system for token fetches and deletes.
[changed] Simplified logic and code around configuration and logging.
[changed] Added clarification about the 'apns_sandbox' parameter, in header comments.
2017-05-08 -- v2.0.0
[added] Introduced an improved interface for Swift 3 developers
[deprecated] Deprecated some methods and properties after moving their logic to the
Firebase Cloud Messaging SDK
[fixed] Fixed an intermittent stability issue when a debug build of an app was
replaced with a release build of the same version
[fixed] Removed swizzling logic that was sometimes resulting in developers receiving
a validation notice about enabling push notification capabilities, even though
they weren't using push notifications
[fixed] Fixed a notification that would sometimes fire twice in quick succession
during the first run of an app
2017-03-31 -- v1.0.10
[changed] Improvements to token-fetching logic
[fixed] Fixed some warnings in Instance ID
[fixed] Improved error messages if Instance ID couldn't be initialized properly
[fixed] Improvements to console logging
2017-01-31 -- v1.0.9
[fixed] Removed an error being mistakenly logged to the console.
2016-07-06 -- v1.0.8
[changed] Don't store InstanceID plists in Documents folder.
2016-06-19 -- v1.0.7
[fixed] Fix remote-notifications warning on app submission.
2016-05-16 -- v1.0.6
[fixed] Fix CocoaPod linter issues for InstanceID pod.
2016-05-13 -- v1.0.5
[fixed] Fix Authorization errors for InstanceID tokens.
2016-05-11 -- v1.0.4
[changed] Reduce wait for InstanceID token during parallel requests.
2016-04-18 -- v1.0.3
[changed] Change flag to disable swizzling to FirebaseAppDelegateProxyEnabled.
[fixed] Fix incessant Keychain errors while accessing InstanceID.
[fixed] Fix max retries for fetching IID token.
2016-04-18 -- v1.0.2
[changed] Register for remote notifications on iOS8+ in the SDK itself.