github mozilla/application-services v0.52.0

latest releases: v144.0, v143.0, v142.0...
5 years ago

v0.52.0 (2020-02-19)

Full Changelog

Sync

What's changed

  • Better caching of the tokenserver token and info/configuration response. (#2616)

  • Less network requests will be made in the case nothing has changed on the server. (#2623)

Places

What's changed

  • Added a new field reasons which is a List of SearchResultReasons in SearchResult. (#2564)

  • Some places import related issues fixed (#2536,
    #2607)

Breaking changes

  • Android: The PlacesWriterConnection.resetHistorySyncMetadata and PlacesWriterConnection.resetBookmarkSyncMetadata methods have been moved to the PlacesApi class. (#2668)
  • iOS: The PlacesWriteConnection.resetHistorySyncMetadata method has been moved to the PlacesAPI class. (#2668)

FxA Client

What's New

  • Android: FirefoxAccount.handlePushMessage now handles all possible FxA push payloads and will return new AccountEvents (#2522):

    • .ProfileUpdated which should be handled by fetching the newest profile.
    • .AccountAuthStateChanged should be handled by checking if the authentication state is still valid.
    • .AccountDestroyed should be handled by removing the account information (no need to call FirefoxAccount.disconnect) from the device.
    • .DeviceConnected can be handled by showing a " is connected to this account" notification.
    • .DeviceDisconnected should be handled by showing a "re-auth" state to the user if isLocalDevice is true. There is no need to call FirefoxAccount.disconnect as it will fail.
  • iOS: Added FxAccountManager.getSessionToken. Note that you should request the .session scope in the constructor for this to work properly. (#2638)

  • iOS: Added FxAccountManager.getManageAccountURL. (#2658)

  • iOS: Added FxAccountManager.getTokenServerEndpointURL. (#2658)

  • iOS: Added migration methods to FxAccountManager (#2637):

    • authenticateViaMigration will try to authenticate an account without any user interaction using previously stored account information.
    • accountMigrationInFlight and retryMigration should be used in conjunction to handle cases where the migration could not be completed but is still recoverable.
  • Added a deviceId property to the AccountEvent.deviceDisconnected enum case. (#2645)

  • Added context=oauth_webchannel_v1 in getManageDevicesURL methods for WebChannel redirect URLs. (#2658)

Breaking changes

  • Android: A few changes were made in order to decouple device commands from "account events" (#2522):

    • The AccountEvent enum has been refactored: .TabReceived has been replaced by .IncomingDeviceCommand(IncomingDeviceCommand), IncomingDeviceCommand itself is another enum that contains TabReceived.
    • FirefoxAccount.pollDeviceCommands now returns an array of IncomingDeviceCommand.
  • iOS: The FxaAccountManager class has been renamed to FxAccountManager. (#2637)

  • iOS: The FxAccountManager default applications scopes do not include .oldSync anymore. (#2638)

  • iOS: FxaAccountManager.getTokenServerEndpointURL now returns the full token server URL such as https://token.services.mozilla.com/1.0/sync/1.5. (#2676)

Push

What's New

  • Android: Exposed GeneralError to the Kotlin layer.

Don't miss a new application-services release

NewReleases is sending notifications on new releases.