Skip to content

Releases: mozilla/application-services

v96.2.0

04 Jan 16:33
846359b
Compare
Choose a tag to compare

v96.2.0 (2023-01-03)

Full Changelog

Nimbus ⛅️🔬🔭

What's Changed

  • Fixed an issue where the NimbusQueues protocol was missing from the NimbusApi (#5298)

✨ What's New ✨

  • Added eventLastSeen query to the event store and jexl transforms (#5297)
  • Introduced the NimbusBuilder for Swift (#5307)

Tabs

What's Changed

  • Fixed a regression causing failure to read old tabs databases (#5286)

Autofill

🦊 What's Changed 🦊

  • Exposed autofill api to iOS consumer and resolved createKey function conflict with the Logins component.

v96.1.3

09 Dec 01:11
09274eb
Compare
Choose a tag to compare

v96.1.3 (2022-12-08)

Full Changelog

Tabs

What's Changed

  • Fixed a regression causing failure to read old tabs databases (#5286)

v96.1.2

07 Dec 23:25
4180331
Compare
Choose a tag to compare

v96.1.2 (2022-12-07)

Full Changelog

Logins

What's changed

  • Removes Fennec migration code. The function importMultiple no longer exists. (#5268)

Nimbus

What's Changed

  • Event store date comparison logic update to be entirely relative (#5265)
  • Updates event store to initialize all dates at the start of the current year (#5279)
  • Adds new Kotlin/Swift methods to clear the event store (#5279)
  • Adds Swift methods to wait for operation queues to finish (#5279)

Places

What's changed

  • Removes Fennec migration code. (#5268)
    The following functions no longer exist:
    • importBookmarksFromFennec
    • importPinnedSitesFromFennec
    • importVisitsFromFennec

Viaduct

What's New

  • Allow viaduct to make requests to the android emulator's host address via
    a new viaduct_allow_android_emulator_loopback() (in Rust)/allowAndroidEmulatorLoopback() (in Kotlin)
    (#5270)

Tabs

What's changes

  • The ClientRemoteTabs struct/interface now has a last_modified field which is the time
    when the device last uploaded the tabs.

v96.1.1

01 Dec 21:07
Compare
Choose a tag to compare

v96.1.1 (2022-12-01)

Full Changelog

autofill

What's Changed

  • Fixed a bug where scrub_encrypted_data() didn't update the last sync time, which prevented the scrubbed CC data
    from being fixed.
  • Don't report sentry errors when we try to decrypt the empty string. This happens when the consumer tries to decript
    a CC number after scrub_encrypted_data() is called.

logins

What's Changed

  • Don't report Origin is Malformed errors to Sentry. This is a known issue stemming from FF Desktop sending us
    URLs without a scheme. See #5233 for details.

places

What's Changed

  • Switch to using incremental vacuums for maintenance, which should speed up the process.
  • Don't report places relative URL without a base to Sentry. This is a known issue caused by Fenix sending us URLs
    with an invalid scheme (see #5235)

v96.1.0

29 Nov 21:41
ce8f176
Compare
Choose a tag to compare

v96.1.0 (2022-11-29)

Full Changelog

FxA Client

What's new

  • Exposed a new function for swift consumers resetPersistedState
    • resetPersistedState can be used to refresh the account manager to reflect the latest persisted state.
    • resetPersistedState should be called in between a different account manager instance persisting the state, and the current account manager persisting state
      • For example, the Notification Service in iOS creates its own instance of the account manager, changes its state (by changing the index of the last retrieved send tab)
      • The main account manager held by the application should call resetPersistedState before calling any other method that might change its state. This way it can retrieve the most up to date index that the Notification Services persisted.

What's changed

  • The processRawIncomingAccountEvent function will now process all commands, not just one. This moves the responsibilty of ensuring each push gets a UI element to the caller.

v96.0.1

18 Nov 20:06
Compare
Choose a tag to compare

v96.0.1 (2022-11-18)

Full Changelog

Logins

What's Changed

  • Updated the URL redaction code to remove potential PII leak. Version 96.0.0 should not be used by downstream clients.

Nimbus

What's changed

  • Add methods to Kotlin and Swift to call the record event method on the nimbus client (#5244)

FxA Client

What's changed

  • The devices retrieved from the devices list are now only the devices that have been accessed in 21 days. This should help remove duplicates and idle devices for users. (#4984)

Changes from v96.0.0 (2022-11-16)

Listed here because v96.0.0 was unpublished

Full Changelog

⛅️🔬🔭 Nimbus

✨ What's New ✨

  • active_experiments is available to JEXL as a set containing slugs of all enrolled experiments (#5227)
  • Added Behavioral Targeting/Display Triggers accessible from JEXL for experiments and messages (#5226, #5228)
  • Android only: added a new NimbusBuilder method to unify Fenix and Focus startup sequences. (5239)

⚠️ Breaking Changes ⚠️

  • Changed the type of customTargetingAttributes in NimbusAppSettings to a JSONObject. The change will be breaking only for Android. (#5229)
  • Android only: Removed the initialize() methods in favor of NimbusBuilder class. (5239)

Logins

What's Changed

  • Include a redacted version of the URL in the Sentry error report when we see a login with an invalid origin field.
  • Made it so InvalidDatabaseFile errors aren't reported to Sentry. These occurs when a non-existent path is passed
    to migrateLoginsWithMetrics(), which happens about 1-2 times a day. This is very low volume, the code is going
    away soon, and we have a plausible theory that these happen when Fenix is killed after the migration but before
    SQL_CIPHER_MIGRATION is stored.

Places

What's Changed

  • Report a Sentry breadcrumb when we fail to parse URLs, with a redacted version of the URL.

JwCrypto

What's Changed

  • Log a breadcrumb with a redacted version of the crypto key when it has an invalid form (before throwing
    DeserializationError)

v95.0.1

03 Nov 19:49
f1276e4
Compare
Choose a tag to compare

v95.0.1 (2022-11-03)

Full Changelog

General

- Added function to unset the app-services error reporter

v95.0.0

31 Oct 19:02
Compare
Choose a tag to compare

v95.0.0 (2022-10-28)

Full Changelog

General

What's fixed

  • Fixed a bug released in 94.3.1. The bug broke firefox-ios builds due to a name conflict. (#5181)

What's Changed

  • Updated UniFFI to 0.21.0. This improves the string display of the fielded errors on Kotlin. Currently only logins is using these errors, but we plan to start using them for all components.

Autofill

⚠️ Breaking Changes ⚠️

  • The autofill API now uses AutofillApiError instead of AutofillError. AutofillApiError exposes a smaller number of variants, which
    will hopefully make it easier to use for the consumer.

Logins

⚠️ Breaking Changes ⚠️

  • Renamed LoginsStorageError to LoginsApiError, which better reflects how it's used and makes it consistent with
    the places error name.
  • Removed the LoginsApiError::RequestFailed variant. This was only thrown when calling the sync-related methods
    manually, rather than going through the SyncManager which is the preferred way to sync. Those errors will now be
    grouped under LoginsApiError::UnexpectedLoginsApiError.

What's Changed

  • Added fields to errors in logins.udl. Most variants will now have a message field.

Nimbus ⛅️🔬🔭

What's Changed

  • Disabled Glean events recorded when the SDK is not ready for a feature (#5185)
  • Add struct for IntervalData (behavioral targeting) (#5205)
  • Calls to log::error have been replaced with error_support::report_error (#5204)

Places

⚠️ Breaking Changes ⚠️

  • Renamed PlacesError to PlacesApiError, which better reflects that it's used in the public API rather than for
    internal errors.
  • Removed the JsonError, InternalError, and BookmarksCorruption variants from places error. Errors that
    resulted in InternalError will now result in UnexpectedPlacesError. BookmarksCorruption will also result in
    an UnexpectedPlacesError and an error report will be automatically generated. JsonError didn't seem to be
    actually used.

Tabs

⚠️ Breaking Changes ⚠️

  • The tabs API now uses TabsError with TabsApiError. TabsApiError exposes a smaller number of variants, which
    will hopefully make it easier to use for the consumer.

v94.2.2

14 Oct 20:27
4e1c650
Compare
Choose a tag to compare

v94.2.2 (2022-10-14)

Full Changelog

Nimbus ⛅️🔬🔭

What's Changed

  • Disabled Glean events recorded when the SDK is not ready for a feature (#5185)

v94.3.2

13 Oct 17:51
Compare
Choose a tag to compare

v94.3.2 (2022-10-13)

Full Changelog

General

What's Changed

  • Android: Reverted NDK back to r21d from r25b. (#5156)

Sync Manager

What's Changed

- Syncing will sync each engine in a deterministic order which matches desktop ([#5171](https://github.com/mozilla/application-services/issues/5171))