Skip to content

Commit 926aab8

Browse files
committed
docs(release): tweak v6.4.0 notes
1 parent 88b58eb commit 926aab8

File tree

1 file changed

+64
-64
lines changed

1 file changed

+64
-64
lines changed

docs/releases/v6.4.0.md

Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,94 @@
11
---
22
title: v6.4.0
3-
description: 'Features, Bug fixes and documentation updates release.'
3+
description: 'Messaging focused release with features, bug fixes and documentation updates.'
44
date: 2020-04-03
5-
author: russellwheatley
6-
tags:
7-
- analytics
8-
- auth
9-
- dynamic-links
10-
- firestore
11-
- functions
12-
- in-app-messaging
13-
- messaging
145
---
156

16-
# v6.4.0 Release
17-
18-
> Please tag any GitHub issues regarding v6 with `[v6]` in the title.
19-
20-
🐞 This is a bug fix and feature release. 🐞
21-
22-
## Platform
23-
24-
- **iOS:** fix iOS build issue when using static frameworks i.e., `use_framework` ([#3253](https://github.com/invertase/react-native-firebase/issues/3253)) ([#530f8bb](https://github.com/invertase/react-native-firebase/commit/530f8bbb51f89f106854dbf1df5ec80211e2cf8b))
25-
267
## Features
278

28-
- **messaging:** ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))
9+
- `iOS`: added a Podfile option to allow using React Native Firebase packages as static frameworks ([#3253](https://github.com/invertase/react-native-firebase/issues/3253)) ([#530f8bb](https://github.com/invertase/react-native-firebase/commit/530f8bbb51f89f106854dbf1df5ec80211e2cf8b))
10+
- see [Allow iOS Static Frameworks](/#allow-ios-static-frameworks) to learn more. This option will default to true in the next major release.
2911

30-
- **Android, iOS**: messaging now supports `onNotificationOpenedApp` & also `getInitialNotification` APIs. These are used to detect if a user opened the app via pressing a notification
31-
- **Android, iOS**: the `RemoteMessage` API now includes a notification payload (if present) when being sent to the messaging APIs (e.g. `onMessage`)
32-
- **iOS**: `setBackgroundMessageHandler` support for iOS
33-
- **iOS**: the permissions API has been upgraded to now support custom permissions. The permission API selects sensible defaults however allows you to fully customise them if required. Please note, provisional permissions is now disabled by default (previously, it was enabled by default for iOS 12+ devices)
34-
- **iOS**: the `requestPermission` & `hasPermission` API now returns the current authorization status, rather than a boolean value. This generally won't break existing apps as any "truthy" logic checks should still work
12+
### Messaging
3513

36-
- **storage:** `put` method has `snapshot` property. `put` method now returns a `Task` instead of a promise ([#ea19622](https://github.com/invertase/react-native-firebase/commit/ea1962270b6c20d5b15dbaaea5c4d88a0a4ae3e2))
14+
- added support for `onNotificationOpenedApp` & `getInitialNotification` APIs.
15+
- these can be used to detect if a user opened the app via pressing a notification. ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))
16+
- the `RemoteMessage` event (e.g. via `onMessage`) now includes a notification payload (if present). ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))
17+
- `setBackgroundMessageHandler` now supported on iOS. ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))
18+
- the iOS permissions API has been upgraded to now support custom permissions.
19+
- the permission API selects sensible defaults, however; allows you to fully customise them if required.
20+
- provisional permissions are now disabled by default (previously, it was enabled by default for iOS 12+ devices). ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))
21+
- the `requestPermission` & `hasPermission` APIs now returns the current authorization status as an enum, rather than a boolean value.
22+
- this generally won't break existing apps as any "truthy" logic checks should still work. ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))
23+
- see [AuthorizationStatus](/reference/messaging/authorizationstatus) reference documentation for available enum members
3724

