[AI] Lower minimum required deployment targets#15928
Conversation
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. |
There was a problem hiding this comment.
Code Review
This pull request effectively lowers the minimum deployment targets for macOS and watchOS, which is a significant improvement for developer experience. The changes are extensive, primarily involving the removal of @available annotations, and have been executed with care. I've identified one critical issue concerning an incorrect availability annotation that could lead to a crash on older macOS versions, and I've provided a fix. Additionally, I've included a minor suggestion to enhance code clarity. Overall, this is excellent work on a large-scale refactoring task.
|
@andrewheard @paulb777 , just confirming, this commit is not supposed to be in the release, right? It currently is not staged in release. I just want to double check that is the intention. |
|
Confirmed. No rush |
This lowers the minimum required deployment target for the Firebase AI Logic APIs to match the rest of the Firebase SDKs, where possible:
firebase-ios-sdk/Package.swift
Line 27 in cfeeea1
Specifically, this drops the macOS requirement from macOS 12.0 to 10.15 and watchOS 8.0 to 7.0. The streaming APIs rely on a macOS 12+ / watchOS+ 8.0 APIs under the hood and availability annotations remain on those.
The primary motivation of this PR is to reduce development friction by dropping hundreds of
@available(...)annotations throughout the codebase. Older platform support is an added bonus.#no-changelog