🦊 What's Changed 🦊
Android
- Upgraded the JNA dependency version to 5.17.0. (#6649)
- Updated to a newer version of Android Components (
139.0.20250417022706
). - Upgraded NDK from r28 to r28b. (#6723)
Glean
Logins
- New
NSSKeyManager
, which provides an NSS-backed key manager implementation.
Given aPrimaryPasswordAuthenticator
implementation, the NSS keystore is used
to store and retrieve the login encryption key. These features are only
available when the Logins component is compiled with thekeydb
feature.
(#6571)
Sync Pass Example
The sync-pass
example has been adapted to use the NSSKeyManager. The example
program can be called with an FX profile path in which the key is stored in the
file key4.db and secured with a possibly set primary password.
(#6571)
And it has been polished up a bit: passwords are no longer displayed in plain
text, the list view has been slimmed down and a detail view has been added.
(#6685)
- Added a function to locally remove corrupted logins. (#6667)
Remote Settings
- The
RemoteSettingsService
constructor andRemoteSettingsService::make_client
no longer perform any IO.
This integrates better with JS, which expects all IO to happen inside async functions. - Added
RemoteSettingsClient::close
, which can be used to close the underlying SQLite DB during down.
⚠️ Breaking Changes ⚠️
Remote Settings
- Several methods
RemoteSettingsService
are now infallible, which is a breaking change for Swift code.RelevancyStore
constructorRemoteSettingsService
constructorRemoteSettingsService::make_client()
SearchEngineSelector::use_remote_settings_server()
SuggestStore
constructor
OHTTP Client
- The now-unused
as-ohttp-client
component is now removed. It was previously
only used by firefox-ios but no longer is.