Skip to content

Releases: mozilla/rust-components-swift

91.0.1

03 Feb 18:16
001d704
Compare
Choose a tag to compare

v91.0.1 (2022-02-02)

This release has a significant change to how the components are published.

We now only publish one library, called MozillaAppServices. This is to fix problems with having multiple libraries dynamically loaded into the app.

Full Changelog

Places

What's Changed

  • The database initialization code now uses BEGIN IMMIDIATE to start a
    transaction. This will hopefully prevent database is locked errors when
    opening a sync connection.

What's New

  • The HistoryVisitInfo struct now has an is_remote boolean which indicates whether the
    represented visit happened locally or remotely. (#4810)

91.0.0

01 Feb 22:27
53d2f85
Compare
Choose a tag to compare

v91.0.0 (2022-01-31)

Full Changelog

Nimbus FML

What's New

  • The Nimbus FML can now generate swift code for the feature manifest. (#4780)
    • It can be invoked using:
    $ nimbus-fml <FEATURE_MANIFEST_YAML> -o <OUTPUT_NAME> ios features
    • You can check the support flags and options by running:
    $ nimbus-fml ios --help
    • The generated code exposes:
      • a high level nimbus object, whose name is configurable using the --classname option. By default the object is MyNimbus.
      • All the enums and objects defined in the manifest as idiomatic Swift code.
    • Usage:
      • To access a feature's value:
        // MyNimbus is the class that holds all the features supported by Nimbus
        // MyNimbus has an singleton instance, you can access it using the `shared` field:
        
        let nimbus = MyNimbus.shared
        
        // Then you can access the features using:
        // MyNimbus.features.<featureNameCamelCase>.value(), for example:
        
        let feature = nimbus.features.homepage.value()
      • To access a field in the feature:
        // feature.<propertyNameCamelCase>, for example:
        
        assert(feature.sectionsEnabled[HomeScreenSection.topSites] == true)

⚠️ Breaking Changes ⚠️

  • Android only: Accessing drawables has changed to give access to the resource identifier. (#4801)

    • Migration path to the old behaviour is:
    let drawable: Drawable = MyNimbus.features.exampleFeature.demoDrawable

    becomes:

    let drawable: Drawable = MyNimbus.features.exampleFeature.demoDrawable.resource

General iOS

What's changed

  • Moved SwiftKeychainWrapper from an external Swift Package to be bundled with FxA. This is due to issues Firefox iOS had with their dependency tree. (#4797)
  • Exposed all crates as targets for the XCFramework. (#4797)

90.0.0

25 Jan 16:46
4ca440b
Compare
Choose a tag to compare

90.0.0 (2022-01-25)

Places

⚠️ Breaking Changes ⚠️

  • Places has been completely UniFFI-ed

Glean

⚠️ Breaking Changes ⚠️

  • The bundled version of Glean has been updated to v43.0.2.
    See the Glean Changelog for full details.
    BREAKING CHANGE: Pass build info into initialize, which contains the build date.
    A suitable instance is generated by glean_parser in GleanMetrics.GleanBuild.info.

Nimbus

What's new

  • The Nimbus SDK now support application version targeting, where experiment creators can set app_version|versionCompare({VERSION}) >= 0 and the experiments will only target users running VERSION or higher. (#4752)
    • The versionCompare transform will return a positive number if app_version is greater than
      VERSION, a negative number if app_version is less than VERSION and zero if they are equal
    • VERSION must be passed in as a string, for example: app_version|versionCompare('95.!') >= 0 will target users who are on any version starting with 95 or above (95.0, 95.1, 95.2.3-beta, 96 etc..)

87.2.0

03 Jan 20:38
f7401cb
Compare
Choose a tag to compare

Please see https://github.com/mozilla/application-services/releases/tag/v87.2.0 for the latest application-services changes associated with this release.

87.1.0

03 Dec 18:20
23371da
Compare
Choose a tag to compare

v87.1.0 (2021-12-02)

Full Changelog

Logins

What's changed

  • The update() and add_or_update() methods will log rather than return an error when trying to update a duplicate login (#4648)

Logins, Places, SyncManager

What's Changed

  • These packages all use parking_lot::Mutex instead of std::Mutex, meaning we should no
    longer see errors about mutexes being poisoned.

Push

What's fixed

  • Fixes a bug where the subscriptions would fail because the server didn't return the uaid, this seems to happen only when the client sends request that include the uaid.(#4697)

General

  • We now use xcode 13.1 to generate our iOS build artifacts for firefox-ios. (#4692)

87.0.0

23 Nov 19:36
89f530f
Compare
Choose a tag to compare

Changelog:

  • Changes the versioning scheme of rust-components-swift to match application-services

0.0.8

26 Oct 21:45
e8d9b43
Compare
Choose a tag to compare
  • Updated generated logins to include new Glean integration

0.0.7

21 Oct 21:57
0fde703
Compare
Choose a tag to compare
  • Updated the Application Services artifacts from CI to build in release mode

0.0.6

14 Oct 19:38
f63709d
Compare
Choose a tag to compare

What's Changed

  • Updates glean to 42.0.1 in #11

Full Changelog: 0.0.5...0.0.6

0.0.5

13 Oct 18:49
b530ffb
Compare
Choose a tag to compare
  • Added Places as a swift package