3.0.0
The 3.0.0 major release line includes:
- iOS drops CocoaPods for SPM Firebase is no longer distributed through CocoaPods. Firebase 13.0.0 and later releases are distributed exclusively through Swift Package Manager and binary distributions.
- Wasm support for all modules, calls still go via the firebase-js-sdk, just like the JS target
- Android SDK compatibility layer The Android SDK's com.google.firebase.* API is mirrored in common code: same packages, classes, member names and shapes (Task results, listener interfaces, builders). Your imports don't change if you are porting an Android app. On Android, the SDK adds nothing: it depends on the official Firebase Android SDK, and your code keeps binding to the real classes exactly as before.
What's Changed
- Recalculate the API coverage badges in the README by @nbransby in #874
- Add update-api-coverage skill with the README badge calculation script by @nbransby in #877
- Let Realtime Database writes suspend while offline instead of failing by @nbransby in #878
- Add com.google.firebase source-compatibility layer (header stubs on Android/JVM) by @nbransby in #875
- Add ByteArray.toData() / Data.toByteArray() to firebase-storage by @nbransby in #893
- Merge master into v3.0.0 by @nbransby in #895
- Re-enable iOS tests for firebase-storage by @nbransby in #894
- Bump Kotlin to 2.4.20 by @nbransby in #896
- Drop the macosX64 and tvosX64 targets by @nbransby in #897
- Fix remoteConfig(app) ignoring its app on Apple by @nbransby in #898
- Fix testNamedApp on Android by @nbransby in #899
- Stop running firebase-installations tests on macOS by @nbransby in #900
- Return the wrapped instance from the platform getters by @nbransby in #901
- Stop running firebase-installations tests on macOS (2.x) by @nbransby in #904
- Fix remoteConfig(app) ignoring its app on Apple (2.x) by @nbransby in #903
- Time out the nightly's Apple jobs after 90 minutes by @nbransby in #902
- Raise the macOS deployment target to 12.0 by @nbransby in #905
- Merge master into v3.0.0 by @nbransby in #906
- Correct the SwiftPM consumer docs by @nbransby in #907
- Upload SwiftPM import diagnostics when an Apple test job fails by @nbransby in #908
- Pin CI to Xcode 26.4.1 by @nbransby in #910
- Skip the Firebase SwiftPM resolve in modules that don't use Firebase by @nbransby in #909
- Add the com.google.firebase.crashlytics source-compatibility layer by @nbransby in #881
- Add the com.google.firebase.remoteconfig source-compatibility layer by @nbransby in #885
- Add FirebaseFormat: the Android SDK's class-mapping rules on every platform by @nbransby in #916
- Keep the Android SDK's Context signatures in the compatibility layer by @nbransby in #925
- Add stand-ins for the JVM types in the Android SDK's signatures by @nbransby in #926
- Add the com.google.firebase.functions source-compatibility layer by @nbransby in #882
- Take firebase-java-sdk 0.7.0 and require exact signatures in the compatibility report by @nbransby in #927
- Take firebase-java-sdk 0.8.0 by @nbransby in #928
- Add com.google.firebase.analytics source-compatibility layer by @nbransby in #891
- Add com.google.firebase.auth source-compatibility layer by @nbransby in #890
- Add the com.google.firebase.perf source-compatibility layer by @nbransby in #884
- Declare the perf HTTP metric API in common with UnsupportedOnJs on JS by @nbransby in #929
- Mark setCustomAuthDomain UnsupportedOnJs by @nbransby in #930
- Make the perf in-memory HttpMetric getters and JVM Trace name internal by @nbransby in #932
- Make the auth and config compat members the Android SDK lacks internal by @nbransby in #933
- Make the analytics compat FirebaseAnalytics an expect class so its JS session members carry @UnsupportedOnJs by @nbransby in #931
- Remove the unused two-argument exception constructors from the JS and wasmJs actuals by @nbransby in #934
- Match member exclusions on nested classes written in source form by @nbransby in #935
- Add the com.google.firebase.messaging source-compatibility layer by @nbransby in #886
- Add the com.google.firebase.storage source-compatibility layer by @nbransby in #887
- Add the com.google.firebase.database source-compatibility layer by @nbransby in #888
- Bump firebase-ios-sdk to 13.1.1 for the eMudhra CA fix (3.x) by @nbransby in #940
- Add com.google.firebase.firestore source-compatibility layer by @nbransby in #889
- Make StorageTask listener dispatch atomic on Apple and JS by @nbransby in #944
- Reword the mapping deprecations without naming FirebaseFormat by @nbransby in #948
- Add the Firestore pipeline API to the com.google.firebase.firestore layer by @nbransby in #945
- Bring the migration guide up to date with the whole compatibility layer by @nbransby in #949
- Keep the analytics test app alive instead of deleting it after each test by @nbransby in #951
- Regenerate the compat reports for the reworded deprecations and include the JVM by @nbransby in #950
- Release 3.0.0-beta1 by @nbransby in #952
- Bump firebase-java-sdk to 0.8.1 by @nbransby in #946
Full Changelog: v3.0.0-alpha02...v3.0.0-beta1