Commit Graph
45 Commits
Author SHA1 Message Date
Maksym MalyhinandPaul Beusterien 497d08b71d Core: fix and cleanup notification center tests (#7244)
* Fix log diagnostics tests and remove unused notification

* Replace deprecated OCMock methods with notification expectations

* Bump Core and CoreDiagnostics versions

* Defer Core version update until release

Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
2021-01-05 12:22:06 -05:00
Gran dc05755db8 Add test coverage to podspecs. (#7228) 2020-12-30 12:50:32 -08:00
Paul Beusterien 451a6c24c2 Restore Catalyst unit testing in CI (#7185) 2020-12-17 07:45:13 -08:00
Paul Beusterien 4424e9a5d3 Bump nanopb to 0.3.9.7 (#7108) 2020-12-11 07:04:34 -08:00
Paul Beusterien 7134db831f Update versions for Release 7.3.0 2020-12-04 07:48:50 -08:00
Ryan Wilson 594fd8d426 Merge release 7.2.0 (#7077) 2020-12-02 15:56:17 -08:00
2c8ed61b87 Merge release 7.1.0 (#6944)
* Update versions for Release 7.1.0

* 7.1.0 update version of close source podspecs

* Release 7.1.0 cherry picks (#6917)

* FCM: Fix crash on iOS 14 when multiple app delegate completion methods are called (#6863)

* Fix crash on iOS 14 when multiple completion methods are called

* Fixed lint

* Addressed the PR comments & implemented unit tests

* Reverted auto-extracted method

* Re-organized tests

* Added completion handler for FIRAuth

* Manifest: GDT 8.0.1

* Update Changelogs for 7.1.0 (#6913)

* Changelogs

Co-authored-by: Mike Gerasimenko <github@gerasimenko.me>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>

* Bump GDT podspec version to 8.0.1

* 7.1.0 SPM Analytics (#6933)

* Carthage update 7.1.0 (#6943)

Co-authored-by: Mike Gerasimenko <github@gerasimenko.me>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
2020-11-11 09:25:42 -05:00
Paul Beusterien b283c58529 Update GDT version for M82 (#6729) 2020-10-14 12:32:31 -04:00
Paul Beusterien dafade5026 Bump nanopb to fix Xcode 12 warning (#6659) 2020-10-05 09:50:50 -07:00
Paul Beusterien 83e898ab5c One Firebase version (#6634) 2020-10-02 12:26:22 -07:00
Paul Beusterien f2bcd5d82b Make all GoogleUtilities APIs public (#6588) 2020-09-29 07:26:10 -07:00
Paul Beusterien 3ca4e99c0e Stop requiring pods to be static frameworks (#6557) 2020-09-28 14:08:16 -07:00
Paul Beusterien eea957561c Merge remote-tracking branch 'origin/master' into pb-f7-msg-update 2020-09-22 15:46:23 -07:00
Paul Beusterien a39b515f3a Update podspecs to min iOS 10 (#6517) 2020-09-22 15:11:35 -07:00
Maksym Malyhin a7b4349080 Bump CoreDiagnostics and GDT version (#6440) 2020-09-11 14:17:28 -04:00
Maksym Malyhin 0dcd986282 FirebaseCoreDiagnostics: add a dummy public header to define other as internal (#6442)
* FirebaseCoreDiagnostics: add a dummy public header to define other as internal

* Version bump

* new line
2020-09-11 13:45:08 -04:00
Paul Beusterien 1ccb1e801d M78 Changelogs - SwiftPM and watchOS updates (#6292) 2020-08-18 10:03:53 -07:00
f33276f530 Update nanopb py3 0.3.9.5 -> 0.3.9.6 (#6214)
* update nanopb from 0.3.9.5 to 0.3.9.6

This fixes issues building firestore SDK with Python3.
Interestingly, latest version 0.4.2 still errors during the build
but 0.3.9.6 works. The git commit for this fix in nanopb
https://github.com/nanopb/nanopb/commit/63f8e5e4946a5f8f0211b454bd37187871c3d023

* Update generated sources

* updating just nanopb dependency version

nanopb updated from 0.3.9.5 to 0.3.9.6
(pod version 1.30905.0 to 1.30906.0)

* Add missing source specifier

* Generated files for protos using nanopb 0.3.9.6

* removed unnecessary whitespaces in files generated by protoc

* using more qualified relative paths for header includes

* Changelog

Co-authored-by: Marek Gilbert <mcg@google.com>
Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
2020-08-14 14:13:01 -07:00
Paul Beusterien a220ab1363 Add SPM support for CoreDiagnostics (#6233) 2020-08-10 07:46:19 -07:00
Paul Beusterien 9a24e538a2 Update podspec dependencies for 6.30.0 (#6203) 2020-08-04 12:27:12 -07:00
Maksym Malyhin 05b2458394 Merging the 6.28.0 release into master (#6040)
* Update versions for Release 6.28.0

* Release 6.28.0 - GDT cherry pick of #6010 and #6032 (#6035)

* [GDTCORUploadCoordinator startTimer]: don't restart timer if already started (#6032)

* [GDTCORUploadCoordinator startTimer]: don't restart timer if already started

* style

* `GDTCORUploadCoordinator.timer` - nullable

* GDTCORUploadCoordinator test utils thread safety.

* GDTCORFlatFileStorage: keep not expired events when expired batch removed (#6010)

* GDTCORFlatFileStorage: expiration clean up tests

* GDTCORFlatFileStorage: keep not expired events when expired batch removed

* Cleanup

* Cleanup

* Comments

* Comments

* Remove additional delays in tests

* style

* Changelog

* Changelog: remove 7.0.1
2020-07-14 20:09:13 -04:00
Paul Beusterien 5a5914da7e GDT Repo-relative imports and SPM (#5909) 2020-06-24 17:50:15 -07:00
Paul Beusterien e03a8d91a0 Consolidate GDT and GDTCCT to a single pod (#5902) 2020-06-24 14:09:46 -07:00
Michael Haney 62a98dc01e Update versions and dependencies (#5888)
* Update versions and dependencies

* Fix GDTCCT version
2020-06-23 16:24:30 -07:00
Paul Beusterien 5f370d6395 Release 6.27.0 (#5830) 2020-06-16 09:15:04 -07:00
Paul Beusterien 3f556ddb9e Update GoogleUtilities' clients with repo-relative imports (#5824) 2020-06-16 09:05:29 -07:00
Paul Beusterien e15724a436 Migrate from interop pods to source_files header access (#5760) 2020-06-09 06:09:27 -07:00
Michael Haney 4f88be1118 Update GDT CHANGELOGs, versions, and dependencies. (#5480) 2020-04-28 11:11:11 -07:00
Paul Beusterien 68513286e3 Update nanopb to 0.3.9.5 (CocoaPods 1.30905.0) (#4264) 2020-04-27 17:09:59 -07:00
Maksym MalyhinandMichael Haney b2ee5f3a62 Release 6.23.0 (#5426)
* Update versions for Release 6.23.0

* Add FIAM to release manifest (#5383)

* Don't leak upload packages or deadlock on lifecycle events (#5382) (#5384)

* Don't leak upload packages or deadlock on lifecycle events

GDTCORUploadPackages would call targetToStorage in -initWithTarget. When this method was running during app terminate, this would cause a deadlock because calling targetToStorage is re-entrant while GDTCORRegistrar is sending lifecycle events to all the instances it's tracking.

NSTimer's invalidate method is also called whenever a package is completed, retried, or expired, without regard to the presence of a package handler.

A unit test is added to ensure that GDTCORUploadPackage's are not leaked by a retain

TSAN caught no issues

* Don't mark GDTCORUploadPackage -init as unavailable

Co-authored-by: Michael Haney <mikehaney24@users.noreply.github.com>

* FIAM bump podspec version to 0.19.3 (#5386)

* M69: add FIS. (#5412)

* M69: add FIS.

* Bump FIS version to 1.2.0

Co-authored-by: Michael Haney <mikehaney24@users.noreply.github.com>
2020-04-21 14:34:28 -04:00
Michael Haney b6bda076e6 Update CHANGELOGs and GDT versions and dependencies (#5354)
* Update CHANGELOGs and GDT versions and dependencies

* Update FIRCD CHANGELOG as well

* remove unreleased section from changelogs
2020-04-13 17:04:41 -07:00
Ryan Wilson b38f44d1d5 Merging the 6.22.0 release into master (#5319) 2020-04-08 16:44:22 -07:00
Maksym MalyhinandSam Edson ae7a3de1bd Merge release 6.19.0 (#5058)
* Update versions for Release 6.19.0

* GoogleDataTransportCCTSupport - bump GoogleDataTransport dependency to ~> 5.0

* FirebaseCoreDiagnostics 1.2.2 - bump GoogleDataTransportCCTSupport dependency to ~> 2.0 (#5016)

* M66 FirebaseCoreDiagnostics added to the release manifest (#5018)

* M66 FIAM GoogleDataTransportCCTSupport dependency bump to '~> 2.0' (#5019)

* Cherry Pick Crashlytics Upload Symbols (#5046) (#5047)

Co-authored-by: Sam Edson <samedson@google.com>

* M66: Crashlytics dependency versions update.

Co-authored-by: Sam Edson <samedson@google.com>
2020-03-10 17:54:29 -04:00
Ryan Wilson f9a0ee2727 Merging the 6.18.0 release into master (#4974)
* Update versions for Release 6.18.0

* Forward declare class to fix linting. (#4935)

* Revert "Forward declare class to fix linting. (#4935)" (#4937)

This reverts commit 64bbf378bb.
2020-02-26 08:43:38 -08:00
Michael Haney 30e1ff345e Fix checking the result of malloc (#4878)
* Fix checking the result of malloc

Also make FIRCoreDiagnostics project generable again

* Fix compilation error

* Update CHANGELOGs
2020-02-10 12:54:27 -08:00
2328d1f365 Merging the 6.15.0 release into master (#4682)
* Update versions for Release 6.15.0

* Update podspec dependencies for M62 (#4640)

* Cherry-picks for M62. (#4650)

* Include GoogleUtilities in the release manifest.

* Crashlytics fix header import ordering issue (#4649)

Co-authored-by: Sam Edson <samedson@google.com>

Co-authored-by: Ryan Wilson <wilsonryan@google.com>
2020-01-14 16:21:34 -08:00
Chen Liang e4456c011b Enables Firebase Messaging push notification function on watch only and independent watch app (#4016) 2019-12-23 16:45:19 -08:00
Maksym Malyhin a1f89955e9 CoreDiagnostics and GDT patch version bump (#4357) 2019-11-19 13:05:41 -05: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
Ryan Wilson 21fa390c4b Fix nanopb dependencies for CoreDiagnostics. (#3914) 2019-09-24 11:01:45 -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 0358696d8e Release 6.6.0 - GDT Patch update (#3543) 2019-08-08 16:01:25 -07:00
Paul Beusterien 24a58ad86a Release 6.6.0 (#3518) 2019-08-07 11:03:41 -07:00
Michael Haney 076833f54b Increment the dependency of GDTCCT in FIRCD (#3407) 2019-07-22 11:53:35 -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