-
1.6.0 Release: 1.6.0
🍥 1.6.0 - 2024-04-08 🍥 ======================== ## General - Start generating type definitions and include type checks in CI. (!941) - Remove unused minification build of the core project. (EE-314) - Changed the default output of the scripts from `scriptsOutput/custom-subscriptions.json` to `scriptsOutput/custom-mv3-subscriptions.json` (!1017) ## Fixes - We now wait for 2 seconds more (configurable in `Prefs.edge_one_click_allowlisting_delay`) in the one click allowlisting scenario on Edge to let it actually finish adding allowlisting DNR rules. This is an increase from 1 second. (EE-258) - No longer log an error to the console when the history state updates on a page where our content script is not injected, for example on an extension page. (EE-349) - Events are no longer emitted for removed subscriptions. (EE-355) - When a subscription update fails because the limit on disabled static DNR rules is reached, the subscription's download status will now be set to `synchronize_diff_too_many_filters`. (EE-356) - Disabled static DNR rules no longer contribute to the disabled static DNR rule limit after the subscription is disabled or removed. (EE-356) - The wildcards in the URL portion of request filters are now working in MV3 as before 1.2.4. This impacts the generation of DNR rules. (EE-366) - Fixed documentation errors. (!1021) - `saveMigrationError` is not publicly accessible and should not have appeared in the API docs. - The snippets injection code example in the readme was incorrectly updated suggesting that the parameters passed to `EWE.snippets.setSnippetLibrary` had changed when they had not. - Added the `synchronize_invalid_data` status to the documented list of values for `downloadStatus` on subscriptions.
-
1.5.0 Release: 1.5.0
🌳 1.5.0 - 2024-03-06 🌳 ======================== # General - Subscriptions now have a new property `lastModified` to match the `! Last modified:` header from the filter lists. It is used to determine when a subscription is too old to receive new diffs. (EE-297) - The `downloadStatus` of the subscription has a new possible value. When the download of a diff fails, `downloadStatus` will be set to the new error `synchronize_diff_too_old` if the diff is over 6 weeks old, or `synchronize_connection_error` otherwise. (EE-297) - Allow subscriptions on abptestpages.org for testing purpose. (EE-323) - Use the actual dynamic filters quota API property (increase from 5K to 30K dynamic rules limit on Chrome/Edge 121+). (EE-315) - Bundled subscription information (including diffUrl) is now updated when the extension is updated. (EE-328) - Now we check whether snippets are initialized with `setSnippetLibrary()` and warn if necessary. (EE-342) - Added a new feature flagging mechanism. This adds a new property to the configuration passed to `EWE.start()`, which can be used to turn on features which are still in development. (EE-337) - Support for inline CSS filters is now behind a feature flag, and is disabled by default. If you try to add an inline CSS filter with this feature disabled, it will be an `InvalidFilter` with a reason of `filter_unknown_option`. This can be enabled by setting the `inlineCss` feature flag to `true` when calling `EWE.start()`. (EE-337) # Fixes - Port is now ignored when matching with wildcards. (EE-288) - Subscription now have their diffs downloaded immediately after migration. We no longer migrate `lastDownload` when going from MV2 to MV3. (EE-326) - Fixed a bug where blocked images might be not hidden in some cases. (EE-325) - We now wait for 1 second more (configurable in `Prefs.edge_one_click_allowlisting_delay`) in one click allowlisting scenario on Edge to let it actually finish adding allowlisting DNR rules. (EE-258) - Fixed a bug where filter normalization was incorrectly applied when using diff updates in MV3. Un-normalized `remove` filters were not being applied. # Custom User Subscriptions in MV3 - Enabled custom user subscriptions in MV3 extensions. (EE-117) - If `EWE.subscriptions.add()` is called with a subscription URL that is not one of the subscriptions bundled with the extension, the subscription will be added as a custom user subscription. The filter text will be downloaded from the provided URL in the same manner as MV2 subscriptions. - Declarative Net Request rules applied by custom user subscriptions use dynamic rules, and so there is a limit to how big these subscriptions can be. If the subscription requires more rules to update than are available, it will no longer update, and will have a `downloadStatus` of `synchronize_too_many_filters`. - If there is an unexpected unknown error when applying the DNR updates, `downloadStatus` will be set to `synchronize_dnr_error`. - When an extension migrates from MV2 to MV3, any subscriptions that the user had in the MV2 extension which are not bundled in the MV3 extension are migrated to custom user subscriptions. - If an extension had previously upgraded from MV2 to MV3, these custom subscriptions would have been saved as subscription migration errors. When updating the extension to this version of the SDK, these migration errors will now be recovered into custom subscriptions. If you have not upgraded to this version of the SDK yet, please avoid clearing the migration errors until after updating and calling EWE.start. - When an MV3 extension is updated, and a previously bundled subscription is no longer bundled in the new version of the extension, the subscription will not be migrated to a custom user subscription. It will be removed entirely. - When an MV3 extension is updated, and user's custom subscription is now bundled with the extension, their custom subscription will be converted into a normal MV3 subscription, including using the bundled subscription's metadata, static rules, and diff updates. ## Browser Support Updates - From now on, the latest versions of Chromium, Firefox, and Edge are supported by the engine (latest versions at the time of release).
-
1.4.0 Release: 1.4.0
🔽 1.4.0 - 2024-01-26 🔽 ======================== # General - Add support for an inline CSS action on elemhide emulation filters with the syntax `example.com#?##elem-id {property: value;}`. Multiple properties can be included inside the curly braces. These filters are only allowed for privileged subscriptions. (EE-261) - Dramatically improved the performance on single-page websites that are using History API (eg. Youtube). Reapplied "Content filters are now updated via the `history.pushState()` event, when single page apps navigate using the browser's history API (EE-14, EE-90)". (EE-300, EE-303) # Fixes - Fixed a bug where $document filters were not being applied to iframes if the source URL of that iframe is set via javascript. (EE-307)
-
1.3.1 Release: 1.3.1
📘 1.3.1 - 2024-01-19 📘 ======================== # Fixes - Added the `injectImmediately` flag when injecting main context snippets in MV3. This applies the snippets earlier in the page loading lifecycle. See [MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/scripting/executeScript#injectimmediately) for more details. (CV-2037) - Handle first party requests in third party iframes correctly. (EE-304) - Reverted "Content filters are now updated via the `history.pushState()` event, when single page apps navigate using the browser's history API (EE-14, EE-90)". (EE-300) - Fixed not disabling rules from static rulesets. (EE-294) - Fixed a bug where removing a user filter ends up removing it from a subscription. - `EWE.subscriptions.addDefaults()` no longer throws an error when there are no subscriptions tailored to the user's language. (EE-301) - Fixed a bug of not allowlisting with sitekey in case of unhappy events order from the browser. (EE-281)
-
1.3.0 Release: 1.3.0
📣 1.3.0 - 2024-01-03 📣 ======================== - Added wildcard domains support for content filtering in elemHide. (EE-248) - URL filters with wildcards (.*) are no longer converted into DNR rules as Chromium does not support it. (EE-274) - Exposed a new `EWE.filters.normalize()` function. (EE-11) - Add support for a "remove" action on elemhide emulation filters with the syntax `example.com#?##elem-id {remove: true;}`. Matched elements will be removed from the DOM, rather than just hidden. (EE-255) - Elemhide emulation filters with the "remove" action now emit `onBlockableItem` events when the element is removed, the same as normal element hiding filters. They can be distinguished from normal element hiding because the filter has the property `remove` set to `true`. (EE-293) - Fixed not sending a notification when subscription downloading is finished. (EE-285) - This engine now supports up to: - Chromium 120 - Edge 120 - Firefox 120
-
0.13.2 Release: 💋 0.13.2 - 15/11/2023 💋