-
-
Notifications
You must be signed in to change notification settings - Fork 0
feat: actually change the Firebase SDK to 12.6.0 #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughAcross 11 iOS packages the Podfile platform was raised from iOS 14.0 to 15.0 and Firebase CocoaPod versions were updated from ~> 11.7 to ~> 12.6.0; Analytics additionally removed the GoogleAppMeasurementOnDeviceConversion dependency. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (11)
packages/analytics/ios/Podfile(2 hunks)packages/app-check/ios/Podfile(2 hunks)packages/app/ios/Podfile(2 hunks)packages/authentication/ios/Podfile(2 hunks)packages/crashlytics/ios/Podfile(2 hunks)packages/firestore/ios/Podfile(2 hunks)packages/functions/ios/Podfile(2 hunks)packages/messaging/ios/Podfile(2 hunks)packages/performance/ios/Podfile(2 hunks)packages/remote-config/ios/Podfile(2 hunks)packages/storage/ios/Podfile(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: Test Android platform
- GitHub Check: Test iOS platform
- GitHub Check: test / Test iOS platform
- GitHub Check: test / Test Android platform
🔇 Additional comments (4)
packages/authentication/ios/Podfile (1)
12-15: Third-party SDK compatibility with Firebase 12.6.0 is confirmed.GoogleSignIn 7.1, FBSDKCoreKit 18.0, and FBSDKLoginKit 18.0 are all compatible with Firebase iOS SDK 12.6.0. Ensure your project's minimum iOS deployment target is set to 15.0 or higher to meet Firebase 12.6.0's requirements.
packages/remote-config/ios/Podfile (1)
1-1: iOS platform and Firebase 12.6.0 versions are correctly configured.Firebase RemoteConfig 12.6.0 exists and supports iOS 15.0+ (minimum iOS requirement for Firebase 12.x is iOS 15.0). The platform specification and dependency are consistent with Firebase SDK requirements. Version constraint
~> 12.6.0is appropriate and aligns with all other Firebase packages in the repository (all set to 12.6.0).packages/firestore/ios/Podfile (1)
1-1: Firestore Podfile upgrade is consistent; confirm iOS 15 support policy and Firebase alignmentUpdating the platform to iOS 15.0 and
FirebaseFirestoreto~> 12.6.0matches the rest of the Firebase upgrades and should keep the pods aligned.Please confirm:
- This iOS 15.0 minimum is acceptable for all consuming apps.
- All other Firebase‑related Podfiles in the repo also target the 12.6.0 line to avoid mixed Firebase versions.
Also applies to: 12-12
packages/performance/ios/Podfile (1)
1-1: iOS 15.0 target & FirebasePerformance 12.6.0 bump are consistent with repo standards; note semver implicationsThe Podfile changes align with existing package patterns—all 11 iOS Podfiles across the monorepo already target iOS 15.0 and use Firebase pods at ~> 12.6.0. No version inconsistencies or resolver conflicts to address.
Document that this plugin now requires iOS ≥ 15 if that represents a change from the previous minimum target, as it may be a semver-major bump for consumers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (5)
packages/functions/BREAKING.md (1)
1-44: Well-structured and accurate breaking changes documentation.The file clearly documents the two major breaking changes (iOS 15.0 minimum requirement and Firebase SDK 12.6.0 update) with appropriate context and actionable migration steps. The structure is user-friendly, and the content aligns with the PR objectives.
Minor suggestion: Consider using a version-specific header (e.g.,
## v12.0.0instead of## Upcoming) if this changelog will be released soon, to provide users with a clear reference point for when these breaking changes take effect.packages/app-check/BREAKING.md (2)
26-30: Enhance Firebase SDK description with specific change information.The "What changed" section uses generic marketing language ("latest features," "improvements," "stability") rather than documenting actual breaking changes or significant updates users need to be aware of. Consider providing more specific information about Firebase 12.6.0 changes, such as:
- Actual breaking changes in the Firebase SDK
- Deprecated APIs that have been removed
- Minimum dependency versions (e.g., if CocoaPods or Xcode version requirements changed)
- Known compatibility issues with iOS 15.0
If available, reference the Firebase 12.6.0 release notes or changelog for concrete details. For example:
**What changed:** - - All the latest Firebase features and improvements from Google - - Improved performance and stability - - Latest security updates + - Firebase SDK upgraded to 12.6.0 with enhanced features and bug fixes + - See [Firebase iOS SDK Release Notes](link) for detailed changes + - Compatibility updates for iOS 15.0+ runtime environment
34-34: Make Podfile pinning guidance more concrete.The Firebase SDK migration instruction is vague. Provide a concrete example similar to the iOS version section to help users with pinned versions. For example:
- If you use CocoaPods and have the SDK version pinned in your Podfile, update it accordingly. + If you use CocoaPods and have Firebase SDK versions pinned in your Podfile, update them to 12.6.0. For example: + ```ruby + pod 'FirebaseAppCheck', '~> 12.6.0' + ```packages/remote-config/BREAKING.md (2)
1-45: Standardize and consolidate repetitive BREAKING.md documentation across packages.These six BREAKING.md files (remote-config, authentication, crashlytics, messaging, app, and firestore) are nearly identical. Consolidation via a shared template or centralized documentation would reduce maintenance burden and ensure consistency, particularly around package-specific guidance (e.g., directory paths, package-specific dependencies).
26-30: Replace generic "What changed" section with specific Firebase 12.6.0 migration details.Lines 28–30 lack specifics about breaking changes or notable differences in Firebase 12.6.0 relative to 11.7. For a breaking-change document, cite concrete improvements (e.g., API changes, performance gains, or known migration gotchas) rather than generic marketing copy.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (13)
packages/analytics/BREAKING.md(1 hunks)packages/analytics/CapgoCapacitorFirebaseAnalytics.podspec(0 hunks)packages/analytics/README.md(1 hunks)packages/app-check/BREAKING.md(1 hunks)packages/app/BREAKING.md(1 hunks)packages/authentication/BREAKING.md(1 hunks)packages/crashlytics/BREAKING.md(1 hunks)packages/firestore/BREAKING.md(1 hunks)packages/functions/BREAKING.md(1 hunks)packages/messaging/BREAKING.md(1 hunks)packages/performance/BREAKING.md(1 hunks)packages/remote-config/BREAKING.md(1 hunks)packages/storage/BREAKING.md(1 hunks)
💤 Files with no reviewable changes (1)
- packages/analytics/CapgoCapacitorFirebaseAnalytics.podspec
✅ Files skipped from review due to trivial changes (3)
- packages/performance/BREAKING.md
- packages/storage/BREAKING.md
- packages/analytics/BREAKING.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: Test iOS platform
- GitHub Check: Test Android platform
- GitHub Check: test / Test iOS platform
- GitHub Check: test / Test Android platform
🔇 Additional comments (2)
packages/analytics/README.md (1)
559-561: Well-placed documentation reference for breaking changes.The new "Breaking Changes" section appropriately directs users to the migration guide. The placement (after Changelog, before License) follows logical documentation flow, and the formatting is consistent with the existing CHANGELOG.md reference.
packages/app-check/BREAKING.md (1)
5-19: Clear and well-structured iOS minimum version migration guidance.The iOS 15.0 minimum requirement section provides concrete, actionable migration steps with a specific example for the Podfile update. This sets a good standard for the rest of the document.
| 2. Update the platform version in your `ios/App/Podfile`: | ||
| ```ruby | ||
| platform :ios, '15.0' | ||
| ``` | ||
| 3. Run `pod install` in the `ios/App` directory to update dependencies |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reconcile inconsistent directory guidance.
Line 18 specifies "Run pod install in the ios/App directory," while other packages' BREAKING.md files omit this directory detail. Either all packages should include directory paths (for clarity) or none should (to reduce noise). Ensure consistency across the repo.
🤖 Prompt for AI Agents
packages/app/BREAKING.md lines 14-18: the guidance is inconsistent about
specifying the directory for running pod install; decide on repository-wide
style and make this file match it. If the repo convention is to include explicit
directories, change the line to consistently mention `ios/App` (or the canonical
path used elsewhere) for clarity; if the convention omits directories, remove
the `ios/App` qualifier and simply instruct "Run `pod install`" so it matches
other packages' BREAKING.md files. Update this file accordingly to match the
established pattern across the repo.
One of our enterprise clients (P**** O******) has a problem and requires this fork. Therefor, Martin has updated the dependencies to 11.6, but he has forgotten to put it in the Podfiles, so this PR is a mitigation to this problem. I hope to unlock our enterprise client by introducing this change.
I have replaced
pod 'FirebaseXXX', '~> 11.7'withpod 'FirebaseXXX, '~> 12.6.0'This PR bumps also the min version of iOS to v15
Furthermore, I have removed
GoogleAppMeasurementOnDeviceConversiondue toSummary by CodeRabbit
Chores
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.