包详细信息

@ghostery/adblocker-puppeteer

ghostery38kMPL-2.02.12.4

Ghostery adblocker Puppeteer wrapper

自述文件

Pupeteer Adblocker

Efficient · Minimal · JavaScript · TypeScript · uBlock Origin- and Easylist-compatible
Node.js · Puppeteer · Electron · WebExtension

Github Actions Build Status Github Actions Assets Status Blazing Fast npm version weekly downloads from npm
code style: prettier Follow Ghostery on Twitter Dependabot License Badge LGTM Badge


Getting Started

Install: npm install --save @ghostery/adblocker-puppeteer.

Usage

For a complete example check-out: @ghostery/adblocker-puppeteer-example.

Creating an instance of PuppeteerBlocker and start blocking ads!

import puppeteer from 'puppeteer';
import { PuppeteerBlocker } from '@ghostery/adblocker-puppeteer';
import fetch from 'cross-fetch'; // required 'fetch'

const browser = await puppeteer.launch();
const page = await browser.newPage();

PuppeteerBlocker.fromPrebuiltAdsAndTracking(fetch).then((blocker) => {
  blocker.enableBlockingInPage(page);
});

You are ready to block ads!

There are other ways you can create an instance of the blocking engine to start blocking ads.

If you already have filters locally:

import { PuppeteerBlocker } from '@ghostery/adblocker-puppeteer';

const blocker = PuppeteerBlocker.parse(fs.readFileSync('easylist.txt', 'utf-8'));

Fetching lists from URLs:

import { PuppeteerBlocker } from '@ghostery/adblocker-puppeteer';
import fetch from 'cross-fetch'; // required 'fetch'

const blocker = await PuppeteerBlocker.fromLists(fetch, [
  'https://easylist.to/easylist/easylist.txt'
]);

Use ready-made configs to block ads and optionally trackers:

import { PuppeteerBlocker } from '@ghostery/adblocker-puppeteer';
import fetch from 'cross-fetch'; // required 'fetch'

let blocker = await PuppeteerBlocker.fromPrebuiltAdsOnly(fetch); // ads only
blocker = await PuppeteerBlocker.fromPrebuiltAdsAndTracking(fetch); // ads and tracking

Disabling Blocker in page

To stop blocking ads in a page:

await blocker.disableBlockingInPage(page);

Caching Blocker using Serialization

To avoid having to create the same instance of PuppeteerBlocker all over again, you can serialize it to a byte-array which you can store on disk for faster loading.

import puppeteer from 'puppeteer';
import { PuppeteerBlocker } from '@ghostery/adblocker-puppeteer';
import fetch from 'cross-fetch'; // required 'fetch'
import { promises as fs } from 'fs'; // used for caching

const browser = await puppeteer.launch();
const page = await browser.newPage();

PuppeteerBlocker.fromPrebuiltAdsAndTracking(fetch, {
  path: 'engine.bin',
  read: fs.readFile,
  write: fs.writeFile,
}).then((blocker) => {
  blocker.enableBlockingInPage(page);
});

Or you can do this manually to control the way caching is done:

import { PuppeteerBlocker } from '@ghostery/adblocker-puppeteer';
import fetch from 'cross-fetch'; // required 'fetch'

PuppeteerBlocker.fromPrebuiltAdsAndTracking(fetch).then((blocker) => {
  const buffer = blocker.serialize();
  const restoredBlocker = PuppeteerBlocker.deserialize(buffer);
  // `restoredBlocker` is deep-equal to `blocker`!
});

更新日志

v2.12.4 (Wed Oct 08 2025)

:bug: Bug Fix

  • @ghostery/adblocker
    • fix: matchCosmeticFilters should report generic hide exceptions #5232 (@seia-soto)

Authors: 1


v2.12.3 (Mon Oct 06 2025)

:bug: Bug Fix

  • @ghostery/adblocker-puppeteer
    • fix(puppeteer): expose option for disableBlockingInPage #5231 (@seia-soto)

:nut_and_bolt: Dependencies

Authors: 2


v2.12.2 (Mon Oct 06 2025)

:bug: Bug Fix

  • @ghostery/adblocker
    • fix: improve scriptlet argument parsing for escaped commas objects #5217 (@chrmod)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v2.12.1 (Fri Oct 03 2025)

:nail_care: Polish

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-example, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright-example, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer-example, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension-example, @ghostery/adblocker-webextension, @ghostery/adblocker
    • chore(internal): update dependencies and replace node 18 with 24 #5220 (@seia-soto)

Authors: 1


v2.12.0 (Thu Oct 02 2025)

:rocket: New Feature

:house: Internal

:nut_and_bolt: Dependencies

Authors: 6


v2.11.6 (Tue Aug 26 2025)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v2.11.5 (Thu Aug 21 2025)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

  • Build(deps-dev): Bump rollup from 4.46.3 to 4.46.4 #5117 (@dependabot[bot])
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-example, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright-example, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer-example, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension-example, @ghostery/adblocker-webextension, @ghostery/adblocker
  • @ghostery/adblocker-puppeteer-example, @ghostery/adblocker-puppeteer

Authors: 4


v2.11.4 (Wed Aug 20 2025)

:bug: Bug Fix

  • @ghostery/adblocker
    • fix: scriptlet parsing not respecting unescaped quotes #5103 (@seia-soto)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v2.11.3 (Fri Jul 18 2025)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

Authors: 3


v2.11.2 (Thu Jul 17 2025)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v2.11.1 (Thu Jul 10 2025)

⚠️ Pushed to master

:house: Internal

:nut_and_bolt: Dependencies

  • @ghostery/adblocker-electron-preload, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension-example
  • @ghostery/adblocker-puppeteer-example, @ghostery/adblocker-puppeteer

