Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
afa38e4
Initial implementation of impression capping in MAC
jonesetc Jul 7, 2026
f05ec7d
relay: ensure API types are public (#7424)
bendk Jul 7, 2026
62b6645
Consolidate all bridged engine wrappers into a single wrapper and mac…
mhammond Jul 8, 2026
83422fa
fxa-client: fix sync key invariant checks so they are only done after…
mhammond Jul 8, 2026
3af675e
Add IE and PL to merino curated recs (#7463)
adudenamedruby Jul 8, 2026
60ee4f0
Bug 1868418 - Rerun ensure capabilities after logging in (#7457)
bendk Jul 8, 2026
03bc665
Bug 2052250 - add support for re-enrolling into rollouts (#7466)
moibra05 Jul 8, 2026
c407fd1
fxa-client: add has_scope() method. (#7459)
mhammond Jul 9, 2026
93cab40
test Logins.add_with_meta with duplicate ids (#7462)
jo Jul 9, 2026
b42e063
Bug 2053557 - remove all logins without decrypting (#7467)
jo Jul 9, 2026
8a3a986
Rename the viaduct Android package to `viaduct`. (#7453)
bendk Jul 10, 2026
b49b946
Bug 2050966 - Remove stale code in RustComponentsErrorTelemetry.kt (#…
bendk Jul 10, 2026
621bc6e
Update crossbeam-epoch (#7470)
bendk Jul 14, 2026
686f39a
Make Login::shutdown release its EncryoptorDecryptor (#7476)
jo Jul 15, 2026
2489a78
Revert "Make Login::shutdown release its EncryoptorDecryptor (#7476)"…
jo Jul 16, 2026
f7ce81b
don't clone the encdec in the logins sync engine (#7478)
jo Jul 16, 2026
2a293ef
doc: Minor details to documentation for building A-S (#7477)
thesuzerain Jul 16, 2026
30e9a52
Bug 2055331 - Report reason in unenrollment telemetry (#7480)
freshstrangemusic Jul 16, 2026
dd532b3
RMST-464: remote-settings: Skip verification of unknown signatures ty…
leplatrem Jul 17, 2026
dff667a
Bug 2054982 - Finer grained locking for RemoteSettingService (#7474)
bendk Jul 17, 2026
116e362
Bug 2054479 - Require targeting and bucketing for Firefox Labs (#7481)
freshstrangemusic Jul 17, 2026
829e5cd
Don't invoke the browser to login to the fxa example. (#7486)
mhammond Jul 20, 2026
7eeec69
Start release v155.0 (#7489)
dsmithpadilla Jul 20, 2026
573c503
Update sqlite optimize flags to match Firefox Desktop (#7485)
shawnz Jul 22, 2026
6aa846f
Bug 2050036 - Add Store::shutdown() to close the autofill DB connecti…
DimiDL Jul 24, 2026
c7ab05f
Switch fxa-client to proc-macros (#7493)
bendk Jul 24, 2026
a969245
Add opt-in `mozbuild-rustlib` Cargo feature chain and `link_nss` impl…
ahochheiden Jul 27, 2026
ba39037
Source uniffi Kotlin from the `mozilla-central` checkout when mozconf…
ahochheiden Jul 28, 2026
93fb713
CI: Update the Rust image in use (#7505)
badboy Jul 28, 2026
ad2ebff
RMST-472 - Make remote-settings v2 routes the default going forward (…
alexcottner Jul 28, 2026
c1d4f84
Only build `glean-sym` on Android and iOS (#7507)
ahochheiden Jul 29, 2026
bfa48d7
Use android-components publish.gradle for app-services components (#7…
ahochheiden Jul 29, 2026
be6bc6c
Package `libmegazord.so` into full-megazord AAR with NSS dependencies…
ahochheiden Jul 29, 2026
f6cf01c
Remove unused `error_support` macro re-exports in application-service…
ahochheiden Jul 29, 2026
44c9901
Skip the `kotlin-android` plugin under AGP 9 for mozilla-central buil…
ahochheiden Jul 29, 2026
22c7d72
Normalize app-services groupId for mozilla-central builds and fix moz…
ahochheiden Jul 29, 2026
26a5e3a
Reference `UNIFFI_META_*` symbols in the megazord stub so the linker …
ahochheiden Jul 30, 2026
dfd981f
Implement SyncEngine::wipe for the logins engine (#7515)
mhammond Jul 30, 2026
c2780a3
SyncEngine::wipe no longer has a default panicing implementation (#7516)
mhammond Jul 30, 2026
213b760
Bug 2055524 - Add debug logging to NimbusClient::get_available_firefo…
freshstrangemusic Jul 30, 2026
5015a4d
Bug 2058816 - updating get_base_url and get_url in remote_settings to…
alexcottner Jul 30, 2026
fb23a0e
Fix `groupId` dropping the `.nightly` suffix (#7519)
ahochheiden Jul 31, 2026
3c61070
feat(remote-settings): RMST-484: verify signatures with sync_if_empty…
leplatrem Jul 31, 2026
d435907
Bug 2059169 - Allow CheckAuthorizationStatus from more states (#7514)
bendk Jul 31, 2026
daa888f
test: Updating older cross-build smoke tests (iOS, Android) (#7487)
thesuzerain Jul 31, 2026
4ddf0ad
fix(remote-settings): SYNC-5384: Do not quote timestamps with v2 API …
leplatrem Aug 4, 2026
a3bfd05
Fix grafana dashboard datasources (#7522)
bendk Aug 5, 2026
c4ea7bd
Update toolchain paths for clang-22 (#7525)
rvandermeulen Aug 5, 2026
32f011d
Add address metadata APIs and a bridged sync engine to autofill (#7513)
DimiDL Aug 6, 2026
e06058b
Bug 2055621 - viaduct: only link to sqlite when the ohttp feature is …
nicolas-guichard Aug 6, 2026
ce60482
[AC-152] Fixes moz ads telemetry UniFFI callback leak (#7520)
thesuzerain Aug 6, 2026
05d709f
E type alias in state machine transition code (#7530)
bendk Aug 7, 2026
58308de
Bug 2061224 - Make `Disconnect` idempotent (#7529)
bendk Aug 7, 2026
1d96928
Fix FxA state machine spelling (#7528)
bendk Aug 7, 2026
cb1008b
sync-manager no longer queues syncs. (#7532)
mhammond Aug 8, 2026
53445e4
Remote settings fetch breadcrumbs (#7537)
bendk Aug 10, 2026
ea50770
Remove moz.build files (#7538)
nicolas-guichard Aug 11, 2026
a302cce
Initial implementation of impression capping in MAC
jonesetc Jul 7, 2026
c204406
update docs
jonesetc Aug 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .buildconfig-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,13 @@ projects:
- name: rust-log-forwarder
type: aar
description: Forward logs from Rust
httpconfig:
viaduct:
path: components/viaduct/android
artifactId: httpconfig
artifactId: viaduct
publications:
- name: httpconfig
- name: viaduct
type: aar
description: Component allowing the configuration of Rust HTTP stack.
description: Rust HTTP bridge.
push:
path: components/push/android
artifactId: push
Expand Down
2 changes: 1 addition & 1 deletion .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ uniffi-bindgen = ["run", "--package", "embedded-uniffi-bindgen", "--"]
uniffi-bindgen-library-mode = ["run", "--package", "uniffi-bindgen-library-mode", "--"]
dev-install = ["install", "asdev"]
verify_env = ["asdev", "verify_env"]
fxa = ["run", "-p", "examples-fxa-client", "--"]
fxa = ["run", "-p", "examples-fxa-client", "--example", "fxa-client", "--"]
suggest-bench = ["bench", "-p", "suggest-bench"]
suggest-debug-ingestion-sizes = ["run", "-p", "suggest-bench", "--bin", "debug_ingestion_sizes"]
relevancy = ["run", "-p", "examples-relevancy-cli", "--"]
Expand Down
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ commands:
build-desktop-libs:
steps:
- run: sudo apt-get update
- run: sudo apt-get install python tcl
- run: sudo apt-get install python3 tcl
- run: sudo apt-get install python3-venv
- run: sudo apt-get install libclang-dev
- run:
Expand Down Expand Up @@ -196,7 +196,7 @@ executors:
# Unfortunately some of our jobs can only run successfully on macos.
docker:
docker:
- image: cimg/rust:1.53.0
- image: cimg/rust:1.91.0
macos:
macos:
xcode: "26.0"
Expand Down
59 changes: 56 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,49 @@
# v154.0 (In progress)
# v155.0 (In progress)

[Full Changelog](In progress)

## ✨ 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 return `DatabaseClosed`. ([Bug 2050036](https://bugzilla.mozilla.org/show_bug.cgi?id=2050036))
- Add address metadata APIs for importing records already persisted elsewhere: `add_address_with_meta`, `add_many_addresses_with_meta`, `update_address_with_meta` and `add_many_address_tombstones`, with the bulk variants isolating per-record failures. `AddressMeta` carries the guid, timestamps and `sync_change_counter`, so a record keeps whether it still has changes pending upload.
- Add `Store::addresses_bridged_engine()`, exposing the existing address sync engine through `mozIBridgedSyncEngine` so Firefox Desktop can drive address sync.

### Fxa Client
- The `CheckAuthorizationStatus` and `Disconnect` events are now valid from all states except `Uninitialized`.
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](https://github.com/mozilla/application-services/pull/7482))

### Remote Settings
- Replacing v1 routes with v2 routes, removing added v2 routes ([#7492](https://github.com/mozilla/application-services/pull/7339))
- Verify signature of imported data when `.get()` is called with `sync_if_empty: true` ([#7518](https://github.com/mozilla/application-services/pull/7518))
- Do not quote `_since` values with the v2 API ([#7523](https://github.com/mozilla/application-services/pull/7523))

### Sync Manager

- `SyncManager::sync()` now fails immediately with a new `SyncManagerError::Busy` when a sync is already in progress, instead of blocking until it finishes.

# v154.0 (_2026-07-20_)

## ✨ What's Changed ✨

### Firefox Accounts

- Session-token authenticated requests to the FxA auth-server now use the typed-Bearer token scheme (`Authorization: Bearer fxs_<token_id>`) instead of Hawk. This is an internal change with no consumer-facing API impact; production routes accept both schemes. See the [authentication schemes reference](https://mozilla.github.io/ecosystem-platform/reference/authentication-schemes). ([#PRNUM](https://github.com/mozilla/application-services/pull/PRNUM))
- Session-token authenticated requests to the FxA auth-server now use the typed-Bearer token scheme (`Authorization: Bearer fxs_<token_id>`) instead of Hawk. This is an internal change with no consumer-facing API impact; production routes accept both schemes. See the [authentication schemes reference](https://mozilla.github.io/ecosystem-platform/reference/authentication-schemes). ([#7432](https://github.com/mozilla/application-services/pull/7432))

[Full Changelog](In progress)
### Remote Settings

- Skip verification of signatures with unknown signature types ([Bug 2055147](https://bugzilla.mozilla.org/show_bug.cgi?id=2055147))

[Full Changelog](https://github.com/mozilla/application-services/compare/v153.0...v154.0)

## ✨ What's New ✨

Expand All @@ -16,6 +53,21 @@
### Logins

- Add `LoginStore.bridgedEngine()`, which exposes the logins sync engine to Desktop's Sync. ([bug 2049263](https://bugzilla.mozilla.org/show_bug.cgi?id=2049263))
- Add `LoginStore.delete_all()`, which deletes all logins
and `delete_all_axcept_fxa()`, which deletes all logins preserving the FxA session-credentials login
and `LoginStore.wipe_local_except_fxa()`, a variant of `wipe_local()` that preserves the FxA session-credentials login
([#7467](https://github.com/mozilla/application-services/pull/7467)) ([Bug 2053557](https://bugzilla.mozilla.org/show_bug.cgi?id=2053557))

## 🔧 What's Fixed 🔧

### Logins

- The logins sync engine no longer holds its own long-lived clone of the `EncryptorDecryptor`, fetching it from the store on demand instead. This ensures no dangling reference keeps a foreign (e.g. JS) callback handle alive past `shutdown()`. ([#7478](https://github.com/mozilla/application-services/pull/7478))

### Nimbus

- Reasons are now reported in unenrollment events. ([#7480](https://github.com/mozilla/application-services/pull/7480))
- The available Firefox Labs are now filtered by targeting and bucketing. ([#7481](https://github.com/mozilla/application-services/pull/7481))

# v153.0 (_2026-06-15_)

Expand All @@ -31,6 +83,7 @@
- init_backend and `viaduct_init_backend_hyper` no longer throw an error if they're called multiple times.
Instead, we report the error via the Rust components error ping.
This is a breaking change for iOS, since the functions no longer throw.
- Renamed the Android package to `mozilla.appservices.viaduct`

## 🔧 What's Fixed 🔧

Expand Down
51 changes: 7 additions & 44 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading