diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index 22daa2be7a..21435fca16 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -1046,6 +1046,7 @@ jobs: test_devices: ${{ steps.device-info.outputs.device }} max_attempts: 3 validator: ${GITHUB_WORKSPACE}/scripts/gha/integration_testing/ftl_gha_validator.py + additional_flags: '--client-details matrixLabel=android-${{ github.run_id }}-${{ matrix.build_os }}-${{ matrix.android_device }}' - name: Read FTL Test Result if: ${{ steps.device-info.outputs.device_type == 'ftl' && !cancelled() }} shell: bash @@ -1189,6 +1190,7 @@ jobs: test_devices: ${{ steps.device-info.outputs.device }} max_attempts: 3 validator: ${GITHUB_WORKSPACE}/scripts/gha/integration_testing/ftl_gha_validator.py + additional_flags: '--client-details matrixLabel=ios-${{ github.run_id }}-${{ matrix.build_os }}-${{ matrix.ios_device }}' - name: Read FTL Test Result if: ${{ steps.device-info.outputs.device_type == 'ftl' && !cancelled() }} shell: bash diff --git a/Android/firebase_dependencies.gradle b/Android/firebase_dependencies.gradle index 1ae4a4674d..601fa3ad6a 100644 --- a/Android/firebase_dependencies.gradle +++ b/Android/firebase_dependencies.gradle @@ -159,7 +159,7 @@ project.afterEvaluate { // Add the bill-of-materials project.dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') } for (String lib : firebaseCpp.dependencies.libSet) { // Generate and include the proguard file diff --git a/analytics/integration_test/Podfile b/analytics/integration_test/Podfile index 1f559b860b..42a7f29b62 100644 --- a/analytics/integration_test/Podfile +++ b/analytics/integration_test/Podfile @@ -5,12 +5,12 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '11.0' - pod 'Firebase/Analytics', '10.14.0' + pod 'Firebase/Analytics', '10.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Analytics', '10.14.0' + pod 'Firebase/Analytics', '10.15.0' end post_install do |installer| diff --git a/analytics/ios_headers/FIREventNames.h b/analytics/ios_headers/FIREventNames.h index 539cec6c64..2c5a36af7e 100644 --- a/analytics/ios_headers/FIREventNames.h +++ b/analytics/ios_headers/FIREventNames.h @@ -1,6 +1,6 @@ // Copyright 2023 Google LLC -// Copied from Firebase Analytics iOS SDK 10.14.0. +// Copied from Firebase Analytics iOS SDK 10.15.0. /// @file FIREventNames.h /// diff --git a/analytics/ios_headers/FIRParameterNames.h b/analytics/ios_headers/FIRParameterNames.h index 9906ae0924..f60ae421c1 100644 --- a/analytics/ios_headers/FIRParameterNames.h +++ b/analytics/ios_headers/FIRParameterNames.h @@ -1,6 +1,6 @@ // Copyright 2023 Google LLC -// Copied from Firebase Analytics iOS SDK 10.14.0. +// Copied from Firebase Analytics iOS SDK 10.15.0. /// @file FIRParameterNames.h /// diff --git a/analytics/ios_headers/FIRUserPropertyNames.h b/analytics/ios_headers/FIRUserPropertyNames.h index a836839559..fce0bfa4e2 100644 --- a/analytics/ios_headers/FIRUserPropertyNames.h +++ b/analytics/ios_headers/FIRUserPropertyNames.h @@ -1,6 +1,6 @@ // Copyright 2023 Google LLC -// Copied from Firebase Analytics iOS SDK 10.14.0. +// Copied from Firebase Analytics iOS SDK 10.15.0. /// @file FIRUserPropertyNames.h /// diff --git a/app/app_resources/build.gradle b/app/app_resources/build.gradle index 0e2e67eb90..ae1c95e847 100644 --- a/app/app_resources/build.gradle +++ b/app/app_resources/build.gradle @@ -50,7 +50,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-analytics' } diff --git a/app/google_api_resources/build.gradle b/app/google_api_resources/build.gradle index 7179f73249..629f8ecf69 100644 --- a/app/google_api_resources/build.gradle +++ b/app/google_api_resources/build.gradle @@ -53,7 +53,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.android.gms:play-services-base:18.2.0' implementation project(':app:app_resources') diff --git a/app/integration_test/Podfile b/app/integration_test/Podfile index 004068168c..030a579e3f 100644 --- a/app/integration_test/Podfile +++ b/app/integration_test/Podfile @@ -4,7 +4,7 @@ platform :ios, '11.0' use_frameworks! :linkage => :static target 'integration_test' do - pod 'Firebase/Analytics', '10.14.0' + pod 'Firebase/Analytics', '10.15.0' end post_install do |installer| diff --git a/app/invites_resources/build.gradle b/app/invites_resources/build.gradle index bb867b88c0..27031a758b 100644 --- a/app/invites_resources/build.gradle +++ b/app/invites_resources/build.gradle @@ -49,7 +49,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-dynamic-links' implementation project(':app:app_resources') diff --git a/app/src/util_android.cc b/app/src/util_android.cc index 1ece3f1797..678c0452ee 100644 --- a/app/src/util_android.cc +++ b/app/src/util_android.cc @@ -1587,12 +1587,33 @@ const std::vector& CacheEmbeddedFiles( file::GetClass(), file::GetMethodId(file::kConstructorFilePath), cache_dir, filename); env->DeleteLocalRef(filename); + CheckAndClearJniExceptions(env); + // Below, we would have set the file read only on a previous run. Here, set + // it to writable and then delete it before creating it again. + // + // if output_file.exists() { + if (env->CallBooleanMethod(output_file, file::GetMethodId(file::kExists))) { + CheckAndClearJniExceptions(env); + // output_file.setWritable(true); + env->CallBooleanMethod(output_file, file::GetMethodId(file::kSetWritable), + JNI_TRUE); + CheckAndClearJniExceptions(env); + // output_file.delete(); + env->CallBooleanMethod(output_file, file::GetMethodId(file::kDelete)); + CheckAndClearJniExceptions(env); + } jobject output_stream = env->NewObject( file_output_stream::GetClass(), file_output_stream::GetMethodId(file_output_stream::kConstructorFile), output_file); bool failed = CheckAndClearJniExceptions(env); if (!failed) { + // Android 14 requires that we set the open dex file to readonly BEFORE + // writing code to it. + jboolean did_set_readonly = env->CallBooleanMethod( + output_file, file::GetMethodId(file::kSetReadOnly)); + // If it failed, move on and try again later after closing the file. + if (CheckAndClearJniExceptions(env)) did_set_readonly = JNI_FALSE; jobject output_array = env->NewByteArray(it->size); env->SetByteArrayRegion(static_cast(output_array), 0, it->size, @@ -1605,6 +1626,11 @@ const std::vector& CacheEmbeddedFiles( env->CallVoidMethod(output_stream, file_output_stream::GetMethodId( file_output_stream::kClose)); failed |= CheckAndClearJniExceptions(env); + if (!did_set_readonly) { + env->CallBooleanMethod(output_file, + file::GetMethodId(file::kSetReadOnly)); + util::CheckAndClearJniExceptions(env); + } env->DeleteLocalRef(output_array); env->DeleteLocalRef(output_stream); } diff --git a/app/src/util_android.h b/app/src/util_android.h index 722e81bbe0..6cfeae5acf 100644 --- a/app/src/util_android.h +++ b/app/src/util_android.h @@ -568,6 +568,10 @@ METHOD_LOOKUP_DECLARATION(intent, INTENT_METHODS); X(ConstructorFilePath, "", "(Ljava/io/File;Ljava/lang/String;)V"), \ X(GetAbsolutePath, "getAbsolutePath", "()Ljava/lang/String;"), \ X(GetPath, "getPath", "()Ljava/lang/String;"), \ + X(Exists, "exists", "()Z"), \ + X(Delete, "delete", "()Z"), \ + X(SetReadOnly, "setReadOnly", "()Z"), \ + X(SetWritable, "setWritable", "(Z)Z"), \ X(ToUri, "toURI", "()Ljava/net/URI;") // clang-format on METHOD_LOOKUP_DECLARATION(file, FILE_METHODS) diff --git a/app_check/app_check_resources/build.gradle b/app_check/app_check_resources/build.gradle index 5826312c0a..6eba43dc42 100644 --- a/app_check/app_check_resources/build.gradle +++ b/app_check/app_check_resources/build.gradle @@ -49,7 +49,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-appcheck' } diff --git a/app_check/integration_test/Podfile b/app_check/integration_test/Podfile index 8d33fe3857..84bcca180a 100644 --- a/app_check/integration_test/Podfile +++ b/app_check/integration_test/Podfile @@ -4,20 +4,20 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '11.0' - pod 'Firebase/AppCheck', '10.14.0' - pod 'Firebase/Database', '10.14.0' - pod 'Firebase/Auth', '10.14.0' - pod 'Firebase/Storage', '10.14.0' - pod 'Firebase/Functions', '10.14.0' + pod 'Firebase/AppCheck', '10.15.0' + pod 'Firebase/Database', '10.15.0' + pod 'Firebase/Auth', '10.15.0' + pod 'Firebase/Storage', '10.15.0' + pod 'Firebase/Functions', '10.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/AppCheck', '10.14.0' - pod 'Firebase/Database', '10.14.0' - pod 'Firebase/Auth', '10.14.0' - pod 'Firebase/Storage', '10.14.0' - pod 'Firebase/Functions', '10.14.0' + pod 'Firebase/AppCheck', '10.15.0' + pod 'Firebase/Database', '10.15.0' + pod 'Firebase/Auth', '10.15.0' + pod 'Firebase/Storage', '10.15.0' + pod 'Firebase/Functions', '10.15.0' end post_install do |installer| diff --git a/auth/auth_resources/build.gradle b/auth/auth_resources/build.gradle index 6fce36e3c4..392128769e 100644 --- a/auth/auth_resources/build.gradle +++ b/auth/auth_resources/build.gradle @@ -49,7 +49,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-auth' implementation project(':app:app_resources') diff --git a/auth/integration_test/Podfile b/auth/integration_test/Podfile index 9e0f830af9..2498fe55b1 100644 --- a/auth/integration_test/Podfile +++ b/auth/integration_test/Podfile @@ -4,12 +4,12 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '11.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Auth', '10.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Auth', '10.15.0' end post_install do |installer| diff --git a/cmake/external/firestore.cmake b/cmake/external/firestore.cmake index 825dab88f4..a7076d075d 100644 --- a/cmake/external/firestore.cmake +++ b/cmake/external/firestore.cmake @@ -20,7 +20,7 @@ endif() # If the format of the line below changes, then be sure to update # https://github.com/firebase/firebase-cpp-sdk/blob/fd054fa016/.github/workflows/update-dependencies.yml#L81 -set(version CocoaPods-10.14.0) +set(version CocoaPods-10.15.0) function(GetReleasedDep) message("Getting released firebase-ios-sdk @ ${version}") diff --git a/cpp_sdk_version.json b/cpp_sdk_version.json index 0eb24cc9c4..68cb6cd9e8 100644 --- a/cpp_sdk_version.json +++ b/cpp_sdk_version.json @@ -1,5 +1,5 @@ { - "released": "11.4.0", - "stable": "11.4.0", - "head": "11.4.0" + "released": "11.5.0", + "stable": "11.5.0", + "head": "11.5.0" } diff --git a/database/database_resources/build.gradle b/database/database_resources/build.gradle index 6e4e81f191..54c3a74ebb 100644 --- a/database/database_resources/build.gradle +++ b/database/database_resources/build.gradle @@ -45,7 +45,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-database' //implementation project(':app:app_resources') diff --git a/database/integration_test/Podfile b/database/integration_test/Podfile index 29649fd9a7..d46bac178d 100644 --- a/database/integration_test/Podfile +++ b/database/integration_test/Podfile @@ -4,14 +4,14 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '11.0' - pod 'Firebase/Database', '10.14.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Database', '10.15.0' + pod 'Firebase/Auth', '10.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Database', '10.14.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Database', '10.15.0' + pod 'Firebase/Auth', '10.15.0' end post_install do |installer| diff --git a/dynamic_links/integration_test/Podfile b/dynamic_links/integration_test/Podfile index 2fa773d205..306206be5d 100644 --- a/dynamic_links/integration_test/Podfile +++ b/dynamic_links/integration_test/Podfile @@ -4,7 +4,7 @@ platform :ios, '11.0' use_frameworks! :linkage => :static target 'integration_test' do - pod 'Firebase/DynamicLinks', '10.14.0' + pod 'Firebase/DynamicLinks', '10.15.0' end post_install do |installer| diff --git a/firestore/firestore_resources/build.gradle b/firestore/firestore_resources/build.gradle index cbd73238e0..33e5738460 100644 --- a/firestore/firestore_resources/build.gradle +++ b/firestore/firestore_resources/build.gradle @@ -53,7 +53,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-firestore' } diff --git a/firestore/integration_test/Podfile b/firestore/integration_test/Podfile index 174654f54d..9f936452c2 100644 --- a/firestore/integration_test/Podfile +++ b/firestore/integration_test/Podfile @@ -4,14 +4,14 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '11.0' - pod 'Firebase/Firestore', '10.14.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Firestore', '10.15.0' + pod 'Firebase/Auth', '10.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Firestore', '10.14.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Firestore', '10.15.0' + pod 'Firebase/Auth', '10.15.0' end post_install do |installer| diff --git a/firestore/integration_test_internal/Podfile b/firestore/integration_test_internal/Podfile index 374efd97c7..8e15b4dc8c 100644 --- a/firestore/integration_test_internal/Podfile +++ b/firestore/integration_test_internal/Podfile @@ -4,14 +4,14 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '11.0' - pod 'Firebase/Firestore', '10.14.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Firestore', '10.15.0' + pod 'Firebase/Auth', '10.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Firestore', '10.14.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Firestore', '10.15.0' + pod 'Firebase/Auth', '10.15.0' end post_install do |installer| diff --git a/functions/integration_test/Podfile b/functions/integration_test/Podfile index 04bd164eec..f3b0bf9c77 100644 --- a/functions/integration_test/Podfile +++ b/functions/integration_test/Podfile @@ -4,14 +4,14 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '11.0' - pod 'Firebase/Functions', '10.14.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Functions', '10.15.0' + pod 'Firebase/Auth', '10.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Functions', '10.14.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Functions', '10.15.0' + pod 'Firebase/Auth', '10.15.0' end post_install do |installer| diff --git a/gma/gma_resources/build.gradle b/gma/gma_resources/build.gradle index d79977e4a0..22ae76f5fd 100644 --- a/gma/gma_resources/build.gradle +++ b/gma/gma_resources/build.gradle @@ -50,7 +50,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.android.gms:play-services-ads:22.3.0' implementation 'com.google.android.ump:user-messaging-platform:2.1.0' diff --git a/gma/integration_test/Podfile b/gma/integration_test/Podfile index d01f3826b1..f0056c5936 100644 --- a/gma/integration_test/Podfile +++ b/gma/integration_test/Podfile @@ -4,8 +4,8 @@ platform :ios, '11.0' use_frameworks! :linkage => :static target 'integration_test' do - pod 'Firebase/CoreOnly', '10.14.0' - pod 'Google-Mobile-Ads-SDK', '10.9.0' + pod 'Firebase/CoreOnly', '10.15.0' + pod 'Google-Mobile-Ads-SDK', '10.10.0' pod 'GoogleUserMessagingPlatform', '2.1.0' end diff --git a/installations/integration_test/Podfile b/installations/integration_test/Podfile index 3a330ec187..cf9a0fac39 100644 --- a/installations/integration_test/Podfile +++ b/installations/integration_test/Podfile @@ -4,8 +4,8 @@ platform :ios, '11.0' use_frameworks! :linkage => :static target 'integration_test' do - pod 'Firebase/Analytics', '10.14.0' - pod 'Firebase/Installations', '10.14.0' + pod 'Firebase/Analytics', '10.15.0' + pod 'Firebase/Installations', '10.15.0' end post_install do |installer| diff --git a/ios_pod/Podfile b/ios_pod/Podfile index 22771e2081..afed9324b6 100644 --- a/ios_pod/Podfile +++ b/ios_pod/Podfile @@ -3,19 +3,21 @@ platform :ios, '11.0' use_frameworks! target 'GetPods' do - pod 'Firebase/Core', '10.14.0' - pod 'Google-Mobile-Ads-SDK', '10.9.0' + pod 'Firebase/Core', '10.15.0' + + pod 'Google-Mobile-Ads-SDK', '10.10.0' pod 'GoogleUserMessagingPlatform', '2.1.0' - pod 'Firebase/Analytics', '10.14.0' - pod 'Firebase/AppCheck', '10.14.0' - pod 'Firebase/Auth', '10.14.0' - pod 'Firebase/Crashlytics', '10.14.0' - pod 'Firebase/Database', '10.14.0' - pod 'Firebase/DynamicLinks', '10.14.0' - pod 'Firebase/Firestore', '10.14.0' - pod 'Firebase/Functions', '10.14.0' - pod 'Firebase/Installations', '10.14.0' - pod 'Firebase/Messaging', '10.14.0' - pod 'Firebase/RemoteConfig', '10.14.0' - pod 'Firebase/Storage', '10.14.0' + pod 'Firebase/Analytics', '10.15.0' + pod 'Firebase/AppCheck', '10.15.0' + pod 'Firebase/Auth', '10.15.0' + pod 'Firebase/Crashlytics', '10.15.0' + pod 'Firebase/Database', '10.15.0' + pod 'Firebase/DynamicLinks', '10.15.0' + pod 'Firebase/Firestore', '10.15.0' + pod 'Firebase/Functions', '10.15.0' + pod 'Firebase/Installations', '10.15.0' + pod 'Firebase/Messaging', '10.15.0' + pod 'Firebase/RemoteConfig', '10.15.0' + pod 'Firebase/Storage', '10.15.0' + end diff --git a/ios_pod/swift_headers/FirebaseAnalyticsSwift-Swift.h b/ios_pod/swift_headers/FirebaseAnalyticsSwift-Swift.h index df3530cbde..13d9f74b4d 100644 --- a/ios_pod/swift_headers/FirebaseAnalyticsSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseAnalyticsSwift-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -288,7 +288,7 @@ using UInt = size_t; #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/ios_pod/swift_headers/FirebaseCoreInternal-Swift.h b/ios_pod/swift_headers/FirebaseCoreInternal-Swift.h index 65e8219511..f9efa9bd4c 100644 --- a/ios_pod/swift_headers/FirebaseCoreInternal-Swift.h +++ b/ios_pod/swift_headers/FirebaseCoreInternal-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -345,7 +345,7 @@ SWIFT_CLASS_NAMED("_ObjC_HeartbeatsPayload") #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/ios_pod/swift_headers/FirebaseDatabaseSwift-Swift.h b/ios_pod/swift_headers/FirebaseDatabaseSwift-Swift.h index bc4894cb40..adb0e2cfa9 100644 --- a/ios_pod/swift_headers/FirebaseDatabaseSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseDatabaseSwift-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -289,7 +289,7 @@ using UInt = size_t; #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/ios_pod/swift_headers/FirebaseFirestoreSwift-Swift.h b/ios_pod/swift_headers/FirebaseFirestoreSwift-Swift.h index 2ef87db1c4..fdea7dcb7c 100644 --- a/ios_pod/swift_headers/FirebaseFirestoreSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseFirestoreSwift-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -289,7 +289,7 @@ using UInt = size_t; #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/ios_pod/swift_headers/FirebaseFunctions-Swift.h b/ios_pod/swift_headers/FirebaseFunctions-Swift.h index 3cf7c4903e..25e474279f 100644 --- a/ios_pod/swift_headers/FirebaseFunctions-Swift.h +++ b/ios_pod/swift_headers/FirebaseFunctions-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -569,7 +569,7 @@ SWIFT_CLASS_NAMED("HTTPSCallableResult") #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/ios_pod/swift_headers/FirebaseInAppMessagingSwift-Swift.h b/ios_pod/swift_headers/FirebaseInAppMessagingSwift-Swift.h index b94db175a2..c4d9d5152f 100644 --- a/ios_pod/swift_headers/FirebaseInAppMessagingSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseInAppMessagingSwift-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -289,7 +289,7 @@ using UInt = size_t; #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/ios_pod/swift_headers/FirebaseMLModelDownloader-Swift.h b/ios_pod/swift_headers/FirebaseMLModelDownloader-Swift.h index 44cbf57192..a1b322280b 100644 --- a/ios_pod/swift_headers/FirebaseMLModelDownloader-Swift.h +++ b/ios_pod/swift_headers/FirebaseMLModelDownloader-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -289,7 +289,7 @@ using UInt = size_t; #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/ios_pod/swift_headers/FirebaseRemoteConfigSwift-Swift.h b/ios_pod/swift_headers/FirebaseRemoteConfigSwift-Swift.h index a232180d4a..29b645af98 100644 --- a/ios_pod/swift_headers/FirebaseRemoteConfigSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseRemoteConfigSwift-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -289,7 +289,7 @@ using UInt = size_t; #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/ios_pod/swift_headers/FirebaseSharedSwift-Swift.h b/ios_pod/swift_headers/FirebaseSharedSwift-Swift.h index 2841ae0927..b6498d35f3 100644 --- a/ios_pod/swift_headers/FirebaseSharedSwift-Swift.h +++ b/ios_pod/swift_headers/FirebaseSharedSwift-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -288,7 +288,7 @@ using UInt = size_t; #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/ios_pod/swift_headers/FirebaseStorage-Swift.h b/ios_pod/swift_headers/FirebaseStorage-Swift.h index daa70f3bdc..5e93c2ab3f 100644 --- a/ios_pod/swift_headers/FirebaseStorage-Swift.h +++ b/ios_pod/swift_headers/FirebaseStorage-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -940,7 +940,7 @@ SWIFT_CLASS_NAMED("StorageUploadTask") #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/ios_pod/swift_headers/SwiftProtobuf-Swift.h b/ios_pod/swift_headers/SwiftProtobuf-Swift.h index 8c7bd8ec0f..973c5274e1 100644 --- a/ios_pod/swift_headers/SwiftProtobuf-Swift.h +++ b/ios_pod/swift_headers/SwiftProtobuf-Swift.h @@ -1,7 +1,7 @@ #if 0 #elif defined(__arm64__) && __arm64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) @@ -288,7 +288,7 @@ using UInt = size_t; #elif defined(__x86_64__) && __x86_64__ // Copyright 2023 Google LLC -// Copied from Firebase iOS SDK 10.14.0. +// Copied from Firebase iOS SDK 10.15.0. // Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 // clang-1400.0.29.51) diff --git a/messaging/integration_test/Podfile b/messaging/integration_test/Podfile index e7cead4e9a..22d8899915 100644 --- a/messaging/integration_test/Podfile +++ b/messaging/integration_test/Podfile @@ -4,12 +4,12 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '11.0' - pod 'Firebase/Messaging', '10.14.0' + pod 'Firebase/Messaging', '10.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Messaging', '10.14.0' + pod 'Firebase/Messaging', '10.15.0' end post_install do |installer| diff --git a/messaging/messaging_java/build.gradle b/messaging/messaging_java/build.gradle index 6b2fccefc9..4ec8598643 100644 --- a/messaging/messaging_java/build.gradle +++ b/messaging/messaging_java/build.gradle @@ -55,7 +55,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-messaging' implementation 'com.google.flatbuffers:flatbuffers-java:1.12.0' diff --git a/release_build_files/Android/firebase_dependencies.gradle b/release_build_files/Android/firebase_dependencies.gradle index cd5244449f..0e4c71a3af 100644 --- a/release_build_files/Android/firebase_dependencies.gradle +++ b/release_build_files/Android/firebase_dependencies.gradle @@ -132,7 +132,7 @@ project.afterEvaluate { // Add the bill-of-materials project.dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') } for (String lib : firebaseCpp.dependencies.libSet) { // Messaging includes an aar, which to be depended on properly requires diff --git a/release_build_files/readme.md b/release_build_files/readme.md index 2a6ed8bd31..6e0680c9b8 100644 --- a/release_build_files/readme.md +++ b/release_build_files/readme.md @@ -86,7 +86,7 @@ distributed as part of the core Firebase Feature | Required Libraries and Gradle Packages -------------------------- | -------------------------------------- -All Firebase SDKs | platform(com.google.firebase:firebase-bom:32.2.3) +All Firebase SDKs | platform(com.google.firebase:firebase-bom:32.3.1) | | (Android Bill of Materials) Firebase Analytics | libfirebase_analytics.a | | libfirebase_app.a @@ -147,7 +147,7 @@ Firebase Messaging | libfirebase_messaging.a | | com.google.firebase:firebase-messaging | | (Maven package) | | libmessaging_java.jar (Android service) -| | androidx.core:core:1.10.1 (Maven package) +| | androidx.core:core:1.12.0 (Maven package) Firebase Realtime Database | libfirebase_database.a | | libfirebase_auth.a | | libfirebase_app.a @@ -228,49 +228,49 @@ Feature | Required Frameworks and Cocoapods -------------------------- | --------------------------------------- Firebase Analytics | firebase_analytics.xcframework | | firebase.xcframework -| | Firebase/Analytics Cocoapod (10.14.0) +| | Firebase/Analytics Cocoapod (10.15.0) Firebase App Check | firebase_app_check.xcframework | | firebase.xcframework -| | Firebase/AppCheck Cocoapod (10.14.0) +| | Firebase/AppCheck Cocoapod (10.15.0) Firebase Authentication | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Auth Cocoapod (10.14.0) +| | Firebase/Auth Cocoapod (10.15.0) Firebase Dynamic Links | firebase_dynamic_links.xcframework | | firebase.xcframework -| | Firebase/DynamicLinks Cocoapod (10.14.0) +| | Firebase/DynamicLinks Cocoapod (10.15.0) Cloud Firestore | firebase_firestore.xcframework | | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Firestore Cocoapod (10.14.0) -| | Firebase/Auth Cocoapod (10.14.0) +| | Firebase/Firestore Cocoapod (10.15.0) +| | Firebase/Auth Cocoapod (10.15.0) Firebase Functions | firebase_functions.xcframework | | firebase_auth.xcframework (optional) | | firebase.xcframework -| | Firebase/Functions Cocoapod (10.14.0) -| | Firebase/Auth Cocoapod (10.14.0) +| | Firebase/Functions Cocoapod (10.15.0) +| | Firebase/Auth Cocoapod (10.15.0) Google Mobile Ads | firebase_gma.xcframework | | firebase.xcframework -| | Firebase/CoreOnly Cocoapod (10.14.0) -| | Google-Mobile-Ads-SDK Cocoapod (10.9.0) +| | Firebase/CoreOnly Cocoapod (10.15.0) +| | Google-Mobile-Ads-SDK Cocoapod (10.10.0) Firebase Installations | firebase_installations.xcframework | | firebase.xcframework -| | FirebaseInstallations Cocoapod (10.14.0) +| | FirebaseInstallations Cocoapod (10.15.0) Firebase Cloud Messaging | firebase_messaging.xcframework | | firebase.xcframework -| | Firebase/Messaging Cocoapod (10.14.0) +| | Firebase/Messaging Cocoapod (10.15.0) Firebase Realtime Database | firebase_database.xcframework | | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Database Cocoapod (10.14.0) -| | Firebase/Auth Cocoapod (10.14.0) +| | Firebase/Database Cocoapod (10.15.0) +| | Firebase/Auth Cocoapod (10.15.0) Firebase Remote Config | firebase_remote_config.xcframework | | firebase.xcframework -| | Firebase/RemoteConfig Cocoapod (10.14.0) +| | Firebase/RemoteConfig Cocoapod (10.15.0) Firebase Storage | firebase_storage.xcframework | | firebase_auth.xcframework | | firebase.xcframework -| | Firebase/Storage Cocoapod (10.14.0) -| | Firebase/Auth Cocoapod (10.14.0) +| | Firebase/Storage Cocoapod (10.15.0) +| | Firebase/Auth Cocoapod (10.15.0) Important: Each version of the Firebase C++ SDK supports a specific version of the Firebase iOS SDK. Please ensure that you reference the Cocoapod versions @@ -290,49 +290,49 @@ Feature | Required Libraries and Cocoapods -------------------------- | ----------------------------------------- Firebase Analytics | libfirebase_analytics.a | | libfirebase_app.a -| | Firebase/Analytics Cocoapod (10.14.0) +| | Firebase/Analytics Cocoapod (10.15.0) Firebase App Check | firebase_app_check.xcframework | | firebase.xcframework -| | Firebase/AppCheck Cocoapod (10.14.0) +| | Firebase/AppCheck Cocoapod (10.15.0) Firebase Authentication | libfirebase_auth.a | | libfirebase_app.a -| | Firebase/Auth Cocoapod (10.14.0) +| | Firebase/Auth Cocoapod (10.15.0) Firebase Dynamic Links | libfirebase_dynamic_links.a | | libfirebase_app.a -| | Firebase/DynamicLinks Cocoapod (10.14.0) +| | Firebase/DynamicLinks Cocoapod (10.15.0) Cloud Firestore | libfirebase_firestore.a | | libfirebase_app.a | | libfirebase_auth.a -| | Firebase/Firestore Cocoapod (10.14.0) -| | Firebase/Auth Cocoapod (10.14.0) +| | Firebase/Firestore Cocoapod (10.15.0) +| | Firebase/Auth Cocoapod (10.15.0) Firebase Functions | libfirebase_functions.a | | libfirebase_app.a | | libfirebase_auth.a (optional) -| | Firebase/Functions Cocoapod (10.14.0) -| | Firebase/Auth Cocoapod (10.14.0) +| | Firebase/Functions Cocoapod (10.15.0) +| | Firebase/Auth Cocoapod (10.15.0) Google Mobile Ads | libfirebase_gma.a | | libfirebase_app.a -| | Firebase/CoreOnly Cocoapod (10.14.0) -| | Google-Mobile-Ads-SDK Cocoapod (10.9.0) +| | Firebase/CoreOnly Cocoapod (10.15.0) +| | Google-Mobile-Ads-SDK Cocoapod (10.10.0) Firebase Installations | libfirebase_installations.a | | libfirebase_app.a -| | FirebaseInstallations Cocoapod (10.14.0) +| | FirebaseInstallations Cocoapod (10.15.0) Firebase Cloud Messaging | libfirebase_messaging.a | | libfirebase_app.a -| | Firebase/CloudMessaging Cocoapod (10.14.0) +| | Firebase/CloudMessaging Cocoapod (10.15.0) Firebase Realtime Database | libfirebase_database.a | | libfirebase_app.a | | libfirebase_auth.a -| | Firebase/Database Cocoapod (10.14.0) -| | Firebase/Auth Cocoapod (10.14.0) +| | Firebase/Database Cocoapod (10.15.0) +| | Firebase/Auth Cocoapod (10.15.0) Firebase Remote Config | libfirebase_remote_config.a | | libfirebase_app.a -| | Firebase/RemoteConfig Cocoapod (10.14.0) +| | Firebase/RemoteConfig Cocoapod (10.15.0) Firebase Storage | libfirebase_storage.a | | libfirebase_app.a | | libfirebase_auth.a -| | Firebase/Storage Cocoapod (10.14.0) -| | Firebase/Auth Cocoapod (10.14.0) +| | Firebase/Storage Cocoapod (10.15.0) +| | Firebase/Auth Cocoapod (10.15.0) Important: Each version of the Firebase C++ SDK supports a specific version of the Firebase iOS SDK. Please ensure that you reference the Cocoapod versions @@ -627,14 +627,20 @@ workflow use only during the development of your app, not for publicly shipping code. ## Release Notes -### Next Release +### 11.5.0 - Changes + - General (iOS): Update to Firebase Cocoapods version 10.15.0. + - General (Android): Update to Firebase Android BoM version 32.3.1. + - General (Android): Made dynamic code files read only to comply with new + Android 14 security requirements. This fixes a crash at API level 34+. - Analytics (iOS): Added InitiateOnDeviceConversionMeasurementWithPhoneNumber function to facilitate the [on-device conversion measurement](https://support.google.com/google-ads/answer/12119136) API. - Auth: Add Firebase Auth Emulator support. Set the environment variable USE_AUTH_EMULATOR=yes (and optionally AUTH_EMULATOR_PORT, default 9099) to connect to the local Firebase Auth Emulator. + - GMA (iOS): Updated dependency to Google-Mobile-Ads-SDK version 10.10.0. + - GMA (Android): Updated dependency to play-services-ads version 22.3.0. ### 11.4.0 - Changes diff --git a/remote_config/integration_test/Podfile b/remote_config/integration_test/Podfile index 68736f86ec..17ecdff389 100644 --- a/remote_config/integration_test/Podfile +++ b/remote_config/integration_test/Podfile @@ -4,12 +4,12 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '11.0' - pod 'Firebase/RemoteConfig', '10.14.0' + pod 'Firebase/RemoteConfig', '10.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/RemoteConfig', '10.14.0' + pod 'Firebase/RemoteConfig', '10.15.0' end post_install do |installer| diff --git a/remote_config/remote_config_resources/build.gradle b/remote_config/remote_config_resources/build.gradle index 5a091ace7c..598fffaa07 100644 --- a/remote_config/remote_config_resources/build.gradle +++ b/remote_config/remote_config_resources/build.gradle @@ -49,7 +49,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-config' } diff --git a/scripts/gha/print_matrix_configuration.py b/scripts/gha/print_matrix_configuration.py index 1f73fdf9d4..82aaf8ef9b 100644 --- a/scripts/gha/print_matrix_configuration.py +++ b/scripts/gha/print_matrix_configuration.py @@ -174,7 +174,7 @@ "emulator_32bit": {"type": "virtual", "image":"system-images;android-30;google_apis;x86"}, "ios_min": {"type": "ftl", "device": "model=iphone8,version=14.7"}, "ios_target": {"type": "ftl", "device": "model=iphone13pro,version=15.7"}, - "ios_latest": {"type": "ftl", "device": "model=iphone11pro,version=16.5"}, + "ios_latest": {"type": "ftl", "device": "model=iphone11pro,version=16.6"}, "simulator_min": {"type": "virtual", "name":"iPhone 8", "version":"15.2"}, "simulator_target": {"type": "virtual", "name":"iPhone 8", "version":"16.1"}, "simulator_latest": {"type": "virtual", "name":"iPhone 11", "version":"16.1"}, diff --git a/storage/integration_test/Podfile b/storage/integration_test/Podfile index 799c9fd8a8..4429d53b76 100644 --- a/storage/integration_test/Podfile +++ b/storage/integration_test/Podfile @@ -4,14 +4,14 @@ use_frameworks! :linkage => :static target 'integration_test' do platform :ios, '11.0' - pod 'Firebase/Storage', '10.14.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Storage', '10.15.0' + pod 'Firebase/Auth', '10.15.0' end target 'integration_test_tvos' do platform :tvos, '12.0' - pod 'Firebase/Storage', '10.14.0' - pod 'Firebase/Auth', '10.14.0' + pod 'Firebase/Storage', '10.15.0' + pod 'Firebase/Auth', '10.15.0' end post_install do |installer| diff --git a/storage/storage_resources/build.gradle b/storage/storage_resources/build.gradle index 17ec453219..dccf04d517 100644 --- a/storage/storage_resources/build.gradle +++ b/storage/storage_resources/build.gradle @@ -49,7 +49,7 @@ android { } dependencies { - implementation platform('com.google.firebase:firebase-bom:32.2.3') + implementation platform('com.google.firebase:firebase-bom:32.3.1') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-storage' }