Authors: 4


v2.11.0 (Wed Jul 09 2025)

:rocket: New Feature

  • @ghostery/adblocker-extended-selectors, @ghostery/adblocker

Authors: 1


v2.10.1 (Wed Jul 09 2025)

:bug: Bug Fix

  • @ghostery/adblocker
    • Adblocker: relax merge config consistancy check #5013 (@chrmod)

Authors: 1


v2.10.0 (Wed Jul 09 2025)

:rocket: New Feature

  • @ghostery/adblocker-extended-selectors, @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

  • Build(deps-dev): Bump @types/node from 24.0.10 to 24.0.12 #5018 (@dependabot[bot])
  • Build(deps-dev): Bump chai from 5.2.0 to 5.2.1 #5020 (@dependabot[bot])
  • Build(deps-dev): Bump typescript-eslint from 8.35.1 to 8.36.0 #5015 (@dependabot[bot])
  • @ghostery/adblocker-electron-preload, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension-example
  • @ghostery/adblocker-puppeteer-example, @ghostery/adblocker-puppeteer

Authors: 4


v2.9.5 (Mon Jul 07 2025)

:bug: Bug Fix

  • @ghostery/adblocker-extended-selectors

Authors: 2


v2.9.4 (Mon Jul 07 2025)

:bug: Bug Fix

  • @ghostery/adblocker-content, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker

:nut_and_bolt: Dependencies

Authors: 2


v2.9.3 (Fri Jul 04 2025)

:bug: Bug Fix

  • @ghostery/adblocker
    • (scriptlets): argument encoding handles single quotes #5008 (@chrmod)

:house: Internal

Authors: 3


v2.9.2 (Thu Jul 03 2025)

:bug: Bug Fix

:nut_and_bolt: Dependencies

Authors: 2


v2.9.1 (Thu Jul 03 2025)

:bug: Bug Fix

  • @ghostery/adblocker-electron
    • fix(adblocker-electron): use session.registerPreloadScript #4982 (@seia-soto)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v2.9.0 (Wed Jul 02 2025)

:rocket: New Feature

  • @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright-example, @ghostery/adblocker-playwright, @ghostery/adblocker
    • Extended selectors: matches-css #4932 (ghostery-adblocker-bot@users.noreply.github.com @chrmod)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v2.8.0 (Mon Jun 23 2025)

:rocket: New Feature

  • @ghostery/adblocker-extended-selectors, @ghostery/adblocker

:nut_and_bolt: Dependencies

Authors: 3


v2.7.0 (Mon Jun 09 2025)

:rocket: New Feature

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v2.6.1 (Wed May 21 2025)

:bug: Bug Fix

:nut_and_bolt: Dependencies

  • Build(deps-dev): Bump @types/node from 22.15.19 to 22.15.21 #4901 (@dependabot[bot])
  • @ghostery/adblocker-puppeteer-example, @ghostery/adblocker-puppeteer

Authors: 2


v2.6.0 (Tue May 20 2025)

:rocket: New Feature

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v2.5.2 (Tue Apr 29 2025)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v2.5.1 (Tue Apr 15 2025)

:bug: Bug Fix

  • @ghostery/adblocker
    • feat: use TextEncoder and TextDecoder for utf8 strings #4513 (@seia-soto)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v2.5.0 (Fri Jan 24 2025)

:rocket: New Feature

:nut_and_bolt: Dependencies

Authors: 3


v2.4.0 (Thu Jan 23 2025)

:running_woman: Performance

  • @ghostery/adblocker
    • refactor: replace fastStartsWith & fastStartsWithFrom #4518 (@SukkaW)

Authors: 1


v2.3.2 (Thu Jan 23 2025)

:bug: Bug Fix

  • @ghostery/adblocker
    • fix: check domains validity when parsing network filters #4525 (@seia-soto)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v2.3.1 (Wed Dec 11 2024)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v2.3.0 (Mon Dec 09 2024)

:rocket: New Feature

  • @ghostery/adblocker

Authors: 1


v2.2.0 (Mon Dec 09 2024)

:rocket: New Feature

  • @ghostery/adblocker

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v2.1.2 (Thu Dec 05 2024)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v2.1.1 (Wed Nov 20 2024)

:bug: Bug Fix

  • @ghostery/adblocker

Authors: 1


v2.1.0 (Wed Nov 20 2024)

:rocket: New Feature

  • @ghostery/adblocker-extended-selectors, @ghostery/adblocker
    • feat: Optional support for native :has pseudo classes #4455 (@chrmod)

:house: Internal

  • @ghostery/adblocker

:memo: Documentation

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-example, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer-example, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension, @ghostery/adblocker

:nut_and_bolt: Dependencies

Authors: 3


v2.0.4 (Tue Nov 05 2024)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v2.0.3 (Wed Oct 30 2024)

:bug: Bug Fix

:house: Internal

  • @ghostery/adblocker

:memo: Documentation

  • @ghostery/adblocker-electron-example, @ghostery/adblocker-playwright-example, @ghostery/adblocker-puppeteer-example

:nut_and_bolt: Dependencies

Authors: 4


v2.0.2 (Fri Oct 25 2024)

:bug: Bug Fix

  • @ghostery/adblocker
    • fix: exception of script injection not respecting aliases #4376 (@seia-soto)

:nut_and_bolt: Dependencies

Authors: 2


v2.0.1 (Mon Oct 21 2024)

:bug: Bug Fix

  • @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron
    • packages: adblocker-electron{-preload}: make use of executeJavaScript #4278 (@nullptropy)

:house: Internal

:memo: Documentation

:nut_and_bolt: Dependencies

Authors: 5


v2.0.0 (Thu Oct 17 2024)

