364 Commits
Author SHA1 Message Date
Andrew Heard a41c4e05e7 chore: set swift-tools-version to 6.2 (#16862)
The patch component in `swift-tools-version:6.2.1` has no effect on
the available PackageDescription APIs, which are versioned by
major.minor only. The actual minimum (Xcode 26.2 / Swift 6.2.3) is
enforced by the `#if compiler(<6.2.3)` check in Package.swift.

Using 6.2 also lets Swift 6.2.0 toolchains load the manifest and
reach that check's descriptive error, instead of failing early with a
generic tools-version mismatch.
2026-10-14 19:49:33 +00:00
Nick CookeandPaul Beusterien 1be917f73e docs(core): note removal of GoogleSignIn from zip distribution (#16701)
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
2026-09-24 12:32:16 -04:00
Andrew Heard 06d5eff01b chore: add minimum Swift compiler check and error (#16696)
Update swift-tools-version to 6.2.1 in Package.swift and add a
build-time compiler check requiring Swift 6.2.3 or higher.

Xcode 26.2 is the minimum supported version for the SDK and ships with
the Swift 6.2.3 compiler. However, Xcode 26.2 bundles SwiftPM 6.2.1 in
SwiftPM.framework (used by Xcode and xcodebuild) while its toolchain
CLI reports 6.2.3. Declaring swift-tools-version 6.2.3 causes manifest
resolution to fail in Xcode 26.2 and xcodebuild because SwiftPM
validates the manifest version against the framework version.

To maintain Xcode 26.2 compatibility while enforcing the minimum
toolchain requirement:
- Bump swift-tools-version from 6.1 to 6.2.1 so Xcode 26.2 can resolve
  the package.
- Add an #if compiler(<6.2.3) guard to Package.swift to emit an
  actionable error on older compilers.
2026-09-24 09:57:32 -04:00
Andrew Heard 54e836b780 feat(spm): add trait to opt out of Firestore (#16684)
Add support for Swift Package Traits (SE-0450) in Package.swift by
introducing a default-enabled "Firestore" trait.

Previously, depending on the firebase-ios-sdk Swift package resolved
and downloaded Cloud Firestore and its heavy underlying dependencies
(gRPC, Abseil, and prebuilt binary artifacts), even if an application
only used lightweight Firebase products (such as Auth, Crashlytics, or
Remote Config).

With package traits, developers can now opt out of Cloud Firestore in
their Package.swift (via `traits: []`) or through Xcode 26.4+'s Package
Dependencies UI, pruning heavy dependencies and speeding up package
resolution while preserving full backwards compatibility:

- Define the "Firestore" trait in Package.swift, enabled by default in
  `packageTraits`.
- Gate source and binary Firestore target dependencies (abseil, gRPC,
  FirebaseFirestoreInternalWrapper, FirebaseFirestoreCombineSwift) on
  `.when(traits: ["Firestore"])`.
- Add `FIRESTORE_TRAIT_ENABLED` C preprocessor macro via target cSettings
  on `FirebaseFirestoreTarget` and `objc-import-test` to enable
  conditional compilation for Clang targets when the trait is active.
- Provide a clear compile-time `#error` diagnostic in `dummy.m` if an app
  target links Firestore without enabling the trait.
- Gate conditional imports in integration test targets (`swift-test` and
  `objc-import-test`) so test suites pass both with default traits and
  with `--disable-default-traits`.
- Opt out of default traits in `FirebaseAITestApp` (in project.pbxproj),
  validating Xcode trait opt-out and avoiding Firestore dependencies for
  AI Logic integration tests.
- Add release notes and Xcode opt-out instructions to changelogs in
  `FirebaseCore/CHANGELOG.md` and `Firestore/CHANGELOG.md`.
2026-09-23 22:50:48 -04:00
Daymon a9d68992b6 chore(m187): update changelogs (#16688) 2026-09-23 10:08:34 -05:00
Daymon 28fb2c857a feat(core): util method for finding window scenes (#16675) 2026-09-23 10:08:12 -05:00
Daymon 94f7245092 infra(zip): refactor zip bundle id prefix (#16678) 2026-09-22 22:41:59 +00:00
Daymon 3b0a09d7da infra(zip): remove CocoaPods umbrella headers. (#16540) 2026-09-18 21:54:13 +00:00
Nick Cooke fd3420588b build(deps): bump GTMSessionFetcher minimum version to 4.0 (#16662) 2026-09-17 12:08:10 -04:00
Daymon ea7b9bb940 feat(core): add util method for fetching active scenes by selector (#16398) 2026-09-16 13:44:32 -05:00
Nick Cooke 4076d94ac5 firebase13: bump minimum macOS to 11.0 and watchOS to 8.0 (#16551) 2026-09-15 11:43:42 -04:00
Nick Cooke f55b496acd firebase13: remove mlmodeldownloader library (#16512) 2026-09-14 16:20:49 -04:00
Nick Cooke 1a988f8275 firebase13: cocoapods changelog entry (#16576) 2026-09-14 13:48:48 -04:00
Nick Cooke cf44bf2fa9 m186.1: release note for zip naming issue (#16633) 2026-09-09 15:29:45 -07:00
Nick Cooke 7920782bd2 chore: changelogs for m186 (#16588) 2026-09-02 13:01:51 -04:00
Nick Cooke 19e972a6c1 fix: wording in 12.19 CHANGELOG.md (#16582) 2026-08-31 19:09:12 -07:00
Nick Cooke 96542a4a01 chore: changelog entry for last CP release (#16575) 2026-08-28 11:40:56 -04:00
Paul Beusterienandgemini-code-assist[bot] 86617265cd Fix #16542: Pre-cache Foundation locale and calendar to prevent C locale race condition (#16545)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-08-24 17:34:11 -04:00
Nick Cooke 33a468adfd rollback(spm): conditional min. OS versions for Xcode 27 (#16443) 2026-07-23 18:14:26 -04:00
Nick Cooke 1da4e6caf0 fix(core): fix 12.17 changelog entry (#16434) 2026-07-22 12:26:35 -04:00
Nick Cooke 7842bb7efa chore: changelog for #16408 (#16425) 2026-07-21 20:24:26 +00:00
Nick CookeandPaul Beusterien 0fbaa00708 refactor: remove site key from options; require explicit pass to recaptcha provider (#16409)
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
2026-07-17 21:24:23 +00:00
Nick Cooke e28a1a1a84 refactor(misc): remove obsolete OS availability checks (#16313) 2026-07-09 16:40:30 -04:00
Nick CookeandPaul Beusterien 06d53a2ae0 feat(appcheck): implement RecaptchaEnterpriseProvider and tests (#16155)
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
2026-06-10 12:08:31 -04:00
Andrew Heard edefdf1732 [Core] Require swift-tools-version:6.1 in Package.swift (#16223) 2026-06-02 13:04:37 -04:00
Nick Cooke 7f3f5c11da chore: update changelogs for 12.14.0 release (#16184) 2026-05-19 13:46:19 -05:00
Nick Cookeandgemini-code-assist[bot] 100b091191 feat(cocoapods): Add CocoaPods deprecation warnings to Podspec, README, and CHANGELOG (#16172)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-05-19 12:16:03 -04:00
Nick Cooke ddf0433972 fix(spm): trailing comma in Package.swift for FirebaseAILogic target (#16162) 2026-05-11 15:28:05 -04:00
Nick Cookeandgemini-code-assist[bot] dc18b7f5b9 refactor(global): cleanup redundant availability checks and update sample apps audit (#16143)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-04-30 18:48:30 -04:00
Nick Cooke b9610f2704 fix: Update Xcode 26 note in FirebaseCore/CHANGELOG.md (#15986) 2026-03-31 21:17:02 -04:00
Andrew Heard ec8ce946b7 [Release] Update CHANGELOGs for M179 (#16016) 2026-03-31 21:40:36 +00:00
Nick Cooke 268250d47c dnm: build zip with Xcode 26.2 x macOS 26 (#15786) 2026-03-24 11:30:56 -04:00
Nick Cooke 5c4a227fc6 fix: Move reusable SPM and CocoaPods workflows to use Xcode 26.2 (#15756) 2026-01-26 12:23:47 -05:00
google-labs-jules[bot] 91a61665cc Add unit test for FirebaseOptions copying (#15722)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-01-15 07:47:34 -08:00
Paul Beusterien dd3e454d30 Resolve TODO in _ObjC_HeartbeatController.swift (#15698) 2026-01-09 07:58:41 -08:00
Daymon 7865304303 chore(m174): Update changelogs (#15570) 2025-12-02 11:58:26 -05:00
Nick Cooke 495546bd11 docs: Update CHANGELOG.md for #15506 (#15509) 2025-11-17 18:11:25 -05:00
Nick Cookeandgoogle-labs-jules[bot] af3680565d [Infra] Update gtm-session-fetcher to ~> 3.4, < 6.0 (#15091)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-07-08 18:37:47 -04:00
Nick Cooke e3110da07b [Infra] Rename 'FIRAllocatedUnfairLock' to 'UnfairLock' (#15090) 2025-07-08 16:09:40 -04:00
Nick Cooke 283678893f [Infra] Add changelog versions for Firebase 12 (#15092) 2025-07-08 10:01:22 -07:00
Nick Cooke 32c3c739c7 [Infra] Clean up 'AtomicBox' usage in favor of 'FIRAllocatedUnfairLock' (#15082) 2025-07-07 12:21:09 -04:00
Nick Cooke 3429c4dbba [Infra] Bump swift-tools-version in Package.swift (#15026) 2025-07-02 16:24:27 -04:00
Nick Cooke e45e488268 [Core] Cleanup unused core code (#14914) 2025-07-02 14:15:22 -04:00
Nick Cooke a0fd16d383 [Infra] Bump podspec min. versions (#15015) 2025-06-24 13:22:47 -04:00
Nick Cooke ad60650388 [Infra] Stop including AdMob in zip builds (#15024) 2025-06-24 11:57:42 -04:00
Paul Beusterien 1d8aedeb16 Remove deprecated VertexAI (#15027) 2025-06-23 17:19:55 -07:00
Nick Cookeandgoogle-labs-jules[bot] 7ac5bcb35f [Core] Remove Options.androidClientID and Options.trackingID (#15013)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-06-20 14:59:17 -04:00
Nick Cooke 9f311f2376 [DynamicLinks] Remove library and corresponding infra (#14978) 2025-06-20 11:53:29 -04:00
Nick Cooke 6f603aa162 [Core] Remove Options.deepLinkURLScheme (#15006) 2025-06-20 11:40:46 -04:00
Nick Cooke fdc352faba [Core] Remove testing usage of Options.deepLinkURLScheme (#15004) 2025-06-18 10:17:48 -04:00