Releases: mozilla/rust-components-swift
Releases · mozilla/rust-components-swift
96.2.1
v96.2.1 (2023-01-04)
Places
What's changed
- Limited the number of visits to migrate for History to 10,000 visits. (#5310)
96.2.0
v96.2.0 (2023-01-03)
Nimbus ⛅️🔬🔭
What's Changed
- Fixed an issue where the NimbusQueues protocol was missing from the NimbusApi (#5298)
✨ What's New ✨
- Added
eventLastSeen
query to the event store and jexl transforms (#5297) - Introduced the
NimbusBuilder
for Swift (#5307)
Tabs
What's Changed
- Fixed a regression causing failure to read old tabs databases (#5286)
Autofill
🦊 What's Changed 🦊
- Exposed autofill api to iOS consumer and resolved
createKey
function conflict with the Logins component.
96.1.3
v96.1.3 (2022-12-08)
Tabs
What's Changed
- Fixed a regression causing failure to read old tabs databases (#5286)
96.1.2
v96.1.2 (2022-12-07)
Logins
What's changed
- Removes Fennec migration code. The function
importMultiple
no longer exists. (#5268)
Nimbus
What's Changed
- Event store date comparison logic update to be entirely relative (#5265)
- Updates event store to initialize all dates at the start of the current year (#5279)
- Adds new Kotlin/Swift methods to clear the event store (#5279)
- Adds Swift methods to wait for operation queues to finish (#5279)
Places
What's changed
- Removes Fennec migration code. (#5268)
The following functions no longer exist:importBookmarksFromFennec
importPinnedSitesFromFennec
importVisitsFromFennec
Viaduct
What's New
- Allow viaduct to make requests to the android emulator's host address via
a new viaduct_allow_android_emulator_loopback() (in Rust)/allowAndroidEmulatorLoopback() (in Kotlin)
(#5270)
Tabs
What's changes
- The ClientRemoteTabs struct/interface now has a last_modified field which is the time
when the device last uploaded the tabs.
96.1.0
v96.1.0 (2022-11-29)
FxA Client
What's new
- Exposed a new function for swift consumers
resetPersistedState
resetPersistedState
can be used to refresh the account manager to reflect the latest persisted state.resetPersistedState
should be called in between a different account manager instance persisting the state, and the current account manager persisting state- For example, the Notification Service in iOS creates its own instance of the account manager, changes its state (by changing the index of the last retrieved send tab)
- The main account manager held by the application should call
resetPersistedState
before calling any other method that might change its state. This way it can retrieve the most up to date index that the Notification Services persisted.
What's changed
- The
processRawIncomingAccountEvent
function will now process all commands, not just one. This moves the responsibilty of ensuring each push gets a UI element to the caller.
96.0.1
v96.0.1 (2022-11-18)
Logins
What's Changed
- Updated the URL redaction code to remove potential PII leak. Version
96.0.0
should not be used by downstream clients.
Nimbus
What's changed
- Add methods to Kotlin and Swift to call the record event method on the nimbus client (#5244)
FxA Client
What's changed
- The devices retrieved from the devices list are now only the devices that have been accessed in 21 days. This should help remove duplicates and idle devices for users. (#4984)
95.0.1
v95.0.1 (2022-11-03)
General
- Added function to unset the app-services error reporter
95.0.0
v95.0.0 (2022-10-28)
General
What's fixed
- Fixed a bug released in 94.3.1. The bug broke firefox-ios builds due to a name conflict. (#5181)
What's Changed
- Updated UniFFI to 0.21.0. This improves the string display of the fielded errors on Kotlin. Currently only logins is using these errors, but we plan to start using them for all components.
Autofill
⚠️ Breaking Changes ⚠️
- The autofill API now uses
AutofillApiError
instead ofAutofillError
.AutofillApiError
exposes a smaller number of variants, which
will hopefully make it easier to use for the consumer.
Logins
⚠️ Breaking Changes ⚠️
- Renamed
LoginsStorageError
toLoginsApiError
, which better reflects how it's used and makes it consistent with
the places error name. - Removed the
LoginsApiError::RequestFailed
variant. This was only thrown when calling the sync-related methods
manually, rather than going through the SyncManager which is the preferred way to sync. Those errors will now be
grouped underLoginsApiError::UnexpectedLoginsApiError
.
What's Changed
- Added fields to errors in
logins.udl
. Most variants will now have amessage
field.
Nimbus ⛅️🔬🔭
What's Changed
- Disabled Glean events recorded when the SDK is not ready for a feature (#5185)
- Add struct for IntervalData (behavioral targeting) (#5205)
- Calls to
log::error
have been replaced witherror_support::report_error
(#5204)
Places
⚠️ Breaking Changes ⚠️
- Renamed
PlacesError
toPlacesApiError
, which better reflects that it's used in the public API rather than for
internal errors. - Removed the
JsonError
,InternalError
, andBookmarksCorruption
variants from places error. Errors that
resulted inInternalError
will now result inUnexpectedPlacesError
.BookmarksCorruption
will also result in
anUnexpectedPlacesError
and an error report will be automatically generated.JsonError
didn't seem to be
actually used.
Tabs
⚠️ Breaking Changes ⚠️
- The tabs API now uses
TabsError
withTabsApiError
.TabsApiError
exposes a smaller number of variants, which
will hopefully make it easier to use for the consumer.
94.3.0
v94.3.0 (2022-09-20)
General
What's Changed
- Rust toolchain has been bumped to 1.63 and minimum version bumped to 1.61 to comply with our Rust Policy
- Android: Upgraded NDK from r21d to r25b. (#5142)
Places
What's Changed
- Added metrics for the
run_maintenance()
method. This can be used by consumers to decide when to schedule the nextrun_maintenance()
call and to check if calls are taking too much time.
What's new
- Exposed a function in Swift
migrateHistoryFromBrowserDb
to migrate history frombrowser.db
toplaces.db
, the function will migrate all the local visits in one go. (#5077).- The migration might take some time if a user had a lot of history, so make sure it is not run on a thread that shouldn't wait.
- The migration runs on a writer connection. This means that other writes to the
places.db
will be delayed until the migration is done.
Nimbus
What's Changed
- Added
applyLocalExperiments()
method as short hand forsetLocalExperiments
andapplyPendingExperiments
. (#5131)applyLocalExperiments
andapplyPendingExperiments
now returns a cancellable job which can be used in a timeout.initialize
function takes a raw resource file id, and returns a cancellableJob
.
94.1.0
v94.1.0 (2022-08-18)
Nimbus
What's new
- Added telemetry to track how often apps query for variables before Nimbus is initialized. (#5091)