Skip to content

Commit 1ae3b1a

Browse files
committed
docs: v25 migration guide updated for release
1 parent 74ddc9e commit 1ae3b1a

2 files changed

Lines changed: 439 additions & 11 deletions

File tree

docs/migrating-to-v24.mdx

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ previous: /migrating-to-v23
55
next: /migrating-to-v25
66
---
77

8+
Version 24 includes breaking changes for Firestore TypeScript types and Cloud Functions native integration. Review the sections below for the modules you use.
9+
810
# Firestore
911

1012
Version 24 introduces `withConverter` functionality from Firebase JS SDK. Due to the differences in types between references and queries in namespace vs modular API, and the namespaced APIs deprecation cycle being effectively complete with the API set for removal, we have adopted the modular API typing in general for firestore APIs.
@@ -36,3 +38,50 @@ onSnapshot(doc(getFirestore(), 'foo', 'foo'), {
3638
},
3739
});
3840
```
41+
42+
# Cloud Functions
43+
44+
**PR:** [#8603](https://github.com/invertase/react-native-firebase/pull/8603) / v24.0.0 ([#8799](https://github.com/invertase/react-native-firebase/issues/8799) streaming callables)
45+
46+
From v24 onward, `@react-native-firebase/functions` is implemented as a **TurboModule** and **requires React Native's New Architecture**. The legacy bridge module was removed.
47+
48+
## Who is affected
49+
50+
| You use… | Action |
51+
| ----------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
52+
| `@react-native-firebase/functions` on **New Architecture** | No change required |
53+
| `@react-native-firebase/functions` on the **legacy architecture** | Enable New Architecture, or stay on v23 if you cannot migrate yet |
54+
| Other RN Firebase modules only | Functions is the first module with a hard requirement; `@react-native-firebase/app` prints a deprecation warning on legacy architecture builds |
55+
56+
## Enable New Architecture
57+
58+
**React Native CLI (Android)** — set in `android/gradle.properties`:
59+
60+
```properties
61+
newArchEnabled=true
62+
```
63+
64+
**React Native CLI (iOS)** — New Architecture is enabled when `RCT_NEW_ARCH_ENABLED=1` during `pod install` (React Native sets this from `newArchEnabled` on recent templates). Follow the [React Native New Architecture guide](https://reactnative.dev/docs/the-new-architecture/landing-page) for your RN version.
65+
66+
**Expo** — enable in your app config (Expo SDK 52+):
67+
68+
```json
69+
{
70+
"expo": {
71+
"newArchEnabled": true
72+
}
73+
}
74+
```
75+
76+
Rebuild native projects after changing this (`pod install`, clean Android build).
77+
78+
## If New Architecture is disabled
79+
80+
- **Android:** the Functions Gradle script fails the build with `New Architecture support is required for @react-native-firebase/functions`.
81+
- **iOS:** `pod install` fails with `RNFBFunctions requires New Architecture. Enable New Architecture to use this module`.
82+
83+
## API notes
84+
85+
The JavaScript API (`functions()`, `httpsCallable`, modular helpers) is unchanged. v24 also adds [`httpsCallable().stream()`](/functions/usage) support, which relies on the TurboModule implementation.
86+
87+
Other React Native Firebase modules still run on legacy architecture in v24, but old architecture support is deprecated project-wide and will be required for additional modules in future releases.

0 commit comments

Comments
 (0)