Update webext-sdk dependency to 0.7.2
Background / User story
We need to integrate a version of EWE that provides us with core ad blocking functionality that's compatible with Manifest v3, so that we can generate a first version of Adblock Plus based on Manifest v3. Furthermore, we need full support for the SDK API (e.g. EWE.reporting.onBlockableItem
) in order to avoid/minimize regressions in Adblock Plus.
EWE milestone: https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/milestones/19
Dependency changes
- Name: webext-sdk
- New version: 0.7.2 (incl. 0.7.0, 0.7.1)
-
Breaking changes:
- https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/323 - Upgraded minimum supported Chromium version for Manifest v3 to 102
-
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/354 -
subscriptions.remove()
now throws -
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/357 - Removed
subscriptions.validate()
- https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/377 - Recommendation URLs are different under Manifest v3
-
Other changes:
-
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/345 - Added
subscriptions.clearMigrationError()
andsubscriptions.getMigrationErrors()
-
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/358 - Added
subscriptions.ACCEPTABLE_ADS_ID
andsubscriptions.ACCEPTABLE_ADS_PRIVACY_ID
- https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/366 - Manifest version was added to filter list requests
-
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/368 -
subscriptions.sync()
now returnsPromise
- https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/377 - Updated adblockpluscore to 0.10.0
- https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/394 - Updated adblockpluscore to 0.10.1
- Manifest v3 fixes:
- https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/352 - Both Acceptable Ads filter lists were preinstalled
- https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/358 - Acceptable Ads filter lists not recognized by settings page
- https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/368 - Made filter list update behavior consistent
- https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/380 - Sitekey filters are compatible with Manifest v3
- eyeo/adblockplus/abc/adblockpluscore#460 (closed) - Default subscriptions are compatible with Manifest v3
- User data migration
-
https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/345 - Added
Integration changes
- Legal: TBD
-
Development:
- Use @adblockinc/rules/dist/index/adblockplus.json index file also for Manifest v2 builds.
- Adjust code to avoid or handle errors thrown by
EWE.subscriptions.enable()/disable()/remove()
when calling it for a subscription that's not installed. - Ensure that
allowlisting.{onUnauthorized|setAllowlistingCallback|setAuthorizedKeys}
are called synchronously when the extension loads - Ensure that recommendation URLs are not hardcoded, as they will be different in Manifest v3.
- Use
EWE.subscriptions.getMigrationErrors()
to log errors that occurred during the data migration.
Hints for testers
We have partially skipped Feature QA for #1070 (closed), #1080 (closed) and #1086 (closed), because we couldn't verify that everything works as expected under Manifest v3 without filters being applied and generating filter hits.
- Default filter lists (incl. for Acceptable Ads) should be preinstalled and available/configurable via the UI on Manifest v2 (and v3) as before (e.g. users should be able to add/remove default filter lists).
- Adding/removing/enabling/disabling filter lists should not lead to any errors.
- Experimental Allowlisting API should work in Manifest v3.
- If any filter list couldn't be migrated from Manifest v2 to v3 (e.g. because it's a third-party filter list), the JavaScript console should show a message about it. Due to https://gitlab.com/eyeo/adblockplus/abc/webext-sdk/-/issues/385, the message may only be shown after the extension gets reloaded.
Edited by Thomas Greiner