github mozilla/application-services v0.24.0
0.24.0

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

v0.24.0 (2018-04-08)

Full Changelog

Megazords

Breaking Changes

  • Megazord initialization has changed. Megazords' init() function now takes a
    Lazy<mozilla.components.concept.fetch.Client> (from
    concept-fetch),
    which will be used to proxy all HTTP requests through. It will not be accessed
    until a method is called on rust code which requires the network. This
    functionality is not present in non-megazords. (#835)

    An example of how to initialize this follows:

    val megazordClass = Class.forName("mozilla.appservices.MyCoolMegazord")
    val megazordInitMethod = megazordClass.getDeclaredMethod("init", Lazy::class.java)
    val lazyClient: Lazy<Client> = lazy { components.core.client }
    megazordInitMethod.invoke(megazordClass, lazyClient)

    Or (if you don't have GeckoView available, e.g. in the case of lockbox):

    val megazordClass = Class.forName("mozilla.appservices.MyCoolMegazord")
    val megazordInitMethod = megazordClass.getDeclaredMethod("init", Lazy::class.java)
    // HttpURLConnectionClient is from mozilla.components.lib.fetch.httpurlconnection
    val lazyClient: Lazy<Client> = lazy { HttpURLConnectionClient() }
    megazordInitMethod.invoke(megazordClass, lazyClient)

General

  • Native code builds are now stripped by default, reducing size by almost an
    order of magnitude. (#913)
    • This is done rather than relying on consumers to strip them, which proved
      more difficult than anticipated.

Push

What's new

  • PushAPI now defines a number of default parameters for functions (#868)

Breaking changes

  • mozilla.appservices.push.BridgeTypes is now
    mozilla.appservices.push.BridgeType
    (#885)

Places

What's Fixed

  • Swift PlacesAPI methods are now externally accessible
    (#928)

Don't miss a new application-services release

NewReleases is sending notifications on new releases.