Releases: mozilla/application-services
Releases · mozilla/application-services
v147.0
v147.0 (2025-12-07)
Relay
- Added
fetch_profile()method to check premium subscription status viahas_premiumfield (#7113)
Nimbus
⚠️ Breaking Changes ⚠️
- Removed unused
home_directoryfield from AppContext. Both Kotlin and Swift sides were passing null values and it wasn't used anywhere. (#7085) (#30782)
rc_crypto
- Thread-safety improvements for PKCS-token-dependent methods by introducing a
global mutex. Refactored key unpacking logic and removed redundant code;
includes some breaking API changes, but since the keydb feature is not yet in
use, these do not affect existing consumers.get_aes256_keynow returns aResult<Option<Key>>to distinguish missing
keys from errorsget_or_create_aes256_keyonly creates a key when none exists.- When the keydb feature is enabled,
ensure_nss_initializedis disabled in
favor ofensure_nss_initialized_with_profile_dir.
Logins
create_login_store_with_nss_keymanagerreturns anApiResultnow, instead
of just panicking.- fix
count_by_originandcount_by_form_action_originwith punicode origins
Places
v145.0.2
What's Changed
- This brings in #7093 to reduce the crash frequency for
https://bugzilla.mozilla.org/show_bug.cgi?id=1992149.
Full Changelog: v145.0.1...v145.0.2
v146.0.2
What's Changed
- This brings in #7093 to reduce the crash frequency for
https://bugzilla.mozilla.org/show_bug.cgi?id=1992149.
Full Changelog: v146.0.1...v146.0.2
v146.0.1
What's Changed
- This brings in mozilla/uniffi-rs#2733, to reduce the crash frequency for
https://bugzilla.mozilla.org/show_bug.cgi?id=1992149.
Full Changelog: v146.0...v146.0.1
v145.0.1
What's Changed
- This brings in mozilla/uniffi-rs#2733, to reduce the crash frequency for
https://bugzilla.mozilla.org/show_bug.cgi?id=1992149.
Full Changelog: v145.0...v145.0.1
v146.0
v146.0 (2025-11-10)
✨ What's New ✨
Autofill
- Adds a migration to migrate users to use subregion codes over fully qualified strings. (bug 1993388)
Relay
- Added Remote Settings integration to determine site eligibility for displaying Relay UI. The new
RelayRemoteSettingsClientfetches allowlist/denylist data, andshould_show_relay()provides subdomain-aware domain matching to decide when to show Relay email mask suggestions. (#7039)
🦊 What's Changed 🦊
Android
- Upgraded NDK from r28c to r29. (#7014)
Glean
- Updated to v66.0.0 (#7025)
Nimbus
- The
participationfield is no longer required in the Cirrus
EnrollmentRequesttype. Instead, when users opt-out, the client application
should no longer send enrollment requests to Cirrus.
(#7030)
v145.0
v145.0 (2025-10-13)
✨ What's New ✨
Swift
- Added
@unchecked Sendableto classes that conform toFeatureManifestInterface. (#6963)
Ads Client
- Added the Ads Client component to the Megazord.
- Updated the ApiError enum to AdsClientApiError to avoid naming collision.
- The
context_idis now generated and rotated via the existing eponym component crate.
Relay
⚠️ Breaking Change: The error handling for the Relay component has been refactored for stronger forward compatibility and more transparent error reporting in Swift and Kotlin via UniFFI.- API and network errors from the Relay server are now converted to a single
RelayApiError::Api { status, code, detail }variant, exposing the HTTP status code, a machine-readable error code (if present), and a human-readable detail message. - Downstream client apps can now handle server errors based on both the
statusanderror_codefields directly, without additional changes to the Rust component - even as server-side error codes evolve. - Consumers must update their error handling code to match the new
Api { status, code, detail }shape.
- API and network errors from the Relay server are now converted to a single
Places
places::storage::history_metadata::get_most_recent(limit: i32)was added to get most recent history metadata limited to a number. (#7002)
FxA Client
- Expose
getAttachedClientsfrom the uniffi layer in the Android wrapper.
🦊 What's Changed 🦊
Docs
- Updated the components strategy doc to better reflect the current state of application services. (#6991)
v144.0
v143.0
🦊 What's Changed 🦊
Android
- Upgraded NDK from r28b to r28c. (#6848)
Logins
- Updated logins verification telemetry so it can be used in iOS(#6832)
- Updated insert statement to allow updating previously deleted logins via
add_with_meta.
Webext-Storage
- Added
get_keys()method (bug 1978718)
Search
- Added
SearchEngineUrl::is_new_until(bug 1979962) - Added
SearchEngineUrl::exclude_partner_code_from_telemetry(bug 1980474) - Added
SearchEngineUrl::accepted_content_types
RC Crypto
- Fix NSS bindings for key management
Mozilla Ads Client
- Created a new component,
ads-client
v142.0
Logins
- expose constructors for
ManagedEncryptorDecryptorandNSSKeyManager - change PrimaryPasswordAuthenticator callbacks to be async (a breaking change, but not yet used by anyone)
- return Result in PrimaryPasswordAuthenticator callbacks (again a breaking change, but not yet used by anyone)
- add factory for login store with nss key manager:
create_login_store_with_nss_keymanagerto avoid round-tripping the KeyManager trait interface through JS. - add LoginStore
shutdown()function to close database connection - extend LoginStore
shutdown()to also remove the encdec
Nimbus SDK ⛅️🔬🔭
- Updated the Nimbus API Stage URL
- Updated the Nimbus SDK to support setting Gecko preferences (#6826).
Nimbus FML && CLI
- handle http status codes when fetching feature manifests from GitHub.
Search
SearchEngineUrlsnow has an optionalvisual_searchfield, supporting
visual search endpoints in engine configs.SearchEngineUrlnow has an optionaldisplay_namefield, which is useful if
a URL corresponds to a brand name distinct from the engine's brand name.