All Versions
144
Latest Version
Avg Release Cycle
21 days
Latest Release
76 days ago

Changelog History
Page 6

  • v4.33.0 Changes

    October 11, 2019

    โž• Added

    โช Firestore

    • ๐Ÿ“š You can now access your project's Firestore database. (Documentation)

    General

    • ๐Ÿ“š It is now possible to override the HTTP Handler used for API requests. (Documentation)

    ๐Ÿ”„ Changes

    Messaging

    • When sending a message with a notification that has neither a title nor a body, the Firebase API returns an error. This is now prevented by checking for the existence of one of both when creating a notification. It is still possible to explicitely use empty strings.

    Storage

    General

    • ๐Ÿ—„ Using the Kreait\Firebase class has been deprecated. Please instantiate the services you need directly:

      <?phpuse Kreait\Firebase;# deprecated$firebase = (new Firebase\Factory())// ->withServiceAccount(...)// ->...->create();$auth = $firebase->getAuth();$database = $firebase->getDatabase();$messaging = $firebase->getMessaging();$remoteConfig = $firebase->getRemoteConfig();$storage = $firebase->getStorage();# recommended$factory = (new Firebase\Factory())// ->withServiceAccount(...)// ->...// no call to ->create();$auth = $factory->createAuth();$database = $factory->createDatabase();$messaging = $factory->createMessaging();$remoteConfig = $factory->createRemoteConfig();$storage = $factory->createStorage();

    • When using Kreait\Firebase\Factory::withServiceAccount() auto-discovery will be disabled.

    • ๐Ÿ‘‰ Calling a deprecated method will trigger a E_USER_DEPRECATED warning (only if PHP is configured to show them).

  • v4.32.0 Changes

    September 13, 2019

    โž• Added

    Dynamic Links

    • ๐Ÿ“š You can now create Dynamic Links and retrieve statistics for Dynamic Links. (Documentation)
      use Kreait\Firebase;
    
      $firebaseFactory = new Firebase\Factory();
    
      $dynamicLinksDomain = 'https://example.page.link';
      $dynamicLinks = $firebaseFactory->createDynamicLinksService($dynamicLinksDomain);
    
      $shortLink = $dynamicLinks->createShortLink('https://domain.tld/some/path');
      $stats = $dynamicLinks->getStatistics('https://example.page.link/wXYZ');
    

    ๐Ÿ”„ Changes

    General

    • It is now possible to give the path to a Service Account JSON file directly to the factory instead of instantiating a ServiceAccount instance beforehand.
      use Kreait\Firebase;
    
      $firebase = (new Firebase\Factory())
          ->withServiceAccount('/path/to/google-service-account.json')
          ->create();
    

    Realtime Database

    • ๐Ÿ—„ Kreait\Firebase\Database::getRules() has been deprecated in favor of Kreait\Firebase\Database::getRuleSet()
  • v4.31.0 Changes

    August 22, 2019

    ๐Ÿ›  Bugfixes

    Messaging

    • ๐Ÿ›  Fixed the inability to correctly parse a response from the Firebase Batch Messaging when Messaging::sendMulticast() or Messaging::sendAll() was used with only one recipient.

    ๐Ÿ”„ Changed

    Auth

    • ๐Ÿ—„ The third parameter of Kreait\Firebase\Auth::verifyIdToken() ($allowTimeInconsistencies) has been deprecated because, since 4.25.0, a default leeway of 5 minutes is already applied. Using it will trigger a E_USER_DEPRECATED warning.
    • 0๏ธโƒฃ Previously the "verified" status of an user email could be null if not defined - it will now be false by default
  • v4.30.1 Changes

    August 17, 2019

    ๐Ÿ”„ Changed

    Database

    • ๐Ÿ›  Fixed a deprecation warning when getting the root reference with Kreait\Firebase\Database::getReference() without giving a path.

    Messaging

    • ๐Ÿ“œ When sending multiple messages at once, it can happen in some cases that the HTTP sub-responses can not be parsed which would cause an exception. Until we figure out the cause, those exceptions are now caught, with the caveat that the resulting send-report is not correct (it will show 0 successes and 0 failures even if the messages were successfully sent).
  • v4.30.0 Changes

    August 16, 2019

    ๐Ÿ”„ Changed

    Kreait\Firebase\Factory now exposes the methods to create the single components (Auth, Messaging, Remote Config, Storage) directly in order to enable its usage in kreait/laravel-firebase.

  • v4.29.0 Changes

    August 13, 2019

    โž• Added

    Cloud Messaging

    • โž• Added Kreait\Firebase\Messaging::sendAll() to send up to 100 messages to multiple targets (tokens, topics, and conditions) in one request. (Documentation)
    • A condition will now ensure that no more than five topics are provided. Previously, the Firebase REST API would have rejected the message with a non-specific "Invalid condition expression provided."

    Remote Config

    • The Remote Config history can now be filtered. (Documentation)
    • A published Remote Config template now contains a version that can be retrieved with Kreait\Firebase\RemoteConfig\Template::getVersion()
    • The parameters of a Remote Config template can now be retrieved with Kreait\Firebase\RemoteConfig\Template::getParameters()

    ๐Ÿ”„ Changed

    Cloud Messaging

    • Kreait\Firebase\Messaging::sendMulticast() now makes full use of the FCM batch API, resulting in substantial performance improvements.
    • Values passed to Kreait\Firebase\Messaging\MessageData::withData() will now be cast to strings instead of throwing InvalidArgument exceptions when they are not strings.
  • v4.28.0 Changes

    July 29, 2019

    โž• Added

    General

    • The SDK is now able to handle connection issues more gracefully. The following exceptions will now be thrown when a connection could not be established:
      • Kreait\Firebase\Auth\ApiConnectionFailed
      • Kreait\Firebase\Database\ApiConnectionFailed
      • Kreait\Firebase\Messaging\ApiConnectionFailed
      • Kreait\Firebase\RemoteConfig\ApiConnectionFailed

    Cloud Messaging

    • It is now possible to retrieve extended information about application instances related to a registration token, including the topics an application instance/registration token is subscribed to. (Documentation)

    ๐Ÿ”„ Changed

    General

    • ๐Ÿ‘ป Each component now has its own catchable exception interface, e.g. Kreait\Firebase\Exception\AuthException or Kreait\Firebase\Exception\DatabaseException.
    • The following exceptions are now interfaces implemented by specific errors instead of extensible classes:
      • Kreait\Firebase\Exception\AuthException
      • Kreait\Firebase\Exception\DatabaseException (new)
      • Kreait\Firebase\Exception\MessagingException
      • Kreait\Firebase\Exception\RemoteConfigException
    • ๐Ÿ— Kreait\Firebase\Auth\CustomTokenViaGoogleIam is no longer using deprecated methods to build a custom token.
    • ๐Ÿ—„ Getting requests and responses from exceptions is now considered deprecated. If you want to debug HTTP requests, use the Firebase factory to debug the HTTP client via configuration or an additional middleware.
  • v4.27.0 Changes

    July 19, 2019

    โž• Added

    Cloud Messaging

    • Notifications can now be provided with an image URL (Documentation)
    • You can use Kreait\Firebase\Messaging\RawMessageFromArray(array $data) to create a message without the SDK checking it for validity before sending it. This gives you full control over the sent message, but also means that you have to send/validate a message in order to know if it's valid or not. (Documentation)
    • It is now possible to add platform independent FCM options to a message. (Documentation)

    ๐Ÿ”„ Changed

    Cloud Messaging

    • โœ‚ Removed ability to specify multiple message targets (Condition/Token/Topic) at once when creating an FCM message through CloudMessage::fromArray(). Previously, only the first matched target was used. Now, an InvalidArgument exception is thrown.
  • v4.26.0 Changes

    June 23, 2019

    ๐Ÿš€ This is an under-the-hood release and should not affect any existing functionality:

    • Internal classes have been marked as @internal
    • Micro-Optimizations
    • PHPStan's analysis level has been set to max
    • psr/simple-cache was implicitely required and is now explicitely required
    • ๐Ÿ‘ท Simplified the Travis CI configuration (this should now enably PRs to be tested without errors)
  • v4.25.0 Changes

    June 12, 2019

    When verifying ID tokens a leeway of 5 minutes is applied when verifying time based claims.