v155.0 (2026-08-13)
✨ What's Changed ✨
Ads-Client
- Add
AdsClient::shutdown(), which closes the database connection early so it happens before Firefox Desktop's late-write shutdown barrier rather than during GC. In addition, this drops all held UniFFI callbacks (held in the MozAdsTelemetryWrapper) to avoid crash on a Firefox Desktop quit.
Autofill
- Add
Store::shutdown(), which closes the database connection early so it happens before Firefox Desktop's late-write shutdown barrier rather than during GC. Operations after shutdown returnDatabaseClosed. (Bug 2050036) - Add address metadata APIs for importing records already persisted elsewhere:
add_address_with_meta,add_many_addresses_with_meta,update_address_with_metaandadd_many_address_tombstones, with the bulk variants isolating per-record failures.AddressMetacarries the guid, timestamps andsync_change_counter, so a record keeps whether it still has changes pending upload. - Add
Store::addresses_bridged_engine(), exposing the existing address sync engine throughmozIBridgedSyncEngineso Firefox Desktop can drive address sync.
Fxa Client
- The
CheckAuthorizationStatusandDisconnectevents are now valid from all states exceptUninitialized.
In the cases where the failed before, they're now no-ops.
Nimbus
NimbusClient::get_available_firefox_labs()now includes detailed debug level logging for each processed lab. (#7482)
Remote Settings
- Replacing v1 routes with v2 routes, removing added v2 routes (#7492)
- Verify signature of imported data when
.get()is called withsync_if_empty: true(#7518) - Do not quote
_sincevalues with the v2 API (#7523)
Sync Manager
SyncManager::sync()now fails immediately with a newSyncManagerError::Busywhen a sync is already in progress, instead of blocking until it finishes.