Skip to content

Releases: mozilla/application-services

v147.0

08 Dec 00:17

Choose a tag to compare

v147.0 (2025-12-07)

Relay

  • Added fetch_profile() method to check premium subscription status via has_premium field (#7113)

Nimbus

⚠️ Breaking Changes ⚠️

  • Removed unused home_directory field 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_key now returns a Result<Option<Key>> to distinguish missing
      keys from errors
    • get_or_create_aes256_key only creates a key when none exists.
    • When the keydb feature is enabled, ensure_nss_initialized is disabled in
      favor of ensure_nss_initialized_with_profile_dir.

Logins

  • create_login_store_with_nss_keymanager returns an ApiResult now, instead
    of just panicking.
  • fix count_by_origin and count_by_form_action_origin with punicode origins

Places

  • places::storage::history_metadata::get_most_recent_search_entries() was added to fetch the most recent search entries in history metadata. (#7104)
  • places::storage::history_metadata::delete_all_metadata_for_search() was added to delete the search terms in history metadata. (#7101)

Full Changelog

v145.0.2

24 Nov 14:25

Choose a tag to compare

What's Changed

Full Changelog: v145.0.1...v145.0.2

v146.0.2

24 Nov 14:25

Choose a tag to compare

What's Changed

Full Changelog: v146.0.1...v146.0.2

v146.0.1

17 Nov 03:20

Choose a tag to compare

What's Changed

Full Changelog: v146.0...v146.0.1

v145.0.1

17 Nov 15:02

Choose a tag to compare

What's Changed

Full Changelog: v145.0...v145.0.1

v146.0

10 Nov 17:21

Choose a tag to compare

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 RelayRemoteSettingsClient fetches allowlist/denylist data, and should_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 participation field is no longer required in the Cirrus
    EnrollmentRequest type. Instead, when users opt-out, the client application
    should no longer send enrollment requests to Cirrus.
    (#7030)

Full Changelog

v145.0

13 Oct 13:26
f881713

Choose a tag to compare

v145.0 (2025-10-13)

✨ What's New ✨

Swift

  • Added @unchecked Sendable to classes that conform to FeatureManifestInterface. (#6963)

Ads Client

  • Added the Ads Client component to the Megazord.
  • Updated the ApiError enum to AdsClientApiError to avoid naming collision.
  • The context_id is 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 status and error_code fields 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.

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 getAttachedClients from 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)

Full Changelog

v144.0

15 Sep 13:19
9580865

Choose a tag to compare

v144.0 (2025-09-15)

✨ What's New ✨

OHTTP Client

  • The as-ohttp-client component is being reintroduced to allow firefox-ios to
    optionally submit Glean pings over OHTTP.

🦊 What's Changed 🦊

Android

  • Bumped the minimum SDK version to 26 (Android 8). (#6926

Glean

  • Updated to v65.0.0 (#6901)

Full Changelog

v143.0

18 Aug 15:07

Choose a tag to compare

🦊 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

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

Full Changelog

v142.0

21 Jul 16:51
b2fb41c

Choose a tag to compare

Logins

  • expose constructors for ManagedEncryptorDecryptor and NSSKeyManager
  • 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_keymanager to 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

  • SearchEngineUrls now has an optional visual_search field, supporting
    visual search endpoints in engine configs.
  • SearchEngineUrl now has an optional display_name field, which is useful if
    a URL corresponds to a brand name distinct from the engine's brand name.

Full Changelog