|
| 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