56 Commits
Author SHA1 Message Date
Daymon a9d68992b6 chore(m187): update changelogs (#16688) 2026-09-23 10:08:34 -05:00
Nick Cooke f55b496acd firebase13: remove mlmodeldownloader library (#16512) 2026-09-14 16:20:49 -04:00
Nick Cooke 7920782bd2 chore: changelogs for m186 (#16588) 2026-09-02 13:01:51 -04:00
Daymon 6e43483efa fix(ml): missing import causing build error (#16563) 2026-08-27 14:07:21 -05:00
Nick Cookeandgoogle-labs-jules[bot] b538eba776 Disable FirebaseMLModelDownloader integration tests (#16554)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-08-25 12:16:24 -04:00
Nick Cooke fcc570594f chore(changelogs): update changelogs for M184 / 12.17.0 (#16422) 2026-07-21 14:13:14 -04:00
Paul Beusterien e964ae4e93 [ML] Deprecate FirebaseMlModelDownloader (#16357) 2026-07-07 09:17:54 -07:00
Paul BeusterienandNick Cooke c993ea0e06 [MLModelDL] Remove legacy telemetry (#15680)
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com>
2026-01-07 08:09:17 -08:00
Nick Cooke 52ae69acb7 fix(ml): Re-generate MLModelDownloader proto (#15239) 2025-08-21 16:05:28 -04:00
Nick Cooke a0fd16d383 [Infra] Bump podspec min. versions (#15015) 2025-06-24 13:22:47 -04:00
Nick Cooke 9a4cd6c586 [Infra] Move 'mlmodeldownloader' workflow to Xcode 16 (#14692) 2025-04-09 17:55:46 -04:00
Seyed Mojtaba Hosseini Zeidabadi d9bcba4ae5 Fix typos in FirebaseMLModelDownloader package (#13358) 2024-07-23 15:46:06 -07:00
Paul Beusterien bcccff79e8 [ml-model-downloader] Update unit test deprecated API (#13283) 2024-07-15 15:42:11 -04:00
Andrew HeardandPaul Beusterien 31f6c5e2ca [Core] Use GULOSLogBasic for OSLog-based logging in FIRLogBasic (#13266)
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
2024-07-11 15:23:26 -07:00
Andrew Heard 61384c1223 Merge branch 'main' into release-11.0-merge
# Conflicts:
#	Firebase.podspec
#	FirebaseABTesting.podspec
#	FirebaseAnalytics.podspec
#	FirebaseAnalyticsOnDeviceConversion.podspec
#	FirebaseAppCheck.podspec
#	FirebaseAppCheckInterop.podspec
#	FirebaseAppDistribution.podspec
#	FirebaseAuth.podspec
#	FirebaseAuthInterop.podspec
#	FirebaseCore.podspec
#	FirebaseCoreExtension.podspec
#	FirebaseCoreInternal.podspec
#	FirebaseCrashlytics.podspec
#	FirebaseDatabase.podspec
#	FirebaseDynamicLinks.podspec
#	FirebaseFirestore.podspec
#	FirebaseFirestoreInternal.podspec
#	FirebaseFunctions.podspec
#	FirebaseInAppMessaging.podspec
#	FirebaseInstallations.podspec
#	FirebaseMLModelDownloader.podspec
#	FirebaseMessaging.podspec
#	FirebaseMessaging/CHANGELOG.md
#	FirebaseMessagingInterop.podspec
#	FirebasePerformance.podspec
#	FirebaseRemoteConfig.podspec
#	FirebaseRemoteConfigInterop.podspec
#	FirebaseSessions.podspec
#	FirebaseSharedSwift.podspec
#	FirebaseStorage.podspec
#	FirebaseVertexAI/Sources/VertexAIComponent.swift
#	GoogleAppMeasurement.podspec
#	GoogleAppMeasurementOnDeviceConversion.podspec
#	Package.swift
#	ReleaseTooling/Sources/FirebaseManifest/FirebaseManifest.swift
2024-06-21 15:33:16 -04:00
Andrew Heard 04f0491792 [MLModelDownloader] Use FirebaseLogger instead of GULLoggerWrapper (#13160) 2024-06-20 14:43:26 -04:00
Paul Beusterien 7d7cbad7bd [v11] Update minimum platform versions for 11.0.0 (#13066) 2024-06-05 07:39:36 -07:00
Yakov Manshin 7434377e3b Removed Unused Availability Checks (#13023) 2024-05-28 09:20:31 -07:00
Sheikh Bayazid e8a12e04c2 Improve/use shorthand syntax for unwrapping optionals and fix typos (#12369) 2024-05-03 08:50:20 -07:00
Nick Cooke 5fd1eb26d2 [MLModelDownloader] Migrate to GoogleUtilities's storage container (#12762) 2024-04-12 12:46:06 -04:00
Paul Beusterien 4d2b60dc75 Updated to SwiftFormat 0.52.10 (#12125) 2023-11-21 12:12:05 -08:00
Andrew Heard b850d1acbb [ML Model Downloader] Migrate from FLL to CCT logging endpoint (#11837) 2023-10-31 12:33:31 -04:00
ae871b9dc1 Update to swiftformat 0.51.12 (#11531)
Co-authored-by: Andrew Heard <andrewheard@google.com>
Co-authored-by: Nick Cooke <nickcooke@google.com>
2023-07-11 15:54:51 -07:00
Paul Beusterien 0cdd7b1e27 [Xcode 15] Spaces are now valid in URL strings (#11407) 2023-06-06 11:32:41 -07:00
Nick Cooke 43c62f0526 [Infra] Remove CoreDiagnostics library and references (#10259)
* [Infra] Remove CoreDiagnostics library and references

* Style localize_podfile.swift

* Add GDT to SharedTestUtils

* Update GoogleUtilities.cmake config

* Run all CI

* Update GoogleUtilities.cmake config (2)

* Resolve FIRApp.m TODO

* [skip ci] Revert Gemfile
2022-09-26 00:03:55 -04:00
Nick Cooke 6e0fda7a24 [Firebase 10] Update minimum supported versions across Firebase (#10233)
* Bump Package.swift minimum support versions

* Update iOS minimum versions

* Bump Crashlytics to min. support iOS 11

* Bump macOS support from 10.12 to 10.13

* Bump tvOS support from 10 to 11

* Add CHANGELOG entry

* Improve CHANGELOG entry

* Fix CI

* Improve CHANGELOG entry (2)

* Improve CHANGELOG entry (3)

* Update FirePerf test app deployment target

* Update Mac test apps's deployment target

* Update iOS test apps's deployment target

* Update release tooling project's iOS deployment target

* Misc platform min support bumps

* Update FBSDK API usage to FBSDK 13.0+

* Fix Auth dep on FBSDK
2022-09-21 16:48:11 -04:00
Nick Cooke f8ee68bfc7 [MLModelDownloader] Disable keychain-dependent tests on macCatalyst and macOS (#10148) 2022-08-28 01:21:50 -04:00
Paul Beusterien 5e8790d78a Update to SwiftFormat 0.49.2 (#9239) 2022-01-21 13:03:15 -08:00
Nick Cooke 6a5e4e6968 Migrate transform: callsites and introduce breaking version of GDT (9.0) (#7899)
* Rename transform: callsites to transformGDTEvent:

* Introduce breaking version of GDT (9.0)

* Update FirebaseCore/CHANGELOG.md

* Fix CI
2021-04-19 17:01:28 -04:00
Paul Beusterien 883a12a215 Add missing GDT dep to MLDownloader (#7675) 2021-03-08 11:23:26 -08:00
manjanac 3cbe00c1b7 Fixes and corrections in telemetry logging (#7525)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Add model name to all log events + minor logging fixes.

* Disable logging in tests

* Disable logging in unit test.
2021-02-16 13:23:38 -08:00
Maksym Malyhin 0341e9ccfd ML model downloader fixes (#7515)
* listDownloadedModels: don't cross-check URLs

* Store models in a subfolder.

* Test completion and progress handlers being called on the main thread.

* More tests for callbacks on the main queue.

* Fix public API handlers to be called on the main queue.

* .gitignore ML GoogleService-Info.plist files

* style

* getModel: fail fast when modelName is empty string
2021-02-11 19:42:11 -05:00
manjanac 9597ffe51b Removes saved path on device (#7439)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Add tests for list models.

* Failable emptying of model directory in tests.

* Remove path from local model info and user defaults.

* Clean up user defaults on delete + add interpreter to test app.

* Replace .absoluteString with .path. This makes model.path work directly with TFLite interpreter.

* Fix paths in tests.

* Unit test for successful get model.

* Rename modelPath to modelURL.

* Use defaults.integer instead of casting to Int.

* Remove force casting.

* Mostly minor fixes that came out of the bugbash (#7462)

* Use appropriate errors for network offline and api disabled.

* Error + test for resourceExhausted.

* Surface backend error message in logs whenever available.

* Add disclaimer to empty directories for testing only.

* Add Firelog events for model info retrieval.

* Add documentation + other minor fixes. (#7465)

* Add docs + clean up ModelDownloader.swift.

* Add docs + clean up ModelDownloadTask.swift.

* Add docs + clean up FileDownloader.swift.

* Add docs + clean up LocalModelInfo.swift. Handle TODO for userdefaults init failure.

* Add docs + clean up RemoteModelInfo.swift, DownloaderUserDefaults.swift.

* Add docs + clean up ModelInfoRetriever.swift.

* Add docs + clean up ModelDownloadConditions.swift.

* Add docs + clean up DeviceLogger.swift.

* Add docs + clean up TelemetryLogger.swift.

* Add docs + clean up ModelFileManager.swift.

* Remove resolved TODOs + other minor fixes.

* Update model download conditions init.

* Fix comment formatting.

* Minor newline formatting.

* Minor comment formatting.

* Add docs for ModelDownloadConditions.

* Basic fix for user defaults race condition.

* Minor updates to tests.

* Minor updates to tests.

* Final fixes (#7471)

* Refactor error parsing in model info response.

* Add Firelog for delete event + minor fixes.

* Temporary - test to check telemetry for delete event.

* Disable backup of model files; handle inability to locate model storage dir.

* Minor fixes.

* Add tflite path extension to model file.
2021-02-10 09:47:07 -08:00
manjanac ef3b4d9c19 Merge duplicate requests (#7422)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Merge duplicate model download requests.

* Remove print statement.

* WORK IN PROGRESS - Test for merging requests

* Unit tests for merging requests.

* Fix unit test description.

* Uncomment debug logging
2021-02-03 15:44:40 -08:00
manjanac f3bb73fc89 Change model name picker to text field in sample app. (#7429)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Replace picker with text field for model name in test app.
2021-02-02 11:35:23 -08:00
manjanac 37a36fa6e7 Fixes (#7419)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Restrict multiple model info and model downloads; fix modelPath check + minor fixes.

* Replace static property for downloadStatus.

* Add TODO for merging requests.

* Add .notStarted download status and move TODO.
2021-02-01 13:48:42 -08:00
manjanac 11826f1c4d Firelog events (#7404)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Firelog 1/2

* More Firelog + fix sdk version.

* Fix whitespace in proto.
2021-01-29 12:57:38 -08:00
manjanac c64ca06431 More on-device logging and better error handling. (#7397)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Add new error type for expired url + fix tests.

* On-device logging + updates to tests.

* Add new error type for expired url + fix tests.

* On-device logging + updates to tests.

* Revert to enum for ModelFileManager.swift

* Remove GoogleService-Info.plist

* Remove GoogleService-Info.plist

* Improve errors, tests, on-device logging.

* Add device compatibility to check for available space.

* Use CocoaError to check for space constraints.
2021-01-28 13:11:31 -08:00
manjanac 2c4c19be42 Logging on-device + Firelog (#7386)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Add new error type for expired url + fix tests.

* On-device logging + updates to tests.

* Add new error type for expired url + fix tests.

* On-device logging + updates to tests.

* Revert to enum for ModelFileManager.swift

* Remove GoogleService-Info.plist

* Remove GoogleService-Info.plist
2021-01-27 13:22:05 -08:00
manjanac 37ff45e5d4 Sample app (#7240)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Sample app for model downloader.

* Lint fix.

* Lint fix.

* Lint fix.

* Copyright fix.

* Update sample app to point to latest branch.

* Add public init to ModelConditions.

* Make Podfile point to latest changes on master.

* Make Podfile point to latest changes on sample-app.

* Add build test to GHA.

* Fix GoogleService-Info.plist path.

* Fixed typo in README.md

* Update Podfile to point to local SDK for testing.

* Update Podfile to point to local SDK for testing.
2021-01-27 10:20:56 -08:00
manjanac 3ac79da402 Move retryDownload to ModelDownloader (#7374)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Refactor WIP - TODO: Refactor retryDownload handlers.

* Refactor WIP - TODO: Fix unit test.

* Refactor WIP - TODO: Refactor retryDownload handlers.

* Refactor retryDownload() + unit tests.

* Minor fixes.

* Resolve merge conflicts with master.
2021-01-25 17:38:12 -08:00
manjanac ad41e22f1a Device logging w/ GULLogger. (#7348)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Replace device logger with GULLogger.

* Replace device logger with GULLogger.

* Add GoogleUtilities dependency to Package.swift.

* Add GoogleUtilities dependency to Package.swift.

* Add GoogleUtilities dependency to podspec.

* Fix import in DeviceLogger.

* Remove extra new lines.
2021-01-25 17:15:15 -08:00
manjanac e6fa9d42c1 Downloader protocol + tests (#7352)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Add mocks for better unit tests - WIP.

* Remove duplicate proto files.

* Download task protocol + tests.

* Rename protocol file.

* Import foundation.

* Rename to authTokenProvider.

* Rename to authTokenProvider.

* Consolidate handlers for download task.

* Merge #7355.

* Clean up unit tests + add test for successful download retry.

* Add TODO to refactor retry download + add test.

* TODO to handle failed precondition.
2021-01-22 18:28:17 -08:00
manjanac bbd9495b56 Implement model download conditions. (#7307)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Implement model downloading conditions. Error handling WIP

* Remove background downloading + add waitsForConnectivity where available.

* Resolve merge conflicts with master.

* Resolve merge conflicts with master.
2021-01-21 16:22:57 -08:00
manjanac a8ce5b0308 Handle expired download URL with support for retries (#7329)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Update error handling.

* Add logging for background download failure.

* Handle expired download URL.

* Remove empty file.

* Fix integration test.

* Minor refactor.
2021-01-20 11:09:39 -08:00
manjanac d7950ddbe4 Separate error messages into extensions (#7322)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Update error handling.

* Add logging for background download failure.

* Remove empty file.

* Slight refactor of error descriptions + using ISO8601DateFormatter where available.

* Slight refactor error descriptions + adding availability for ISO8601DateFormatter.
2021-01-19 14:28:20 -08:00
manjanac ac4d70ed41 Logging on device and to Firelog (#7281)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Logging on-device and to Firelog - WIP.

* Logging on-device and to Firelog - WIP.

* Rename AnalyticsLogger to TelemetryLogger + minor fixes.

* Add SwiftProtobuf dependency.

* On-device and Firelog logging - WIP

* Proto files.

* Rename loggers.

* Move protos to Sources.

* Log model download event on device and to Firelog.

* Add TODO to revisit SwiftProtobuf dependency + minor fixes.

* Add SwiftProtobuf dependency to Package.swift.

* TODO to revisit system info + TODO in podspec for SwiftProtobuf dependency.

* Pass app to TelemetryLogger to check for stats enabled flag.

* TODO to replace on device logEvent with GULLogBasic (future PR).
2021-01-14 15:29:04 -08:00
manjanac f6e61e36c1 Logical checkpoint of ModelDownloader implementation (#7259)
* Restores ML Pods after M77.

* Fix Package.swift

* Re-add catalyst to GHA workflow.

* Includes the implementation of: 1) download types, 2) list models, 3) delete model.

* Add protocol to handle writing to user defaults.

* Add protocol to handle writing to user defaults.

* Add empty init to ModelDownloadConditions.

* Copyright year + other minor fixes.

* TODO to use FirebaseApp internal init for test app.

* Test if download progress is in range.

* Remove not nil test for progress.

* Remove not nil test for progress.
2021-01-07 14:54:12 -08:00
manjanac 1a1a91a225 Refactor modelInfo into localModelInfo and remoteModelInfo (#7163)
* Restores ML Pods after M77.

* Fix Package.swift

* Refactor model info to be in-memory.

* Add improved model download functionality w/ single set of download handlers per task.

* Rename model download to better match URLSessionTask.

* Rename model download to better match URLSessionTask.

* Update unit test to read/write to user defaults.

* Configure downloader with Firebase app.

* Minor updates to model downloader and tests.

* Singleton for model downloader instance, for default and custom app.

* Download types WIP - local model.

* Download types WIP.

* Manually add app lifecycle handling + TODOs for Firebase Components.

* Replace options with app name as a property in ModelDownloader.

* Download types WIP.

* Refactor model info.

* Add convenience inits + other minor fixes.

* Explicit enum for model info result.
2021-01-06 12:04:47 -08:00
manjanac e6b60202d4 Add singleton-ish instance methods for model downloader (public API). (#7124)
* Restores ML Pods after M77.

* Fix Package.swift

* Refactor model info to be in-memory.

* Add improved model download functionality w/ single set of download handlers per task.

* Rename model download to better match URLSessionTask.

* Rename model download to better match URLSessionTask.

* Update unit test to read/write to user defaults.

* Configure downloader with Firebase app.

* Minor updates to model downloader and tests.

* Singleton for model downloader instance, for default and custom app.

* Manually add app lifecycle handling + TODOs for Firebase Components.

* Replace options with app name as a property in ModelDownloader.

* Update unit test to check model downloader instance creation + minor rename.
2020-12-14 10:59:42 -08:00