Skip to content

Commit 279b733

Browse files
committed
Merge branch 'main' into dlr/firebaseai-live-api
2 parents 1f545da + 63083d8 commit 279b733

File tree

78 files changed

+708
-197
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+708
-197
lines changed

.github/actions/notices_generation/Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ GEM
9898
sawyer (~> 0.8.0, >= 0.5.3)
9999
plist (3.6.0)
100100
public_suffix (4.0.6)
101-
rexml (3.4.1)
101+
rexml (3.4.2)
102102
ruby-macho (2.5.1)
103103
ruby2_keywords (0.0.2)
104104
sawyer (0.8.2)

.github/workflows/auth.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,12 @@ jobs:
134134
# test_type: "xctest"
135135

136136
auth-cron-only:
137-
needs: pod_lib_lint
138-
uses: ./.github/workflows/common_cocoapods_cron.yml
139-
with:
140-
product: FirebaseAuth
141-
platforms: '[ "ios", "tvos --skip-tests", "macos --skip-tests", "watchos --skip-tests" ]'
142-
flags: '[ "--use-static-frameworks" ]'
143-
setup_command: scripts/configure_test_keychain.sh
144-
secrets:
145-
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
137+
needs: pod_lib_lint
138+
uses: ./.github/workflows/common_cocoapods_cron.yml
139+
with:
140+
product: FirebaseAuth
141+
platforms: '[ "ios", "tvos --skip-tests", "macos --skip-tests", "watchos --skip-tests" ]'
142+
flags: '[ "--use-static-frameworks" ]'
143+
setup_command: scripts/configure_test_keychain.sh
144+
secrets:
145+
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}

.github/workflows/common.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ jobs:
9595
- os: macos-14
9696
xcode: Xcode_16.2
9797
platform: iOS
98+
- os: macos-26
99+
xcode: Xcode_26.0
100+
platform: iOS
98101
runs-on: ${{ matrix.os }}
99102
steps:
100103
- uses: actions/checkout@v4

.github/workflows/common_cocoapods_cron.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,14 @@ on:
4646
required: false
4747
default: "macos-15"
4848

