Releases: mozilla/rust-components-swift
Releases · mozilla/rust-components-swift
91.0.1
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.
Places
What's Changed
- The database initialization code now uses BEGIN IMMIDIATE to start a
transaction. This will hopefully preventdatabase is locked
errors when
opening a sync connection.
What's New
- The
HistoryVisitInfo
struct now has anis_remote
boolean which indicates whether the
represented visit happened locally or remotely. (#4810)
91.0.0
v91.0.0 (2022-01-31)
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 isMyNimbus
. - All the enums and objects defined in the manifest as idiomatic Swift code.
- a high level nimbus object, whose name is configurable using the
- 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)
- To access a feature's value:
⚠️ 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
90.0.0
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 byglean_parser
inGleanMetrics.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 runningVERSION
or higher. (#4752)- The
versionCompare
transform will return a positive number ifapp_version
is greater than
VERSION
, a negative number ifapp_version
is less thanVERSION
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 with95
or above (95.0
,95.1
,95.2.3-beta
,96
etc..)
- The
87.2.0
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
v87.1.0 (2021-12-02)
Logins
What's changed
- The
update()
andadd_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 ofstd::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 theuaid
.(#4697)
General
- We now use xcode 13.1 to generate our iOS build artifacts for firefox-ios. (#4692)
87.0.0
Changelog:
- Changes the versioning scheme of
rust-components-swift
to matchapplication-services