Skip to content
This repository was archived by the owner on Apr 8, 2025. It is now read-only.

Commit a02587b

Browse files
authored
v5.5.0 release / V5.x.x Firebase SDK update (#191)
* docs: update all Firebase SDKs to current, API changes to match works with invertase/react-native-firebase#2240 * docs: added one more breaking change for v5.5.0, firestore ids never null
1 parent 85218b6 commit a02587b

File tree

10 files changed

+193
-24
lines changed

10 files changed

+193
-24
lines changed

docs/_config.yaml

+16-15
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
android:
22
build:
3-
tools: 3.3.2
3+
tools: 3.4.1
44
fabric:
55
tools: 1.28.1
66
firebase:
@@ -14,9 +14,10 @@ android:
1414
database: 17.0.0
1515
firestore: 19.0.0
1616
functions: 17.0.0
17+
links: 17.0.0
1718
invites: 17.0.0
1819
messaging: 18.0.0
19-
perf: 16.2.5
20+
perf: 17.0.2
2021
storage: 17.0.0
2122
plugins: 1.2.1
2223
gms:
@@ -26,17 +27,17 @@ ios:
2627
fabric:
2728
tools: 1.10.1
2829
firebase:
29-
ads: 5.20.2
30-
auth: 5.20.2
31-
config: 5.20.2
32-
core: 5.20.2
33-
crash: 5.20.2
30+
ads: 6.2.0
31+
auth: 6.2.0
32+
config: 6.2.0
33+
core: 6.2.0
34+
crash: 6.2.0
3435
crashlytics: 3.13.1
35-
database: 5.20.2
36-
firestore: 5.20.2
37-
functions: 5.20.2
38-
invites: 5.20.2
39-
links: 5.20.2
40-
messaging: 5.20.2
41-
perf: 5.20.2
42-
storage: 5.20.2
36+
database: 6.2.0
37+
firestore: 6.2.0
38+
functions: 6.2.0
39+
invites: 6.2.0
40+
links: 6.2.0
41+
messaging: 6.2.0
42+
perf: 6.2.0
43+
storage: 6.2.0

docs/invites/android.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Android Installation
22

3+
!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.
4+
35
First ensure you have followed the [initial setup guide](version /installation/initial-setup) and the [dynamic links setup guide](version /links/android).
46

57
### Find your SHA fingerprint

docs/invites/ios.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# iOS Installation
22

3+
!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.
4+
35
First ensure you have followed the [initial setup guide](version /installation/initial-setup) and the [dynamic links setup guide](version /links/ios).
46

57
> On iOS, users must be signed in with their Google Accounts before they can send invitations.

docs/invites/reference/AndroidInvitation.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Invitation
22

3+
!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.
4+
35
Android specific invitation settings.
46

57
## Methods

docs/invites/reference/Invitation.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Invitation
22

3+
!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.
4+
35
```
46
firebase.invites.Invitation
57
```

docs/invites/reference/InvitationOpen.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# InvitationOpen
22

3+
!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.
4+
35
Object giving information about the invitation that was opened.
46

57
## Properties

docs/invites/reference/Invites.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Dynamic Links
22

3+
!> Invites has been removed from the Firebase SDKs, and removed here as of v5.5.0. This documentation is only here for users of older versions of the library. Use Dynamic Links instead.
4+
35
[Firebase Invites](https://firebase.google.com/docs/invites/) are an out-of-the-box solution for app referrals and sharing via email or SMS.
46

57
## Methods

docs/links/reference/DynamicLink.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ To create a DynamicLink, first populate it by using the `setX` methods available
1414
| Parameter | |
1515
| --------- | ------- |
1616
| link | **string** <br/> The link the target app will open. You can specify any URL the app can handle, such as a link to the app’s content, or a URL that initiates some app-specific logic such as crediting the user with a coupon, or displaying a specific welcome screen. This link must be a well-formatted URL, be properly URL-encoded, and use the HTTP or HTTPS scheme. |
17-
| dynamicLinkDomain | **string** <br/> The Firebase project’s Dynamic Links domain. You can find this value in the Dynamic Links section of the Firebase console. |
17+
| domainURIPrefix | **string** <br/> The Firebase project’s Dynamic Links domain. You can find this value in the Dynamic Links section of the Firebase console. It must begin with `https://` |
1818

1919
## Properties
2020

docs/release-notes.md

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
## Latest Version
1+
# Latest Version
22

3-
The latest version is `v5.4.0`; [➡️ View the Release Notes](/docs/v5.x.x/releases/v5.4.x)
3+
The latest version is `v5.5.0`; [➡️ View the Release Notes](/docs/v5.x.x/releases/v5.5.x)
44

5-
## Older Versions
5+
## Older Versions
66

7-
- [v5.3.x](/docs/v5.x.x/releases/v5.3.x)
8-
- [v5.2.x](/docs/v5.x.x/releases/v5.2.x)
9-
- [v5.1.1](/docs/v5.x.x/releases/v5.1.1)
10-
- [v5.1.0](/docs/v5.x.x/releases/v5.1.0)
11-
- [v5.0.0](/docs/v5.x.x/releases/v5.0.0)
7+
- [v5.4.x](/docs/v5.x.x/releases/v5.4.x)
8+
- [v5.3.x](/docs/v5.x.x/releases/v5.3.x)
9+
- [v5.2.x](/docs/v5.x.x/releases/v5.2.x)
10+
- [v5.1.1](/docs/v5.x.x/releases/v5.1.1)
11+
- [v5.1.0](/docs/v5.x.x/releases/v5.1.0)
12+
- [v5.0.0](/docs/v5.x.x/releases/v5.0.0)

docs/releases/v5.5.x.md

+155
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# v5.5.x Releases
2+
3+
!> **BREAKING CHANGE NOTICE: v5.x.x will allow breaking changes in the _minor_ version number**
4+
5+
> *This semver policy starts with v5.5.0*. The patch version will not allow breaking change. Patch releases will contain bugfixes and necessary features required for Firebase SDK compatibility, but occasionally the underlying Firebase SDKs or React-Native ecosystem require breaking change in order for v5 to stay relevant during the v5 -> v6 transition. Adjust your `package.json` to use the `~` semver range specifier vs `^` to avoid unexpected breaking specify the dependency like this and alter the minor version as it suits your project: `"react-native-firebase": "~5.5.0"`
6+
7+
----
8+
9+
> v6 is around the corner(ish), please check out [this issue](https://github.com/invertase/react-native-firebase/issues/2025) to keep up to date with all the changes coming as part of v6.
10+
11+
----
12+
13+
## Installation
14+
15+
You may install the current version using:
16+
17+
```bash
18+
npm install --save react-native-firebase@~latest
19+
```
20+
21+
Upgrade instructions are below.
22+
23+
----
24+
25+
## Changelog
26+
27+
### 5.5.0
28+
29+
!> **BREAKING CHANGES** This release updates the Firebase SDKs to current versions, including their underlying breaking changes
30+
31+
- [BREAKING CHANGE][Typescript][Firestore] Document id can't be null (they are always a string)
32+
- [BREAKING CHANGE][DynamicLinks][domainUrlPrefix] use prefixURIDomain instead of domainUrlPrefix (start with `https://`)
33+
- [BREAKING CHANGE][Invites] Invites API removed, use DynamicLinks
34+
- [BREAKING CHANGE][Perf][incrementCount] Android: Trace.incrementCounter() removed use incrementMetric()
35+
- [Chore][Dependencies][Firebase SDK] update Firebase SDKs to current, alter APIs accordingly
36+
- [Fix][Test][GoogleSignin] You have to include ‘GoogleSignIn’, ‘~>4.4’ yourself now
37+
- [Feat][Test][AdMob] Integrate AdMob into test app
38+
39+
----
40+
41+
## Upgrade instructions
42+
43+
```shell
44+
npm install --save react-native-firebase@latest
45+
```
46+
47+
- Alter DynamicLink creation to use 'prefixURIDomain' instead of 'domainUrlPrefix'
48+
- It is very similar to domainUrlPrefix, but you must include the whole prefix, starting with `https://`
49+
- Android SDK example <https://firebase.google.com/docs/dynamic-links/android/create#create-a-dynamic-link-from-parameters>
50+
- iOS SDK example <https://firebase.google.com/docs/dynamic-links/ios/create#create-a-dynamic-link-from-parameters>
51+
- Remove all use of Invites, DynamicLinks replaces it completely
52+
- Alter any typescript uses of ids in Firestore to recognize they are always a valid string, they are not ever null
53+
54+
----
55+
56+
### Android - Update Dependencies
57+
58+
1) In `android/app/build.gradle`, update all the firebase and gms dependencies to the following versions:
59+
60+
- **com.google.android.gms:play-services-base**:{{ android.gms.play-services-base }}
61+
- **com.google.firebase:firebase-core**:{{ android.firebase.core }}
62+
- **com.google.firebase:firebase-ads**:{{ android.firebase.ads }}
63+
- **com.google.firebase:firebase-auth**:{{ android.firebase.auth }}
64+
- **com.google.firebase:firebase-config**:{{ android.firebase.config }}
65+
- **com.google.firebase:firebase-database**:{{ android.firebase.database }}
66+
- **com.google.firebase:firebase-functions**:{{ android.firebase.functions }}
67+
- **com.google.firebase:firebase-invites**:{{ android.firebase.invites }}
68+
- **com.google.firebase:firebase-dynamic-links**:{{ android.firebase.links }}
69+
- **com.google.firebase:firebase-firestore**:{{ android.firebase.firestore }}
70+
- **com.google.firebase:firebase-messaging**:{{ android.firebase.messaging }}
71+
- **com.google.firebase:firebase-perf**:{{ android.firebase.perf }}
72+
- **com.google.firebase:firebase-storage**:{{ android.firebase.storage }}
73+
- **com.crashlytics.sdk.android:crashlytics**:{{ android.firebase.crashlytics }}
74+
75+
2) Ensure you're using gradle build tools 3.3.2 or higher (untested above 4.0.0)
76+
77+
`android/build.gradle`:
78+
79+
```groovy
80+
// ...
81+
classpath 'com.android.tools.build:gradle:3.4.1'
82+
// ...
83+
```
84+
85+
3) Ensure you're using google services 4.2.0 or higher when you're using RN 0.59 or higher, and if using Firebase Performance, convert from firebase-plugins to perf-plugin
86+
87+
`android/build.gradle`:
88+
89+
```groovy
90+
// ...
91+
classpath 'com.google.gms:google-services:4.2.0'
92+
// ...
93+
```
94+
95+
4) If you are using Firebase Performance convert from firebase-plugins to perf-plugin:
96+
97+
`android/build.gradle`:
98+
99+
```groovy
100+
// ...
101+
classpath 'com.google.firebase:perf-plugin:1.2.1'
102+
// ...
103+
```
104+
105+
`android/app/build.gradle`:
106+
107+
```groovy
108+
// ...
109+
apply plugin: "com.google.firebase.firebase-perf"
110+
// ...
111+
112+
113+
----
114+
115+
### iOS - Update Firebase SDKs
116+
117+
> These versions are almost all new from 5.4.x
118+
119+
v5.5.x supports iOS SDK version `5.19.0` and above; however it is recommended to update to `v6.2.0` and lock the versions specifically in your `Podfile`:
120+
121+
```ruby
122+
pod 'Firebase/AdMob', '~> 6.2.0'
123+
pod 'Firebase/Auth', '~> 6.2.0'
124+
pod 'Firebase/Core', '~> 6.2.0'
125+
pod 'Firebase/Database', '~> 6.2.0'
126+
pod 'Firebase/Functions', '~> 6.2.0'
127+
pod 'Firebase/DynamicLinks', '~> 6.2.0'
128+
pod 'Firebase/Firestore', '~> 6.2.0'
129+
pod 'Firebase/Messaging', '~> 6.2.0'
130+
pod 'Firebase/RemoteConfig', '~> 6.2.0'
131+
pod 'Firebase/Storage', '~> 6.2.0'
132+
pod 'Firebase/Performance', '~> 6.2.0'
133+
134+
# Crashlytics
135+
pod 'Fabric', '~> 1.10.1'
136+
pod 'Crashlytics', '~> 3.13.1'
137+
```
138+
139+
----
140+
141+
## Feedback
142+
143+
We want your feedback!
144+
145+
If you have any comments and suggestions or want to report an issue, come find us on [Discord](https://discord.gg/C9aK28N), [Twitter](https://twitter.com/rnfirebase) or [GitHub](https://github.com/invertase/react-native-firebase).
146+
147+
## Contributing
148+
149+
Thank to [all the contributors](https://github.com/invertase/react-native-firebase/graphs/contributors?from=2019-01-01&to=2020-01-01&type=c) that made this release happen 💛.
150+
151+
If you'd like to contribute please check out our [testing](https://rnfirebase.io/docs/v5.x.x/testing) and [contributing](https://rnfirebase.io/docs/v5.x.x/contributing) guides.
152+
153+
## Other Releases
154+
155+
[View other releases.](/docs/v5.x.x/release-notes)

0 commit comments

Comments
 (0)