Commit Graph
94 Commits
Author SHA1 Message Date
Paul Beusterien a621e59217 Merge 6.11.0 (#4134) 2019-10-22 11:35:29 -07:00
Ryan Wilson bbcac27b72 Release 6.10.0 (#4022)
* Update versions for Release 6.10.0

* Cherrypick #3983 and include Database in release. (#3986)

* Remove log argument that causes SocketRocket crash (#3983)

* Add FirebaseDatabase to release.

* Update CHANGELOG with version.

* Cherrypick for #3984 along with CHANGELOG update. (#3988)

* Fix race condition in FIRComponentContainer instance creation (#3984)

* Fix race condition in FIRComponentContainer instance creation

Reported in #3967. Users sometimes seeing a crash when multiple threads
concurrently try to create Firestore instances. By inspection I found
that there's a race here where two threads can check for presence in the
cache, see nothing, proceed to creation, both store a value in the cache,
and both return their copies. This would lead to two Firestores being
created for a single App.

This replaces `dispatch_sync` on a serial queue with good old
`@synchronized` blocks. `dispatch_sync` will self-deadlock if called
from a thread already on the queue while `@synchronized` allows
recursion.

No new tests are added because several tests like
`testDependencyDoesntBlock` already cover this case.

* format

* Update Core CHANGELOG

* Update Core CHANGELOG again

* Fix merge from CHANGELOG
2019-10-09 12:10:33 -04:00
Paul Beusterien fb353c22d4 Merge 6.9.0 (#3907)
* Update versions for Release 6.9.0

* Fix unbalanced background task creation in GDTCCTUploader (#3838) (#3839)

* Add Manifest

* dependency version update

* Cherry picks for 6.9.0 (#3871)

* fixed "expiclitlySet" typo. (#3853)

* Mark unused variables (#3854)

* Mute FCM deprecated warnings with Xcode 11 and min iOS >= 10 (#3857)

* Add a third slash to make sure generated docs include these comments.b/13812238 (#3846)
2019-09-23 10:41:33 -07:00
Paul Beusterien 330a55f9de Merge 6.8.1 (#3811) 2019-09-10 06:46:16 -07:00
Maksym Malyhin 89a276928c Merging the 6.8.0 release into master (#3783)
* Update versions for Release 6.8.0

* RemoteConfig fix pod spec lint (#3715) (#3716)

* ABTesting: add protos to private headers.

* RemoteConfig: #import <FirebaseABTesting/ExperimentPayload.pbobjc.h>

* ./scripts/style.sh

* Remote Config `pod spec lint` fixes (#3717) (#3718)

* Fix ExperimentPayload.pbobjc.h imports

* RemoteConfig tests: add missing headers to spec.

* Revert ExperimentPayload.pbobjc.h import for ABTesting sources.

* Add FDL to M55 (#3724)

* Remove references to UIWebView from DynamicLinks to comply with Apple "ITMS-90809: Deprecated API Usage" (#3723)
* Add FDL to M55

* Fix accessing a destroyed object (#3721) (#3725)

This was caused by running under Asan with XCode 11. Apparently, previous versions of XCode cannot catch it (which is why Travis is passing, apparently).

Also:
* enable "Detect use of stack after return" option for Asan. AFAIU, it can only be enabled in the scheme. It's already enabled for unit tests, this PR additionally enables it for integration tests;
* make Asan failures fail Travis build. They were originally not considered blocking due to some sporadic failures. I haven't seen those for some time, and worst case scenario, we can revert this change.

* Cherry pick GDT changes for 6.8.0 and increment versions (#3770)

* Release 6.8.0: cherry pick of #3764 and #3766 (#3772)

* Gate access to cached instances. (#3766)

* Gate access to cached instances.

This is causing an issue in #3728. Hopefully this will fix it, but no
repro is available yet to test. There's still an underlying race
condition where a `creationBlock` could be called twice for a component
that is supposed to cache the instance returned, but that should be
addressed in a follow up PR.

* Review feedback.

* Iterate from array copy in `latestExperimentStartTimestampBetweenTimestamp:` (#3764)

* Release 6.8.0 cherry pick: conflicting Dynamic Links changelog changes. (#3790)

* Update FDL CHANGELOG (#3781)

* Issue number, not PR number (#3785)
2019-09-06 15:19:25 -04:00
Paul Beusterien bb563c8497 Migrate travis to Xcode 10.3 and single platform builds (#3714) 2019-08-29 12:26:30 -07:00
Paul Beusterien d70c873654 Release 6.7.0 (#3646) 2019-08-21 15:41:58 -07:00
Chuan Ren 1c42c8efbe Add support of GSI 5 (#3611) 2019-08-16 09:26:55 -07:00
Paul Beusterien ce0386a24e Lock GoogleSignIn to major version 4 (#3608) 2019-08-15 16:50:41 -07:00
Paul Beusterien 24a58ad86a Release 6.6.0 (#3518) 2019-08-07 11:03:41 -07:00
Paul Beusterien 35b9f31af2 Update versions for Release 6.5.0 (#3388) 2019-07-19 10:33:02 -07:00
Michael Haney 783ee5b126 Implement Firebase CoreDiagnostics (#3129)
* Implement CoreDiagnostics interop

For use by FirebaseCore.

Please pay special attention to the changes in FIRApp, I've replaced passing FIRApp in the notification with a data object that will eventually replace the same information that FIRDiagnostics extracted.

* Add CoreDiagnosticsInterop to the Example Podfile

* Style and xcodeproj updates

* Update Podfiles that dep on FirebaseCore

So that they also have a dep on FirebaseCoreDiagnosticsInterop

* ran pod deintegrate to remove unintended xcodeproj changes

* Fix Podfile paths

* Add FCD to if_changed and travis.yml

* Fix building with Firestore

* Style

* Whitespace

* Fix a changed internal API

* Make pod paths consistent

* Restore connectivity_monitor_noop.cc style

* Remove logging prior to [FIRApp configure]

Also remove sendLogsWithServiceName:version:

* style

* Remove nil checks from diagnostics data

* Put back some deleted symbols

* Restore the sendLogsWithServiceName:version: method, but as a no-op

* Restore the original version of sendLogs...

* Allow an unused parameter

* Remove obsolete nsnotificationcenter related stuff

* Whoops, missed the header change.

* Final changes to support FIRCoreDiagnostics

These changes are necessary because FIRCore has a hard dep on FIRCoreDiagnostics (FIRCD) and FIRCoreDiagnosticsInterop.

Components can't be used because FIRCD would need to have a hard dep on FIRCore to get access to FIRLibrary, FIRComponent, FIRComponentContainer, and FIRComponentCreationBlock and this would create a dep cycle. So, an extern has been put into the interop lib and the variable is implemented in the connector class inside of FIRCore, but it's unset. FIRCD actually sets that variable in +load, allowing use of FIRCD.

FIRCD can also be removed as a dependency with no ill effect by end users setting the environment variable DISABLE_FIREBASE_DIAGNOSTICS=1

* Add nanopb and project generation infrastructure

* Convert FIRCoreDiagnostics to canonical nanopb, and move to OSS.

* Remove custom build steps for CoreDiagnostics

* Addressing review comments

* Update versions, tags, and port the relevant unit tests for FIRCD

* Version and platform fixes

* Fix podspec expected tags

* A hack to solve a chicken-and-egg problem with pod lib linting.

* Heartbeat implementation

* FIRDiagnosticsDateFileStorageTests

* Fix tests for non-iOS platforms

* Heartbeat tests

* Fix initialization.

* Cleanup Installation ID.

* Fix testProtoPopulation.

* Merge conflict fix

* Typo fix.

* Remove FIRCore dep from FIRCD unit tests and move symbols to interop

* Run ./scripts/style.sh

* Typo

* #ifdef comment

* File license header.

* Import FIRDiagnosticsDateFileStorage.h using relative path.

* FIRDiagnostics -> FIRCoreDiagnostics

* Docs syntax

* Docs

* Docs typo

* Add shared variables to the interop lib

I know this goes against the convention, but it's actually the only way to resolve this very unique problem.

* Fix comment

* Style

* Removed lib version passing.

* Remove env checking for conditional deps

* Style

* Address whitespace issues

* Add copyright notice

* Add new deps to Podfiles

* Fix trailing space

* Some changes to fix working in an extension.

* Fix type in Podfile

* GDT: begin/end background task only for iOS and TVOS applications.

* Fix typo

* Style

* Stop sharing kFIRService strings across pods

* Travis test

* Change all TARGET_OS_TVOS macros to TARGET_OS_TV

TARGET_OS_TVOS doesn't exist.

Also macro out a UIApplication reference.

* style

* Update all Podfiles with deps on FIRCore

* Fix trailing whitespace

* Update Firestore cmake

* Fix FIAM build break (#3254)

* Additional cmake changes

* Fix linker issue with deprecated CoreDiagnostics (#3257)

* Adding more deps to cmake

* Fix linker error (#3266)

* Rerun only IAM tests

* whitespace

* No xcpretty or frameworks run

* Fix typo

* Revert "No xcpretty or frameworks run"

This reverts commit afc1abba37.

* Revert "whitespace"

This reverts commit fd06955a56.

* Revert "Rerun only IAM tests"

This reverts commit 98ce07600f.

* Run travis on this branch

* Add support for expanding PODS_TARGET_SRCROOT in CMake (#3267)

* Fix a few things that should have been splatted but weren't

* Define PODS_TARGET_SRCROOT in CMake for compatibility with CocoaPods

* Compile pods we depend upon with looser settings

* Rename the nanopb dependency to match what CMake actually has

* Make #include <nanopb/pb.h> work

Remove the old way of #include <pb.h> once we change the Firestore
nanopb generator to match.

* Fix warnings that fail the build

* Remove typed enum and fix a comment.

* Fix an import

* Change a line so it's not altered by Copybara

* More changes to stop copybara from altering the wrong sources

* Remove trailing whitespace

* Fix copybara modifying python.

* Add additional field in firebasecore.proto (#3273)

* Remove the dependency on interop to populate a shared variable.

* style

* Create travis jobs for FirebaseCoreDiagnostics (#3245)

* Create travis jobs for FirebaseCoreDiagnostics

And update the pod lib lints for GDT.

Remove the mph-master branch before merging to master.

* Add support for FIRCD to if_changed.sh

* Adjust tests

* Unavailable init methods should not be nullable (#3276)

* Allow firestore api to work with Codable objects + ExplicitNull + Integration tests (#3261)

* Convinience api for codables

* Integration Tests

* ExplicitNull implementation

* Update to CocoaPods 1.7.3 (#3280)

* Import GULLoggerLevel.h via public framework header (#3277)

* Put the need to include Firestore/Source/Public in the podspec (#3288)

This removes the need to munge the pods project after the fact and makes
it so that customers can click through to our headers too.

* Ensure Storage initializer doesn't get called (#3294)

* FIROptions.appGroupID introduced (#3293)

* Use a consistent set of dependencies on all platforms (#3289)

* Use a consistent set of dependencies on all platforms

* pod install for uniform dependencies

* Store the coerced base value in the BaseMutation (#3292)

* In card message: set the text color on the body text view (#3286)

* In card message: set the text color on the body text view

* Fix bug where card messages in test app were showing up with two of the same buttons

* Revert change to text color

* [docs] add missing semicolon (#3305)

Add missing semicolon to code example

* Add explicit Foundation import. (#3309)

This is causing issues when building an XCFramework.

* Pass the correct compiler flag for CoreDiagnostics. (#3312)

* Pass the correct compiler flag for CoreDiagnostics.

When CoreDiagnostics is open sourced, we'll need to ensure that the
right compiler flag is passed. This doesn't add support for Carthage yet
but allows the frameworkbuilder to pass the flag for carthage as well.
An update to the zipbuilder to allow for carthage will follow shortly.

* Remove accidental change.

* Fix and rewrite sync_project.rb (#3296)

* Fix and rewrite sync_project.rb

Ever since we added multiple platforms, removing a file has been broken.
This fixes that issue.

Also, rewrite target synchronization to make more sense. Essentially now
there's one diff between the filesystem and the groups and then an
explicit diff is done between project files and target contents.

* Run sync_project.rb on post-install

* pod lib linting should output something every minute while running

* DEBUG: This commit should be reverted

* DEBUG: This commit should be reverted

* DEBUG: This commit should be reverted

* Remove mph-master from travis

* Fix constant name conflic between old and new diagnostics (#3329)

* Rename kFIRDiagnosticsHeartbeatDateFileName -> kFIRCoreDiagnosticsHeartbeatDateFileName to avoid conflicts with FIRDiagnostics.

* Travis: temporary add `mph-master` to run tests.

* Rempve mph-master again

* Fix imports in FIRCDConnector

* Fix another import

* Fix yet another import

* Attempt to read crashing test logs from disk

* Implement printing of failed/crashed test logs.

* Print only crashed tests, rmdir between runs

* Revert reading crashing log changes

* Write CHANGELOG for all new FIRCD associated libraries

* Change all GUL deps to >= 6.2

* Revert ZipBuilder changes and do some last bits of cleanup

* Remove an assertion and populate an error instead
2019-07-18 09:54:06 -07:00
Maksym Malyhin 3238603bbb Update versions for Release 6.4.0 (#3324) 2019-07-09 18:24:15 -04:00
Paul Beusterien 4e9fdab905 Reenable CocoaPods CDN (#3271) 2019-06-27 10:08:24 -07:00
Ryan Wilson 3374daafd8 Merging the 6.3.0 release into master (#3217)
* Update versions for Release 6.3.0

* Revert "Raise exception when log into Facebook using OAuth.  (#3138)" (#3208) (#3209)

This reverts commit 393d060710.
2019-06-19 16:28:25 -04:00
Morgan Chen 93307d253e Disable CocoaPods CDN in pod installs (#3165) (#3166) 2019-06-10 17:58:32 -07:00
Paul Beusterien fdbdbb489a Update versions for Release 6.2.0 (#3134) 2019-06-04 09:39:57 -07:00
Paul Beusterien 52e42c0fe7 Use CocoaPods CDN (#3124) 2019-06-03 10:09:26 -07:00
Paul Beusterien a9c454491c Stop conditional compilation for GoogleUtilities testing (#3058) 2019-05-23 07:06:26 -07:00
Maksym Malyhin 39fe9ddd68 Merging the 6.1.0 release into master (#3049)
* Update versions for Release 6.1.0

* Release 6.1.0 - cherry pick of #3007 (#3011)

* 6.1.0 manifest updated. FirebaseInAppMessaging bumped to 0.14.1

* Early return from sending analytics events in instance ID is nil (#3007)
2019-05-21 18:58:06 -04:00
Paul Beusterien 498ba819a1 Update Podfiles after 6.0.0 release (#2964) 2019-05-08 08:13:17 -07:00
Paul Beusterien 8ed545bd2c Resolve merge conflicts from release-6.0.0 branch (#2958)
* Update versions for Release 6.0.0

* Update FirebaseSDKs.textproto with new fields. (#2818) (#2834)

* Update FirebaseSDKs.textproto with new fields.

* Update message about strip_32bits flag.

* GULAppDelegateSwizzler - proxy APNS methods separately (#2835) (#2858)

* Cherry-picks for M47 RC5 (#2882)

* fix race condition checkin is deleted before writing during app start (#2860)

* GoogleUtilities min ios version from 6 to 8 (#2876)

* Put secret and oauth credentials into the private headers for now. (#2916) (#2919)

* Add missing Messaging weak_framework dep (#2921) (#2930)
2019-05-07 11:35:58 -07:00
Maksym Malyhin 76aa880853 GULAppDelegateSwizzler - proxy APNS methods separately (#2835) 2019-04-17 17:35:14 -04:00
Paul Beusterien 417cfd7cd7 Bump FirebaseCore to 6.0.0 (#2755)
* Bump FirebaseCore to 6.0.0

* FirebaseInstanceID to 4.0.0

* FirebaseInAppMessaging is a dep too
2019-04-08 16:33:01 -07:00
Paul Beusterien fd6f93d89d Begin migrating FIRLoggerService declarations to clients (#2720) 2019-04-08 08:54:21 -07:00
Paul Beusterien 76a003f4c8 Clean up unused Core error codes (#2737)
* Core patches can only be 2 digits
2019-04-08 06:58:49 -07:00
Maksym Malyhin 267e9a6ece FIRMessagingRemoteNotificationsProxy updated to use GULAppDelegateSwizzler (#2683) 2019-04-04 09:26:12 -04:00
Paul Beusterien 1dd5dfa991 Merge 5.20.1 back to master (#2691) 2019-04-01 06:35:28 -07:00
Paul Beusterien 145c111d1a Minimum osx to 10.11 (#2680) 2019-03-29 16:26:27 -07:00
Paul Beusterien 17f9064cd0 Release 5.20.0 (#2677) 2019-03-29 11:04:13 -07:00
Paul Beusterien ef6c538748 Release 5.19.0 (#2589)
* Update versions for Release 5.19.0

* update the changelog (#2583)

* Revert #2491 (#2582)
2019-03-19 17:29:18 -07:00
Chen Liang 032f0bfa28 Adding unit tests for InstanceID tvOS support (#2483) 2019-03-07 10:07:22 -08:00
Ryan Wilson 9848883d69 Release 5.18.0 (#2477) 2019-03-05 15:29:36 -08:00
Chen Liang 00168257df Make FCM and InstanceID compatible with tvOS (#2428) 2019-03-05 11:57:10 -08:00
Ryan Wilson 4209aeaa3c Merging the 5.17.0 release into master (#2416)
* Update versions for Release 5.17.0

* Fix the tag in the FIAM podspec.

* Update dependencies for FIAM.

* Updated the FirebaseCore version.

* Fix FIROptions version.

* Temporarily remove FIAM version deps for pod linting.

* Create umbrella header for FIAM (#2392)

This causes an issue when building the zip file - similar to #1857

* Remove FIAM from 5.17.0 release.
2019-02-21 21:29:31 -05:00
Paul Beusterien 42c5ae17fc Open source InstanceID (#2414) 2019-02-21 10:51:38 -08:00
Chuan Ren 593774b1b6 E2e tests split (#2401) 2019-02-18 18:10:01 -08:00
Chuan Ren 38df2e0a71 Remove swift sample for Auth (#2371) 2019-02-11 17:47:12 -08:00
Paul Beusterien 4b9ca8c91f Stop using SpecStaging (#2308) 2019-01-23 17:18:05 -08:00
Gil 45866ee427 Merge release 5.16.0 (#2306)
* Update versions for Release 5.16.0
* Cherry-picking changes for M41 RC1 (#2277)
* Bump gRPC-C++ pod dependency to 0.0.6 (#2274)
* Update changelog for Dynamic Links to v 3.4.0 (#2272)
* Fix Firestore certificate loading in M41 (#2289)
* Stop bundling gRPC certificates with Firestore (#2279)
  * Remove references to roots.pem
  * Remove gRPCCertificates-Firestore.bundle
* Fix size warning in local_serializer.cc
* Suppress documentation warnings in gRPC
* strip extra references to macOS
* Reference updated Carthage docs and backport CHANGELOG (#2291)
* Carthage cert change
* Backport CHANGELOG updates from cl/230001317
2019-01-23 14:16:17 -08:00
Paul Beusterien 3990f6d0c5 Update FirebaseCore deps to 5.2 (#2255)
* SpecsStaging for Firestore
2019-01-14 11:19:52 -08:00
Chen Liang ab962ce244 use instanceIDForTest for instance init in unit tests (#2239)
* use instanceIDForTest for instance init in unit tests
* looks like realInstanceID is not needed
* Get InstanceID from SpecsStaging to fix tests
2019-01-10 10:49:43 -08:00
Benoit St-Pierre dd9c760c07 Release 5.15.0 (#2195)
* Update versions for Release 5.15.0

* Create 5.15.0.json

* Update CHANGELOG for Firestore v0.16.1 (#2164)

* Update the name of certificates bundle (#2171)

To accommodate for release 5.14.0.

* Fix format string in FSTRemoteStore error logging (#2172)

* Update CHANGELOG.md

* Update 5.15.0.json
2018-12-17 19:57:13 -05:00
Ryan Wilson 3cd4e9c71f Update versions for Release 5.14.0 (#2145) 2018-12-05 07:56:36 -05:00
davidair 20a0bda002 Release 5.13.0 (#2101)
* Update versions for Release 5.13.0

* Revert premature api changes (#2097)

* Revert "Add warning for deprecated API to indicate that the passed in domain name's scheme will deduced as https (#2078)"

This reverts commit ceb839293e.

* Revert "Allow setting the domainURIPrefix for custom domain names/paths when creating dynamic links (#2071)"

This reverts commit d917bac047.

* Revert "Minor edits: change domain names in test app plist, fix warnings."

This reverts commit 15f5d46807.

* Revert "Fix style. Run ./scripts/style.sh"

This reverts commit 0e16e6c863.

* Revert "Allow for custom domains in the FDL iOS SDK"

This reverts commit 5e33153f70.

* Version is still 3.2.0
2018-11-20 17:23:55 -05:00
Paul Beusterien e77ba8c776 Release 5.12.0 (#2051)
* Update versions for Release 5.12.0
* Add missing nanopb flag
* Isolate Firestore nanopb messages in C++ namespaces (#2046)
* Add C++ namespaces and use C++ linkage for nanopb-generated sources.
* Regenerate nanopb sources as C++
* Add generated C++ nanopb sources to the podspec
2018-11-06 13:26:50 -08:00
davidair b032cccdf1 Changing the internal testing repo (#2003) 2018-10-25 15:02:23 -04:00
Ryan Wilson ec748a5265 Merge branch 'master' into release-5.11.0 2018-10-24 14:26:35 -04:00
Paul Beusterien dceda76446 Remove unnecessary OCMock Podfile dependencies (#1969) 2018-10-19 10:06:20 -07:00
Ryan Wilson 9fe54ed34b Update versions for Release 5.11.0 2018-10-17 11:25:40 -04:00