github mozilla/application-services v161.0

4 hours ago

v161.0 (2026-11-05)

Full Changelog

✨ What's Changed ✨

Ads-Client

  • New ReportReason and MozAdsReportReason variants to match new reasons supported by MARS.
  • Added attempted in-memory fallback for inner http cache if no filesystem path is provided.
  • Ads are now read by their format: billboard, leaderboard, rectangle and skyscraper are images, spoc and tile keep their own shapes. An ad with any other format is skipped and recorded under deserialization_error/invalid_ad_item, instead of being read as an image.
  • The HTTP cache no longer stores error responses: a failed request is retried on the next call instead of being replayed for the cache TTL.
  • Every exported type and method has a docstring in the Kotlin and Swift bindings.
  • MozAdsRequestOptions.cachePolicy defaults to null, like the record's other fields.

Autofill

  • Fixed a crash or a silently dropped address or credit card when syncing after a sync reset or a migration into a new database: a local record that was also being downloaded could be taken as the duplicate of another incoming record with the same contents. (bug 2086214)
  • Credit card de-duplication during sync skips local cards with an empty or undecryptable number instead of failing the whole sync. (bug 2086214)
  • Updating or re-keying a missing record during sync returns a NoSuchRecord error instead of panicking. (bug 2086214)

Remote Settings

  • env.distribution in JEXL filter_expressions is now "default" when RemoteSettingsContext::distribution is unset, matching the Gecko client. Previously the field was absent from env. (bug 2068685)

Breaking Changes

Autofill

  • BREAKING: update_credit_card keeps the stored CVV when cc_cvv is None; Some("") clears it. Scrubbing encrypted data now clears the CVV along with the number. (bug 2085717)

Don't miss a new application-services release

NewReleases is sending notifications on new releases.