Skip to content
Tags give the ability to mark specific points in history as being important
  • 1.5.0
    0a1f671f · 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.2.4
    37d9c633 · 1.2.4 ·
    Release: 1.2.4
  • 1.4.1
    9ebfb80a · 1.4.1 ·
    Release: 1.4.1
    📠 1.4.1 - 2024-02-02 📠
    ========================
    
    # Fixes
    
    - Fixed a bug where elements to be collapsed would stay visible on edge cases. (EE-282)
    - Fixed a crash on message sent from a popup. (EE-320)
  • 1.3.2
    332e42d4 · 1.3.2 ·
    Release: 1.3.2
  • 1.2.3
    1f61001d · 1.2.3 ·
    Release: 1.2.3
    🕑 1.2.3 - 2024-01-30 🕑
    ========================
    
    - 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.4.0
    b12093e0 · 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
    b8edb267 · 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.2.2
    0de9e344 · 1.2.2 ·
    Release: 1.2.2
  • 1.1.3 Release: 1.1.3
  • 1.2.1 Release: 1.2.1
  • 1.1.2 Release: 1.1.2
  • 1.3.0
    0ce20061 · 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
  • 1.2.0
    967a57a2 · 1.2.0 ·
    Release: 1.2.0
  • 0.13.3 Release: 0.13.3
  • 0.13.2 Release: 💋 0.13.2 - 15/11/2023 💋
  • 1.1.1 Release: 1.1.1
  • 1.1.0 Release: 1.1.0
  • 0.13.1
    f2e93634 · fix typo [skip CI] ·
    Release: 0.13.1
  • 1.0.0 Release: 1.0.0
  • 0.13.0 Release: 0.13.0