:boom: Breaking Change

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
    • Rename from @cliqz/adblocker to @ghostery/adblocker #4366 (@chrmod)

:house: Internal

Authors: 5


v1.34.0 (Wed Oct 16 2024)

:rocket: New Feature

⚠️ Pushed to master

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.33.2 (Wed Sep 04 2024)

:bug: Bug Fix

  • @ghostery/adblocker-webextension, @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.33.1 (Wed Aug 28 2024)

:bug: Bug Fix

  • @ghostery/adblocker
    • Override hiding style in CosmeticBucket.getCosmeticsFilters #4238 (@seia-soto)

:nut_and_bolt: Dependencies

Authors: 2


v1.33.0 (Mon Aug 26 2024)

:rocket: New Feature

  • @ghostery/adblocker

:house: Internal

Authors: 3


v1.32.0 (Mon Aug 26 2024)

:rocket: New Feature

  • @ghostery/adblocker-webextension, @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.31.4 (Fri Aug 23 2024)

:bug: Bug Fix

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.31.3 (Wed Aug 07 2024)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.31.2 (Mon Aug 05 2024)

:bug: Bug Fix

  • @ghostery/adblocker
    • Fix retrieval of latestRevision in assets update script #4174 (@romkaC)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.31.1 (Thu Aug 01 2024)

:bug: Bug Fix

  • @ghostery/adblocker-content
    • fix(adblocker-electron): An object could not be cloned #4157 (@seia-soto)

:nut_and_bolt: Dependencies

Authors: 2


v1.31.0 (Thu Aug 01 2024)

:rocket: New Feature

:house: Internal

:nut_and_bolt: Dependencies

  • Build(deps-dev): Bump eslint from 9.7.0 to 9.8.0 #4150 (@dependabot[bot])
  • Build(deps-dev): Bump rollup from 4.19.0 to 4.19.1 #4147 (@dependabot[bot])
  • Build(deps-dev): Bump typescript-eslint from 8.0.0-alpha.52 to 8.0.0 #4164 (@dependabot[bot])
  • Build(deps): Bump tldts-experimental from 6.1.34 to 6.1.37 #4165 (@dependabot[bot])
  • @ghostery/adblocker-puppeteer
  • @ghostery/adblocker-content, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker

Authors: 6


v1.30.1 (Tue Jul 30 2024)

:nail_care: Polish

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.30.0 (Wed Jul 17 2024)

:rocket: New Feature

  • @ghostery/adblocker

Authors: 1


v1.29.0 (Wed Jul 17 2024)

:rocket: New Feature

  • @ghostery/adblocker-electron, @ghostery/adblocker-webextension, @ghostery/adblocker

:house: Internal

  • Run examples in both commonjs and esm #4103 (@chrmod)
  • Enforce PR labels #4101 (@chrmod)
  • @ghostery/adblocker
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
  • @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker
  • @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker

:nut_and_bolt: Dependencies

  • Build(deps-dev): Bump @types/node from 20.14.10 to 20.14.11 #4107 (@dependabot[bot])
  • Build(deps): Bump playwright from 1.45.1 to 1.45.2 #4106 (@dependabot[bot])
  • Build(deps): Bump electron from 31.2.0 to 31.2.1 #4100 (@dependabot[bot])
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker

Authors: 5


v1.28.2 (Mon Jul 15 2024)

:bug: Bug Fix

:nut_and_bolt: Dependencies

Authors: 2


v1.28.1 (Mon Jul 15 2024)

:bug: Bug Fix

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker

:nut_and_bolt: Dependencies

Authors: 3


v1.28.0 (Tue Jul 09 2024)

:rocket: New Feature

:nut_and_bolt: Dependencies

Authors: 4


v1.27.11 (Mon Jun 10 2024)

:bug: Bug Fix

  • @ghostery/adblocker

:nut_and_bolt: Dependencies

  • Build(deps-dev): Bump typescript-eslint from 8.0.0-alpha.28 to 8.0.0-alpha.29 #4014 (@dependabot[bot])
  • @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
  • @ghostery/adblocker-electron-preload

Authors: 2


v1.27.4 (Thu Jun 06 2024)

:nail_care: Polish

  • CI: change bot identity #4011 (@chrmod)
  • CI: use app to bypass branch protection #4008 (@chrmod)
  • CI: let auto publish with branch protection enabled #3987 (@chrmod)
  • @ghostery/adblocker
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker

⚠️ Pushed to master

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
    • Build system: update rollup plugins (@chrmod)

:house: Internal

  • Yarn update #3981 (@chrmod)
  • Fix lockfile #3976 (@chrmod)
  • CI: Node 22 in test matrix #3946 (@chrmod)
  • @ghostery/adblocker-electron, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension
    • Build system: fix yarn warnings for @types/node #3984 (@chrmod)
  • @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
  • @ghostery/adblocker

:nut_and_bolt: Dependencies

Authors: 4


v1.27.4 (Wed Jun 05 2024)

:nail_care: Polish

  • CI: let auto publish with branch protection enabled #3987 (@chrmod)
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker

⚠️ Pushed to master

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
    • Build system: update rollup plugins (@chrmod)

:house: Internal

  • Yarn update #3981 (@chrmod)
  • Fix lockfile #3976 (@chrmod)
  • CI: Node 22 in test matrix #3946 (@chrmod)
  • @ghostery/adblocker-electron, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension
    • Build system: fix yarn warnings for @types/node #3984 (@chrmod)
  • @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
  • @ghostery/adblocker

:nut_and_bolt: Dependencies

Authors: 4


v1.27.3 (Tue May 07 2024)

:nail_care: Polish

  • Drop node 16 from test matrix #3942 (@chrmod)
  • @ghostery/adblocker-content, @ghostery/adblocker-webextension-cosmetics
    • Scriptlets: on Firefox bypass CSP by injecting blobs #3942 (@chrmod)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.27.2 (Tue Apr 23 2024)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.27.1 (Tue Apr 09 2024)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.27.0 (Fri Mar 29 2024)

:rocket: New Feature

:house: Internal

:nut_and_bolt: Dependencies

Authors: 6


v1.26.16 (Thu Feb 22 2024)

:bug: Bug Fix

:nail_care: Polish

  • @ghostery/adblocker-electron

:house: Internal

:nut_and_bolt: Dependencies

Authors: 6


v1.26.15 (Wed Jan 10 2024)

:nail_care: Polish

  • @ghostery/adblocker

Authors: 1


v1.26.14 (Tue Jan 09 2024)

:nail_care: Polish

:nut_and_bolt: Dependencies

Authors: 2


v1.26.13 (Tue Jan 09 2024)

:nail_care: Polish

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.26.12 (Fri Nov 10 2023)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

Authors: 3


v1.26.11 (Fri Nov 03 2023)

:bug: Bug Fix

  • @ghostery/adblocker-webextension
    • WebExtension: fix scriptlet push injections #3571 (@chrmod)

Authors: 1


v1.26.10 (Mon Oct 30 2023)

:bug: Bug Fix

  • @ghostery/adblocker
    • Scriptlets: inject quoted arguments without quotes #3559 (@chrmod)

Authors: 1


v1.26.9 (Sat Oct 28 2023)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.26.8 (Mon Oct 09 2023)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

  • @ghostery/adblocker
  • @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker

:nut_and_bolt: Dependencies

Authors: 5


v1.26.7 (Mon Sep 18 2023)

:bug: Bug Fix

  • CI: fixing lerna publish #3449 (@chrmod)
  • CI: try auto in verbose mode #3448 (@chrmod)
  • Fix auto shipit #3447 (@chrmod)
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
  • @ghostery/adblocker
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron

⚠️ Pushed to master

  • CI: fixing lerna publish (@chrmod)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 6


v1.26.6 (Fri Jun 02 2023)

:nail_care: Polish

  • @ghostery/adblocker-webextension-cosmetics

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.26.5 (Sun Apr 02 2023)

:nail_care: Polish

  • @ghostery/adblocker-electron-preload

:house: Internal

Authors: 3


v1.26.4 (Sun Apr 02 2023)

Release Notes

Adjust scriptlet injection timing (#3162)

Resolves https://github.com/ghostery/adblocker/issues/2757

Changed the timing of scriptlet injection to before the DOMContentLoaded event fires. Also changed the injection method from using Electron.WebContents.executeJavaScript (which is effectively executed when the tab finishes loading) to dynamically adding a script element, similar to how μBlock Origin does it.


:bug: Bug Fix

  • @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.26.3 (Fri Mar 24 2023)

:nail_care: Polish

  • @ghostery/adblocker
    • TrackerDB: by default should not match domains #3145 (@chrmod)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.26.2 (Thu Mar 02 2023)

:bug: Bug Fix

  • @ghostery/adblocker-playwright

:house: Internal

:nut_and_bolt: Dependencies

  • Build(deps-dev): Bump auto from 10.42.2 to 10.43.0 #3093 (@dependabot[bot])
  • Build(deps-dev): Bump rimraf from 4.1.2 to 4.1.3 #3094 (@dependabot[bot])
  • Build(deps-dev): Bump rollup from 3.17.3 to 3.18.0 #3091 (@dependabot[bot])
  • Build(deps): Bump tldts-experimental from 5.7.109 to 5.7.110 #3092 (@dependabot[bot])
  • Build(deps-dev): Bump @types/node from 18.14.1 to 18.14.3 #3095 (@dependabot[bot])
  • @ghostery/adblocker-electron-preload, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker
  • @ghostery/adblocker-extended-selectors, @ghostery/adblocker-webextension-cosmetics

Authors: 4


v1.26.1 (Sun Feb 26 2023)

:bug: Bug Fix

:house: Internal

:memo: Documentation

:nut_and_bolt: Dependencies

Authors: 4


v1.26.0 (Wed Feb 22 2023)

:rocket: New Feature

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

  • Build(deps-dev): Bump rimraf from 4.1.0 to 4.1.1 #3020 (@dependabot[bot])
  • Build(deps): Bump electron from 22.0.2 to 22.0.3 #3021 (@dependabot[bot])
  • Build(deps-dev): Bump rimraf from 4.0.7 to 4.1.0 #3019 (@dependabot[bot])
  • Build(deps): Bump playwright from 1.29.1 to 1.29.2 #3006 (@dependabot[bot])
  • Build(deps-dev): Bump rollup from 3.9.1 to 3.10.0 #3012 (@dependabot[bot])
  • Build(deps-dev): Bump lerna from 6.4.0 to 6.4.1 #3014 (@dependabot[bot])
  • Build(deps-dev): Bump prettier from 2.8.1 to 2.8.3 #3015 (@dependabot[bot])
  • Build(deps): Bump electron from 22.0.0 to 22.0.2 #3016 (@dependabot[bot])
  • @ghostery/adblocker-electron-preload, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker
  • @ghostery/adblocker-puppeteer
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
  • @ghostery/adblocker-extended-selectors, @ghostery/adblocker-webextension-cosmetics
  • @ghostery/adblocker
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker

Authors: 4


v1.25.2 (Mon Jan 16 2023)

:bug: Bug Fix

  • @ghostery/adblocker-webextension

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.25.1 (Sat Sep 17 2022)

:nail_care: Polish

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.25.0 (Tue Aug 30 2022)

:rocket: New Feature

  • @ghostery/adblocker-webextension, @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.24.0 (Fri Aug 26 2022)

:running_woman: Performance

:house: Internal

:nut_and_bolt: Dependencies

  • @ghostery/adblocker-extended-selectors, @ghostery/adblocker-webextension-cosmetics

Authors: 5


v1.23.9 (Fri Aug 19 2022)

:bug: Bug Fix

  • @ghostery/adblocker
    • Preserve all information in rawLine (fix for the blank screen in YouTube full screen mode) #2768 (@philipp-classen)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.23.8 (Mon May 16 2022)

:nail_care: Polish

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.23.7 (Wed Mar 23 2022)

:bug: Bug Fix

  • Revert release fix since the issue was a token permission missing #2516 (@remusao)
  • Fix publishing #2515 (@remusao)
  • @ghostery/adblocker-webextension

:nail_care: Polish

  • @ghostery/adblocker-content, @ghostery/adblocker-webextension-cosmetics
    • cosmetics: make sure we do not hide body or html elements #2496 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.23.6 (Mon Feb 14 2022)

:bug: Bug Fix

  • @ghostery/adblocker-electron

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.23.5 (Mon Feb 07 2022)

:nail_care: Polish

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.23.4 (Mon Jan 17 2022)

:bug: Bug Fix

  • CI: commit asset updates with Bot identity #2385 (@chrmod)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.23.3 (Mon Jan 10 2022)

:bug: Bug Fix

:house: Internal

:nut_and_bolt: Dependencies

  • Bump @types/firefox-webext-browser from 94.0.0 to 94.0.1 #2349 (@dependabot[bot])
  • @ghostery/adblocker-electron-preload, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker

Authors: 2


v1.23.2 (Sat Dec 11 2021)

:bug: Bug Fix

  • @ghostery/adblocker-puppeteer

:house: Internal

Authors: 2


v1.23.1 (Sat Dec 04 2021)

:bug: Bug Fix

:nail_care: Polish

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.23.0 (Mon Oct 18 2021)

:rocket: New Feature

  • @ghostery/adblocker-puppeteer

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.22.7 (Wed Sep 22 2021)

:nail_care: Polish

:house: Internal

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
  • @ghostery/adblocker-electron-preload, @ghostery/adblocker-puppeteer
  • @ghostery/adblocker

:nut_and_bolt: Dependencies

Authors: 3


v1.22.6 (Sun Sep 19 2021)

:nail_care: Polish

  • @ghostery/adblocker-electron

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.22.5 (Wed Aug 25 2021)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:memo: Documentation

:nut_and_bolt: Dependencies

Authors: 5


v1.22.4 (Wed Aug 04 2021)

:bug: Bug Fix

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.22.3 (Thu Jul 29 2021)

:bug: Bug Fix

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.22.2 (Sun Jun 20 2021)

:bug: Bug Fix

  • @ghostery/adblocker-playwright

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.22.1 (Thu Jun 03 2021)

:nail_care: Polish

  • @ghostery/adblocker-puppeteer
    • Add puppeteer 10.x to list of supported versions #1977 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.21.0 (Sun May 30 2021)

:rocket: New Feature

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker

:bug: Bug Fix

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.20.5 (Tue May 04 2021)

:bug: Bug Fix

  • @ghostery/adblocker-puppeteer
    • Fix missing 'domcontentloaded' event listener removal from disableBlockingInPage #1903 (mosunov.konstantin@huawei.com @kmosunoff)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 6


v1.20.4 (Thu Mar 25 2021)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 5


v1.20.3 (Sat Feb 27 2021)

:nail_care: Polish

  • @ghostery/adblocker-puppeteer, @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.20.2 (Thu Feb 18 2021)

:bug: Bug Fix

  • @ghostery/adblocker-content
    • Fix puppeteer regression when handling DOM mutations #1688 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.20.1 (Tue Feb 16 2021)

:nail_care: Polish

  • @ghostery/adblocker-puppeteer-example, @ghostery/adblocker-puppeteer

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.20.0 (Thu Jan 21 2021)

Release Notes

Initial support for extended CSS selectors (a.k.a. procedural filters) (#1574)

Add initial support for extended CSS selectors (a.k.a. procedural filters) as well as the :remove() modifier for element hiding rules (note: the already supported :style modified now also works with extended CSS selectors). The following new pseudo-classes are implemented: :has (and its alias :if), :has-text (both string and RegExp literals), and :not (whenever its argument is also an extended selector, otherwise fallback to native implementation).

Caveats:

  • Loading of extended css filters is disabled by default and needs to be toggled using the loadExtendedSelectors option while initializing the blocker instance.
  • These news selectors are currently only supported by WebExtensionBlocker (support for Puppeteer, Electron and Playwright is not planned at this time but help from the community would be greatly appreciated).

Miscellaneous changes:

  • Removal of unused injectCSSRule helper.
  • Replace Closure compiler by Terser.

:rocket: New Feature

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-extended-selectors, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension-example, @ghostery/adblocker-webextension, @ghostery/adblocker
    • Initial support for extended CSS selectors (a.k.a. procedural filters) #1574 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.19.0 (Wed Dec 16 2020)

:rocket: New Feature

  • @ghostery/adblocker
    • More config options + compression of raw filters (debug mode) #1523 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.18.8 (Wed Nov 25 2020)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.18.7 (Tue Nov 24 2020)

:nail_care: Polish

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-example, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-playwright-example, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer-example, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension-example, @ghostery/adblocker-webextension, @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.18.6 (Wed Nov 18 2020)

:bug: Bug Fix

  • @ghostery/adblocker-electron, @ghostery/adblocker-playwright, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension
    • Fix memory leak by using a WeakMap to hold context information in blocker #1451 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.18.5 (Tue Nov 10 2020)

:bug: Bug Fix

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


v1.18.4 (Sun Nov 01 2020)

:nail_care: Polish

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.18.3 (Tue Sep 15 2020)

:bug: Bug Fix

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 4


(Sat Aug 29 2020)

⚠️ Pushed to master

  • @ghostery/adblocker
    • Annoyances and Easylist Germany are now enabled in full and ads-only presets (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


(Wed Aug 26 2020)

⚠️ Pushed to master

  • Run asset updates with latest Node (@remusao)

:nut_and_bolt: Dependencies

Authors: 2


v1.18.0 (Mon Aug 24 2020)

Release Notes

From #1215

Local assets uploading is now smarter and can automatically detect duplicate filters as well as disabled filters, resulting in slimmer lists (resulting in 15218 duplicates filters removed and 113 badfilters disabled). This results in a lower memory usage as well as faster matching performance. Moreover, the Fanboy annoyances list has been added in the "full" preset.


:rocket: New Feature

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.17.0 (Sun Jul 12 2020)

Release Notes

From #1080

Add support for two new features to make network filtering more flexible and powerful. The new denyallow option is now fully supported. Moreover, both the new denyallow and existing domain options can contain entities, allowing the use of trailing wildcards to match against all public suffixes (e.g. evil.* will match evil followed by any valid public suffix like evil.com or evil.co.uk).


:rocket: New Feature

  • @ghostery/adblocker
    • feat: support denyallow option and entities for network filters #1080 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.16.1 (Wed Jul 08 2020)

:bug: Bug Fix

  • @ghostery/adblocker-puppeteer
    • Fix puppeteer package with correct promises handling. #1067 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.16.0 (Wed Jun 10 2020)

:rocket: New Feature

  • @ghostery/adblocker-playwright, @ghostery/adblocker
    • feature: add support for Playwright blocking #417 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.15.1 (Mon May 25 2020)

:bug: Bug Fix

  • @ghostery/adblocker
    • Make fast hash outputs consistent and fix use of globals #931 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.15.0 (Sat May 23 2020)

:running_woman: Performance

  • @ghostery/adblocker
    • Speed-up index creation by using a typed array as histogram. #924 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.14.4 (Wed May 06 2020)

:nail_care: Polish

  • @ghostery/adblocker

:house: Internal

:memo: Documentation

:nut_and_bolt: Dependencies

Authors: 3


v1.14.3 (Mon May 04 2020)

⚠️ Pushed to master

  • Update README.md with Cliqz badge (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.14.2 (Tue Apr 21 2020)

:nail_care: Polish

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.14.1 (Thu Apr 09 2020)

Release Notes

From #746

  • Make sure that all unsupported procedural selectors from cosmetic filters are dropped to ensure that we only inject valid CSS selectors.
  • Fix matching of domain= option for domain filters in cases where specified domain is a subdomain instead of full hostname or full domain.
  • Fix partyness detection for requests without a valid domain (but having a valid hostname). This fixes matching against localhost request (for instance).
  • Fix engine updates stress test which allows to replay all day-to-day diffs since the beginning of times... (currently about a year) and make sure that all updates work and resulting engine is byte-identical with diff-update or full initialization.
  • Fix script to analyze size of serialized engines for all presets as well as all kinds of compression (i.e. none, gzip and brotli). This allows to keep track of final size after small-strings compression was applied.

:nail_care: Polish

  • @ghostery/adblocker-content, @ghostery/adblocker-electron, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
    • Fix domain options with subdomains and more... #746 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.14.0 (Wed Apr 08 2020)

Release Notes

From #738

  • Add guessRequestTypeFromUrl config option to all blocker classes which allows to automatically guess the type of network requests based on their URLs. This can be useful for cases where the type is either not available or not accurately inferred (e.g. when requests have time 'other').
  • Fix a case where PuppeteerBlocker could show an async unhandled exception in console when trying to remove blocked iframes in pages.
  • Fix redirection to binary resources (i.e. base64 encoded). An issue caused these resources to be corrupted which means that redirected resources were not valid (e.g. invalid PNG image).
  • Redirection to local resources has been improved and will now always succeed thanks to a system of fallback. More types are also available for redirection.
  • Improve API of blocker classes (i.e. PuppeteerBlocker, ElectronBlocker and WebExtensionBlocker) to allow creating custom blocking logic of resources using: blockScripts, blockImages, blockMedias, blockFrames, blockFonts, and blockStyles. These helpers can be called on any existing blocker instance, or on a new one created with the empty() static method.
  • Add initial DSL (Domain Specific Language) to create blocking rules with a high-level API. This is used behind the scene to implement the new blocking methods now exposed by blocker instances. This new DSL should be considered alpha-quality and the API will likely change (and break) in the future. It might also be extended to handle hiding rules (a.k.a cosmetic filters).
  • Fix behavior of NetworkFilter#toString which should now return a better pretty-printed version of the original filters whenever the debug option was false (in which case some information about the original raw string is lost and the string version needs to be inferred back).
  • Implement handling of data: URLs. This means that the Request abstraction will now treat them as valid requests and that their type should always be inferred correctly. Moreover, the matching of data: URLs will now only take into account the prefix and ignore anything following the ',' separator.
  • Requests with empty domain will not be treated as third-party anymore (this should not happen in the wild and was mostly impacting our unit tests).

:rocket: New Feature

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.13.1 (Fri Apr 03 2020)

:bug: Bug Fix

  • @ghostery/adblocker-puppeteer
    • Correctly redirect to binary resources in puppeteer blocker #715 (@remusao)

:house: Internal

  • @ghostery/adblocker
  • @ghostery/adblocker
  • @ghostery/adblocker
  • @ghostery/adblocker-electron, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics, @ghostery/adblocker-webextension, @ghostery/adblocker
  • @ghostery/adblocker

:memo: Documentation

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics

:nut_and_bolt: Dependencies

Authors: 3


v1.13.0 (Mon Mar 30 2020)

Release Notes

From #690

PuppeteerBlocker is now more powerful and will be able to better block ads on most websites. Firstly, a bug was fixed which prevented injection of cosmetics in the main frame of pages. Secondly, PuppeteerBlocker will now monitor the DOM for changes to make sure that ads which load later are still "handled" (if you know what I mean). Lastly, PuppeteerBlocker is now able to look for advertisement iframes and remove them from the DOM completely, no more blank spaces left unattended...


:rocket: New Feature

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension-cosmetics
    • Fix PuppeteerBlocker and enable blocking of frames and DOM monitoring. #690 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.12.3 (Sat Mar 28 2020)

:nail_care: Polish

  • @ghostery/adblocker

:house: Internal

  • @ghostery/adblocker
    • Make sure updater always gets latest version of resources #679 (@remusao)
  • @ghostery/adblocker
  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension, @ghostery/adblocker

:nut_and_bolt: Dependencies

Authors: 3


v1.12.2 (Fri Mar 27 2020)

⚠️ Pushed to master

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.12.1 (Thu Mar 26 2020)

:nail_care: Polish

  • @ghostery/adblocker
    • Make id of fuzzy filter invariant under permutations #666 (@remusao)

Authors: 1


v1.12.0 (Thu Mar 26 2020)

:running_woman: Performance

  • @ghostery/adblocker
    • Fine-tune tokenization by preventing buffer overflows in main loop. #665 (@remusao)

Authors: 1


v1.11.0 (Thu Mar 26 2020)

:rocket: New Feature

  • @ghostery/adblocker
    • Add support for multi-lines filters (i.e. line continuation) #663 (@remusao)

:house: Internal

  • @ghostery/adblocker
  • @ghostery/adblocker

:nut_and_bolt: Dependencies

Authors: 3


v1.10.1 (Wed Mar 25 2020)

:bug: Bug Fix

  • @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-webextension-cosmetics

:house: Internal

:nut_and_bolt: Dependencies

Authors: 2


v1.10.0 (Wed Mar 25 2020)

:running_woman: Performance

  • @ghostery/adblocker

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.9.2 (Wed Feb 26 2020)

:nail_care: Polish

  • Target ES2017 to avoid use of __awaiter tslib helper #541 (@remusao)

:house: Internal

  • @ghostery/adblocker
  • @ghostery/adblocker
  • @ghostery/adblocker
    • Automatically bump internal engine version on codebooks update #536 (@remusao)

:nut_and_bolt: Dependencies

Authors: 3


v1.9.1 (Sun Feb 23 2020)

:bug: Bug Fix

  • @ghostery/adblocker

⚠️ Pushed to master

  • @ghostery/adblocker
    • Bump internal engine representation (@remusao)

:house: Internal

  • @ghostery/adblocker
  • @ghostery/adblocker
  • @ghostery/adblocker
  • @ghostery/adblocker
    • Improve tool to list unsupported filter syntax #524 (@remusao)

:nut_and_bolt: Dependencies

Authors: 3


v1.9.0 (Thu Feb 20 2020)

:running_woman: Performance

  • @ghostery/adblocker
    • Replace use of setTimeout to delay event by more efficient queueMicrotask. #523 (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.8.6 (Thu Feb 13 2020)

:nail_care: Polish

  • @ghostery/adblocker-electron, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension
    • Move BlockingContext methods back into Blocker class. #496 (@remusao)

Authors: 1


v1.8.5 (Thu Feb 13 2020)

:nail_care: Polish

  • @ghostery/adblocker

Authors: 1


v1.8.4 (Thu Feb 13 2020)

:bug: Bug Fix

  • @ghostery/adblocker-circumvention, @ghostery/adblocker-content, @ghostery/adblocker-electron-preload, @ghostery/adblocker-electron, @ghostery/adblocker-webextension, @ghostery/adblocker

:house: Internal

  • Add internal label when updating local assets #492 (@remusao)

Authors: 1


v1.8.3 (Thu Feb 13 2020)

⚠️ Pushed to master

  • @ghostery/adblocker
    • Bump internal engine representation (@remusao)

Authors: 1


v1.8.2 (Wed Feb 12 2020)

:bug: Bug Fix

Authors: 1


v1.8.1 (Wed Feb 12 2020)

:nail_care: Polish

  • @ghostery/adblocker-electron, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension, @ghostery/adblocker
    • Expose original request details through Request class #490 (@remusao)

Authors: 1


v1.8.0 (Wed Feb 12 2020)

:running_woman: Performance

  • @ghostery/adblocker-circumvention, @ghostery/adblocker-electron, @ghostery/adblocker-puppeteer, @ghostery/adblocker-webextension, @ghostery/adblocker

:bug: Bug Fix

⚠️ Pushed to master

  • ci: populate npmrc before publishing (@remusao)

:house: Internal

:nut_and_bolt: Dependencies

Authors: 3


v1.7.3 (2020-02-11)

:nail_care: Polish

  • adblocker-benchmarks, adblocker-circumvention, adblocker-content, adblocker-electron, adblocker-puppeteer, adblocker-webextension-example, adblocker-webextension, adblocker

Committers: 1

v1.7.0 (2020-02-10)

:rocket: New Feature

  • adblocker
  • adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker
  • adblocker-electron, adblocker-puppeteer, adblocker-webextension
    • #475 Add helper to know if blocking is enabled in context (@remusao)

:bug: Bug Fix

  • adblocker
    • #476 Put types for chrome and firefox as direct dependencies instead of dev (@remusao)

Committers: 1

v1.6.0 (2020-02-09)

:rocket: New Feature

  • adblocker
  • adblocker-circumvention, adblocker-content, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker
    • #416 Make initializing instances of blockers idempotent (@remusao)

:bug: Bug Fix

  • adblocker-webextension-example, adblocker-webextension, adblocker
    • #464 fix: HTML filtering and scriptlets injection (@remusao)

:nail_care: Polish

:house: Internal

  • adblocker-circumvention, adblocker-content, adblocker-electron-example, adblocker-electron-preload, adblocker-electron, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker
  • adblocker-benchmarks, adblocker-circumvention, adblocker-content, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker
  • Other

Committers: 3

v1.5.0 (2020-01-16)

:nail_care: Polish

  • adblocker
    • #414 Implement retry mechanism while fetching resources (@remusao)
  • adblocker-webextension
    • #413 webextension: handler for runtime messages now returns a promise (@remusao)

:house: Internal

  • adblocker-benchmarks, adblocker-circumvention, adblocker-content, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker

Committers: 1

v1.4.20 (2020-01-15)

:house: Internal

  • #412 Migrate local GitHub actions to TypeScript (@remusao)

Committers: 1

v1.4.19 (2020-01-15)

:house: Internal

Committers: 1

v1.4.12 (2020-01-15)

:house: Internal

Committers: 1

v1.4.2 (2020-01-15)

:memo: Documentation

:house: Internal

Committers: 1

v1.4.1 (2019-12-16)

:bug: Bug Fix

  • adblocker-puppeteer

:memo: Documentation

  • adblocker

:house: Internal

Committers: 3

v1.4.0 (2019-11-12)

:bug: Bug Fix

:house: Internal

  • adblocker-puppeteer-example, adblocker-puppeteer
  • adblocker-electron-example, adblocker-electron
    • #385 Bump electron version to 7 + inject CSS with 'user' origin (@remusao)

Committers: 2

v1.3.1 (2019-10-09)

:bug: Bug Fix

  • adblocker-benchmarks, adblocker-circumvention, adblocker-content, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker

Committers: 2

v1.3.0 (2019-10-07)

:nail_care: Polish

  • adblocker-benchmarks, adblocker-circumvention, adblocker-content, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker
    • #368 make it easier to use HTML filtering outside of WebExtensionBlocker (@remusao)

Committers: 2

v1.2.0 (2019-10-01)

:rocket: New Feature

  • adblocker-webextension-example, adblocker-webextension, adblocker
  • adblocker

:bug: Bug Fix

  • adblocker-electron

:nail_care: Polish

  • adblocker-webextension
    • #359 removeListener regardless of engine config (@remusao)
  • adblocker-benchmarks, adblocker
    • #333 simplify reverse index by removing special tokens handling (@remusao)

:memo: Documentation

  • #355 Add slides of talk at adblockerdevsummit 2019 (@remusao)

:house: Internal

  • adblocker
    • #335 chore: update local assets + generate compression codebooks (@remusao)

:running_woman: Performance

  • adblocker-electron-example, adblocker-puppeteer-example, adblocker-webextension-example, adblocker

Committers: 2

v1.1.0 (2019-09-17)

:rocket: New Feature

  • adblocker-electron, adblocker-puppeteer, adblocker-webextension
  • adblocker
    • #327 feature: support inline-script and inline-font options (@remusao)

:house: Internal

  • adblocker
    • #329 add test case to make sure +js() can be whitelisted (@remusao)
  • adblocker-benchmarks

Committers: 2

v1.0.2 (2019-09-02)

:bug: Bug Fix

  • adblocker-benchmarks, adblocker-circumvention, adblocker-content, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker

Committers: 2

v1.0.0 (2019-08-27)

:nail_care: Polish

  • adblocker-content, adblocker-puppeteer-example, adblocker

:house: Internal

  • adblocker-benchmarks, adblocker-content, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker
  • adblocker-benchmarks, adblocker-circumvention, adblocker-content, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker
    • #255 switch to using @cliqz/metalint for project linting (@remusao)
  • Other

Committers: 2

v0.14.0 (2019-08-20)

:nail_care: Polish

  • adblocker-electron, adblocker-puppeteer, adblocker-webextension
    • #288 only register listeners when network/cosmetics filtering is enabled (@remusao)

:house: Internal

  • adblocker
    • #290 clean-up and update local assets + regenerate codebooks (@remusao)
  • Other

:running_woman: Performance

  • adblocker-webextension-example, adblocker

Committers: 2

v0.13.0 (2019-08-16)

:memo: Documentation

  • adblocker-circumvention, adblocker-content, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-example, adblocker-webextension, adblocker

:house: Internal

  • Other
    • #265 fix memory issue by pinning Node.js version (@remusao)
  • adblocker-circumvention, adblocker-content, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker
    • #264 create new @ghostery/adblocker-content package with common utils (@remusao)

:running_woman: Performance

  • adblocker
    • #257 allow correct size allocation for data views (@remusao)

Committers: 2

v0.12.1 (2019-08-13)

:boom: Breaking Change

  • adblocker-electron, adblocker
    • #248 electron: promote mutationObserver option to main config + fix constructor and parse methods (@remusao)

:rocket: New Feature

  • adblocker-electron-example, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-example, adblocker-webextension, adblocker
    • #251 implement simple event emitter for FiltersEngine and sub-classes (@remusao)

:bug: Bug Fix

  • adblocker-circumvention, adblocker-electron-example, adblocker-electron, adblocker-puppeteer-example, adblocker-puppeteer, adblocker-webextension-cosmetics, adblocker-webextension-example, adblocker-webextension, adblocker

:house: Internal

  • adblocker
    • #256 Update assets + re-generate compression codebooks (@remusao)
  • adblocker-electron-example, adblocker-electron, adblocker

Committers: 2