49+
env:
50+
FIREBASE_CI: true
51+
4952
jobs:
5053
cron-job:
51-
# This job is intended to be run on a schedule, on the main repo.
52-
if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
53-
54+
if: |
55+
github.repository == 'firebase/firebase-ios-sdk' &&
56+
(github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
5457
runs-on: ${{ inputs.runs_on }}
5558
strategy:
5659
matrix:

.github/workflows/firebaseai.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ jobs:
4040
include:
4141
- os: macos-15
4242
xcode: Xcode_16.4
43+
- os: macos-26
44+
xcode: Xcode_26.0
4345
runs-on: ${{ matrix.os }}
4446
needs: spm
4547
env:
@@ -87,6 +89,8 @@ jobs:
8789
include:
8890
- os: macos-15
8991
xcode: Xcode_16.4
92+
- os: macos-26
93+
xcode: Xcode_26.0
9094
runs-on: ${{ matrix.os }}
9195
env:
9296
BRANCH_NAME: ${{ github.head_ref || github.ref_name || 'main' }}

Firebase.podspec

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'Firebase'
3-
s.version = '12.3.0'
3+
s.version = '12.4.0'
44
s.summary = 'Firebase'
55

66
s.description = <<-DESC
@@ -36,14 +36,14 @@ Simplify your app development, grow your user base, and monetize more effectivel
3636
ss.ios.deployment_target = '15.0'
3737
ss.osx.deployment_target = '10.15'
3838
ss.tvos.deployment_target = '15.0'
39-
ss.ios.dependency 'FirebaseAnalytics', '~> 12.3.0'
40-
ss.osx.dependency 'FirebaseAnalytics', '~> 12.3.0'
41-
ss.tvos.dependency 'FirebaseAnalytics', '~> 12.3.0'
39+
ss.ios.dependency 'FirebaseAnalytics', '~> 12.4.0'
40+
ss.osx.dependency 'FirebaseAnalytics', '~> 12.4.0'
41+
ss.tvos.dependency 'FirebaseAnalytics', '~> 12.4.0'
4242
ss.dependency 'Firebase/CoreOnly'
4343
end
4444

4545
s.subspec 'CoreOnly' do |ss|
46-
ss.dependency 'FirebaseCore', '~> 12.3.0'
46+
ss.dependency 'FirebaseCore', '~> 12.4.0'
4747
ss.source_files = 'CoreOnly/Sources/Firebase.h'
4848
ss.preserve_paths = 'CoreOnly/Sources/module.modulemap'
4949
if ENV['FIREBASE_POD_REPO_FOR_DEV_POD'] then
@@ -70,7 +70,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
7070

7171
s.subspec 'ABTesting' do |ss|
7272
ss.dependency 'Firebase/CoreOnly'
73-
ss.dependency 'FirebaseABTesting', '~> 12.3.0'
73+
ss.dependency 'FirebaseABTesting', '~> 12.4.0'
7474
# Standard platforms PLUS watchOS.
7575
ss.ios.deployment_target = '15.0'
7676
ss.osx.deployment_target = '10.15'
@@ -80,13 +80,13 @@ Simplify your app development, grow your user base, and monetize more effectivel
8080

8181
s.subspec 'AppDistribution' do |ss|
8282
ss.dependency 'Firebase/CoreOnly'
83-
ss.ios.dependency 'FirebaseAppDistribution', '~> 12.3.0-beta'
83+
ss.ios.dependency 'FirebaseAppDistribution', '~> 12.4.0-beta'
8484
ss.ios.deployment_target = '15.0'
8585
end
8686

8787
s.subspec 'AppCheck' do |ss|
8888
ss.dependency 'Firebase/CoreOnly'
89-
ss.dependency 'FirebaseAppCheck', '~> 12.3.0'
89+
ss.dependency 'FirebaseAppCheck', '~> 12.4.0'
9090
ss.ios.deployment_target = '15.0'
9191
ss.osx.deployment_target = '10.15'
9292
ss.tvos.deployment_target = '15.0'
@@ -95,7 +95,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
9595

9696
s.subspec 'Auth' do |ss|
9797
ss.dependency 'Firebase/CoreOnly'
98-
ss.dependency 'FirebaseAuth', '~> 12.3.0'
98+
ss.dependency 'FirebaseAuth', '~> 12.4.0'
9999
# Standard platforms PLUS watchOS.
100100
ss.ios.deployment_target = '15.0'
101101
ss.osx.deployment_target = '10.15'
@@ -105,7 +105,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
105105

106106
s.subspec 'Crashlytics' do |ss|
107107
ss.dependency 'Firebase/CoreOnly'
108-
ss.dependency 'FirebaseCrashlytics', '~> 12.3.0'
108+
ss.dependency 'FirebaseCrashlytics', '~> 12.4.0'
109109
# Standard platforms PLUS watchOS.
110110
ss.ios.deployment_target = '15.0'
111111
ss.osx.deployment_target = '10.15'
@@ -115,7 +115,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
115115

116116
s.subspec 'Database' do |ss|
117117
ss.dependency 'Firebase/CoreOnly'
118-
ss.dependency 'FirebaseDatabase', '~> 12.3.0'
118+
ss.dependency 'FirebaseDatabase', '~> 12.4.0'
119119
# Standard platforms PLUS watchOS 7.
120120
ss.ios.deployment_target = '15.0'
121121
ss.osx.deployment_target = '10.15'
@@ -125,15 +125,15 @@ Simplify your app development, grow your user base, and monetize more effectivel
125125

126126
s.subspec 'Firestore' do |ss|
127127
ss.dependency 'Firebase/CoreOnly'
128-
ss.dependency 'FirebaseFirestore', '~> 12.3.0'
128+
ss.dependency 'FirebaseFirestore', '~> 12.4.0'
129129
ss.ios.deployment_target = '15.0'
130130
ss.osx.deployment_target = '10.15'
131131
ss.tvos.deployment_target = '15.0'
132132
end
133133

134134
s.subspec 'Functions' do |ss|
135135
ss.dependency 'Firebase/CoreOnly'
136-
ss.dependency 'FirebaseFunctions', '~> 12.3.0'
136+
ss.dependency 'FirebaseFunctions', '~> 12.4.0'
137137
# Standard platforms PLUS watchOS.
138138
ss.ios.deployment_target = '15.0'
139139
ss.osx.deployment_target = '10.15'
@@ -143,20 +143,20 @@ Simplify your app development, grow your user base, and monetize more effectivel
143143

144144
s.subspec 'InAppMessaging' do |ss|
145145
ss.dependency 'Firebase/CoreOnly'
146-
ss.ios.dependency 'FirebaseInAppMessaging', '~> 12.3.0-beta'
147-
ss.tvos.dependency 'FirebaseInAppMessaging', '~> 12.3.0-beta'
146+
ss.ios.dependency 'FirebaseInAppMessaging', '~> 12.4.0-beta'
147+
ss.tvos.dependency 'FirebaseInAppMessaging', '~> 12.4.0-beta'
148148
ss.ios.deployment_target = '15.0'
149149
ss.tvos.deployment_target = '15.0'
150150
end
151151

152152
s.subspec 'Installations' do |ss|
153153
ss.dependency 'Firebase/CoreOnly'
154-
ss.dependency 'FirebaseInstallations', '~> 12.3.0'
154+
ss.dependency 'FirebaseInstallations', '~> 12.4.0'
155155
end
156156

157157
s.subspec 'Messaging' do |ss|
158158
ss.dependency 'Firebase/CoreOnly'
159-
ss.dependency 'FirebaseMessaging', '~> 12.3.0'
159+
ss.dependency 'FirebaseMessaging', '~> 12.4.0'
160160
# Standard platforms PLUS watchOS.
161161
ss.ios.deployment_target = '15.0'
162162
ss.osx.deployment_target = '10.15'
@@ -166,7 +166,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
166166

167167
s.subspec 'MLModelDownloader' do |ss|
168168
ss.dependency 'Firebase/CoreOnly'
169-
ss.dependency 'FirebaseMLModelDownloader', '~> 12.3.0-beta'
169+
ss.dependency 'FirebaseMLModelDownloader', '~> 12.4.0-beta'
170170
# Standard platforms PLUS watchOS.
171171
ss.ios.deployment_target = '15.0'
172172
ss.osx.deployment_target = '10.15'
@@ -176,15 +176,15 @@ Simplify your app development, grow your user base, and monetize more effectivel
176176

177177
s.subspec 'Performance' do |ss|
178178
ss.dependency 'Firebase/CoreOnly'
179-
ss.ios.dependency 'FirebasePerformance', '~> 12.3.0'
180-
ss.tvos.dependency 'FirebasePerformance', '~> 12.3.0'
179+
ss.ios.dependency 'FirebasePerformance', '~> 12.4.0'
180+
ss.tvos.dependency 'FirebasePerformance', '~> 12.4.0'
181181
ss.ios.deployment_target = '15.0'
182182
ss.tvos.deployment_target = '15.0'
183183
end
184184

185185
s.subspec 'RemoteConfig' do |ss|
186186
ss.dependency 'Firebase/CoreOnly'
187-
ss.dependency 'FirebaseRemoteConfig', '~> 12.3.0'
187+
ss.dependency 'FirebaseRemoteConfig', '~> 12.4.0'
188188
# Standard platforms PLUS watchOS.
189189
ss.ios.deployment_target = '15.0'
190190
ss.osx.deployment_target = '10.15'
@@ -194,7 +194,7 @@ Simplify your app development, grow your user base, and monetize more effectivel
194194

195195
s.subspec 'Storage' do |ss|
196196
ss.dependency 'Firebase/CoreOnly'
197-
ss.dependency 'FirebaseStorage', '~> 12.3.0'
197+
ss.dependency 'FirebaseStorage', '~> 12.4.0'
198198
# Standard platforms PLUS watchOS.
199199
ss.ios.deployment_target = '15.0'
200200
ss.osx.deployment_target = '10.15'

FirebaseABTesting.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'FirebaseABTesting'
3-
s.version = '12.3.0'
3+
s.version = '12.4.0'
44
s.summary = 'Firebase ABTesting'
55

66
s.description = <<-DESC
@@ -51,7 +51,7 @@ Firebase Cloud Messaging and Firebase Remote Config in your app.
5151
s.pod_target_xcconfig = {
5252
'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"'
5353
}
54-
s.dependency 'FirebaseCore', '~> 12.3.0'
54+
s.dependency 'FirebaseCore', '~> 12.4.0'
5555

5656
s.test_spec 'unit' do |unit_tests|
5757
unit_tests.scheme = { :code_coverage => true }

FirebaseAI.podspec

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'FirebaseAI'
3-
s.version = '12.3.0'
3+
s.version = '12.4.0'
44
s.summary = 'Firebase AI SDK'
55

66
s.description = <<-DESC
@@ -43,10 +43,10 @@ Build AI-powered apps and features with the Gemini API using the Firebase AI SDK
4343
s.tvos.framework = 'UIKit'
4444
s.watchos.framework = 'WatchKit'
4545

46-
s.dependency 'FirebaseAppCheckInterop', '~> 12.3.0'
47-
s.dependency 'FirebaseAuthInterop', '~> 12.3.0'
48-
s.dependency 'FirebaseCore', '~> 12.3.0'
49-
s.dependency 'FirebaseCoreExtension', '~> 12.3.0'
46+
s.dependency 'FirebaseAppCheckInterop', '~> 12.4.0'
47+
s.dependency 'FirebaseAuthInterop', '~> 12.4.0'
48+
s.dependency 'FirebaseCore', '~> 12.4.0'
49+
s.dependency 'FirebaseCoreExtension', '~> 12.4.0'
5050

5151
s.test_spec 'unit' do |unit_tests|
5252
unit_tests_dir = 'FirebaseAI/Tests/Unit/'

FirebaseAI/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# Unreleased
2+
- [feature] Added support for the URL context tool, which allows the model to access content
3+
from provided public web URLs to inform and enhance its responses. (#15221)
4+
- [changed] Using Firebase AI Logic with the Gemini Developer API is now Generally Available (GA).
5+
- [changed] Using Firebase AI Logic with the Imagen generation APIs is now Generally Available (GA).
6+
17
# 12.3.0
28
- [feature] Added support for the Code Execution tool, which enables the model
39
to generate and run code to perform complex tasks like solving mathematical

FirebaseAI/Sources/AILog.swift

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,17 @@ enum AILog {
6666
case codeExecutionResultUnrecognizedOutcome = 3015
6767
case executableCodeUnrecognizedLanguage = 3016
6868
case fallbackValueUsed = 3017
69-
case liveSessionUnsupportedMessage = 3018
70-
case liveSessionFailedToEncodeClientMessage = 3019
71-
case liveSessionFailedToEncodeClientMessagePayload = 3020
72-
case liveSessionFailedToSendClientMessage = 3021
73-
case liveSessionUnexpectedResponse = 3022
74-
case liveSessionGoingAwaySoon = 3023
75-
case decodedMissingProtoDurationSuffix = 3024
76-
case decodedInvalidProtoDurationString = 3025
77-
case decodedInvalidProtoDurationSeconds = 3026
78-
case decodedInvalidProtoDurationNanoseconds = 3027
69+
case urlMetadataUnrecognizedURLRetrievalStatus = 3018
70+
case liveSessionUnsupportedMessage = 3019
71+
case liveSessionFailedToEncodeClientMessage = 3020
72+
case liveSessionFailedToEncodeClientMessagePayload = 3021
73+
case liveSessionFailedToSendClientMessage = 3022
74+
case liveSessionUnexpectedResponse = 3023
75+
case liveSessionGoingAwaySoon = 3024
76+
case decodedMissingProtoDurationSuffix = 3025
77+
case decodedInvalidProtoDurationString = 3026
78+
case decodedInvalidProtoDurationSeconds = 3027
79+
case decodedInvalidProtoDurationNanoseconds = 3028
7980

8081
// SDK State Errors
8182
case generateContentResponseNoCandidates = 4000

0 commit comments

Comments
 (0)