38-
### SDK & Dependencies Updates
39-
40-
- **in-app-messaging:** update in-app-messaging dependency to latest package name in iOS `InAppMessaging` ([#166692d](https://github.com/invertase/react-native-firebase/commit/166692d68ef396f3e8664edd7feab7c80038004b))
41-
42-
- **in-app-messaging:** allowing gradle to have more than the default memory Firebase dependencies are pretty heavy and the build will fail otherwise ([#3154](https://github.com/invertase/react-native-firebase/issues/3154))([#d65e634](https://github.com/invertase/react-native-firebase/commit/d65e6341a48c66604493e14269d6488d3cc64028))
25+
---
4326

4427
## Bug Fixes
4528

46-
- **analytics:** logging event params can be objects and arrays ([#2876](https://github.com/invertase/react-native-firebase/issues/2876)) ([#eebfb04](https://github.com/invertase/react-native-firebase/commit/eebfb04a7c0a856a9d5d311ae99138df9ab90c3b))
29+
- `iOS`: update `in-app-messaging` dependency to latest package name in iOS `InAppMessaging` ([#166692d](https://github.com/invertase/react-native-firebase/commit/166692d68ef396f3e8664edd7feab7c80038004b))
4730

48-
- **auth:** `user.metadata.lastSignInTime` & `user.metadata.creationTime` ([#2555](https://github.com/invertase/react-native-firebase/issues/2555)) ([#8adef65](https://github.com/invertase/react-native-firebase/commit/8adef653faa008e0146374f99f5ba1af902749bf))
31+
### Analytics
4932

50-
- **analytics:** update `logEvent` types ([#65ec7eb](https://github.com/invertase/react-native-firebase/commit/65ec7eb431712f8c4d3cf96c24489e6a13ef4e13))
33+
- logging event params can be objects and arrays ([#2876](https://github.com/invertase/react-native-firebase/issues/2876)) ([#eebfb04](https://github.com/invertase/react-native-firebase/commit/eebfb04a7c0a856a9d5d311ae99138df9ab90c3b))
34+
- update `logEvent` types ([#65ec7eb](https://github.com/invertase/react-native-firebase/commit/65ec7eb431712f8c4d3cf96c24489e6a13ef4e13))
5135

52-
- **dynamic-links:** switch ShortLinkType interface to an enum ([#870d0a1](https://github.com/invertase/react-native-firebase/commit/870d0a198692c65d2857765d1b216738ec74856f))
36+
### Authentication
5337

54-
- **dynamic-links:** links options not correctly applied in iOS ([#54bc6f8](https://github.com/invertase/react-native-firebase/commit/54bc6f8403b12a8cfaf0b862d13310ef28076d06))
38+
- `user.metadata.lastSignInTime` & `user.metadata.creationTime` now correctly return an ISO date string ([#2555](https://github.com/invertase/react-native-firebase/issues/2555)) ([#8adef65](https://github.com/invertase/react-native-firebase/commit/8adef653faa008e0146374f99f5ba1af902749bf))
5539

56-
- **dynamic-links:** missing return statement causing bug in iOS ([#3315](https://github.com/invertase/react-native-firebase/issues/3315)) ([#1661f6e](https://github.com/invertase/react-native-firebase/commit/1661f6e084c47ed835cc4539c654286964a6d9a8))
40+
### Dynamic Links
5741

58-
- **firestore:** improve firestore querying. `where` field parameter cannot match `orderBy` parameter ([#6311dc8](https://github.com/invertase/react-native-firebase/commit/6311dc8f68e6cf0605d2f306885d2fbc0ef779d6))
42+
- switch ShortLinkType interface to an enum ([#870d0a1](https://github.com/invertase/react-native-firebase/commit/870d0a198692c65d2857765d1b216738ec74856f))
43+
- fix links options not correctly applied in iOS ([#54bc6f8](https://github.com/invertase/react-native-firebase/commit/54bc6f8403b12a8cfaf0b862d13310ef28076d06))
44+
- fix missing return statement causing bug in iOS ([#3315](https://github.com/invertase/react-native-firebase/issues/3315)) ([#1661f6e](https://github.com/invertase/react-native-firebase/commit/1661f6e084c47ed835cc4539c654286964a6d9a8))
5945

60-
- **firestore:** improve query validation ([#3326](https://github.com/invertase/react-native-firebase/issues/3326)) ([#ea19622](https://github.com/invertase/react-native-firebase/commit/b90a736fc8f9a1b25239bb68e5a62de711b673c7))
46+
### Firestore
6147

62-
- **functions:** throw UNAVAILABLE code on network IO errors for Android so error is the same, correct type as iOS ([#3310](https://github.com/invertase/react-native-firebase/issues/3310)) ([#7351147](https://github.com/invertase/react-native-firebase/commit/73511472bd7690158f3d9924d5f4d8c0cad69910))
48+
- improve firestore query validation;
49+
- `where` field parameter cannot match `orderBy` parameter ([#6311dc8](https://github.com/invertase/react-native-firebase/commit/6311dc8f68e6cf0605d2f306885d2fbc0ef779d6))
50+
- field path cannot be used with a `orderBy` parameter ([#ea19622](https://github.com/invertase/react-native-firebase/commit/b90a736fc8f9a1b25239bb68e5a62de711b673c7))
6351

64-
- **messaging:** fix remote notification tokens ([#bd4dc06](https://github.com/invertase/react-native-firebase/commit/bd4dc06a05f168344d13d001241c81df1949ba29))
52+
### Functions
6553

66-
- **messaging:** messaging receiver updates / initial notification handling. Attach Notification to RemoteMessage ([#cf0bbdc](https://github.com/invertase/react-native-firebase/commit/cf0bbdcaf06a3f1ba8c210ef1c03bcfff10b5522))
54+
- correctly throw an `UNAVAILABLE` error code on network IO errors for Android to match iOS ([#3310](https://github.com/invertase/react-native-firebase/issues/3310)) ([#7351147](https://github.com/invertase/react-native-firebase/commit/73511472bd7690158f3d9924d5f4d8c0cad69910))
6755

68-
- **messaging:** ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))
56+
### Messaging
6957

70-
- **Android**: ensure a color is always present when user does not set one
71-
- **Android**: better handling/messages in cases where no handler is set
72-
- **Android**: `onMessage` will work for data-only, notification-only AND data-notification messages. Currently it only works for data-only
73-
- **Android**: `setBackgroundMessageHandler` will now work when the app is both fully quit and backgrounded, for data-only, notification-only AND data-notification messages. Previously, when the app was fully quit, events were not being handled
74-
- **iOS**: calling `registerDeviceForRemoteMessages`/`registerForRemoteNotifications` was causing permissions to be requested before explicitly requesting them via the messaging API
75-
- **iOS**: registering the device was not being called if it was already registered internally. Devices should always register when `registerDeviceForRemoteMessages` is called as per Apple guidelines, irregardless of current registration status. Make sure you always call `registerDeviceForRemoteMessages` during your app initialization on iOS
76-
- **iOS**: in cases where requesting an FCM with default scope/authorizedEntity, the underlying code now uses the recommended `instanceIDWithHandler` vs `tokenWithAuthorizedEntity`. This fixes an issue where FCM would throw a "The operation couldn’t be completed" error
77-
- **iOS**: direct FCM connection is now fixed. When the app was in the foreground, data-only messages were not coming through
78-
- **iOS**: when in debug mode, the APNS token will be set as a "sandbox" key type as per the Apple guidelines
79-
- **iOS**: the original APNS swizzling we implemented was not functioning correctly with application:didReceiveRemoteNotification:fetchCompletionHandler:. We added additional logic whereby this is executed in all scenarios (foreground/background/quit) and replaces a deprecated Apple API. This fixes issues with data-only messages not being handled by the device
80-
- **iOS**: when the application is in the foreground, notification messages were not being sent to the onMessage handler (via willPresentNotification)
81-
- **iOS**: `FIRMessagingDelegate` methods added to your `AppDelegate.m` will also be called
58+
- `onMessage` now works correctly for `data-only`, `notification-only` & `data-notification` messages. Previously it only worked for `data-only` messages
59+
- `setBackgroundMessageHandler` now works when the app fully quit or backgrounded, for `data-only`, `notification-only` & `data-notification` messages. Previously, when the app was fully quit, events were not being handled
60+
- for iOS this requires `content-available` to be set
61+
- add better handling for messages in cases where no user handler has been set
62+
- `Android`: ensure a default notification color is always present when user does not set one
63+
- `iOS`: calling `registerDeviceForRemoteMessages`/`registerForRemoteNotifications` was incorrectly causing permissions to be requested before explicitly requesting them via the messaging API
64+
- `iOS`: registering the device was not being called if it was already registered internally.
65+
- Devices should **always** register with `registerDeviceForRemoteMessages`, as per Apple guidelines, irregardless of current registration status.
66+
- Make sure you **always** call `registerDeviceForRemoteMessages` during your app initialization on iOS
67+
- `iOS`: in cases where requesting an FCM with the default `scope` & `authorizedEntity`, the underlying code now uses the recommended `instanceIDWithHandler` vs `tokenWithAuthorizedEntity`.
68+
- This fixes an issue where FCM would throw a `"The operation couldn’t be completed"` error ([#2657](https://github.com/invertase/react-native-firebase/issues/2657))
69+
- `iOS`: direct FCM connection is now fixed.
70+
- When the app was in the foreground, `data-only` messages were not coming through, they are now.
71+
- `iOS`: when running debug build, the APNS token will be registered with FCM as a `"sandbox"` key type
72+
- `iOS`: the original APNS swizzling we implemented was not functioning correctly with `application:didReceiveRemoteNotification:fetchCompletionHandler:`.
73+
- We added additional logic whereby this is executed in all scenarios (foreground/background/quit) and replaces a deprecated Apple API.
74+
- This fixes issues with `data-only` messages not being handled by the device
75+
- `iOS`: any custom `FIRMessagingDelegate` methods you add to your `AppDelegate.m` will now also be called internally by React Native Firebase messaging.
8276

83-
- **storage:** fixed a bug with parsing encoded urls ([#2753](https://github.com/invertase/react-native-firebase/issues/2753)) ([#8e99b9c](https://github.com/invertase/react-native-firebase/commit/8e99b9cb9093ba0cc3aadcb56127c8500ea8bf36))
77+
### Storage
8478

85-
## Deprecated
79+
- fixed a bug that occurred when parsing encoded urls ([#2753](https://github.com/invertase/react-native-firebase/issues/2753)) ([#8e99b9c](https://github.com/invertase/react-native-firebase/commit/8e99b9cb9093ba0cc3aadcb56127c8500ea8bf36))
80+
- storage tasks now correctly have a `snapshot` property - to match the Web SDK
81+
- `put` method now correctly returns a thenable `Task` instance instead of a promise ([#ea19622](https://github.com/invertase/react-native-firebase/commit/ea1962270b6c20d5b15dbaaea5c4d88a0a4ae3e2))
82+
83+
---
8684

87-
- **messaging:** ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))
88-
- **iOS**: `registerForRemoteNotifications` has been deprecated in favour of `registerDeviceForRemoteMessages`. It will be removed in v7. Underlying functionality has not changed, just renamed to avoid confusion with messages vs notifications
89-
- **iOS**: `isRegisteredForRemoteNotifications` has been deprecated in favour of `isDeviceRegisteredForRemoteMessages`. It will be removed in v7. Underlying functionality has not changed, just renamed to avoid confusion with messages vs notifications.
90-
- **iOS**: `unregisterForRemoteNotifications` has been deprecated in favour of `unregisterDeviceForRemoteMessages`. It will be removed in v7. Underlying functionality has not changed, just renamed to avoid confusion with messages vs notifications.
85+
## Deprecations
9186

92-
## Removed
87+
### Messaging
9388

94-
- removed `indexing` package ([#d7ac657](https://github.com/invertase/react-native-firebase/commit/d7ac657155826ea51edd75502b51b9102140acc6))
89+
- `registerForRemoteNotifications` has been deprecated in favour of `registerDeviceForRemoteMessages`.
90+
- It will be removed in a following major version. Underlying functionality has not changed - renamed to avoid confusion with messages vs notifications. ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))
91+
- `isRegisteredForRemoteNotifications` has been deprecated in favour of `isDeviceRegisteredForRemoteMessages`.
92+
- It will be removed in a following major version. Underlying functionality has not changed - renamed to avoid confusion with messages vs notifications. ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))
93+
- `unregisterForRemoteNotifications` has been deprecated in favour of `unregisterDeviceForRemoteMessages`.
94+
- It will be removed in a following major version. Underlying functionality has not changed - renamed to avoid confusion with messages vs notifications. ([#d66a611](https://github.com/invertase/react-native-firebase/commit/d66a6118f82005087f53b86571990fc071402153))

0 commit comments

Comments
 (0)