summaryrefslogtreecommitdiffstats
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/README.source52
-rw-r--r--debian/changelog484
-rwxr-xr-xdebian/clean-dfsg.sh25
-rw-r--r--debian/control70
-rw-r--r--debian/copyright669
-rw-r--r--debian/gbp.conf9
-rw-r--r--debian/missing-sources/hsluv.ts374
-rw-r--r--debian/patches/disable-nonfree-filters-by-default.patch20
-rw-r--r--debian/patches/make-assets.patch33
-rw-r--r--debian/patches/series2
-rwxr-xr-xdebian/rules40
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/lintian-overrides8
-rw-r--r--debian/ublock-origin-doc.install1
-rw-r--r--debian/upstream/changelog2441
-rw-r--r--debian/upstream/changelog.html1119
-rw-r--r--debian/watch3
-rw-r--r--debian/webext-ublock-origin-chromium.dirs1
-rw-r--r--debian/webext-ublock-origin-chromium.docs1
-rw-r--r--debian/webext-ublock-origin-chromium.install1
-rw-r--r--debian/webext-ublock-origin-chromium.lintian-overrides2
-rw-r--r--debian/webext-ublock-origin-firefox.dirs1
-rw-r--r--debian/webext-ublock-origin-firefox.docs1
-rw-r--r--debian/webext-ublock-origin-firefox.install1
-rw-r--r--debian/webext-ublock-origin-firefox.lintian-overrides2
25 files changed, 5361 insertions, 0 deletions
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..2a8fb52
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,52 @@
+<!-- -*- mode: markdown; -*- -->
+
+# Handling new upstream releases #
+
+Upstream recently moved their third party assets to a separate git
+repository. Their build scripts clone this git repository as part of
+the build. The stated purpose is for easier repository access control
+and bug triage: as far as Debian is concerned, the assets repository
+does not belong in its own source package.
+
+To work around this we maintain a pre-DFSG upstream branch which has
+the third party assets present as a git-subtree(1). New upstream
+versions are merged into this branch. We then perform DFSG-cleaning
+on an emphemeral branch and tag the result, so that gbp can generate
+orig tarballs. Finally the tag is merged into our master Debian
+packaging branch. Step-by-step, supposing upstream releases version
+1.2.3:
+
+1. git remote add upstream https://github.com/gorhill/uBlock
+2. git remote update
+3. git checkout pre-dfsg
+4. git merge 1.2.3
+5. git subtree pull -P uAssets https://github.com/uBlockOrigin/uAssets master
+6. git checkout -b upstream pre-dfsg
+7. git show master:debian/clean-dfsg.sh | sh
+8. git commit -m "new upstream version 1.2.3 DFSG-cleaned"
+9. git tag 1.2.3+dfsg
+10. git checkout master
+11. git branch -D upstream
+12. git merge 1.2.3+dfsg
+13. Update debian/changelog for new version.
+14. Ensure that debian/copyright is up-to-date with {u,}assets/ublock/
+ dir.
+ Find new non-free filters: `git diff --stat 1.2.2+dfsg..1.2.3+dfsg -- uAssets/thirdparties/`
+15. Update the upstream changelog with `debian/rules get-orig-changelog`.
+16. Cut the Debian release with gbp buildpackage.
+17. git push --tags :
+18. Upload to ftp-master with your favourite tool
+
+## Possible improvements ##
+
+TODO: fold steps 2--11 into clean-dfsg.sh e.g. `% clean-dfsg.sh 1.2.3`
+
+TODO: instead, maintain a dfsg-clean branch with the deletions. Then
+can just do: git merge new.version && git tag new.version-dfsg
+
+## Original setup of the pre-dfsg branch ##
+
+1. git checkout -b pre-dfsg 1.2.2
+2. git subtree add -P uAssets https://github.com/uBlockOrigin/uAssets master
+
+ -- Sean Whitton <spwhitton@spwhitton.name>, Sun, 6 Nov 2016 14:01:10 -0700
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..115bc84
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,484 @@
+ublock-origin (1.55.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.55.0+dfsg.
+
+ -- Markus Koschany <apo@debian.org> Sun, 21 Jan 2024 21:18:52 +0100
+
+ublock-origin (1.54.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.54.0+dfsg.
+
+ -- Markus Koschany <apo@debian.org> Sun, 03 Dec 2023 19:00:28 +0100
+
+ublock-origin (1.53.3rc0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.53.3rc0+dfsg. (Closes: #1055315)
+
+ -- Markus Koschany <apo@debian.org> Fri, 10 Nov 2023 05:24:39 +0100
+
+ublock-origin (1.52.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.52.0+dfsg. (Closes: #1052658)
+
+ -- Markus Koschany <apo@debian.org> Wed, 27 Sep 2023 01:39:18 +0200
+
+ublock-origin (1.51.0+dfsg-2) unstable; urgency=medium
+
+ * Replace js-beautify and csstree Javascript libraries with system libraries.
+ Document the licenses of js-beautify, csstree and hsluv in debian/copyright.
+ Add the missing source file of hsluv.js to debian/missing-sources.
+ Thanks to Bastien Roucariès for the report. (Closes: #1042757)
+
+ -- Markus Koschany <apo@debian.org> Sat, 19 Aug 2023 01:01:05 +0200
+
+ublock-origin (1.51.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.51.0+dfsg. (Closes: #1039061)
+ * Build the minified asset filters from source. Build-depend on nodejs.
+ * d/control: Remove obsolete Breaks and Replaces.
+
+ -- Markus Koschany <apo@debian.org> Sat, 22 Jul 2023 00:43:04 +0200
+
+ublock-origin (1.46.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.46.0+dfsg.
+ * Declare compliance with Debian Policy 4.6.2.
+
+ -- Markus Koschany <apo@debian.org> Mon, 23 Jan 2023 22:02:37 +0100
+
+ublock-origin (1.44.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.44.0+dfsg. (Closes: #1016901)
+ * Drop transitional webext-ublock-origin binary package.
+ * Declare compliance with Debian Policy 4.6.1.
+ * Remove lz4-block-codec.wat.patch and python3.patch. Fixed upstream.
+
+ -- Markus Koschany <apo@debian.org> Tue, 23 Aug 2022 00:42:54 +0200
+
+ublock-origin (1.42.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.42.0+dfsg.
+ - Fix FTBFS unexpected token get_local. (Closes: #1005502)
+
+ -- Markus Koschany <apo@debian.org> Fri, 06 May 2022 03:17:53 +0200
+
+ublock-origin (1.40.2+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.40.2+dfsg.
+
+ -- Markus Koschany <apo@debian.org> Thu, 30 Dec 2021 23:12:02 +0100
+
+ublock-origin (1.39.0+dfsg-2) unstable; urgency=medium
+
+ * Fix debian/watch to detect new upstream releases.
+
+ -- Markus Koschany <apo@debian.org> Fri, 26 Nov 2021 23:10:11 +0100
+
+ublock-origin (1.39.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.39.0+dfsg.
+ * Skip the tests.
+
+ -- Markus Koschany <apo@debian.org> Fri, 26 Nov 2021 22:34:21 +0100
+
+ublock-origin (1.37.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.37.0+dfsg.
+ - Fix CVE-2021-36773:
+ uBlock supported an arbitrary depth of parameter nesting for strict
+ blocking, which allows crafted web sites to cause a denial of service
+ (unbounded recursion that can trigger memory consumption and a loss of
+ all blocking functionality).
+ Thanks to Marcus Frings for the report. (Closes: #991386)
+ * Declare compliance with Debian Policy 4.6.0.
+
+ -- Markus Koschany <apo@debian.org> Wed, 18 Aug 2021 20:56:50 +0200
+
+ublock-origin (1.33.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.33.0+dfsg.
+
+ -- Markus Koschany <apo@debian.org> Tue, 16 Feb 2021 00:10:01 +0100
+
+ublock-origin (1.32.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.32.0+dfsg.
+ * Declare compliance with Debian Policy 4.5.1.
+
+ -- Markus Koschany <apo@debian.org> Sat, 26 Dec 2020 20:48:03 +0100
+
+ublock-origin (1.30.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.30.0+dfsg.
+
+ -- Markus Koschany <apo@debian.org> Sun, 04 Oct 2020 15:43:32 +0200
+
+ublock-origin (1.29.0+dfsg-2) unstable; urgency=medium
+
+ * Update debian/copyright. Readd codemirror license which got accidentally
+ removed and two new fonts licenses. (Closes: #969742)
+
+ -- Markus Koschany <apo@debian.org> Tue, 08 Sep 2020 01:16:48 +0200
+
+ublock-origin (1.29.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.29.0+dfsg.
+ - Restore compatibility with Firefox 80. (Closes: #969123)
+ * Restore compatibility with Chromium. Add new binary package
+ webext-ublock-origin-chromium. (Closes: #954097)
+
+ -- Markus Koschany <apo@debian.org> Thu, 27 Aug 2020 23:43:42 +0200
+
+ublock-origin (1.28.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.28.0+dfsg. (Closes: #952645)
+ * Remove obsolete binary packages xul-ext-ublock-origin and
+ chromium-ublock-origin. (Closes: #908158)
+ * Install the Firefox version into webext-ublock-origin. Temporarily only the
+ Firefox web browser is supported. A new version of ublock-origin is
+ currently waiting in the ftp-master's NEW queue. As soon as this version
+ enters Debian, both web browsers, Chromium and Firefox, will be supported
+ again.
+ * Fix the wrong version number in both Firefox and Chromium manifest files.
+ (Closes: #946796)
+
+ -- Markus Koschany <apo@debian.org> Sat, 25 Jul 2020 17:26:09 +0200
+
+ublock-origin (1.22.2+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.22.2+dfsg.
+
+ -- Markus Koschany <apo@debian.org> Sun, 15 Sep 2019 00:13:54 +0200
+
+ublock-origin (1.19.0+dfsg-2) unstable; urgency=medium
+
+ * Upload to unstable.
+ * Declare compliance with Debian Policy 4.4.0.
+
+ -- Markus Koschany <apo@debian.org> Sun, 07 Jul 2019 23:57:21 +0200
+
+ublock-origin (1.19.0+dfsg-1) experimental; urgency=medium
+
+ [ Michael Meskes ]
+ * Change package layout to allow for different file for each browser while at
+ the same time keeping firefox working despite its dislike for symlinks.
+ (Closes: #926586)
+
+ [ Markus Koschany ]
+ * New upstream version 1.19.0+dfsg.
+
+ -- Markus Koschany <apo@debian.org> Sun, 19 May 2019 19:30:24 +0200
+
+ublock-origin (1.18.10+dfsg-1) experimental; urgency=medium
+
+ [ Markus Koschany ]
+ * New upstream version 1.18.10+dfsg.
+ * Fix ublock-origin being disabled with Firefox 66. (Closes: #925337)
+ * Switch to compat level 12.
+
+ -- Markus Koschany <apo@debian.org> Sat, 23 Mar 2019 22:54:24 +0100
+
+ublock-origin (1.18.4+dfsg-2) unstable; urgency=medium
+
+ * Remove /etc/chromium.d/ublock-origin on upgrade because this file is
+ obsolete. (Closes: #923001)
+
+ -- Markus Koschany <apo@debian.org> Sun, 24 Feb 2019 15:51:26 +0100
+
+ublock-origin (1.18.4+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.18.4.
+ * Remove vapi-webrequest.patch. Fixed upstream.
+ * Drop 0004-patch-README-for-Debian.patch and do not install README.md.
+
+ [ Michael Meskes ]
+ * Remove debian/chromium/* since Chromium will load all extensions now.
+
+ -- Markus Koschany <apo@debian.org> Wed, 06 Feb 2019 11:34:39 +0100
+
+ublock-origin (1.18.2+dfsg-2) unstable; urgency=medium
+
+ * Upload to unstable.
+ * Drop do-not-open-sidebar-on-first-start.patch. Fixed upstream.
+ * Reuse both flavors of webRequest wrapper in webext package.
+ Thanks to Raymond Hill for the patch. (Closes: #920652)
+
+ -- Markus Koschany <apo@debian.org> Mon, 28 Jan 2019 23:14:43 +0100
+
+ublock-origin (1.18.2+dfsg-1) experimental; urgency=medium
+
+ * New upstream version 1.18.2 DFSG-cleaned.
+ * Declare compliance with Debian Policy 4.3.0.
+ * Remove debian/missing-sources again because upstream provides the sources.
+ * Compile all *.wat files from source now.
+
+ -- Markus Koschany <apo@debian.org> Sun, 27 Jan 2019 17:08:27 +0100
+
+ublock-origin (1.17.0+dfsg-3) unstable; urgency=medium
+
+ * Replace symlink to fontawesome-webfont with a real file again. Firefox
+ silently ignored this symlink and icons were not displayed. This also fixes
+ the logger window which was empty before. (Closes: #916431, #906911)
+
+ -- Markus Koschany <apo@debian.org> Sat, 15 Dec 2018 14:24:36 +0000
+
+ublock-origin (1.17.0+dfsg-2) unstable; urgency=medium
+
+ * Remove the quotation marks around boolean value in
+ do-not-open-sidebar-on-first-start.patch. That prevented Firefox from
+ loading the addon. Thanks to Eugen Dedu for the report.
+ (Closes: #910807)
+
+ -- Markus Koschany <apo@debian.org> Thu, 11 Oct 2018 17:14:14 +0200
+
+ublock-origin (1.17.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.17.0+dfsg.
+ * Update upstream changelog to the new release version.
+ * Drop make-webext-meta-encoding.patch and make-webext.patch. Fixed upstream.
+ * Add do-not-open-sidebar-on-first-start.patch and prevent that the sidebar
+ in Firefox opens on first startup. This feature only works in
+ Firefox >= 62. (Closes: #909493)
+ * Fix debian/watch and only track relevant upstream versions. Thanks to Sven
+ Joachim for the report and patch. (Closes: #908898)
+
+ -- Markus Koschany <apo@debian.org> Wed, 10 Oct 2018 11:28:12 +0200
+
+ublock-origin (1.16.14+dfsg-2) unstable; urgency=medium
+
+ * Declare compliance with Debian Policy 4.2.1.
+ * Build-depend on python3 and fix that python commands were silently ignored
+ in make-webext.sh.
+ Thanks to Laurent Bigonville for the report. (Closes: #908509)
+ * Add make-webext.patch. Call bash with set -e and exit when a command exits
+ with a non-zero status. Also use the python3 executable instead of the
+ default python interpreter.
+ * Add make-webext-meta-encoding.patch and fix an encoding issue and fatal
+ error that would cause a FTBFS.
+
+ -- Markus Koschany <apo@debian.org> Mon, 10 Sep 2018 19:26:50 +0200
+
+ublock-origin (1.16.14+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.16.14+dfsg-1.
+ * Add myself to Uploaders and remove Sean Whitton at his own request.
+ (Closes: #877041)
+ * Drop 0005-Fix-application-id.patch. Fixed upstream. Thanks to Laurent
+ Bigonville for the previous fix.
+ * Suggest ublock-origin-doc package. (Closes: #880533)
+ * Install the transition script ublock_migration.sh into
+ /usr/share/doc/webext-ublock-origin. Add a NEWS file and explain how users
+ can transition their data from the XUL extension to the new webext.
+ Thanks to david s for providing the script! (Closes: #877040)
+ * Declare compliance with Debian Policy 4.2.0.
+
+ -- Markus Koschany <apo@debian.org> Fri, 10 Aug 2018 08:18:58 +0200
+
+ublock-origin (1.16.6+dfsg-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix the incorrect value for applications.gecko.id in
+ platform/webext/manifest.json, this makes the extension work again with
+ firefox (Closes: #899365)
+
+ -- Laurent Bigonville <bigon@debian.org> Thu, 12 Jul 2018 13:00:00 +0200
+
+ublock-origin (1.16.6+dfsg-1) unstable; urgency=medium
+
+ [ Sean Whitton ]
+ * Build and install webextension in new binary package webext-ublock-
+ origin.
+
+ [ Michael Meskes ]
+ * New upstream version.
+ * Switch to webext package
+ * Updated VCS information.
+ * Bumped standards and debhelper version
+
+ -- Michael Meskes <meskes@debian.org> Mon, 09 Apr 2018 20:15:53 +0200
+
+ublock-origin (1.13.8+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh 0004-patch-README-for-Debian.patch
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Sun, 30 Jul 2017 18:22:57 -0700
+
+ublock-origin (1.13.6+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh patches.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Sun, 02 Jul 2017 21:52:05 +0100
+
+ublock-origin (1.12.4+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Bump standards version to 4.0.0 (no changes required).
+ * Refresh 0001-Disable-nonfree-filters-by-default.patch.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Mon, 19 Jun 2017 11:34:01 +0100
+
+ublock-origin (1.11.4+dfsg-2) experimental; urgency=high
+
+ * Add missing Breaks/Replaces of ublock-origin-doc (Closes: #859569).
+ Thanks Andreas Beckmann for reporting this error.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Tue, 04 Apr 2017 16:13:19 -0700
+
+ublock-origin (1.11.4+dfsg-1) experimental; urgency=medium
+
+ * New upstream release.
+ * Move larger media files to new -doc package (Closes: #857797).
+ * Build the Chromium extension (Closes: #858526).
+ Thanks to James McCoy for the patch.
+ - New binary package: chromium-ublock-origin.
+ - Update 0003-patch-make-assets.sh-for-Debian.patch.
+ * Extend 0001-Disable-nonfree-filters-by-default.patch to apply to new
+ file assets/assets.json.
+ * Refresh other patches.
+ * Bump debhelper compat & build-dep to 10.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Wed, 22 Mar 2017 22:17:30 -0700
+
+ublock-origin (1.10.4+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh 0004-patch-README-for-Debian.patch
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Mon, 09 Jan 2017 21:34:11 -0700
+
+ublock-origin (1.10.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Remove references to Conkeror support from README.source.
+ Upstream has closed feature request as wontfix.
+ * Quilt patch changes:
+ - Refresh 0001-Disable-nonfree-filters-by-default.patch
+ - Drop 0002-Disable-conkeror-support.patch
+ Merged upstream.
+ * /usr/share/doc/xul-ext-ublock-origin changes:
+ - Rename doc/benchmarks => benchmarks
+ - Rename doc/media => media
+ - Stop installing doc/img/: these are for upstream's wiki.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Wed, 30 Nov 2016 13:30:13 -0700
+
+ublock-origin (1.9.16+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Thu, 27 Oct 2016 21:28:56 -0700
+
+ublock-origin (1.9.12+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Sat, 08 Oct 2016 17:55:00 -0700
+
+ublock-origin (1.9.10+dfsg-2) unstable; urgency=medium
+
+ * Install an absolute symlink to fontawesome-webfont.ttf.
+ See comment in d/rules for justification.
+ Thanks to all those who contributed to finding this fix, in #827517.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Sun, 02 Oct 2016 10:49:38 -0700
+
+ublock-origin (1.9.10+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh 0001-Disable-nonfree-filters-by-default.patch.
+ * Add 0004-patch-README-for-Debian.patch.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Tue, 27 Sep 2016 10:51:30 -0700
+
+ublock-origin (1.9.6+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Remove deleted assets/.../effective_tld_names.dat from d/copyright.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Thu, 15 Sep 2016 10:48:33 -0700
+
+ublock-origin (1.9.4+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Update copyright file for third party assets moved into uAssets/.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Mon, 05 Sep 2016 08:32:11 -0700
+
+ublock-origin (1.8.4+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Mon, 08 Aug 2016 06:30:42 -0700
+
+ublock-origin (1.8.2+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Sat, 06 Aug 2016 08:55:43 -0700
+
+ublock-origin (1.8.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Fri, 05 Aug 2016 09:23:11 -0700
+
+ublock-origin (1.7.6+dfsg-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Improve README.source.
+ - Move `git diff` cmd into ordered list.
+ - Add "upload to ftp-master" step.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Sun, 26 Jun 2016 09:40:08 +0900
+
+ublock-origin (1.7.0+dfsg-1) unstable; urgency=medium
+
+ * Package new upstream release.
+ * Add a missing step to README.source.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Mon, 02 May 2016 11:39:52 -0700
+
+ublock-origin (1.6.8+dfsg-1) unstable; urgency=medium
+
+ * Package new upstream release.
+ * Explicitly include copyright for Raymond Hill.
+ * Updates for upstream's repository reorganisation:
+ - Patch tools/make-assets.sh
+ - Update debian/clean-dfsg.sh
+ - Update debian/copyright
+ - Explain changes README.source.
+ * Bump standards version to 3.9.8 (no changes required).
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Mon, 18 Apr 2016 20:38:22 -0700
+
+ublock-origin (1.6.6+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Refresh non-free filters patch.
+ * Add a patch disabling Conkeror support pending a fix of upstream bug
+ #1356. (Closes: #816896)
+ * Bump standards version to 3.9.7; no changes required.
+ * More commentary in README.source.
+ * Update copyright file in line with upstream.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Tue, 29 Mar 2016 14:34:11 -0700
+
+ublock-origin (1.6.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ Remove now superfluous Lintian overrides.
+ * Update patch disabling non-free filters by default for new upstream
+ release.
+ * Improve commentary in README.source.
+ * Generate an upstream changelog using amo-changelog.
+ * Add justifications for remaining Lintian overrides.
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Mon, 15 Feb 2016 08:05:37 -0700
+
+ublock-origin (1.5.6+dfsg-1) unstable; urgency=medium
+
+ * Initial release. (Closes: #778719)
+
+ -- Sean Whitton <spwhitton@spwhitton.name> Tue, 12 Jan 2016 18:35:50 -0700
diff --git a/debian/clean-dfsg.sh b/debian/clean-dfsg.sh
new file mode 100755
index 0000000..824c06d
--- /dev/null
+++ b/debian/clean-dfsg.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# this is meant to be in sync with Files-Excluded: entry in debian/copyright
+
+git rm --ignore-unmatch -r -f \
+ assets/thirdparties/adblock.gardar.net \
+ assets/thirdparties/adblock.schack.dk \
+ assets/thirdparties/dl.dropboxusercontent.com \
+ assets/thirdparties/easylist-downloads.adblockplus.org/liste_fr.txt \
+ assets/thirdparties/hosts-file.net \
+ assets/thirdparties/liste-ar-adblock.googlecode.com \
+ assets/thirdparties/mirror1.malwaredomains.com \
+ assets/thirdparties/pgl.yoyo.org \
+ assets/thirdparties/raw.githubusercontent.com/reek \
+ assets/thirdparties/someonewhocares.org \
+ assets/thirdparties/stanev.org \
+ assets/thirdparties/winhelp2002.mvps.org \
+ assets/thirdparties/www.fanboy.co.nz/fanboy-antifacebook.txt \
+ assets/thirdparties/www.zoso.ro \
+ assets/thirdparties/home.fredfiber.no \
+ uAssets/thirdparties/mirror1.malwaredomains.com \
+ uAssets/thirdparties/pgl.yoyo.org \
+ uAssets/thirdparties/winhelp2002.mvps.org \
+ uAssets/thirdparties/someonewhocares.org \
+ platform/safari/vapi-background.js
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..9f48474
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,70 @@
+Source: ublock-origin
+Section: web
+Priority: optional
+Maintainer: Debian Mozilla Extension Maintainers <pkg-mozext-maintainers@lists.alioth.debian.org>
+Uploaders:
+ Markus Koschany <apo@debian.org>,
+ Michael Meskes <meskes@debian.org>
+Build-Depends:
+ binaryen,
+ debhelper-compat (= 13),
+ nodejs,
+ node-css-tree,
+ node-js-beautify,
+ python3,
+ wabt
+Standards-Version: 4.6.2
+Homepage: https://github.com/gorhill/uBlock
+Vcs-Git: https://salsa.debian.org/webext-team/ublock-origin.git
+Vcs-Browser: https://salsa.debian.org/webext-team/ublock-origin
+
+Package: ublock-origin-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends}
+Description: lightweight and efficient ads, malware, trackers blocker (docs)
+ uBlock is a small footprint blocker for against web ads, malware, trackers,
+ analytics and similar invasive items.
+ .
+ Compared to other blockers like AdBlock and Ghostery, µBlock is focused on
+ having a smaller memory and CPU footprint.
+ .
+ This package contains larger files that are part of µBlock's documentation.
+
+Package: webext-ublock-origin-firefox
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends}
+Recommends:
+ firefox | firefox-esr
+Suggests:
+ ublock-origin-doc
+Description: lightweight and efficient ads, malware, trackers blocker (Firefox)
+ uBlock is a small footprint blocker for against web ads, malware, trackers,
+ analytics and similar invasive items.
+ .
+ Compared to other blockers like AdBlock and Ghostery, µBlock is focused on
+ having a smaller memory and CPU footprint.
+ .
+ This package provides the Firefox version of the addon.
+
+Package: webext-ublock-origin-chromium
+Architecture: all
+Multi-Arch: foreign
+Depends:
+ ${misc:Depends}
+Recommends:
+ chromium
+Suggests:
+ ublock-origin-doc
+Description: lightweight and efficient ads, malware, trackers blocker (Chromium)
+ uBlock is a small footprint blocker for against web ads, malware, trackers,
+ analytics and similar invasive items.
+ .
+ Compared to other blockers like AdBlock and Ghostery, µBlock is focused on
+ having a smaller memory and CPU footprint.
+ .
+ This package provides the Chromium version of the addon.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..d83c757
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,669 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: uBlock Origin
+Source: https://github.com/gorhill/uBlock
+Files-Excluded: assets/thirdparties/adblock.gardar.net
+ assets/thirdparties/adblock.schack.dk
+ assets/thirdparties/dl.dropboxusercontent.com
+ assets/thirdparties/easylist-downloads.adblockplus.org/liste_fr.txt
+ assets/thirdparties/hosts-file.net
+ assets/thirdparties/liste-ar-adblock.googlecode.com
+ assets/thirdparties/mirror1.malwaredomains.com
+ assets/thirdparties/pgl.yoyo.org
+ assets/thirdparties/raw.githubusercontent.com/reek
+ assets/thirdparties/someonewhocares.org
+ assets/thirdparties/stanev.org
+ assets/thirdparties/winhelp2002.mvps.org
+ assets/thirdparties/www.fanboy.co.nz/fanboy-antifacebook.txt
+ assets/thirdparties/www.zoso.ro
+ assets/thirdparties/home.fredfiber.no
+ uAssets/thirdparties/mirror1.malwaredomains.com
+ uAssets/thirdparties/pgl.yoyo.org
+ uAssets/thirdparties/winhelp2002.mvps.org
+ uAssets/thirdparties/someonewhocares.org
+
+Files: *
+Copyright: (C) 2014-2024 The uBlock Origin authors
+ (C) 2014-2022 Raymond Hill
+License: GPL-3+
+
+Files: uAssets/thirdparties/easylist/*
+Copyright: (C) 2015 The EasyList authors (https://easylist.adblockplus.org/)
+License: GPL-3+ or CC-BY-SA-3.0+
+
+Files: uAssets/thirdparties/publicsuffix.org/list/effective_tld_names.dat
+Copyright: (C) 2011-2015 Mozilla Foundation and contributors
+License: MPL-2.0
+
+Files: uAssets/thirdparties/urlhaus-filter/*
+Copyright: CC0-1.0
+License: CC0-1.0
+ See /usr/share/common-licenses/CC0-1.0 for more information.
+
+Files: src/lib/diff/swatinem_diff.js
+Copyright: Swatinem
+License: LGPL-3
+
+Files: src/lib/hsluv/*
+Copyright: 2012-2022 Alexei Boronine
+ 2016 Florian Dormont
+License: MIT
+
+Files: src/lib/js-beautify/*
+Copyright: 2007-2018 Einar Lielmanis, Liam Newman, and contributors
+License: MIT
+
+Files: src/js/codemirror/*
+Copyright: by Marijn Haverbeke and others
+License: MIT
+
+Files: src/lib/lz4/*
+Copyright: 2018-2023, Raymond Hill
+License: BSD-2-clause
+
+Files: src/lib/csstree/*
+Copyright: 2016-2022 by Roman Dvornov
+License: MIT
+
+Files: src/lib/punycode.js
+Copyright: Mathias Bynens
+License: MIT
+
+Files: src/css/fonts/Inter/*
+Copyright: 2016-2020 The Inter Project Authors
+License: SIL-OFL-1.1
+
+Files: src/css/fonts/Metropolis/*
+Copyright: public-domain
+License: unlicense
+ This is free and unencumbered software released into the public domain.
+ .
+ Anyone is free to copy, modify, publish, use, compile, sell, or
+ distribute this software, either in source code form or as a compiled
+ binary, for any purpose, commercial or non-commercial, and by any
+ means.
+ .
+ In jurisdictions that recognize copyright laws, the author or authors
+ of this software dedicate any and all copyright interest in the
+ software to the public domain. We make this dedication for the benefit
+ of the public at large and to the detriment of our heirs and
+ successors. We intend this dedication to be an overt act of
+ relinquishment in perpetuity of all present and future rights to this
+ software under copyright law.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+ .
+ For more information, please refer to <http://unlicense.org/>
+
+Files: src/lib/regexanalyzer/*
+Copyright: copyleft
+License: copyleft
+ The (implied) license is as free as it can get. You can modify it and use
+ it anywhere you want if it suits you.
+ .
+ An attribution to original author would be appreciated but even this is not
+ mandatory.
+ .
+ Copy Left
+
+
+Files: debian/*
+Copyright: 2015 Matthew Bekkema <mbekkema97@gmail.com>
+ 2016 Sean Whitton <spwhitton@spwhitton.name>
+ 2018-2024, Markus Koschany <apo@debian.org>
+License: GPL-3+
+
+Files: debian/upstream/*
+Copyright: (C) 2014-2016 The uBlock Origin authors
+License: GPL-3+
+
+Files: debian/missing-sources/hsluv.ts
+Copyright: 2012-2022 Alexei Boronine
+ 2016 Florian Dormont
+License: MIT
+
+
+License: GPL-3+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or (at
+ your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
+
+License: CC-BY-SA-3.0+
+ Creative Commons Attribution-ShareAlike 3.0 Unported
+ ․
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+ LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
+ ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE
+ INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+ ITS USE.
+ ․
+ License
+ ․
+ THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
+ COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
+ COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
+ AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+ ․
+ BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
+ TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
+ BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
+ CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
+ CONDITIONS.
+ ․
+ 1. Definitions
+ ․
+ a. "Adaptation" means a work based upon the Work, or upon the Work and
+ other pre-existing works, such as a translation, adaptation, derivative
+ work, arrangement of music or other alterations of a literary or
+ artistic work, or phonogram or performance and includes cinematographic
+ adaptations or any other form in which the Work may be recast,
+ transformed, or adapted including in any form recognizably derived from
+ the original, except that a work that constitutes a Collection will not
+ be considered an Adaptation for the purpose of this License. For the
+ avoidance of doubt, where the Work is a musical work, performance or
+ phonogram, the synchronization of the Work in timed-relation with a
+ moving image ("synching") will be considered an Adaptation for the
+ purpose of this License.
+ ․
+ b. "Collection" means a collection of literary or artistic works, such
+ as encyclopedias and anthologies, or performances, phonograms or
+ broadcasts, or other works or subject matter other than works listed in
+ Section 1(f) below, which, by reason of the selection and arrangement of
+ their contents, constitute intellectual creations, in which the Work is
+ included in its entirety in unmodified form along with one or more other
+ contributions, each constituting separate and independent works in
+ themselves, which together are assembled into a collective whole. A work
+ that constitutes a Collection will not be considered an Adaptation (as
+ defined below) for the purposes of this License.
+ ․
+ c. "Creative Commons Compatible License" means a license that is listed
+ at http://creativecommons.org/compatiblelicenses that has been approved
+ by Creative Commons as being essentially equivalent to this License,
+ including, at a minimum, because that license: (i) contains terms that
+ have the same purpose, meaning and effect as the License Elements of
+ this License; and, (ii) explicitly permits the relicensing of
+ adaptations of works made available under that license under this
+ License or a Creative Commons jurisdiction license with the same License
+ Elements as this License.
+ ․
+ d. "Distribute" means to make available to the public the original and
+ copies of the Work or Adaptation, as appropriate, through sale or other
+ transfer of ownership.
+ ․
+ e. "License Elements" means the following high-level license attributes
+ as selected by Licensor and indicated in the title of this License:
+ Attribution, ShareAlike.
+ ․
+ f. "Licensor" means the individual, individuals, entity or entities that
+ offer(s) the Work under the terms of this License.
+ ․
+ g. "Original Author" means, in the case of a literary or artistic work,
+ the individual, individuals, entity or entities who created the Work or
+ if no individual or entity can be identified, the publisher; and in
+ addition (i) in the case of a performance the actors, singers,
+ musicians, dancers, and other persons who act, sing, deliver, declaim,
+ play in, interpret or otherwise perform literary or artistic works or
+ expressions of folklore; (ii) in the case of a phonogram the producer
+ being the person or legal entity who first fixes the sounds of a
+ performance or other sounds; and, (iii) in the case of broadcasts, the
+ organization that transmits the broadcast.
+ ․
+ h. "Work" means the literary and/or artistic work offered under the
+ terms of this License including without limitation any production in the
+ literary, scientific and artistic domain, whatever may be the mode or
+ form of its expression including digital form, such as a book, pamphlet
+ and other writing; a lecture, address, sermon or other work of the same
+ nature; a dramatic or dramatico-musical work; a choreographic work or
+ entertainment in dumb show; a musical composition with or without words;
+ a cinematographic work to which are assimilated works expressed by a
+ process analogous to cinematography; a work of drawing, painting,
+ architecture, sculpture, engraving or lithography; a photographic work
+ to which are assimilated works expressed by a process analogous to
+ photography; a work of applied art; an illustration, map, plan, sketch
+ or three-dimensional work relative to geography, topography,
+ architecture or science; a performance; a broadcast; a phonogram; a
+ compilation of data to the extent it is protected as a copyrightable
+ work; or a work performed by a variety or circus performer to the extent
+ it is not otherwise considered a literary or artistic work.
+ ․
+ i. "You" means an individual or entity exercising rights under this
+ License who has not previously violated the terms of this License with
+ respect to the Work, or who has received express permission from the
+ Licensor to exercise rights under this License despite a previous
+ violation.
+ ․
+ j. "Publicly Perform" means to perform public recitations of the Work
+ and to communicate to the public those public recitations, by any means
+ or process, including by wire or wireless means or public digital
+ performances; to make available to the public Works in such a way that
+ members of the public may access these Works from a place and at a place
+ individually chosen by them; to perform the Work to the public by any
+ means or process and the communication to the public of the performances
+ of the Work, including by public digital performance; to broadcast and
+ rebroadcast the Work by any means including signs, sounds or images.
+ ․
+ k. "Reproduce" means to make copies of the Work by any means including
+ without limitation by sound or visual recordings and the right of
+ fixation and reproducing fixations of the Work, including storage of a
+ protected performance or phonogram in digital form or other electronic
+ medium.
+ ․
+ 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
+ limit, or restrict any uses free from copyright or rights arising from
+ limitations or exceptions that are provided for in connection with the
+ copyright protection under copyright law or other applicable laws.
+ ․
+ 3. License Grant. Subject to the terms and conditions of this License,
+ Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+ perpetual (for the duration of the applicable copyright) license to
+ exercise the rights in the Work as stated below:
+ ․
+ a. to Reproduce the Work, to incorporate the Work into one or more
+ Collections, and to Reproduce the Work as incorporated in the
+ Collections;
+ ․
+ b. to create and Reproduce Adaptations provided that any such
+ Adaptation, including any translation in any medium, takes reasonable
+ steps to clearly label, demarcate or otherwise identify that changes
+ were made to the original Work. For example, a translation could be
+ marked "The original work was translated from English to Spanish," or a
+ modification could indicate "The original work has been modified.";
+ ․
+ c. to Distribute and Publicly Perform the Work including as incorporated
+ in Collections; and,
+ ․
+ d. to Distribute and Publicly Perform Adaptations.
+ ․
+ e. For the avoidance of doubt:
+ ․
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in
+ which the right to collect royalties through any statutory or compulsory
+ licensing scheme cannot be waived, the Licensor reserves the exclusive
+ right to collect such royalties for any exercise by You of the rights
+ granted under this License;
+ ․
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which
+ the right to collect royalties through any statutory or compulsory
+ licensing scheme can be waived, the Licensor waives the exclusive right
+ to collect such royalties for any exercise by You of the rights granted
+ under this License; and,
+ ․
+ iii. Voluntary License Schemes. The Licensor waives the right to collect
+ royalties, whether individually or, in the event that the Licensor is a
+ member of a collecting society that administers voluntary licensing
+ schemes, via that society, from any exercise by You of the rights
+ granted under this License.
+ ․
+ The above rights may be exercised in all media and formats whether now
+ known or hereafter devised. The above rights include the right to make
+ such modifications as are technically necessary to exercise the rights
+ in other media and formats. Subject to Section 8(f), all rights not
+ expressly granted by Licensor are hereby reserved.
+ ․
+ 4. Restrictions. The license granted in Section 3 above is expressly
+ made subject to and limited by the following restrictions:
+ ․
+ a. You may Distribute or Publicly Perform the Work only under the terms
+ of this License. You must include a copy of, or the Uniform Resource
+ Identifier (URI) for, this License with every copy of the Work You
+ Distribute or Publicly Perform. You may not offer or impose any terms on
+ the Work that restrict the terms of this License or the ability of the
+ recipient of the Work to exercise the rights granted to that recipient
+ under the terms of the License. You may not sublicense the Work. You
+ must keep intact all notices that refer to this License and to the
+ disclaimer of warranties with every copy of the Work You Distribute or
+ Publicly Perform. When You Distribute or Publicly Perform the Work, You
+ may not impose any effective technological measures on the Work that
+ restrict the ability of a recipient of the Work from You to exercise the
+ rights granted to that recipient under the terms of the License. This
+ Section 4(a) applies to the Work as incorporated in a Collection, but
+ this does not require the Collection apart from the Work itself to be
+ made subject to the terms of this License. If You create a Collection,
+ upon notice from any Licensor You must, to the extent practicable,
+ remove from the Collection any credit as required by Section 4(c), as
+ requested. If You create an Adaptation, upon notice from any Licensor
+ You must, to the extent practicable, remove from the Adaptation any
+ credit as required by Section 4(c), as requested.
+ ․
+ b. You may Distribute or Publicly Perform an Adaptation only under the
+ terms of: (i) this License; (ii) a later version of this License with
+ the same License Elements as this License; (iii) a Creative Commons
+ jurisdiction license (either this or a later license version) that
+ contains the same License Elements as this License (e.g.,
+ Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible
+ License. If you license the Adaptation under one of the licenses
+ mentioned in (iv), you must comply with the terms of that license. If
+ you license the Adaptation under the terms of any of the licenses
+ mentioned in (i), (ii) or (iii) (the "Applicable License"), you must
+ comply with the terms of the Applicable License generally and the
+ following provisions: (I) You must include a copy of, or the URI for,
+ the Applicable License with every copy of each Adaptation You Distribute
+ or Publicly Perform; (II) You may not offer or impose any terms on the
+ Adaptation that restrict the terms of the Applicable License or the
+ ability of the recipient of the Adaptation to exercise the rights
+ granted to that recipient under the terms of the Applicable License;
+ (III) You must keep intact all notices that refer to the Applicable
+ License and to the disclaimer of warranties with every copy of the Work
+ as included in the Adaptation You Distribute or Publicly Perform; (IV)
+ when You Distribute or Publicly Perform the Adaptation, You may not
+ impose any effective technological measures on the Adaptation that
+ restrict the ability of a recipient of the Adaptation from You to
+ exercise the rights granted to that recipient under the terms of the
+ Applicable License. This Section 4(b) applies to the Adaptation as
+ incorporated in a Collection, but this does not require the Collection
+ apart from the Adaptation itself to be made subject to the terms of the
+ Applicable License.
+ ․
+ c. If You Distribute, or Publicly Perform the Work or any Adaptations or
+ Collections, You must, unless a request has been made pursuant to
+ Section 4(a), keep intact all copyright notices for the Work and
+ provide, reasonable to the medium or means You are utilizing: (i) the
+ name of the Original Author (or pseudonym, if applicable) if supplied,
+ and/or if the Original Author and/or Licensor designate another party or
+ parties (e.g., a sponsor institute, publishing entity, journal) for
+ attribution ("Attribution Parties") in Licensor's copyright notice,
+ terms of service or by other reasonable means, the name of such party or
+ parties; (ii) the title of the Work if supplied; (iii) to the extent
+ reasonably practicable, the URI, if any, that Licensor specifies to be
+ associated with the Work, unless such URI does not refer to the
+ copyright notice or licensing information for the Work; and (iv) ,
+ consistent with Ssection 3(b), in the case of an Adaptation, a credit
+ identifying the use of the Work in the Adaptation (e.g., "French
+ translation of the Work by Original Author," or "Screenplay based on
+ original Work by Original Author"). The credit required by this Section
+ 4(c) may be implemented in any reasonable manner; provided, however,
+ that in the case of a Adaptation or Collection, at a minimum such credit
+ will appear, if a credit for all contributing authors of the Adaptation
+ or Collection appears, then as part of these credits and in a manner at
+ least as prominent as the credits for the other contributing authors.
+ For the avoidance of doubt, You may only use the credit required by this
+ Section for the purpose of attribution in the manner set out above and,
+ by exercising Your rights under this License, You may not implicitly or
+ explicitly assert or imply any connection with, sponsorship or
+ endorsement by the Original Author, Licensor and/or Attribution Parties,
+ as appropriate, of You or Your use of the Work, without the separate,
+ express prior written permission of the Original Author, Licensor and/or
+ Attribution Parties.
+ ․
+ d. Except as otherwise agreed in writing by the Licensor or as may be
+ otherwise permitted by applicable law, if You Reproduce, Distribute or
+ Publicly Perform the Work either by itself or as part of any Adaptations
+ or Collections, You must not distort, mutilate, modify or take other
+ derogatory action in relation to the Work which would be prejudicial to
+ the Original Author's honor or reputation. Licensor agrees that in those
+ jurisdictions (e.g. Japan), in which any exercise of the right granted
+ in Section 3(b) of this License (the right to make Adaptations) would be
+ deemed to be a distortion, mutilation, modification or other derogatory
+ action prejudicial to the Original Author's honor and reputation, the
+ Licensor will waive or not assert, as appropriate, this Section, to the
+ fullest extent permitted by the applicable national law, to enable You
+ to reasonably exercise Your right under Section 3(b) of this License
+ (right to make Adaptations) but not otherwise.
+ ․
+ 5. Representations, Warranties and Disclaimer
+ ․
+ UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
+ OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
+ KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
+ INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
+ LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
+ WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE
+ EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+ ․
+ 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
+ LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
+ ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
+ ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
+ BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ ․
+ 7. Termination
+ ․
+ a. This License and the rights granted hereunder will terminate
+ automatically upon any breach by You of the terms of this License.
+ Individuals or entities who have received Adaptations or Collections
+ from You under this License, however, will not have their licenses
+ terminated provided such individuals or entities remain in full
+ compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
+ survive any termination of this License.
+ ․
+ b. Subject to the above terms and conditions, the license granted here
+ is perpetual (for the duration of the applicable copyright in the Work).
+ Notwithstanding the above, Licensor reserves the right to release the
+ Work under different license terms or to stop distributing the Work at
+ any time; provided, however that any such election will not serve to
+ withdraw this License (or any other license that has been, or is
+ required to be, granted under the terms of this License), and this
+ License will continue in full force and effect unless terminated as
+ stated above.
+ ․
+ 8. Miscellaneous
+ ․
+ a. Each time You Distribute or Publicly Perform the Work or a
+ Collection, the Licensor offers to the recipient a license to the Work
+ on the same terms and conditions as the license granted to You under
+ this License.
+ ․
+ b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
+ offers to the recipient a license to the original Work on the same terms
+ and conditions as the license granted to You under this License.
+ ․
+ c. If any provision of this License is invalid or unenforceable under
+ applicable law, it shall not affect the validity or enforceability of
+ the remainder of the terms of this License, and without further action
+ by the parties to this agreement, such provision shall be reformed to
+ the minimum extent necessary to make such provision valid and
+ enforceable.
+ ․
+ d. No term or provision of this License shall be deemed waived and no
+ breach consented to unless such waiver or consent shall be in writing
+ and signed by the party to be charged with such waiver or consent.
+ ․
+ e. This License constitutes the entire agreement between the parties
+ with respect to the Work licensed here. There are no understandings,
+ agreements or representations with respect to the Work not specified
+ here. Licensor shall not be bound by any additional provisions that may
+ appear in any communication from You. This License may not be modified
+ without the mutual written agreement of the Licensor and You.
+ ․
+ f. The rights granted under, and the subject matter referenced, in this
+ License were drafted utilizing the terminology of the Berne Convention
+ for the Protection of Literary and Artistic Works (as amended on
+ September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
+ Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and
+ the Universal Copyright Convention (as revised on July 24, 1971). These
+ rights and subject matter take effect in the relevant jurisdiction in
+ which the License terms are sought to be enforced according to the
+ corresponding provisions of the implementation of those treaty
+ provisions in the applicable national law. If the standard suite of
+ rights granted under applicable copyright law includes additional rights
+ not granted under this License, such additional rights are deemed to be
+ included in the License; this License is not intended to restrict the
+ license of any rights under applicable law.
+ ․
+ ․
+ Creative Commons Notice
+ ․
+ Creative Commons is not a party to this License, and makes no warranty
+ whatsoever in connection with the Work. Creative Commons will not be
+ liable to You or any party on any legal theory for any damages
+ whatsoever, including without limitation any general, special,
+ incidental or consequential damages arising in connection to this
+ license. Notwithstanding the foregoing two (2) sentences, if Creative
+ Commons has expressly identified itself as the Licensor hereunder, it
+ shall have all rights and obligations of Licensor.
+ ․
+ Except for the limited purpose of indicating to the public that the Work
+ is licensed under the CCPL, Creative Commons does not authorize the use
+ by either party of the trademark "Creative Commons" or any related
+ trademark or logo of Creative Commons without the prior written consent
+ of Creative Commons. Any permitted use will be in compliance with
+ Creative Commons' then-current trademark usage guidelines, as may be
+ published on its website or otherwise made available upon request from
+ time to time. For the avoidance of doubt, this trademark restriction
+ does not form part of the License.
+ ․
+ Creative Commons may be contacted at http://creativecommons.org/.
+
+License: MPL-2.0
+ This Source Code Form is subject to the terms of the Mozilla Public License,
+ v. 2.0. If a copy of the MPL was not distributed with this file,
+ You can obtain one at http://mozilla.org/MPL/2.0/.
+
+License: LGPL-3
+ On Debian systems the complete license text of the GNU Lesser General Public
+ License 3 can be found in /usr/share/common-licenses/LGPL-3.
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ .
+ 2. Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: SIL-OFL-1.1
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+ -----------------------------------------------------------
+ .
+ PREAMBLE
+ The goals of the Open Font License (OFL) are to stimulate worldwide
+ development of collaborative font projects, to support the font creation
+ efforts of academic and linguistic communities, and to provide a free and
+ open framework in which fonts may be shared and improved in partnership
+ with others.
+ .
+ The OFL allows the licensed fonts to be used, studied, modified and
+ redistributed freely as long as they are not sold by themselves. The
+ fonts, including any derivative works, can be bundled, embedded,
+ redistributed and/or sold with any software provided that any reserved
+ names are not used by derivative works. The fonts and derivatives,
+ however, cannot be released under any other type of license. The
+ requirement for fonts to remain under this license does not apply
+ to any document created using the fonts or their derivatives.
+ .
+ DEFINITIONS
+ "Font Software" refers to the set of files released by the Copyright
+ Holder(s) under this license and clearly marked as such. This may
+ include source files, build scripts and documentation.
+ .
+ "Reserved Font Name" refers to any names specified as such after the
+ copyright statement(s).
+ .
+ "Original Version" refers to the collection of Font Software components as
+ distributed by the Copyright Holder(s).
+ .
+ "Modified Version" refers to any derivative made by adding to, deleting,
+ or substituting -- in part or in whole -- any of the components of the
+ Original Version, by changing formats or by porting the Font Software to a
+ new environment.
+ .
+ "Author" refers to any designer, engineer, programmer, technical
+ writer or other person who contributed to the Font Software.
+ .
+ PERMISSION & CONDITIONS
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
+ redistribute, and sell modified and unmodified copies of the Font
+ Software, subject to the following conditions:
+ .
+ 1) Neither the Font Software nor any of its individual components,
+ in Original or Modified Versions, may be sold by itself.
+ .
+ 2) Original or Modified Versions of the Font Software may be bundled,
+ redistributed and/or sold with any software, provided that each copy
+ contains the above copyright notice and this license. These can be
+ included either as stand-alone text files, human-readable headers or
+ in the appropriate machine-readable metadata fields within text or
+ binary files as long as those fields can be easily viewed by the user.
+ .
+ 3) No Modified Version of the Font Software may use the Reserved Font
+ Name(s) unless explicit written permission is granted by the corresponding
+ Copyright Holder. This restriction only applies to the primary font name as
+ presented to the users.
+ .
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+ Software shall not be used to promote, endorse or advertise any
+ Modified Version, except to acknowledge the contribution(s) of the
+ Copyright Holder(s) and the Author(s) or with their explicit written
+ permission.
+ .
+ 5) The Font Software, modified or unmodified, in part or in whole,
+ must be distributed entirely under this license, and must not be
+ distributed under any other license. The requirement for fonts to
+ remain under this license does not apply to any document created
+ using the Font Software.
+ .
+ TERMINATION
+ This license becomes null and void if any of the above conditions are
+ not met.
+ .
+ DISCLAIMER
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+ OTHER DEALINGS IN THE FONT SOFTWARE.
+
+License: MIT
+ MIT License
+ .
+ Copyright (C) 2017 by Marijn Haverbeke <marijnh@gmail.com> and others
+ .
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..ebbc046
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,9 @@
+[DEFAULT]
+debian-branch = master
+upstream-tag = %(version)s
+debian-tag = debian/%(version)s
+
+#postbuild = lintian $GBP_CHANGES_FILE
+color = on
+compression = xz
+compression-level = 9
diff --git a/debian/missing-sources/hsluv.ts b/debian/missing-sources/hsluv.ts
new file mode 100644
index 0000000..159c8ab
--- /dev/null
+++ b/debian/missing-sources/hsluv.ts
@@ -0,0 +1,374 @@
+export class Hsluv {
+ private static hexChars: string = "0123456789abcdef";
+ private static refY: number = 1.0;
+ private static refU: number = 0.19783000664283;
+ private static refV: number = 0.46831999493879;
+ private static kappa: number = 903.2962962;
+ private static epsilon: number = 0.0088564516;
+ private static m_r0: number = 3.240969941904521;
+ private static m_r1: number = -1.537383177570093;
+ private static m_r2: number = -0.498610760293;
+ private static m_g0: number = -0.96924363628087;
+ private static m_g1: number = 1.87596750150772;
+ private static m_g2: number = 0.041555057407175;
+ private static m_b0: number = 0.055630079696993;
+ private static m_b1: number = -0.20397695888897;
+ private static m_b2: number = 1.056971514242878;
+
+ // RGB
+ public hex: string = '#000000';
+ public rgb_r: number = 0;
+ public rgb_g: number = 0;
+ public rgb_b: number = 0;
+
+ // CIE XYZ
+ public xyz_x: number = 0;
+ public xyz_y: number = 0;
+ public xyz_z: number = 0;
+
+ // CIE LUV
+ public luv_l: number = 0;
+ public luv_u: number = 0;
+ public luv_v: number = 0;
+
+ // CIE LUV LCh
+ public lch_l: number = 0;
+ public lch_c: number = 0;
+ public lch_h: number = 0;
+
+ // HSLuv
+ public hsluv_h: number = 0;
+ public hsluv_s: number = 0;
+ public hsluv_l: number = 0;
+
+ // HPLuv
+ public hpluv_h: number = 0;
+ public hpluv_p: number = 0;
+ public hpluv_l: number = 0;
+
+ // 6 lines in slope-intercept format: R < 0, R > 1, G < 0, G > 1, B < 0, B > 1
+ public r0s: number = 0;
+ public r0i: number = 0;
+ public r1s: number = 0;
+ public r1i: number = 0;
+
+ public g0s: number = 0;
+ public g0i: number = 0;
+ public g1s: number = 0;
+ public g1i: number = 0;
+
+ public b0s: number = 0;
+ public b0i: number = 0;
+ public b1s: number = 0;
+ public b1i: number = 0;
+
+ private static fromLinear(c: number): number {
+ if (c <= 0.0031308) {
+ return 12.92 * c;
+ } else {
+ return 1.055 * Math.pow(c, 1 / 2.4) - 0.055;
+ }
+ }
+
+ private static toLinear(c: number): number {
+ if (c > 0.04045) {
+ return Math.pow((c + 0.055) / 1.055, 2.4);
+ } else {
+ return c / 12.92;
+ }
+ }
+
+ private static yToL(Y: number): number {
+ if (Y <= Hsluv.epsilon) {
+ return Y / Hsluv.refY * Hsluv.kappa;
+ } else {
+ return 116 * Math.pow(Y / Hsluv.refY, 1 / 3) - 16;
+ }
+ }
+
+ private static lToY(L: number): number {
+ if (L <= 8) {
+ return Hsluv.refY * L / Hsluv.kappa;
+ } else {
+ return Hsluv.refY * Math.pow((L + 16) / 116, 3);
+ }
+ }
+
+ private static rgbChannelToHex(chan: number): string {
+ const c = Math.round(chan * 255);
+ const digit2 = c % 16;
+ const digit1 = (c - digit2) / 16 | 0;
+ return Hsluv.hexChars.charAt(digit1) + Hsluv.hexChars.charAt(digit2);
+ }
+
+ private static hexToRgbChannel(hex: string, offset: number): number {
+ const digit1 = Hsluv.hexChars.indexOf(hex.charAt(offset));
+ const digit2 = Hsluv.hexChars.indexOf(hex.charAt(offset + 1));
+ const n = digit1 * 16 + digit2;
+ return n / 255.0;
+ }
+
+ private static distanceFromOriginAngle(slope: number, intercept: number, angle: number): number {
+ const d = intercept / (Math.sin(angle) - slope * Math.cos(angle));
+ if (d < 0) {
+ return Infinity;
+ } else {
+ return d;
+ }
+ }
+
+ private static distanceFromOrigin(slope: number, intercept: number): number {
+ return Math.abs(intercept) / Math.sqrt(Math.pow(slope, 2) + 1);
+ }
+
+ private static min6(f1: number, f2: number, f3: number, f4: number, f5: number, f6: number): number {
+ return Math.min(f1, Math.min(f2, Math.min(f3, Math.min(f4, Math.min(f5, f6)))));
+ }
+
+ public rgbToHex(): void {
+ this.hex = "#";
+ this.hex += Hsluv.rgbChannelToHex(this.rgb_r);
+ this.hex += Hsluv.rgbChannelToHex(this.rgb_g);
+ this.hex += Hsluv.rgbChannelToHex(this.rgb_b);
+ }
+
+ public hexToRgb(): void {
+ this.hex = this.hex.toLowerCase();
+ this.rgb_r = Hsluv.hexToRgbChannel(this.hex, 1);
+ this.rgb_g = Hsluv.hexToRgbChannel(this.hex, 3);
+ this.rgb_b = Hsluv.hexToRgbChannel(this.hex, 5);
+ }
+
+ public xyzToRgb(): void {
+ this.rgb_r = Hsluv.fromLinear(Hsluv.m_r0 * this.xyz_x + Hsluv.m_r1 * this.xyz_y + Hsluv.m_r2 * this.xyz_z);
+ this.rgb_g = Hsluv.fromLinear(Hsluv.m_g0 * this.xyz_x + Hsluv.m_g1 * this.xyz_y + Hsluv.m_g2 * this.xyz_z);
+ this.rgb_b = Hsluv.fromLinear(Hsluv.m_b0 * this.xyz_x + Hsluv.m_b1 * this.xyz_y + Hsluv.m_b2 * this.xyz_z);
+ }
+
+ public rgbToXyz(): void {
+ const lr = Hsluv.toLinear(this.rgb_r);
+ const lg = Hsluv.toLinear(this.rgb_g);
+ const lb = Hsluv.toLinear(this.rgb_b);
+ this.xyz_x = 0.41239079926595 * lr + 0.35758433938387 * lg + 0.18048078840183 * lb;
+ this.xyz_y = 0.21263900587151 * lr + 0.71516867876775 * lg + 0.072192315360733 * lb;
+ this.xyz_z = 0.019330818715591 * lr + 0.11919477979462 * lg + 0.95053215224966 * lb;
+ }
+
+ public xyzToLuv(): void {
+ const divider = this.xyz_x + 15 * this.xyz_y + 3 * this.xyz_z;
+ let varU = 4 * this.xyz_x;
+ let varV = 9 * this.xyz_y;
+ if (divider !== 0) {
+ varU /= divider;
+ varV /= divider;
+ } else {
+ varU = NaN;
+ varV = NaN;
+ }
+ this.luv_l = Hsluv.yToL(this.xyz_y);
+ if (this.luv_l === 0) {
+ this.luv_u = 0;
+ this.luv_v = 0;
+ } else {
+ this.luv_u = 13 * this.luv_l * (varU - Hsluv.refU);
+ this.luv_v = 13 * this.luv_l * (varV - Hsluv.refV);
+ }
+ }
+
+ public luvToXyz(): void {
+ if (this.luv_l === 0) {
+ this.xyz_x = 0;
+ this.xyz_y = 0;
+ this.xyz_z = 0;
+ return;
+ }
+ const varU = this.luv_u / (13 * this.luv_l) + Hsluv.refU;
+ const varV = this.luv_v / (13 * this.luv_l) + Hsluv.refV;
+ this.xyz_y = Hsluv.lToY(this.luv_l);
+ this.xyz_x = 0 - 9 * this.xyz_y * varU / ((varU - 4) * varV - varU * varV);
+ this.xyz_z = (9 * this.xyz_y - 15 * varV * this.xyz_y - varV * this.xyz_x) / (3 * varV);
+ }
+
+ public luvToLch(): void {
+ this.lch_l = this.luv_l;
+ this.lch_c = Math.sqrt(this.luv_u * this.luv_u + this.luv_v * this.luv_v);
+ if (this.lch_c < 0.00000001) {
+ this.lch_h = 0;
+ } else {
+ const hrad = Math.atan2(this.luv_v, this.luv_u);
+ this.lch_h = hrad * 180.0 / Math.PI;
+ if (this.lch_h < 0) {
+ this.lch_h = 360 + this.lch_h;
+ }
+ }
+ }
+
+
+ public lchToLuv(): void {
+ const hrad = this.lch_h / 180.0 * Math.PI;
+ this.luv_l = this.lch_l;
+ this.luv_u = Math.cos(hrad) * this.lch_c;
+ this.luv_v = Math.sin(hrad) * this.lch_c;
+ }
+
+ public calculateBoundingLines(l: number): void {
+ const sub1 = Math.pow(l + 16, 3) / 1560896;
+ const sub2 = sub1 > Hsluv.epsilon ? sub1 : l / Hsluv.kappa;
+ const s1r = sub2 * (284517 * Hsluv.m_r0 - 94839 * Hsluv.m_r2);
+ const s2r = sub2 * (838422 * Hsluv.m_r2 + 769860 * Hsluv.m_r1 + 731718 * Hsluv.m_r0);
+ const s3r = sub2 * (632260 * Hsluv.m_r2 - 126452 * Hsluv.m_r1);
+ const s1g = sub2 * (284517 * Hsluv.m_g0 - 94839 * Hsluv.m_g2);
+ const s2g = sub2 * (838422 * Hsluv.m_g2 + 769860 * Hsluv.m_g1 + 731718 * Hsluv.m_g0);
+ const s3g = sub2 * (632260 * Hsluv.m_g2 - 126452 * Hsluv.m_g1);
+ const s1b = sub2 * (284517 * Hsluv.m_b0 - 94839 * Hsluv.m_b2);
+ const s2b = sub2 * (838422 * Hsluv.m_b2 + 769860 * Hsluv.m_b1 + 731718 * Hsluv.m_b0);
+ const s3b = sub2 * (632260 * Hsluv.m_b2 - 126452 * Hsluv.m_b1);
+ this.r0s = s1r / s3r;
+ this.r0i = s2r * l / s3r;
+ this.r1s = s1r / (s3r + 126452);
+ this.r1i = (s2r - 769860) * l / (s3r + 126452);
+ this.g0s = s1g / s3g;
+ this.g0i = s2g * l / s3g;
+ this.g1s = s1g / (s3g + 126452);
+ this.g1i = (s2g - 769860) * l / (s3g + 126452);
+ this.b0s = s1b / s3b;
+ this.b0i = s2b * l / s3b;
+ this.b1s = s1b / (s3b + 126452);
+ this.b1i = (s2b - 769860) * l / (s3b + 126452);
+ }
+
+ public calcMaxChromaHpluv(): number {
+ const r0 = Hsluv.distanceFromOrigin(this.r0s, this.r0i);
+ const r1 = Hsluv.distanceFromOrigin(this.r1s, this.r1i);
+ const g0 = Hsluv.distanceFromOrigin(this.g0s, this.g0i);
+ const g1 = Hsluv.distanceFromOrigin(this.g1s, this.g1i);
+ const b0 = Hsluv.distanceFromOrigin(this.b0s, this.b0i);
+ const b1 = Hsluv.distanceFromOrigin(this.b1s, this.b1i);
+ return Hsluv.min6(r0, r1, g0, g1, b0, b1);
+ }
+
+ public calcMaxChromaHsluv(h: number): number {
+ const hueRad = h / 360 * Math.PI * 2;
+ const r0 = Hsluv.distanceFromOriginAngle(this.r0s, this.r0i, hueRad);
+ const r1 = Hsluv.distanceFromOriginAngle(this.r1s, this.r1i, hueRad);
+ const g0 = Hsluv.distanceFromOriginAngle(this.g0s, this.g0i, hueRad);
+ const g1 = Hsluv.distanceFromOriginAngle(this.g1s, this.g1i, hueRad);
+ const b0 = Hsluv.distanceFromOriginAngle(this.b0s, this.b0i, hueRad);
+ const b1 = Hsluv.distanceFromOriginAngle(this.b1s, this.b1i, hueRad);
+ return Hsluv.min6(r0, r1, g0, g1, b0, b1);
+ }
+
+ public hsluvToLch(): void {
+ if (this.hsluv_l > 99.9999999) {
+ this.lch_l = 100;
+ this.lch_c = 0;
+ } else if (this.hsluv_l < 0.00000001) {
+ this.lch_l = 0;
+ this.lch_c = 0;
+ } else {
+ this.lch_l = this.hsluv_l;
+ this.calculateBoundingLines(this.hsluv_l);
+ const max = this.calcMaxChromaHsluv(this.hsluv_h);
+ this.lch_c = max / 100 * this.hsluv_s;
+ }
+ this.lch_h = this.hsluv_h;
+ }
+
+ public lchToHsluv(): void {
+ if (this.lch_l > 99.9999999) {
+ this.hsluv_s = 0;
+ this.hsluv_l = 100;
+ } else if (this.lch_l < 0.00000001) {
+ this.hsluv_s = 0;
+ this.hsluv_l = 0;
+ } else {
+ this.calculateBoundingLines(this.lch_l);
+ const max = this.calcMaxChromaHsluv(this.lch_h);
+ this.hsluv_s = this.lch_c / max * 100;
+ this.hsluv_l = this.lch_l;
+ }
+ this.hsluv_h = this.lch_h;
+ }
+
+ public hpluvToLch(): void {
+ if (this.hpluv_l > 99.9999999) {
+ this.lch_l = 100;
+ this.lch_c = 0;
+ } else if (this.hpluv_l < 0.00000001) {
+ this.lch_l = 0;
+ this.lch_c = 0;
+ } else {
+ this.lch_l = this.hpluv_l;
+ this.calculateBoundingLines(this.hpluv_l);
+ const max = this.calcMaxChromaHpluv();
+ this.lch_c = max / 100 * this.hpluv_p;
+ }
+ this.lch_h = this.hpluv_h;
+ }
+
+ public lchToHpluv(): void {
+ if (this.lch_l > 99.9999999) {
+ this.hpluv_p = 0;
+ this.hpluv_l = 100;
+ } else if (this.lch_l < 0.00000001) {
+ this.hpluv_p = 0;
+ this.hpluv_l = 0;
+ } else {
+ this.calculateBoundingLines(this.lch_l);
+ const max = this.calcMaxChromaHpluv();
+ this.hpluv_p = this.lch_c / max * 100;
+ this.hpluv_l = this.lch_l;
+ }
+ this.hpluv_h = this.lch_h;
+ }
+
+ public hsluvToRgb(): void {
+ this.hsluvToLch();
+ this.lchToLuv();
+ this.luvToXyz();
+ this.xyzToRgb();
+ }
+
+ public hpluvToRgb(): void {
+ this.hpluvToLch();
+ this.lchToLuv();
+ this.luvToXyz();
+ this.xyzToRgb();
+ }
+
+ public hsluvToHex(): void {
+ this.hsluvToRgb();
+ this.rgbToHex();
+ }
+
+ public hpluvToHex(): void {
+ this.hpluvToRgb();
+ this.rgbToHex();
+ }
+
+ public rgbToHsluv(): void {
+ this.rgbToXyz();
+ this.xyzToLuv();
+ this.luvToLch();
+ this.lchToHpluv();
+ this.lchToHsluv();
+ }
+
+ public rgbToHpluv(): void {
+ this.rgbToXyz();
+ this.xyzToLuv();
+ this.luvToLch();
+ this.lchToHpluv();
+ this.lchToHpluv();
+ }
+
+ public hexToHsluv(): void {
+ this.hexToRgb();
+ this.rgbToHsluv();
+ }
+
+ public hexToHpluv(): void {
+ this.hexToRgb();
+ this.rgbToHpluv();
+ }
+}
diff --git a/debian/patches/disable-nonfree-filters-by-default.patch b/debian/patches/disable-nonfree-filters-by-default.patch
new file mode 100644
index 0000000..8607ef6
--- /dev/null
+++ b/debian/patches/disable-nonfree-filters-by-default.patch
@@ -0,0 +1,20 @@
+From: Markus Koschany <apo@debian.org>
+Date: Fri, 6 May 2022 03:21:36 +0200
+Subject: disable-nonfree-filters-by-default
+
+---
+ assets/assets.json | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/assets/assets.json b/assets/assets.json
+index e85183f..94dc1c3 100644
+--- a/assets/assets.json
++++ b/assets/assets.json
+@@ -467,6 +467,7 @@
+ "supportURL": "https://someonewhocares.org/hosts/"
+ },
+ "plowe-0": {
++ "off": true,
+ "content": "filters",
+ "group": "multipurpose",
+ "updateAfter": 13,
diff --git a/debian/patches/make-assets.patch b/debian/patches/make-assets.patch
new file mode 100644
index 0000000..83f17e2
--- /dev/null
+++ b/debian/patches/make-assets.patch
@@ -0,0 +1,33 @@
+From: Markus Koschany <apo@debian.org>
+Date: Sat, 22 Jul 2023 00:42:40 +0200
+Subject: make assets
+
+---
+ tools/make-assets.sh | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/tools/make-assets.sh b/tools/make-assets.sh
+index aeb6a68..f4e3a1c 100755
+--- a/tools/make-assets.sh
++++ b/tools/make-assets.sh
+@@ -22,16 +22,15 @@ fi
+
+ mkdir $DES/thirdparties
+
+-ASSETS_MAIN=dist/build/uAssets/main
+-ASSETS_PROD=dist/build/uAssets/prod
++ASSETS_MAIN=./uAssets
++ASSETS_PROD=./uAssets
+
+-cp -R $ASSETS_MAIN/thirdparties/pgl.yoyo.org $DES/thirdparties/
+ cp -R $ASSETS_MAIN/thirdparties/publicsuffix.org $DES/thirdparties/
+ cp -R $ASSETS_MAIN/thirdparties/urlhaus-filter $DES/thirdparties/
+
+ mkdir -p $DES/thirdparties/easylist
+-cp $ASSETS_PROD/thirdparties/easylist.txt $DES/thirdparties/easylist/
+-cp $ASSETS_PROD/thirdparties/easyprivacy.txt $DES/thirdparties/easylist/
++cp $ASSETS_PROD/thirdparties/easylist/easylist.txt $DES/thirdparties/easylist/
++cp $ASSETS_PROD/thirdparties/easylist/easyprivacy.txt $DES/thirdparties/easylist/
+
+ mkdir $DES/ublock
+ cp $ASSETS_PROD/filters/badlists.txt $DES/ublock/badlists.txt
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..5ee7594
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+disable-nonfree-filters-by-default.patch
+make-assets.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..74d80be
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,40 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@
+
+override_dh_auto_build:
+ # Compile the WebAssembly code from source
+ find . -name "*.wasm" -delete
+ wat2wasm src/lib/lz4/lz4-block-codec.wat -o src/lib/lz4/lz4-block-codec.wasm
+ wat2wasm src/js/wasm/hntrie.wat -o src/js/wasm/hntrie.wasm
+ wat2wasm src/js/wasm/biditrie.wat -o src/js/wasm/biditrie.wasm
+ wat2wasm src/lib/publicsuffixlist/wasm/publicsuffixlist.wat -o src/lib/publicsuffixlist/wasm/publicsuffixlist.wasm
+ wasm-opt src/lib/lz4/lz4-block-codec.wasm -O4 -o src/lib/lz4/lz4-block-codec.wasm
+ # Replace embedded copy of csstree.esm.js with corresponding Debian file from src:node-css-tree
+ cp /usr/share/nodejs/css-tree/dist/csstree.esm.js src/lib/csstree/css-tree.js
+ # Replace embedded copy of js-beautify with Debian's system library node-js-beautify
+ cp /usr/share/nodejs/js-beautify/js/lib/beautifier.min.js src/lib/js-beautify/beautifier.min.js
+ # Build the minified asset filters
+ cd uAssets && ./tools/make-ublock.sh
+ # Build the browser-specific versions of ublock-origin
+ ./tools/make-firefox.sh
+ ./tools/make-chromium.sh
+
+override_dh_install:
+ dh_install -p ublock-origin-doc
+ dh_install -p webext-ublock-origin-firefox -X LICENSE.txt
+ dh_install -p webext-ublock-origin-chromium -X LICENSE.txt
+
+override_dh_auto_test:
+ # Skip the tests
+
+override_dh_auto_clean:
+ ./tools/make-clean.sh
+
+override_dh_installchangelogs:
+ dh_installchangelogs debian/upstream/changelog.html debian/upstream/changelog
+
+.PHONY: get-orig-changelog
+get-orig-changelog:
+ amo-changelog -p rst ublock-origin
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..81a1940
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1,8 @@
+# watch file is just for checking existence of new version; we are
+# generating orig tarballs from git tags
+debian-watch-does-not-check-gpg-signature
+# Only the commented part of the hntrie.js file uses a very long line
+# codemirror.js: There is only one line that exceeds Lintian's line limit.
+# Otherwise the source code can be modified and this is the preferred form of
+# modification.
+source-is-missing
diff --git a/debian/ublock-origin-doc.install b/debian/ublock-origin-doc.install
new file mode 100644
index 0000000..71a4bc7
--- /dev/null
+++ b/debian/ublock-origin-doc.install
@@ -0,0 +1 @@
+docs/* /usr/share/doc/webext-ublock-origin
diff --git a/debian/upstream/changelog b/debian/upstream/changelog
new file mode 100644
index 0000000..aca682a
--- /dev/null
+++ b/debian/upstream/changelog
@@ -0,0 +1,2441 @@
+uBlock Origin 1.18.4 - Feb. 5, 2019
+-----------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.18.4>`__.
+|  
+| **Closed as fixed:**
+|  
+
+- `Cosmetic filtering not enforced at uBO launch on already opened web
+ pages <https://github.com/uBlockOrigin/uBlock-issues/issues/403>`__
+- `Compute URL of sublists as relative to URL of parent
+ list <https://github.com/NanoAdblocker/NanoCore/issues/239>`__
+- `Fix partyness evaluation for cases of base domain-less
+ hostnames <https://github.com/uBlockOrigin/uBlock-issues/issues/402>`__
+- `Fix Promise chain of WASM module load
+ operations <https://github.com/gorhill/uBlock/commit/69c87c511748c4d7b39bd2a6cb2bba0dc356dc78>`__
+
+|
+| `Commits history since
+ 1.18.2 <https://github.com/gorhill/uBlock/compare/1.18.2...1.18.4>`__.
+
+uBlock Origin 1.18.3.102 - Feb. 2, 2019
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.18.3.101 - Feb. 1, 2019
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.18.3.100 - Feb. 1, 2019
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.18.3.2 - Jan. 29, 2019
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.18.3.1 - Jan. 28, 2019
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.18.3.0 - Jan. 27, 2019
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.18.2 - Jan. 26, 2019
+------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.18.2>`__.
+|  
+|  
+| **Fixed**
+|  
+
+- `Improve ``nowebrtc.js``
+ scriptlet <https://github.com/uBlockOrigin/uAssets/commit/ce215ed7134238c11fd28f8b62143fbf21f5eb6c>`__
+
+|
+| `Commits history since
+ 1.18.0 <https://github.com/gorhill/uBlock/compare/1.18.0...1.18.2>`__.
+
+uBlock Origin 1.18.1.100 - Jan. 26, 2019
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.18.0 - Jan. 24, 2019
+------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.18.0>`__.
+|  
+| **New**
+|  
+| Refactoring of the logger code for performance/efficiency purpose -- the
+ logger output has been decoupled from the
+ `DOM <https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model>`__.
+|  
+| Additionally, these features were added to the logger:
+|  
+
+- configuration settings
+
+ - multiple criteria can be used for when to discard logger entries
+ - ability to hide some columns
+
+- export-to-clipboard
+- the position and size of the logger-as-a-popup window will be remembered
+- a pause button to stop the logger from taking in new events
+- a new built-in expressions picker to filter the logger output
+- show the hostname of the document which caused the resource to be fetched
+- show the 3rd-partyness of a resource relative to both the page and the
+ document fetching the resource
+- new visual hint to denote tab-less network requests
+- a popup panel button linked to the tab selector
+
+|
+| Documentation will be updated eventually to account for those changes.
+|  
+|  
+| **Closed as fixed**
+|  
+
+`Does not block JavaScript in embedded YouTube video on specific
+webpage <https://github.com/uBlockOrigin/uBlock-issues/issues/345>`__
+
+| `Move early blocking of requests out of experimental status on
+ Firefox <https://github.com/gorhill/uBlock/issues/1327>`__
+
+- Made easy by Firefox's webext API, as early blocking is `natively
+ supported <https://bugzilla.mozilla.org/show_bug.cgi?id=1447551>`__.
+
+`Prevent sites from disabling mouse events for element
+picker <https://github.com/uBlockOrigin/uBlock-issues/issues/380>`__
+
+`Add an option to remove the URL comments in My
+filters <https://github.com/uBlockOrigin/uBlock-issues/issues/372>`__
+(originally declined in https://github.com/gorhill/uBlock/issues/93)
+
+`Layout problem in the strict blocking warning page on Firefox for
+Android <https://github.com/uBlockOrigin/uBlock-issues/issues/348>`__
+
+`uBO does not unhide nodes no longer matching procedural cosmetic
+filters <https://github.com/uBlockOrigin/uBlock-issues/issues/341>`__
+
+`Static extended filtering: fix empty hostnames not being
+detected/handled <https://github.com/uBlockOrigin/uAssets/commit/912af3284df65184bed3a486811c490936e990b9#commitcomment-31608689>`__
+
+`Cosmetic filter "##" or "##tag," same as "##*" in element picker
+only <https://github.com/uBlockOrigin/uBlock-issues/issues/331>`__
+
+```!#include`` directive should insert sub-content at directive
+point <https://github.com/uBlockOrigin/uBlock-issues/issues/329>`__
+
+`3rd-gen HNTrie <https://github.com/uBlockOrigin/uBlock-issues/issues/326>`__
+
+`Duplicate specific cosmetic filters not discarded when "Ignore generic" is
+enabled <https://github.com/uBlockOrigin/uBlock-issues/issues/325>`__
+
+`$generichide is still applied even when website is
+whitelisted <https://github.com/uBlockOrigin/uBlock-issues/issues/314>`__
+
+`Change "IDN: ABPindo" to "IDN, MYS:
+ABPindo" <https://github.com/uBlockOrigin/uBlock-issues/issues/312>`__
+
+`Changing the button for the NOR
+list <https://github.com/uBlockOrigin/uBlock-issues/issues/311>`__
+
+`Filter list view - ugly/messy line breaking/wrapping at minus sign
+char <https://github.com/uBlockOrigin/uBlock-issues/issues/292>`__
+
+`Add X to close overlay
+box <https://github.com/uBlockOrigin/uBlock-issues/issues/280>`__
+
+`No scripting switch number not fully
+displayed <https://github.com/uBlockOrigin/uBlock-issues/issues/279>`__
+
+`Remember and reuse last position/size of the logger popup
+window <https://github.com/uBlockOrigin/uBlock-issues/issues/256>`__
+
+`Logger filter lookup overlay should scroll when filter too
+long <https://github.com/uBlockOrigin/uBlock-issues/issues/225>`__
+
+`Element picker not taking into account ``srcset`` when blocking an image =
+non-working network
+filter <https://github.com/uBlockOrigin/uBlock-issues/issues/40>`__
+
+`Internationalize CodeMirror's hard-coded tooltips in the "My rules"
+pane <https://github.com/gorhill/uBlock/issues/3708>`__
+
+`Remember the cursor position in 'My Filters'
+tab <https://github.com/gorhill/uBlock/issues/3706>`__
+
+`Deprecate pseudo operator ``:if(...)``, ``:if-not(...)``, reuse ``:has(...)``,
+``:not(...)`` <https://github.com/gorhill/uBlock/issues/3683>`__
+
+`Improve representation of behind-the-scene network requests in the
+logger <https://github.com/gorhill/uBlock/issues/3654>`__
+
+`The element picker window is almost
+invisible <https://github.com/gorhill/uBlock/issues/3449>`__
+
+`Duplicated entry when creating dynamic filter in
+logger <https://github.com/gorhill/uBlock/issues/3401>`__
+
+`Logger loads blocked content in
+preview <https://github.com/gorhill/uBlock/issues/1999>`__
+
+`Apply stricter rejection of usage of url() in :style
+rules <https://github.com/gorhill/uBlock/commit/1de821d99b4d2fa9756fdd451823e0886cef3534>`__
+
+`Normalize Adguard's plain cosmetic filters disguised as style-based
+filters <https://github.com/gorhill/uBlock/commit/e2d1f50dd80f605f745442df18e7eeda8800b6a5>`__
+
+`Change DOM surveyor to time-based processing logic (from
+chunk-based) <https://github.com/gorhill/uBlock/commit/08261e3c15cd252a0b4ab68d0ddd4af880a55cd8>`__
+
+`Improve creation of rows in dynamic filtering pane of popup
+panel <https://github.com/gorhill/uBlock/commit/09fb3549f354d7d8d64272c87c4f89f8c4244316>`__
+
+`Avoid redundant DOM attributes in dynamic filtering
+pane <https://github.com/gorhill/uBlock/commit/87cf95c04b22fd3348c07f01b5328fb8bc98fcb2>`__
+
+`Code review related to performance in main content
+script <https://github.com/gorhill/uBlock/commit/f35dff2c9d9e2ee55c53b32767698ba46ca3c39b>`__\ `Commits
+history since
+1.17.4 <https://github.com/gorhill/uBlock/compare/1.17.4...1.18.0>`__.
+
+uBlock Origin 1.17.7.103 - Jan. 22, 2019
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.102 - Jan. 20, 2019
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.101 - Jan. 19, 2019
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.100 - Jan. 18, 2019
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.8 - Jan. 17, 2019
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.7 - Jan. 16, 2019
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.6 - Jan. 15, 2019
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.5 - Jan. 14, 2019
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.4 - Jan. 14, 2019
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.3 - Jan. 12, 2019
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.2 - Jan. 8, 2019
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.1 - Jan. 1, 2019
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.7.0 - Jan. 1, 2019
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.104 - Dec. 29, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.103 - Dec. 28, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.102 - Dec. 27, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.101 - Dec. 26, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.100 - Dec. 24, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.17 - Dec. 23, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.16 - Dec. 22, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.15 - Dec. 21, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.14 - Dec. 21, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.13 - Dec. 19, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.12 - Dec. 19, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.11 - Dec. 18, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.10 - Dec. 16, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.9 - Dec. 16, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.8 - Dec. 15, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.7 - Dec. 14, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.6 - Dec. 14, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.5 - Dec. 14, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.4 - Dec. 13, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.3 - Dec. 8, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.2 - Dec. 7, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.1 - Dec. 6, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.5.0 - Dec. 6, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.4 - Dec. 1, 2018
+-----------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.17.4>`__.
+|  
+|  
+| **Notes**
+|  
+| I will keep bringing in WebAssembly ("wasm") versions of key portions of code
+ where it is found to be beneficial. In this release, a `wasm
+ version <https://github.com/gorhill/uBlock/blob/2189f020dfb5d2d8728c17ead85e6f7905e3e984/src/js/wasm/hntrie.wat#L46>`__
+ of the `algorithm used to lookup a hostname from a set of
+ hostnames <https://github.com/gorhill/uBlock/blob/2189f020dfb5d2d8728c17ead85e6f7905e3e984/src/js/hntrie.js#L101>`__
+ has been created.
+|  
+|  
+| **Closed as fixed**
+|  
+
+- `When pasting multiple lines into the rules editor they are joined together
+ in a single
+ line <https://github.com/uBlockOrigin/uMatrix-issues/issues/64>`__
+- ```##.ad.super`` from EasyList is causing ``##.ad`` to not be
+ applied <https://github.com/uBlockOrigin/uBlock-issues/issues/313>`__
+- `Fix missing trailing asterisk in filter representation in the
+ logger <https://github.com/uBlockOrigin/uAssets/issues/4083#issuecomment-436914727>`__
+- `No context menu entry for data:\* iframes
+ (banners) <https://github.com/uBlockOrigin/uBlock-issues/issues/283>`__
+- `UI Search field and it's search counter interfere with each other /
+ unreadable <https://github.com/uBlockOrigin/uBlock-issues/issues/264>`__
+- `"Update now" button flashes for 1 second before changing the count
+ numbers <https://github.com/uBlockOrigin/uBlock-issues/issues/248>`__
+- `Improve usability of temporarily disabling
+ strict-blocking <https://github.com/uBlockOrigin/uBlock-issues/issues/77>`__
+- `HTML filter exception doesn't
+ work <https://github.com/uBlockOrigin/uBlock-issues/issues/6>`__
+- `$badfilter does not work on a CSP
+ filter <https://github.com/gorhill/uBlock/issues/3371>`__
+
+|
+|  
+| `Commits history since
+ 1.17.2 <https://github.com/gorhill/uBlock/compare/1.17.2...1.17.4>`__.
+
+uBlock Origin 1.17.3.105 - Nov. 26, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.104 - Nov. 25, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.103 - Nov. 24, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.102 - Nov. 18, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.101 - Nov. 18, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.100 - Nov. 17, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.8 - Nov. 8, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.7 - Nov. 8, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.6 - Nov. 6, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.5 - Nov. 3, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.4 - Oct. 29, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.3 - Oct. 28, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.2 - Oct. 24, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.1 - Oct. 24, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.3.0 - Oct. 23, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.2 - Oct. 18, 2018
+------------------------------------
+
+| No change since 1.17.0: this release is for the benefit of Firefox users, who
+ will be able to take advantage of an `up to date ``resources.txt``
+ asset <https://github.com/uBlockOrigin/uAssets/commits/master/filters/resources.txt>`__.
+ This new version is published on AMO only.
+|  
+| `Commit history since
+ 1.17.0 <https://github.com/gorhill/uBlock/compare/1.17.0...1.17.2>`__.
+
+uBlock Origin 1.17.1.2 - Oct. 18, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.1.1 - Sept. 29, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.1.0 - Sept. 26, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.17.0 - Sept. 23, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.17.0>`__.
+|  
+|  
+| **New**
+|  
+|  
+| **Per-site JavaScript master switch**
+|  
+| A new per-site switch has been added to the popup panel, which acts as a
+ master switch for JavaScript for the current site.
+|  
+| This master switch has precedence over dynamic filtering rules and static
+ filters related to script resources.
+|  
+| Furthermore, when JavaScript is disabled through this master switch,
+ ``noscript`` tags will be honoured on a page (as opposed to when just using
+ filters/rules to block script resources).
+|  
+| As with some other per-site switches, the default state of per-site
+ JavaScript master switch can be set in the *Settings* pane, thus allowing to
+ disable JavaScript everywhere by default, and enable on a per-site basis.
+|  
+| JavaScript master switch rules appear as ``no-scripting: [hostname] true``
+ entries in the *My rules* pane.
+|  
+|  
+| **Temporarily toggle per-site switches**
+|  
+| From now on, changes to the state of `per-site
+ switches <https://github.com/gorhill/uBlock/wiki/Per-site-switches>`__ will
+ be deemed temporary **if and only if** the `overview
+ panel <https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-user-interface#the-overview-panel>`__
+ is visible, regardless of whether "advanced user" mode is enabled.
+|  
+| When the overview panel is not visible, toggling a per-site switch will cause
+ the change to be permanent (i.e. same behavior as before).
+|  
+| However, when the overview panel is visible, toggling a per-site switch will
+ cause the change to be temporary. In such case, there will be an eraser and a
+ padlock icon in the overview pane, which can be used to revert or persist the
+ current state of all the per-site switches.
+|  
+|  
+| **Cache storage compression**
+|  
+| A new advanced setting: ``cacheStorageCompression``, default to ``true``.
+ When ``true``, uBO will lz4-compress data before storing it in its cache
+ storage in supported platforms. Currently, the only supported platform is
+ Firefox/Firefox for Android.
+|  
+| The cache storage is used for storing downloaded filter lists, compiled
+ filter lists, selfies. See
+ https://github.com/uBlockOrigin/uBlock-issues/issues/141 for related
+ discussion.
+|  
+|  
+| **Closed as fixed**
+|  
+|  
+| **Firefox**
+|  
+
+- `Error loading from the disk cache pages obtained by blocking remote
+ fonts <https://github.com/uBlockOrigin/uBlock-issues/issues/229>`__
+- `"Storage used" in settings tab says "?
+ bytes" <https://github.com/gorhill/uBlock/issues/2812>`__
+
+ - It's really a workaround, consider the reported figure to be an
+ on-the-low-side estimate
+
+- `Element picker mode in Firefox CSS failure on
+ ``denuvo.com`` <https://github.com/gorhill/uBlock/issues/2240>`__
+
+|
+| **Firefox for Android**
+|  
+
+- `Cannot open Logger. Element picker/zapper does not switch
+ tabs. <https://github.com/uBlockOrigin/uBlock-issues/issues/168>`__
+
+|
+| **Core**
+|  
+
+- `Use +js name for
+ logging <https://github.com/uBlockOrigin/uBlock-issues/issues/209>`__
+- `No reverse-lookup for logged HTML
+ filter <https://github.com/uBlockOrigin/uBlock-issues/issues/208>`__
+- `EasyList Thailand added to stock filter
+ lists <https://github.com/uBlockOrigin/uBlock-issues/issues/197>`__
+- `Various spelling
+ fixes <https://github.com/uBlockOrigin/uBlock-issues/issues/191>`__
+- `“manualUpdateAssetFetchPeriod” setting doesn't save the
+ changes <https://github.com/NanoAdblocker/NanoCore/issues/202>`__
+- `False positive detection of popups is
+ broken <https://github.com/gorhill/uBlock/commit/aeb19c952b782eec31e5de8da676b89edd08efdb>`__
+- `"uBlock — Assets" should be changed to "uBlock₀ — Assets" in its
+ tab <https://github.com/uBlockOrigin/uBlock-issues/issues/184>`__
+- `Minor JS errors in
+ dashboard <https://github.com/uBlockOrigin/uBlock-issues/issues/171>`__
+- `Code exception in contentscript.js (vAPI.setTimeout) when opening Chrome
+ last session tabs that are partly
+ cached <https://github.com/uBlockOrigin/uBlock-issues/issues/167>`__
+- `Element picker mishandles identifiers with
+ backslashes <https://github.com/uBlockOrigin/uBlock-issues/issues/162>`__
+- `Minor usability issue: block all
+ scripts <https://github.com/gorhill/uBlock/issues/3436>`__
+- `Toggle option changes are always
+ permanent <https://github.com/gorhill/uBlock/issues/2859>`__
+- `uBlock Origin doesn’t honor noscript tags when blocking
+ JS <https://github.com/gorhill/uBlock/issues/308>`__
+
+|
+| `Commits history since
+ 1.16.20 <https://github.com/gorhill/uBlock/compare/1.16.20...1.17.0>`__.
+
+uBlock Origin 1.16.21.103 - Sept. 21, 2018
+------------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.102 - Sept. 20, 2018
+------------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.101 - Sept. 18, 2018
+------------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.100 - Sept. 11, 2018
+------------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.7 - Sept. 9, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.6 - Sept. 9, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.5 - Sept. 7, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.4 - Sept. 4, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.3 - Sept. 3, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.2 - Sept. 1, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.1 - Aug. 29, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.21.0 - Aug. 27, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.20 - Aug. 27, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.18>`__.
+|  
+| I decided to create an emergency fix for a bug which was spotted for uMatrix
+ but which also affects uBO:
+| `"My rules tab hangs with cloud storage
+ support" <https://www.reddit.com/r/uMatrix/comments/8lc9ia/>`__
+|  
+| If using cloud storage, there is a small probability uBO could be stuck in an
+ infinite loop when reading back the data from the cloud storage, something
+ which *may* occurs when the following conditions are reunited:
+|  
+
+- You checked the setting *"Enable cloud storage support"*;
+- You saved data into the cloud storage for a given pane;
+- The amount (in bytes) of data that was saved into the cloud storage for that
+ given pane is rather high and such that the "chunkification" of that data
+ results in a chunk count which is a multiple of 16;
+  
+
+ - Large amount of data is more likely for the *"My filters"* and *"My
+ rules"* panes.
+ - Sorry for the cryptic explanation, I don't know how else to describe
+ this.
+
+- You open the pane in the dashboard for which the conditions above are true.
+
+|
+| If the bug is triggered, uBO could be stuck in an infinite loop in its main
+ process, thus preventing it from doing its job.
+|  
+| This is not a regression, but rather a bug that has been hiding in there
+ since quite a long time.
+|  
+| `Commits history since
+ 1.16.16 <https://github.com/gorhill/uBlock/compare/1.16.16...1.16.20>`__.
+
+uBlock Origin 1.16.18.1 - Aug. 27, 2018
+---------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.18>`__.
+|  
+| I decided to create an emergency fix for a bug which was spotted for uMatrix
+ but which also affects uBO:
+| `"My rules tab hangs with cloud storage
+ support" <https://www.reddit.com/r/uMatrix/comments/8lc9ia/>`__
+|  
+| If using cloud storage, there is a small probability uBO could be stuck in an
+ infinite loop when reading back the data from the cloud storage, something
+ which *may* occurs when the following conditions reunited:
+|  
+
+- You checked the setting *"Enable cloud storage support"*;
+- You saved data into the cloud storage for a given pane;
+- The amount (in bytes) of data that was saved into the cloud storage for that
+ given pane is rather high and such that the "chunkification" of that data
+ results in a chunk count which is a multiple of 16;
+  
+
+ - Large amount of data is more likely for the *"My filters"* and *"My
+ rules"* panes.
+ - Sorry for the cryptic explanation, I don't know how else to describe
+ this.
+
+- You open the pane in the dashboard for which the conditions above are true.
+
+|
+| If the bug is triggered, uBO could be stuck in an infinite loop in its main
+ process, thus preventing it from doing its job.
+|  
+| This is not a regression, but rather a bug that has been hiding in there
+ since quite a long time.
+|  
+| `Commits history since
+ 1.16.16 <https://github.com/gorhill/uBlock/compare/1.16.16...1.16.18>`__.
+
+uBlock Origin 1.16.18 - Aug. 27, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.17.10 - Aug. 25, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.17.9 - Aug. 22, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.17.8 - Aug. 21, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.17.7 - Aug. 15, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.17.6 - Aug. 15, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.17.5 - Aug. 14, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.17.4 - Aug. 14, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.17.3 - Aug. 14, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.16 - Aug. 13, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.16>`__.
+|  
+|  
+| **New**
+|  
+| A new pane has been added in the dashboard for the Firefox version of uBO:
+ *Shortcuts*. The purpose is to be able to assign keyboard shortcuts to some
+ common operations.
+|  
+|  
+| **Closed as fixed:**
+|  
+
+- `Settings cannot be reset on Beta and Nightly
+ Firefox <https://github.com/uBlockOrigin/uBlock-issues/issues/144>`__
+- `Add a pane in the dashboard (Firefox only) to assign keyboard
+ shortcuts <https://github.com/uBlockOrigin/uBlock-issues/issues/106>`__
+
+ - The new pane will be available for Firefox 60+ only.
+
+- `Element picker cannot be toggled before a site is fully
+ loaded <https://github.com/uBlockOrigin/uBlock-issues/issues/135>`__
+- `Logger: generic hiding rule recorded as active when $generichide in
+ effect <https://github.com/gorhill/uBlock/issues/2763>`__
+- `Filter for dynamically added class is not
+ logged <https://github.com/gorhill/uBlock/issues/2356>`__
+- `Logger: Popup which shows the used filter is
+ empty <https://github.com/gorhill/uBlock/issues/2179>`__
+
+|
+| `Commits history since
+ 1.16.14 <https://github.com/gorhill/uBlock/compare/1.16.14...1.16.16>`__.
+
+uBlock Origin 1.16.17.2 - Aug. 13, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.17.1 - Aug. 11, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.17.0 - Aug. 6, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.15.100 - Aug. 2, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.15.6 - July 26, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.15.5 - July 23, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.15.4 - July 22, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.15.3 - July 21, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.15.2 - July 20, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.15.1 - July 20, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.15.0 - July 19, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.14 - July 17, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.14>`__.
+|  
+| **Closed as fixed:**
+|  
+
+- Race condition at filter lists load time potentially breaking highly-generic
+ cosmetic filters
+ (https://github.com/gorhill/uBlock/commit/dcd98f4efa7876ae5d37bd0588082f6aecd08a30)
+- `Cursor jumps to next matched item when adding char to
+ search <https://github.com/uBlockOrigin/uBlock-issues/issues/118>`__\ <
+- `Inifinite update attempts with "AdGuard Experimental
+ filter" <https://github.com/AdguardTeam/FiltersRegistry/issues/82>`__
+- `Odd sorting in popup domains list when domains have same SLD but different
+ TLD <https://github.com/uBlockOrigin/uBlock-issues/issues/105>`__
+- `Cosmetic rules not logged for embedded YouTube
+ videos <https://github.com/uBlockOrigin/uBlock-issues/issues/102>`__
+
+|
+| `Commits history since
+ 1.16.12 <https://github.com/gorhill/uBlock/compare/1.16.12...1.16.14>`__.
+
+uBlock Origin 1.16.13.101 - July 16, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.13.100 - July 10, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.13.2 - July 6, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.13.1 - July 5, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.13.0 - July 4, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.12 - June 29, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.12>`__.
+|  
+| **Closed as fixed:**
+|  
+
+- `CSS pseudo element:
+ -webkit-scrollbar <https://github.com/uBlockOrigin/uBlock-issues/issues/89>`__
+- ```badfilter`` + matching duplicate user filter created from picker or
+ logger may rarely cause a js
+ exception <https://github.com/uBlockOrigin/uBlock-issues/issues/84>`__
+
+|
+| `Commits history since
+ 1.16.10 <https://github.com/gorhill/uBlock/compare/1.16.10...1.16.12>`__.
+
+uBlock Origin 1.16.11.102 - June 26, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.11.101 - June 24, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.11.100 - June 14, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.10 - June 13, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.10>`__.
+|  
+| **Closed as fixed:**
+|  
+
+- `HTML filters occasionally lost
+ effectiveness <https://github.com/uBlockOrigin/uBlock-issues/issues/42>`__
+- `Round hour up to nearest
+ day <https://github.com/gorhill/uBlock/pull/3723>`__
+
+|
+| `Commits history since
+ 1.16.8 <https://github.com/gorhill/uBlock/compare/1.16.8...1.16.10>`__.
+
+uBlock Origin 1.16.9.100 - June 4, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.9.5 - June 3, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.9.4 - June 1, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.9b3 - June 1, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.9b2 - May 31, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.9b1 - May 28, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.9b0 - May 25, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.8 - May 25, 2018
+-----------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.8>`__.
+|  
+| No change to uBO itself.
+|  
+| The only change is in `uBO's
+ assets <https://github.com/uBlockOrigin/uAssets>`__ and publishing a new
+ version of uBO package is to ensure all users get a new version of the
+ neutered script from ``googletagservices.com/gpt.js`` -- see `commit
+ 2bc97541b3b9 <https://github.com/uBlockOrigin/uAssets/commit/2bc97541b3b9a9380b3ce8bd2242375925df293c>`__.
+|  
+| `Commits history since
+ 1.16.6 <https://github.com/gorhill/uBlock/compare/1.16.6...1.16.8>`__.
+
+uBlock Origin 1.16.7b4 - May 20, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.7b3 - May 20, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.7b2 - May 18, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.7b1 - May 17, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.7b0 - May 16, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.6 - May 15, 2018
+-----------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.6>`__.
+|  
+| **Closed as fixed**
+|  
+
+- Release versions of uBO will no longer support logger-in-the-sidebar: `by
+ design Firefox opens the sidebar with new installation of
+ uBO <https://bugzilla.mozilla.org/show_bug.cgi?id=1459007>`__ and this is
+ not a desireable behavior for uBO
+
+ - Dev builds will still support the logger-in-the-sidebar feature.
+ - I may bring it back depending on the resolution of `bug
+ 1460910 <https://bugzilla.mozilla.org/show_bug.cgi?id=1460910>`__
+
+- `uBO webext doesn't fill entire panel
+ space <https://github.com/gorhill/uBlock/issues/2809>`__
+- `uBO element picker &
+ Stylus <https://github.com/ghacksuserjs/ghacks-user.js/issues/412>`__
+
+|
+| `Commits history since
+ 1.16.4 <https://github.com/gorhill/uBlock/compare/1.16.4...1.16.6>`__.
+
+uBlock Origin 1.16.5rc1 - May 14, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.5rc0 - May 10, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.5b4 - May 8, 2018
+------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.5b3 - May 8, 2018
+------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.5b2 - May 7, 2018
+------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.5b1 - May 6, 2018
+------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.5b0 - May 4, 2018
+------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.4 - May 3, 2018
+----------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.4>`__.
+|  
+| **Closed as fixed:**
+
+- "Ignore generic cosmetic filters" not checked as expected with a new
+ installation [Firefox for Android]
+
+ - `Reported by a Reddit
+ user <https://www.reddit.com/r/firefox/comments/8a5e0e/if_you_find_firefox_for_android_slow_disable/dy7q6w2/>`__,
+ fixed with `this
+ commit <https://github.com/gorhill/uBlock/commit/efe68e0f9cc6c106c3618406427aae8bd5e2bf86>`__
+
+- Pull request from @Rob--W: `Clear return value of vapi.js content
+ script <https://github.com/gorhill/uBlock/pull/3721>`__ [Performance]
+- `Element picker find twice body on
+ website <https://github.com/uBlockOrigin/uBlock-issues/issues/17>`__
+- Added a link to uBO's official issue tracker in *About* pane in the
+ dashboard
+
+`Commits history since
+1.16.2 <https://github.com/gorhill/uBlock/compare/1.16.2...1.16.4>`__.
+
+uBlock Origin 1.16.3rc2 - May 2, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.3rc1 - May 2, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.3rc0 - May 1, 2018
+-------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.3b2 - April 30, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.3b1 - April 29, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.3b0 - April 28, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.2 - April 25, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.2>`__.
+|  
+
+- `Text in popup panel tooltip is out of
+ context <https://github.com/uBlockOrigin/uBlock-issues/issues/22>`__
+- `Minor fixes to code <https://github.com/gorhill/uBlock/pull/3720>`__ (pull
+ request from @anvakl)
+- `Insufficient escaping in patchScriptlet if streamScriptInjectFilters is
+ enabled <https://github.com/uBlockOrigin/uBlock-issues/issues/21>`__
+- `Can't write any filters on
+ Android <https://github.com/uBlockOrigin/uBlock-issues/issues/7>`__
+- Firewall pane's save/revert not showing up when scrolled down on small
+ screens
+
+ - Found this myself, `fixed without opening a formal
+ issue <https://github.com/gorhill/uBlock/commit/9d8e2e20fb988cea0998fb13771abbfe58ff9f4f>`__.
+
+- `Firefox 52 ESR + spoofed user agent string fools uBO into thinking
+ ``cssOrigin`` is
+ supported <https://www.reddit.com/r/uBlockOrigin/comments/8dkvqn/116_broken_loading_custom_filters_from_my_filters/>`__
+ [Regression]
+- `Underscore in domain name breaks whitelist
+ editor <https://github.com/gorhill/uBlock/issues/3717>`__
+
+ - Fixed with `pull request from
+ @jspenguin2017 <https://github.com/gorhill/uBlock/pull/3718>`__
+
+- `Element picker text area has unreadable
+ text <https://github.com/uBlockOrigin/uBlock-issues/issues/4>`__
+
+|
+| `Commits history since
+ 1.16.0 <https://github.com/gorhill/uBlock/compare/1.16.0...1.16.2>`__.
+
+uBlock Origin 1.16.1rc5 - April 24, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.1rc4 - April 24, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.1rc3 - April 23, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.1rc2 - April 22, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.1rc1 - April 21, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.1rc0 - April 20, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.16.0 - April 19, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.16.0>`__.
+|  
+| **New:**
+|  
+| Added support for pre-parsing directives to filter list compiler. This allows
+ filter list maintainers to create areas in a filter list which will be
+ compiled only if certain conditions are met (or not met). See detailed
+ `documentation <https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#if-condition>`__.
+|  
+| **Changes:**
+|  
+| The "3rd-party filters" pane in the dashboard has been renamed "Filter
+ lists", and its look and behavior has been fine tuned.
+|  
+| Work has been done in the dashboard to further improve rendering on small
+ screens.
+|  
+| **Closed as fixed:**
+|  
+
+- `Blank pages with stream filtering + content-type header
+ missing <https://github.com/gorhill/uBlock/issues/3667>`__
+- `Cloud synchronization bar fails to
+ load <https://github.com/gorhill/uBlock/issues/3694>`__
+
+|
+| `Commits history since
+ 1.15.24 <https://github.com/gorhill/uBlock/compare/1.15.24...1.16.0>`__.
+
+uBlock Origin 1.15.25rc3 - April 14, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.25rc2 - April 12, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.25rc1 - April 12, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.25rc0 - April 12, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.25b6 - April 11, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.25b5 - April 10, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.25b4 - April 10, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.25b3 - April 9, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.25b2 - April 6, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.25b1 - April 5, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.25b0 - April 2, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.24 - April 2, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.24>`__.
+|  
+| The release version of uBO on AMO is not allowed to update its
+ ```resources.txt``
+ asset <https://github.com/uBlockOrigin/uAssets/blob/master/filters/resources.txt>`__.
+ This means the version shipped with the extension must be used. However, uBO
+ compile and cache the data in ``resources.txt``, and unless the cache is
+ invalidated, uBO will keep using a potentially out of date version of
+ ``resources.txt``. This has been fixed by unconditionally invalidating the
+ cache when a new version of uBO is detected.
+|  
+| `Commits history since
+ 1.15.24 <https://github.com/gorhill/uBlock/compare/1.15.22...1.15.24>`__.
+
+uBlock Origin 1.15.23b0 - April 2, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.22 - April 2, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.22>`__.
+|  
+|  
+| Regression introduced in `version
+ 1.15.12 <https://github.com/gorhill/uBlock/releases/tag/1.15.12>`__ with the
+ fix to issue `#3546 <https://github.com/gorhill/uBlock/issues/3546>`__:
+ whitelist directives were not taken into account for filterable
+ behind-the-scene network requests. This is now fixed.
+|  
+| `Commits history since
+ 1.15.22 <https://github.com/gorhill/uBlock/compare/1.15.20...1.15.22>`__.
+
+uBlock Origin 1.15.20 - April 2, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.20>`__.
+|  
+| **Changes:**
+|  
+| From now on,
+ `behind-the-scene <https://github.com/gorhill/uBlock/wiki/Behind-the-scene-network-requests>`__
+ network requests will be treated and filtered just like any other network
+ requests. The ``behind-the-scene`` scope will be un-whitelisted when
+ migrating to 1.15.20+ from an older version.
+|  
+| This will not apply to current installations of the Firefox/legacy version of
+ uBO, as this would cause serious breakage of the browser given that uBO can
+ see all network requests in Firefox/legacy. However for a fresh install of
+ the Firefox/legacy, you will have to manually add the ``behind-the-scene``
+ scope as a whitelist directive in the *Whitelist* pane.
+|  
+| Keep in mind I plan to drop support for Firefox/legacy once Firefox 60 ESR is
+ `released on May 7 <https://wiki.mozilla.org/RapidRelease/Calendar>`__. This
+ will remove a roadblock for simplifying uBO's code base in many areas.
+|  
+| Miscellaneous:
+|  
+
+- Ability to visually filter out rules in the "My rules" pane in the
+ dashboard.
+- Firefox for Android: improved compatibility with the CodeMirror editor.
+- `Responsive design <https://en.wikipedia.org/wiki/Responsive_web_design>`__
+ of the dashboard user interface has been improved a bit.
+
+|
+| **Closed as fixed:**
+|  
+
+- `Loading a ``.javascript`` file from a WebExtension's
+ ``web_accessible_resources`` messes with macOS file
+ associations <https://github.com/gorhill/uBlock/issues/3636>`__
+- `2 included filterlists by directive are
+ doubled <https://github.com/gorhill/uBlock/issues/3624>`__
+
+|
+| `Commits history since
+ 1.15.20 <https://github.com/gorhill/uBlock/compare/1.15.18...1.15.20>`__.
+
+uBlock Origin 1.15.19rc6 - April 1, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19rc5 - March 31, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19rc4 - March 31, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19rc3 - March 31, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19rc2 - March 30, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19rc1 - March 30, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19rc0 - March 30, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19b8 - March 28, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19b7 - March 28, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19b6 - March 28, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19b5 - March 27, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19b4 - March 27, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19b3 - March 27, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19b2 - March 23, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19b1 - March 21, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.19b0 - March 18, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.18 - March 18, 2018
+--------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.18>`__.
+|  
+| **Closed as fixed:**
+|  
+
+- `i don't can paste text with right
+ click <https://github.com/gorhill/uBlock/issues/3614>`__
+
+|
+| `Commits history since
+ 1.15.18 <https://github.com/gorhill/uBlock/compare/1.15.16...1.15.18>`__.
+
+uBlock Origin 1.15.17b1 - March 17, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.17b0 - March 17, 2018
+----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.16 - March 17, 2018
+--------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.16>`__.
+|  
+| **Closed as fixed:**
+|  
+
+- `"My Rules" tab is not displayed properly in FF
+ RTL <https://github.com/gorhill/uBlock/issues/3611>`__
+
+|
+| `Commits history since
+ 1.15.16 <https://github.com/gorhill/uBlock/compare/1.15.14...1.15.16>`__.
+
+uBlock Origin 1.15.15rc1 - March 16, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.15rc0 - March 16, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.14 - March 16, 2018
+--------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.14>`__.
+|  
+| **New**
+|  
+| Added a new advanced setting: ``streamScriptInjectFilters``. The purpose is
+ to tell uBO to use stream filtering to inject scriptlets where possible.
+ Default to ``false``. Set to ``true`` to bring back scriptlet injection
+ through stream filtering as was the default before
+ `1.15.10 <https://github.com/gorhill/uBlock/releases/tag/1.15.10>`__. A fix
+ has also been added to resolve
+ https://github.com/uBlockOrigin/uAssets/issues/1492, which was the main
+ reason to disable stream filtering-based scriptlets injection in 1.15.10.
+|  
+| Integration of `CodeMirror <http://codemirror.net/>`__ in uBO's dashboard.
+ Please do not open feature requests related to this.
+|  
+| **Changes:**
+|  
+| **Firefox/webext**
+|  
+| From now on, the beta version will be signed and self-hosted here. The stable
+ version and the beta version auto-update independently of each other.
+|  
+| **Closed as fixed:**
+|  
+
+- `CSP error notification -> Conflicting with uBlock
+ Origin? <https://github.com/gorhill/uMatrix/issues/967>`__ [from uMatrix
+ issue tracker]
+- `Filters starting with ``*`` and followed by an uppercase letter are
+ improperly parsed <https://github.com/gorhill/uBlock/issues/3581>`__
+- `HTML Filter with ^ has no
+ effect <https://github.com/gorhill/uBlock/issues/3562>`__
+- `Redirection to neutered scriptlet broken by forbidden redirection to data:
+ urls <https://github.com/gorhill/uBlock/issues/3474>`__
+- `Behind-the-scene websocket's not being filtered by
+ uBO <https://github.com/gorhill/uBlock/issues/3546>`__
+- `Using IPv6 address in dynamic
+ rule <https://github.com/gorhill/uBlock/issues/3506>`__
+- `Normalize all tab id values to
+ integer <https://github.com/gorhill/uBlock/issues/3428>`__
+- `Site CSP's prevent surrogates from being loaded. google-analytics on
+ Twitter for example <https://github.com/gorhill/uBlock/issues/2823>`__
+- `Make Ctrl + S save changes to My
+ Filters <https://github.com/gorhill/uBlock/issues/1683>`__
+
+|
+| `Commits history since
+ 1.15.10 <https://github.com/gorhill/uBlock/compare/1.15.10...1.15.14>`__.
+
+uBlock Origin 1.15.12 - March 16, 2018
+--------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b15 - March 14, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b13 - March 12, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b12 - March 12, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b11 - March 12, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b10 - March 11, 2018
+-----------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b9 - March 5, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b8 - March 4, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b7 - March 4, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b6 - March 1, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b5 - Feb. 28, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b4 - Feb. 27, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b3 - Feb. 26, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b2 - Feb. 26, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.11b1 - Feb. 24, 2018
+---------------------------------------
+
+[no description]
+
+uBlock Origin 1.15.10 - Feb. 20, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.10>`__.
+|  
+| I rolled back part of the fix for
+ `#3069 <https://github.com/gorhill/uBlock/issues/3069>`__: scriptlets are
+ back to being injected using the delayed path. Using stream filtering to
+ inject the scriptlets raised two distinct issues lately:
+|  
+
+- Cause still unknown: https://github.com/gorhill/uBlock/issues/3526
+- Cause identified -- but no obvious fix possible:
+ https://github.com/uBlockOrigin/uAssets/issues/1492
+
+|
+| HTML filtering is still available, i.e. filters using the ``##^`` syntax are
+ unaffected.
+|  
+|  
+| `Commits history since
+ 1.15.10 <https://github.com/gorhill/uBlock/compare/1.15.8...1.15.10>`__.
+
+uBlock Origin 1.15.8 - Feb. 20, 2018
+------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.8>`__.
+|  
+| **Emergency fix:**
+|  
+| Fixed a minor memory leak occurring as a result of injecting scriptlets
+ (through ##script:inject(...) filters) using
+ `webRequest.filterResponseData <https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/filterResponseData>`__.
+|  
+| `Commits history since
+ 1.15.8 <https://github.com/gorhill/uBlock/compare/1.15.6...1.15.8>`__.
+
+uBlock Origin 1.15.6 - Feb. 13, 2018
+------------------------------------
+
+| **Emergency fix:**
+
+- `Wrong encoding results in garbled characters on German
+ site <https://github.com/gorhill/uBlock/issues/3507>`__
+
+uBlock Origin 1.15.4 - Feb. 3, 2018
+-----------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.4>`__.
+|  
+| **Closed as fixed:**
+|  
+
+- `Android Firefox corrupted downloads with uBlock
+ on <https://github.com/gorhill/uBlock/issues/3478>`__
+
+|
+| `Commits history since
+ 1.15.4 <https://github.com/gorhill/uBlock/compare/1.15.2...1.15.4>`__.
+
+uBlock Origin 1.15.2 - Feb. 3, 2018
+-----------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.2>`__.
+|  
+| No change to the code, I just updated the filter lists packaged with the
+ extension -- due to a `bad EasyList
+ filter <https://github.com/easylist/easylist/commit/d778925d637a9664286f196ddc7e6b10ea79ac9f>`__
+ being shipped with the previous package.
+|  
+| `Commits history since
+ 1.15.2 <https://github.com/gorhill/uBlock/compare/1.15.0...1.15.2>`__.
+
+uBlock Origin 1.15.0 - Feb. 1, 2018
+-----------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.15.0>`__.
+|  
+| **New**
+|  
+| **HTML filtering**
+|  
+| Ability to remove DOM elements from a source document before it is parsed by
+ the browser. The platform must support an extension API to modify the
+ response body on the fly. **Currently only Firefox 57+ allows this.**
+|  
+| The filter syntax is similar to cosmetic filtering, except that the character
+ ``^`` is used before a valid selector to denote that the filter is to be
+ applied to the source data. Contrary to cosmetic filtering, with HTML
+ filtering the elements matching a selector are *removed* from the source.
+ Example:
+|  
+
+ ``twitter .com##^meta[http-equiv="refresh"] www.google .ca##^#hplogo boards.4chan .org##^script:has-text(7c9e3a5d51cdacfc)``
+
+|
+| Note that procedural operators are supported. Procedural operators which are
+ senseless to use on source data will be ignored. For example, it makes no
+ sense to use procedural operator such ``:matches-css(...)`` for HTML
+ filtering.
+|  
+| Note that HTML filtering essentially brings back support for inline script
+ tag filtering. I plan on deprecating the syntax ``##script:contains(...)`` in
+ favor of ``##^script:has-text(...)``. For the time being, uBO will
+ conveniently convert the old syntax to the new HTML filtering syntax.
+|  
+| Given that HTML filters are to be applied to the source data of a document,
+ the best way to create such filters is to ``view-source:`` the document and
+ from there analyze what should be removed. Thus the element picker won't be
+ extended as a tool to create HTML filters.
+|  
+| In case it's still not clear at point: this is a big deal feature.
+|  
+
+ **Sub-filter lists**
+
+|
+| Ability for filter list maintainers to force uBO to load extra filter lists
+ from within a filter list, using an ``!#include`` directive.
+ `Example <https://github.com/MajkiIT/polish-ads-filter/issues/4898>`__:
+|  
+| ``!#include adblock_ublock.txt``
+|  
+| When uBO encounters the above directive inside a filter list, it tells uBO to
+ load the extra filter list and append it to the current one. The main purpose
+ of such directive is to allow filter list maintainers to be able to make use
+ of uBO's extended filter syntax, without forfeiting the ABP-compatibility of
+ their main filter list: ABP will ignore such directive since it will be seen
+ as a mere comment.
+|  
+| All the details of the new directives syntax is being fleshed out at
+ https://github.com/AdguardTeam/AdguardBrowserExtension/issues/917. At this
+ point only ``!#include`` is implemented by uBO, because it solves immediately
+ a current issue by simplifying the work of filter list maintainers who want
+ to make use of uBO's extended filter syntax.
+|  
+| **Important:** uBO forbids sublists which are outside the directory of the
+ main list. Typically, filter list maintainers will just use a single file
+ name, as seen in the example above, in which case same-origin and same
+ directory is implicit.
+|  
+| **Changes**
+|  
+| **Logger**
+|  
+| The logger can now be opened in a sidebar on Firefox. Just open the side bar
+ and "uBlock₀ -- Logger" will be available as a choice.
+|  
+| Given this new ability, I added the following enhancements:
+|  
+
+- A new entry in the tab selector: "Current tab":
+
+ - This will cause the logger to automatically filter out rows which do not
+ belong to the currently active tab.
+
+- The rows related to behind-the-scene scope are now always shown.
+- If you close a tab while "Current tab" is selected, the resulting void rows
+ will be automatically deleted.
+- You can expand/collapse a single row by clicking on the time stamp cell.
+
+|
+| Given that uBO's logger is unified, being able to open the logger in a
+ sidebar means you could end up having multiple views opened for the logger:
+ only one view will work at any given time.
+|  
+| Mind that there are minor visual issues which I have no control over:
+|  
+
+- The maximum horizontal space is limited by the browser.
+- If you have the logger already opened in a tab or separate window, you will
+ have to close these for the logger-in-a-sidebar to start working. However
+ some internal message events are lost in Firefox and as a result the
+ logger-in-a-sidebar may take over 30 seconds to start working after you
+ close the logger-in-a-tab or window.
+- Firefox: the font size is smaller than dictated in the DOM inspector view: I
+ have no clue why, uBO's chosen font size is overridden by Firefox for some
+ reasons.
+- Firefox: it's not possible to select text in the logger when it is embedded
+ in a sidebar.
+
+|
+| **Closed as fixed:**
+|  
+
+- `Not all images blocked 'Block media elements larger than' set to
+ 0kb <https://github.com/gorhill/uBlock/issues/3441>`__
+- ```script:contains()`` does not work in
+ WebExtensions <https://github.com/gorhill/uBlock/issues/3255>`__
+- `Evaluate using the new webRequest API to filter a response body on the
+ fly <https://github.com/gorhill/uBlock/issues/3069>`__
+- `Ability to open the logger into the browser's
+ sidebar <https://github.com/gorhill/uBlock/issues/2854>`__
+- `uBO's own reload button does not do a cache-invalidating
+ reload <https://github.com/gorhill/uBlock/issues/3408>`__
+
+ - Press <kbd>Ctrl</kbd> while clicking to force a bypass of the browser
+ cache.
+
+- `manualUpdateAssetFetchPeriod=0 is
+ ignored <https://github.com/gorhill/uBlock/issues/3380>`__
+- `Blocking meta refresh
+ redirects <https://github.com/gorhill/uBlock/issues/3378>`__ (works only on
+ Firefox 57+)
+- ```script:inject`` with only negated domains cause cosmetic filtering engine
+ to crash <https://github.com/gorhill/uBlock/issues/3375>`__
+- `Regular expression flags in procedural cosmetic
+ filters <https://github.com/gorhill/uBlock/issues/3372>`__
+- `Some procedural filter chaining not
+ work? <https://github.com/gorhill/uBlock/issues/3367>`__
+- `Scriplet injections are Not
+ Logged <https://github.com/gorhill/uBlock/issues/2877>`__
+- `Scriptlet injection filters counted as cosmetic
+ filters <https://github.com/gorhill/uBlock/issues/2837>`__
+
+|
+| `Commits history since
+ 1.14.24 <https://github.com/gorhill/uBlock/compare/1.14.24...1.15.0>`__.
+
+uBlock Origin 1.14.24 - Jan. 13, 2018
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.24>`__.
+|  
+| Emergency fix for `"Cannot full support Domain restrictive Inverse type
+ options" <https://github.com/nikrolls/uBlock-Edge/issues/101>`__: static
+ network filters with a mix of negated and non-negated "domain=" option were
+ instantiated in a way which rendered them unenforceable.
+|  
+| Commits since 1.14.22:
+
+- `bc782be66364 <https://github.com/gorhill/uBlock/commit/384f742c366497b6d75c4b90b57136dd55439f7d%3E384f742c3664%3C/a%3E%0A%3Cli%3E%3Ca%20href=>`__
+
+uBlock Origin 1.14.22 - Dec. 14, 2017
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.22>`__.
+|  
+| **Accepted pull requests**
+|  
+
+- `Change URL for CZ/SK filters and add "sk"
+ lang <https://github.com/gorhill/uBlock/pull/3312>`__
+
+|
+| **Closed as fixed:**
+|  
+
+- `Filter cost cumulates on endless scrolling sites (facebook) and end up
+ being disabled until
+ reload <https://github.com/gorhill/uBlock/issues/3335>`__
+- `[Regression] ``domain=`` option fails to match in some rare
+ cases <https://github.com/gorhill/uBlock/issues/3328>`__
+- `[Japanese] Seconds on the logger page not showing
+ issue <https://github.com/gorhill/uBlock/issues/3293>`__
+
+|
+| `Commit history between 1.14.20 and
+ 1.14.22 <https://github.com/gorhill/uBlock/compare/1.14.20...1.14.22>`__.
+
+uBlock Origin 1.14.20 - Nov. 29, 2017
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.20>`__.
+|  
+| **Changes**
+|  
+| The filter list *"AAK-Cont Filters For uBlock Origin"* has been removed from
+ stock filter lists, it is no longer maintained. See
+ `#3241 <https://github.com/gorhill/uBlock/issues/3241>`__. Note that uBO is
+ equipped to deal with anti-blockers, it's just a matter of users reporting
+ instances to `volunteer
+ maintainers <https://github.com/uBlockOrigin/uAssets/issues>`__. Everybody is
+ welcomed to assist in finding solutions to reported filter issues.
+|  
+| The `DOM inspector <https://github.com/gorhill/uBlock/wiki/DOM-inspector>`__
+ has been improved a bit to make it more usable (see
+ `#407 <https://github.com/gorhill/uBlock/issues/407>`__). Some refactoring
+ was necessary to move forward this part, and as a result the DOM inspector is
+ currently not available on legacy Firefox. This will be addressed only as
+ time allow. Note that I still consider the DOM inspector to be work in
+ progress. In case you wonder, the DOM inspector is the best way to visualize
+ the effects of cosmetic filters on a page and to create exception cosmetic
+ filters.
+|  
+| The semantic of the ``no-csp-reports`` switch has been changed from *"block
+ CSP reports from"* to *"block CSP reports to"*. This **does not** change the
+ behavior of the *"Block CSP reports"* setting. This change of semantic makes
+ sense, and this also removes an incompatibility with NoScript 10 (see
+ `#3260 <https://github.com/gorhill/uBlock/issues/3260>`__).
+|  
+| **Accepted pull requests:**
+|  
+
+- @ kasper93: `improve DOM
+ inspector <https://github.com/gorhill/uBlock/pull/3254>`__
+- @ gwarser: `Update supportURL for POL
+ filters <https://github.com/gorhill/uBlock/pull/3181>`__
+
+|
+| **Closed as fixed:**
+|  
+
+- `NSFW not closed popup <https://github.com/gorhill/uBlock/issues/3287>`__
+- `NoScript WebExtension and its CSP
+ reports <https://github.com/gorhill/uBlock/issues/3260>`__
+- [Regression] `Preview of CSS 'style' filters no longer
+ works <https://github.com/gorhill/uBlock/issues/3257>`__
+- `Add Adguard Mobile ads filter to default filter
+ list <https://github.com/gorhill/uBlock/issues/3210>`__
+
+ - *Adguard Mobile Ads* filter list will be automatically selected with
+ Firefox for Android (for new installations of uBO).
+
+- `A case that a custom RegExp rule doesn't
+ work <https://github.com/gorhill/uBlock/issues/3208>`__
+- `$generichide filter entry appears twice in the Logger on first
+ load <https://github.com/gorhill/uBlock/issues/3201>`__
+- `Use local image in Add-ons
+ Manager <https://github.com/gorhill/uBlock/issues/3196>`__
+- [Performance] `RegExp uses undue amount of memory on Chromium-based
+ browsers <https://github.com/gorhill/uBlock/issues/3193>`__
+
+ - Reported as a core issue because the fix also benefits Firefox
+ performance-wise.
+
+- `uBlock unhides hidden elements when it's
+ updated <https://github.com/gorhill/uBlock/issues/3185>`__
+- [Regression] `:style filters incorrectly shown in
+ logger <https://github.com/gorhill/uBlock/issues/3159>`__
+- `suspendTabsUntilReady and Violentmonkey compatibility
+ issue <https://github.com/gorhill/uBlock/issues/3130>`__
+- `'Block element' from context menu not working in Firefox, when 0 active
+ filters <https://github.com/gorhill/uBlock/issues/2963>`__
+- [Accessibility] `Screen reader issue, after clicking the toolbar button, the
+ shown up interface is not accessible with screen reader keyboard
+ control <https://github.com/gorhill/uBlock/issues/2072>`__
+- `DOM inspector not sees <html>
+ element <https://github.com/gorhill/uBlock/issues/2001>`__
+
+|
+| `Commit history between 1.14.18 and
+ 1.14.20 <https://github.com/gorhill/uBlock/compare/1.14.18...1.14.20>`__.
+
+uBlock Origin 1.14.18 - Nov. 8, 2017
+------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.18>`__.
+|  
+| **Firefox WebExtensions:** Issues with uBO/webext? If so, then `read
+ carefully <https://github.com/gorhill/uBlock/wiki/Firefox-WebExtensions#read-carefully-if-using-ubowebext>`__
+ before filing any issue.
+|  
+| **New**
+|  
+| A new setting has been added in the *Privacy* section of the *Settings* pane
+ in the dashboard: "Block CSP reports". Default is un-checked. Rationale for
+ this new setting: `issue
+ #3150 <https://github.com/gorhill/uBlock/issues/3150>`__. Documentation for
+ this new setting: `Block CSP
+ reports <https://github.com/gorhill/uBlock/wiki/Dashboard:-Settings#block-csp-reports>`__.
+|  
+| **Changes**
+|  
+| Small improvements to the element picker on touchscreen devices:
+|  
+
+- The picker dialog box is now rendered with a minimal width.
+- After you pick an element, if the picker dialog box is...
+
+ - Visible...
+
+ - Swiping right will hide it.
+
+ - Not visible...
+
+ - Swiping left or touching it will un-hide it.
+ - Swiping right will quit element picker mode.
+
+|
+| **Closed as fixed:**
+|  
+
+- `Static-filtering: $object_subrequest blocking
+ method <https://github.com/gorhill/uBlock/issues/3187>`__
+- `uBlock doesn't work properly with "Medium Security" in Tor browser
+ 7.0.7 <https://github.com/gorhill/uBlock/issues/3156>`__
+- `Open in new tab produces 6+ 'popup' lines in
+ logger <https://github.com/gorhill/uBlock/issues/3165>`__
+- `uBO is blocking legitimate CSP
+ reports <https://github.com/gorhill/uBlock/issues/3140>`__
+- `Move pseudo-user stylesheets out of
+ ``contentscript.js`` <https://github.com/gorhill/uBlock/issues/2984>`__
+
+|
+| `Commit history between 1.14.16 and
+ 1.14.18 <https://github.com/gorhill/uBlock/compare/1.14.16...1.14.18>`__.
+
+uBlock Origin 1.14.16 - Oct. 21, 2017
+-------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.16>`__.
+|  
+| **Firefox WebExtensions**
+|  
+| Issues with uBO/webext? If so, then `read
+ carefully <https://github.com/gorhill/uBlock/wiki/Firefox-WebExtensions#read-carefully-if-using-ubowebext>`__
+ before filing any issue.
+|  
+| **Firefox for Android 56:** I have observed that the "Options" button does
+ not appear in ``about:addons`` with this version of uBO (while this works
+ fine with Nightly, quite probably because of `bugzilla issue
+ 1364945 <https://bugzilla.mozilla.org/show_bug.cgi?id=1364945>`__). However,
+ unlike with Firefox for Android 55, uBO's entry in the browser menu is
+ properly shown, so you can access the dashboard through the popup panel.
+|  
+| **Closed as fixed:**
+|  
+
+- `uBlock doesn't work properly with "Medium Security" in Tor browser
+ 7.0.7 <https://github.com/gorhill/uBlock/issues/3156>`__
+- `Specific $popup filters incorrectly converted to
+ $popunder <https://github.com/gorhill/uBlock/issues/3129>`__
+- `Popup detection mistake <https://github.com/gorhill/uBlock/issues/3112>`__
+- `Static filtering: left-anchor /
+ right-anchor <https://github.com/gorhill/uBlock/issues/3110>`__
+- ```no-popups: * true`` rule
+ issue <https://github.com/gorhill/uBlock/issues/2277>`__
+
+|
+| `Commit history between 1.14.14 and
+ 1.14.16 <https://github.com/gorhill/uBlock/compare/1.14.14...1.14.16>`__.
+
+uBlock Origin 1.14.14 - Oct. 9, 2017
+------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.14>`__.
+|  
+| **Firefox WebExtensions**
+|  
+| Issues with uBO/webext? If so, then `read
+ carefully <https://github.com/gorhill/uBlock/wiki/Firefox-WebExtensions#read-carefully-if-using-ubowebext>`__
+ before filing any issue.
+|  
+| **Firefox for Android 56:** I have observed that the "Options" button does
+ not appear in ``about:addons`` with this version of uBO (while this works
+ fine with Nightly, quite probably because of `bugzilla issue
+ 1364945 <https://bugzilla.mozilla.org/show_bug.cgi?id=1364945>`__). However,
+ unlike with Firefox for Android 55, uBO's entry in the browser menu is
+ properly shown, so you can access the dashboard through the popup panel.
+|  
+| **Closed as fixed:**
+|  
+
+- `has/if filters rejected if contains \`>\` char after recent
+ changes <https://github.com/gorhill/uBlock/issues/3111>`__
+
+|
+| `Commit history between 1.14.12 and
+ 1.14.14 <https://github.com/gorhill/uBlock/compare/1.14.12...1.14.14>`__.
+
+uBlock Origin 1.14.12 - Oct. 8, 2017
+------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.12>`__.
+|  
+| **Firefox WebExtensions**
+|  
+| Issues with uBO/webext? If so, then `read
+ carefully <https://github.com/gorhill/uBlock/wiki/Firefox-WebExtensions#read-carefully-if-using-ubowebext>`__
+ before filing any issue.
+|  
+| **Firefox for Android 56:** I have observed that the "Options" button does
+ not appear in ``about:addons`` with this version of uBO (while this works
+ fine with Nightly, quite probably because of `bugzilla issue
+ 1364945 <https://bugzilla.mozilla.org/show_bug.cgi?id=1364945>`__). However,
+ unlike with Firefox for Android 55, uBO's entry in the browser menu is
+ properly shown, so you can access the dashboard through the popup panel.
+|  
+| **Changes:**
+|  
+| The filter list category *Social* has been renamed to broader *Annoyances*.
+|  
+| Changes in selection of stock filter lists:
+|  
+| Added:
+|  
+
+- "Adguard Base Filters"
+
+ - Thanks to Adguard's @ameshkov for `going out of his way to make the list
+ specifically for
+ uBO <https://github.com/AdguardTeam/AdguardFilters/issues/5138#issuecomment-328883965>`__.
+ Both Adguard and uBO share some extended filter syntax, and as such uBO
+ users do benefit from Adguard's filter lists.
+
+- "Adguard Spyware Filters" (in "Privacy" section)
+- "Adguard Annoyances" (in "Annoyances" section)
+- "Adguard Spanish/Portuguese" (see
+ `#3089 <https://github.com/gorhill/uBlock/issues/3089>`__)
+- "VIE: ABPVN" (see https://github.com/gorhill/uBlock/pull/2600)
+
+|
+| Changed:
+|  
+
+- Instruction URLs added for "RUS: RU AdList" and "CHN: CJX's EasyList Lite"
+
+ - So that users can find more about these lists and the recommendations on
+ how to best use them made by their respective maintainers.
+
+- "RUS: Adguard Russian" and "CHN: CJX's EasyList Lite" will now be selected
+ by default for new installations.
+
+|
+| Removed:
+|  
+
+- "EasyList without element hiding rules" (not very useful)
+- "Reek's AAK" (no longer maintained)
+- "uBlock Protector List" (it required Chrom[ium|e], uBO must be browser
+ vendor agnostic)
+- "Fanboy Ultimate" (see
+ `#3061 <https://github.com/gorhill/uBlock/issues/3061>`__)
+- "CHN: CJX's Annoyance" (optional list)
+- "EU: Prebake" (no longer maintained)
+- "KOR: Fanboy Korean" (marked as "officially unsupported")
+- "RUS: BitBlock" (see
+ https://github.com/gorhill/uBlock/pull/3019#issuecomment-330076525)
+- "VIE: Fanboy Vietnamese" (marked as "officially unsupported)
+
+|
+| For whoever has one of the removed list selected, it will be moved to the
+ "Custom" section (i.e. converted into an imported filter list).
+|  
+| **Closed as fixed:**
+|  
+
+- `Blocked Elements Still Showing
+ Placeholder <https://github.com/gorhill/uBlock/issues/3077>`__
+- `Popup/popunder blocking broken after opening uBO's dashboard through popup
+ panel <https://github.com/gorhill/uBlock/issues/3057>`__
+- `Sync is bogus with the new version of
+ uBlock <https://github.com/gorhill/uBlock/issues/3006>`__
+
+ - If you still have sync issues even after the fix, see if
+ https://github.com/gorhill/uBlock/issues/3006#issuecomment-332632925
+ works for you.
+
+`Performance issue when looking up a cosmetic filter's origin in the
+logger <https://github.com/gorhill/uBlock/issues/3101>`__
+
+`Zapper and picker mode dont work on firefox
+55/56 <https://github.com/gorhill/uBlock/issues/3090>`__
+
+`Prebake - Filter Obtrusive Cookie Notices - not
+updated <https://github.com/gorhill/uBlock/issues/2997>`__
+
+`Middle clicking on a link triggers popup
+rule <https://github.com/gorhill/uBlock/issues/2919>`__
+
+`ABP new filter not working on
+uBO <https://github.com/gorhill/uBlock/issues/2793>`__
+
+`Add Anti-Adblock Killer
+Continued <https://github.com/gorhill/uBlock/issues/2685>`__
+
+`Unsupported ``genericblock`` causes supported ``generichide`` to be
+ignored <https://github.com/gorhill/uBlock/issues/2283>`__
+
+`no-remote-fonts option not working for inlined
+fonts <https://github.com/gorhill/uBlock/issues/1539>`__
+
+`Pushing to cloud storage fails silently: no hint is provided about the
+failure <https://github.com/gorhill/uBlock/issues/1510>`__\ `Commit history
+between 1.14.10 and
+1.14.12 <https://github.com/gorhill/uBlock/compare/1.14.10...1.14.12>`__.
+
+uBlock Origin 1.14.10 - Sept. 13, 2017
+--------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.10>`__.
+|  
+| **Code review-related fix:** a test was introduced in
+ `#2950 <https://github.com/gorhill/uBlock/issues/2950>`__, which purpose was
+ meant to punycode **only** if required for Firefox 52-56. Turns out the regex
+ used in the test was flawed and this caused the punycoding code path to be
+ always taken, meaning a pointless added overhead in network request handlers
+ for when no punycoding is needed. Fixed with
+ `04a41d8b <https://github.com/gorhill/uBlock/commit/04a41d8b22276c5177c14337ac2d8fe7d781140c>`__.
+|  
+| `Commit history between 1.14.8 and
+ 1.14.10 <https://github.com/gorhill/uBlock/compare/1.14.8...1.14.10>`__.
+
+uBlock Origin 1.14.8 - Sept. 4, 2017
+------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.8>`__.
+|  
+| **Closed as fixed:**
+|  
+
+- `Cosmetic filtering broken on Firefox 52
+ ESR <https://github.com/gorhill/uBlock/issues/2957>`__
+
+|
+| `Commit history between 1.14.6 and
+ 1.14.8 <https://github.com/gorhill/uBlock/compare/1.14.6...1.14.8>`__.
+
+uBlock Origin 1.14.4 - Sept. 1, 2017
+------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.4>`__.
+|  
+| **Closed as fixed:**
+|  
+
+- `Firefox 52.2.1: uBlock suddenly disabled due to
+ incompatibility <https://github.com/gorhill/uBlock/issues/2945>`__
+
+ - As per popular demand, I set the minimum version to 52.0. However be
+ warned that some features are not available, like the privacy settings
+ for example.
+ - uBO/webext should not be used on Firefox for Android 54 and less, because
+ there is no way to access uBO's UI. This was fixed in Firefox for Android
+ 55, so best is that you move to the latest stable version of Firefox for
+ Android.
+
+- `A custom filter not working on uBO v1.13.11rc0 / v1.14.0, but working on
+ 1.13.8 <https://github.com/gorhill/uBlock/issues/2938>`__ (regression from
+ b2e89c9e).
+
+ - I tried to find out how many filters from default filter lists were
+ affected but I could not find any one filter in default filter lists, or
+ any of the large regional lists.
+
+|
+| `Commit history between 1.14.0 and
+ 1.14.4 <https://github.com/gorhill/uBlock/compare/1.14.0...1.14.4>`__.
+
+uBlock Origin 1.14.0 - Aug. 30, 2017
+------------------------------------
+
+| See `release
+ notes <https://github.com/gorhill/uBlock/releases/tag/1.14.0>`__.
+|  
+| **Changes**
+|  
+| Due to the many reported issues with the webext-hybrid version of uBO, I am
+ pushing the pure webext version of uBO to AMO. If this causes all your custom
+ settings to be lost, you can recover them by following the steps outlined in
+ the `release notes of
+ 1.13.10 <https://github.com/gorhill/uBlock/releases/1.13.10>`__.
+|  
+| As required by AMO review process, the Firefox webext[-hybrid] version of uBO
+ will no longer fetch the latest version of
+ ```assets/filters/resources.txt`` <https://github.com/uBlockOrigin/uAssets/blob/master/filters/resources.txt>`__
+ from the project's repository.
+|  
+| The Firefox webext[-hybrid] version of uBO now uses
+ `indexedDB <https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API>`__
+ to store its cacheable assets<sup>[1]</sup>. There are positive and negative
+ consequences as a result. See issue #2925 for details.
+|  
+| <sub>[1] "Cacheable assets" refer to: filter lists downloaded from remote
+ servers; compiled
+ (`pre-parsed <https://github.com/gorhill/uBlock/wiki/Launch-and-filter-lists-load-performance>`__)
+ filter lists; "selfie" (`kind of dated
+ doc <https://github.com/gorhill/uBlock/wiki/Notes-on-memory-benchmarks,-selfies>`__
+ but "selfie" part is still relevant).</sub>
+|  
+| **Closed as fixed:**
+|  
+
+- `Use indexedDB instead of browser.local.storage for cached
+ assets <https://github.com/gorhill/uBlock/issues/2925>`__
+- `Fixed bad
+ test <https://github.com/gorhill/uBlock/commit/c31d29c2e3305f7602f90846c539ce8d2933118d>`__
+ (regression from fdcc951).
+- `Generate better regex for hostname-anchored generic
+ filters <https://github.com/gorhill/uBlock/commit/b2e89c9ece38ce431560d0d7c6d0f8b02fd0760d>`__
+ (there are ~4,500 such filters with default filter lists).
+
+|
+|  
+| `Commit history between 1.13.10 and
+ 1.14.0 <https://github.com/gorhill/uBlock/compare/1.13.10...1.14.0>`__.
diff --git a/debian/upstream/changelog.html b/debian/upstream/changelog.html
new file mode 100644
index 0000000..5262411
--- /dev/null
+++ b/debian/upstream/changelog.html
@@ -0,0 +1,1119 @@
+<html>
+<head><title>uBlock Origin Version History</title></head>
+<body>
+
+<h2>uBlock Origin 1.18.4 - Feb. 5, 2019</h2>
+See <a href="https://github.com/gorhill/uBlock/releases/tag/1.18.4" rel="nofollow">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/403" rel="nofollow">Cosmetic filtering not enforced at uBO launch on already opened web pages</a></li><li><a href="https://github.com/NanoAdblocker/NanoCore/issues/239" rel="nofollow">Compute URL of sublists as relative to URL of parent list</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/402" rel="nofollow">Fix partyness evaluation for cases of base domain-less hostnames</a></li><li><a href="https://github.com/gorhill/uBlock/commit/69c87c511748c4d7b39bd2a6cb2bba0dc356dc78" rel="nofollow">Fix Promise chain of WASM module load operations</a></li></ul>
+<br/><a href="https://github.com/gorhill/uBlock/compare/1.18.2...1.18.4" rel="nofollow">Commits history since 1.18.2</a>.
+
+<h2>uBlock Origin 1.18.3.102 - Feb. 2, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.18.3.101 - Feb. 1, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.18.3.100 - Feb. 1, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.18.3.2 - Jan. 29, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.18.3.1 - Jan. 28, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.18.3.0 - Jan. 27, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.18.2 - Jan. 26, 2019</h2>
+See <a href="https://github.com/gorhill/uBlock/releases/tag/1.18.2" rel="nofollow">release notes</a>.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>Fixed</b>
+<br/>&nbsp;
+<br/><ul><li><a href="https://github.com/uBlockOrigin/uAssets/commit/ce215ed7134238c11fd28f8b62143fbf21f5eb6c" rel="nofollow">Improve <code>nowebrtc.js</code> scriptlet</a></li></ul>
+<br/><a href="https://github.com/gorhill/uBlock/compare/1.18.0...1.18.2" rel="nofollow">Commits history since 1.18.0</a>.
+
+<h2>uBlock Origin 1.18.1.100 - Jan. 26, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.18.0 - Jan. 24, 2019</h2>
+See <a href="https://github.com/gorhill/uBlock/releases/tag/1.18.0" rel="nofollow">release notes</a>.
+<br/>&nbsp;
+<br/><b>New</b>
+<br/>&nbsp;
+<br/>Refactoring of the logger code for performance/efficiency purpose -- the logger output has been decoupled from the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model" rel="nofollow">DOM</a>.
+<br/>&nbsp;
+<br/>Additionally, these features were added to the logger:
+<br/>&nbsp;
+<br/><ul><li>configuration settings
+<br/> <ul> <li>multiple criteria can be used for when to discard logger entries
+<br/> </li><li>ability to hide some columns
+<br/> </li></ul></li><li>export-to-clipboard</li><li>the position and size of the logger-as-a-popup window will be remembered</li><li>a pause button to stop the logger from taking in new events</li><li>a new built-in expressions picker to filter the logger output</li><li>show the hostname of the document which caused the resource to be fetched</li><li>show the 3rd-partyness of a resource relative to both the page and the document fetching the resource</li><li>new visual hint to denote tab-less network requests</li><li>a popup panel button linked to the tab selector</li></ul>
+<br/>Documentation will be updated eventually to account for those changes.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>Closed as fixed</b>
+<br/>&nbsp;
+<br/><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/345" rel="nofollow">Does not block JavaScript in embedded YouTube video on specific webpage</a></li><li><a href="https://github.com/gorhill/uBlock/issues/1327" rel="nofollow">Move early blocking of requests out of experimental status on Firefox</a>
+<br/> <ul> <li>Made easy by Firefox's webext API, as early blocking is <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1447551" rel="nofollow">natively supported</a>.
+<br/> </li></ul></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/380" rel="nofollow">Prevent sites from disabling mouse events for element picker</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/372" rel="nofollow">Add an option to remove the URL comments in My filters </a> (originally declined in <a href="https://github.com/gorhill/uBlock/issues/93" rel="nofollow">https://github.com/gorhill/uBlock/issues/93</a>)</li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/348" rel="nofollow">Layout problem in the strict blocking warning page on Firefox for Android</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/341" rel="nofollow">uBO does not unhide nodes no longer matching procedural cosmetic filters</a></li><li><a href="https://github.com/uBlockOrigin/uAssets/commit/912af3284df65184bed3a486811c490936e990b9#commitcomment-31608689" rel="nofollow">Static extended filtering: fix empty hostnames not being detected/handled</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/331" rel="nofollow">Cosmetic filter "##" or "##tag," same as "##*" in element picker only</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/329" rel="nofollow"><code>!#include</code> directive should insert sub-content at directive point</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/326" rel="nofollow">3rd-gen HNTrie</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/325" rel="nofollow">Duplicate specific cosmetic filters not discarded when "Ignore generic" is enabled</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/314" rel="nofollow">$generichide is still applied even when website is whitelisted</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/312" rel="nofollow">Change "IDN: ABPindo" to "IDN, MYS: ABPindo"</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/311" rel="nofollow">Changing the button for the NOR list</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/292" rel="nofollow">Filter list view - ugly/messy line breaking/wrapping at minus sign char</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/280" rel="nofollow">Add X to close overlay box</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/279" rel="nofollow">No scripting switch number not fully displayed</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/256" rel="nofollow">Remember and reuse last position/size of the logger popup window</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/225" rel="nofollow">Logger filter lookup overlay should scroll when filter too long</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/40" rel="nofollow">Element picker not taking into account <code>srcset</code> when blocking an image = non-working network filter</a></li><li><a href="https://github.com/gorhill/uBlock/issues/3708" rel="nofollow">Internationalize CodeMirror's hard-coded tooltips in the "My rules" pane</a></li><li><a href="https://github.com/gorhill/uBlock/issues/3706" rel="nofollow">Remember the cursor position in 'My Filters' tab</a></li><li><a href="https://github.com/gorhill/uBlock/issues/3683" rel="nofollow">Deprecate pseudo operator <code>:if(...)</code>, <code>:if-not(...)</code>, reuse <code>:has(...)</code>, <code>:not(...)</code></a></li><li><a href="https://github.com/gorhill/uBlock/issues/3654" rel="nofollow">Improve representation of behind-the-scene network requests in the logger</a></li><li><a href="https://github.com/gorhill/uBlock/issues/3449" rel="nofollow">The element picker window is almost invisible</a></li><li><a href="https://github.com/gorhill/uBlock/issues/3401" rel="nofollow">Duplicated entry when creating dynamic filter in logger</a></li><li><a href="https://github.com/gorhill/uBlock/issues/1999" rel="nofollow">Logger loads blocked content in preview</a></li><li><a href="https://github.com/gorhill/uBlock/commit/1de821d99b4d2fa9756fdd451823e0886cef3534" rel="nofollow">Apply stricter rejection of usage of url() in :style rules</a></li><li><a href="https://github.com/gorhill/uBlock/commit/e2d1f50dd80f605f745442df18e7eeda8800b6a5" rel="nofollow">Normalize Adguard's plain cosmetic filters disguised as style-based filters</a></li><li><a href="https://github.com/gorhill/uBlock/commit/08261e3c15cd252a0b4ab68d0ddd4af880a55cd8" rel="nofollow">Change DOM surveyor to time-based processing logic (from chunk-based)</a></li><li><a href="https://github.com/gorhill/uBlock/commit/09fb3549f354d7d8d64272c87c4f89f8c4244316" rel="nofollow">Improve creation of rows in dynamic filtering pane of popup panel</a></li><li><a href="https://github.com/gorhill/uBlock/commit/87cf95c04b22fd3348c07f01b5328fb8bc98fcb2" rel="nofollow">Avoid redundant DOM attributes in dynamic filtering pane</a></li><li><a href="https://github.com/gorhill/uBlock/commit/f35dff2c9d9e2ee55c53b32767698ba46ca3c39b" rel="nofollow">Code review related to performance in main content script</a><a href="https://github.com/gorhill/uBlock/compare/1.17.4...1.18.0" rel="nofollow">Commits history since 1.17.4</a>.</li>
+
+<h2>uBlock Origin 1.17.7.103 - Jan. 22, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.102 - Jan. 20, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.101 - Jan. 19, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.100 - Jan. 18, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.8 - Jan. 17, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.7 - Jan. 16, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.6 - Jan. 15, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.5 - Jan. 14, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.4 - Jan. 14, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.3 - Jan. 12, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.2 - Jan. 8, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.1 - Jan. 1, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.7.0 - Jan. 1, 2019</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.104 - Dec. 29, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.103 - Dec. 28, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.102 - Dec. 27, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.101 - Dec. 26, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.100 - Dec. 24, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.17 - Dec. 23, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.16 - Dec. 22, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.15 - Dec. 21, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.14 - Dec. 21, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.13 - Dec. 19, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.12 - Dec. 19, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.11 - Dec. 18, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.10 - Dec. 16, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.9 - Dec. 16, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.8 - Dec. 15, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.7 - Dec. 14, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.6 - Dec. 14, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.5 - Dec. 14, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.4 - Dec. 13, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.3 - Dec. 8, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.2 - Dec. 7, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.1 - Dec. 6, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.5.0 - Dec. 6, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.4 - Dec. 1, 2018</h2>
+See <a href="https://github.com/gorhill/uBlock/releases/tag/1.17.4" rel="nofollow">release notes</a>.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>Notes</b>
+<br/>&nbsp;
+<br/>I will keep bringing in WebAssembly ("wasm") versions of key portions of code where it is found to be beneficial. In this release, a <a href="https://github.com/gorhill/uBlock/blob/2189f020dfb5d2d8728c17ead85e6f7905e3e984/src/js/wasm/hntrie.wat#L46" rel="nofollow">wasm version</a> of the <a href="https://github.com/gorhill/uBlock/blob/2189f020dfb5d2d8728c17ead85e6f7905e3e984/src/js/hntrie.js#L101" rel="nofollow">algorithm used to lookup a hostname from a set of hostnames</a> has been created.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>Closed as fixed</b>
+<br/>&nbsp;
+<br/><ul><li><a href="https://github.com/uBlockOrigin/uMatrix-issues/issues/64" rel="nofollow">When pasting multiple lines into the rules editor they are joined together in a single line</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/313" rel="nofollow"><code>##.ad.super</code> from EasyList is causing <code>##.ad</code> to not be applied</a></li><li><a href="https://github.com/uBlockOrigin/uAssets/issues/4083#issuecomment-436914727" rel="nofollow">Fix missing trailing asterisk in filter representation in the logger</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/283" rel="nofollow">No context menu entry for data:* iframes (banners)</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/264" rel="nofollow">UI Search field and it's search counter interfere with each other / unreadable</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/248" rel="nofollow">"Update now" button flashes for 1 second before changing the count numbers</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/77" rel="nofollow">Improve usability of temporarily disabling strict-blocking</a></li><li><a href="https://github.com/uBlockOrigin/uBlock-issues/issues/6" rel="nofollow">HTML filter exception doesn't work</a></li><li><a href="https://github.com/gorhill/uBlock/issues/3371" rel="nofollow">$badfilter does not work on a CSP filter</a></li></ul>
+<br/>&nbsp;
+<br/><a href="https://github.com/gorhill/uBlock/compare/1.17.2...1.17.4" rel="nofollow">Commits history since 1.17.2</a>.
+
+<h2>uBlock Origin 1.17.3.105 - Nov. 26, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.104 - Nov. 25, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.103 - Nov. 24, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.102 - Nov. 18, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.101 - Nov. 18, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.100 - Nov. 17, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.8 - Nov. 8, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.7 - Nov. 8, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.6 - Nov. 6, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.5 - Nov. 3, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.4 - Oct. 29, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.3 - Oct. 28, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.2 - Oct. 24, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.1 - Oct. 24, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.3.0 - Oct. 23, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.2 - Oct. 18, 2018</h2>
+No change since 1.17.0: this release is for the benefit of Firefox users, who will be able to take advantage of an <a rel="nofollow" href="https://github.com/uBlockOrigin/uAssets/commits/master/filters/resources.txt">up to date <code>resources.txt</code> asset</a>. This new version is published on AMO only.
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.17.0...1.17.2">Commit history since 1.17.0</a>.
+
+<h2>uBlock Origin 1.17.1.2 - Oct. 18, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.1.1 - Sept. 29, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.1.0 - Sept. 26, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.17.0 - Sept. 23, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.17.0">release notes</a>.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>New</b>
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>Per-site JavaScript master switch</b>
+<br/>&nbsp;
+<br/>A new per-site switch has been added to the popup panel, which acts as a master switch for JavaScript for the current site.
+<br/>&nbsp;
+<br/>This master switch has precedence over dynamic filtering rules and static filters related to script resources.
+<br/>&nbsp;
+<br/>Furthermore, when JavaScript is disabled through this master switch, <code>noscript</code> tags will be honoured on a page (as opposed to when just using filters/rules to block script resources).
+<br/>&nbsp;
+<br/>As with some other per-site switches, the default state of per-site JavaScript master switch can be set in the <em>Settings</em> pane, thus allowing to disable JavaScript everywhere by default, and enable on a per-site basis.
+<br/>&nbsp;
+<br/>JavaScript master switch rules appear as <code>no-scripting: [hostname] true</code> entries in the <em>My rules</em> pane.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>Temporarily toggle per-site switches</b>
+<br/>&nbsp;
+<br/>From now on, changes to the state of <a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches">per-site switches</a> will be deemed temporary <strong>if and only if</strong> the <a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Quick-guide:-popup-user-interface#the-overview-panel">overview panel</a> is visible, regardless of whether "advanced user" mode is enabled.
+<br/>&nbsp;
+<br/>When the overview panel is not visible, toggling a per-site switch will cause the change to be permanent (i.e. same behavior as before).
+<br/>&nbsp;
+<br/>However, when the overview panel is visible, toggling a per-site switch will cause the change to be temporary. In such case, there will be an eraser and a padlock icon in the overview pane, which can be used to revert or persist the current state of all the per-site switches.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>Cache storage compression</b>
+<br/>&nbsp;
+<br/>A new advanced setting: <code>cacheStorageCompression</code>, default to <code>true</code>. When <code>true</code>, uBO will lz4-compress data before storing it in its cache storage in supported platforms. Currently, the only supported platform is Firefox/Firefox for Android.
+<br/>&nbsp;
+<br/>The cache storage is used for storing downloaded filter lists, compiled filter lists, selfies. See <a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/141">https://github.com/uBlockOrigin/uBlock-issues/issues/141</a> for related discussion.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>Closed as fixed</b>
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>Firefox</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/229">Error loading from the disk cache pages obtained by blocking remote fonts</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2812">"Storage used" in settings tab says "? bytes"</a>
+<br/> <ul> <li>It's really a workaround, consider the reported figure to be an on-the-low-side estimate
+<br/> </li></ul></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2240">Element picker mode in Firefox CSS failure on <code>denuvo.com</code></a></li></ul>
+<br/><b>Firefox for Android</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/168">Cannot open Logger. Element picker/zapper does not switch tabs.</a></li></ul>
+<br/><b>Core</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/209">Use +js name for logging</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/208">No reverse-lookup for logged HTML filter</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/197">EasyList Thailand added to stock filter lists</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/191">Various spelling fixes</a></li><li><a rel="nofollow" href="https://github.com/NanoAdblocker/NanoCore/issues/202">“manualUpdateAssetFetchPeriod” setting doesn't save the changes</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/commit/aeb19c952b782eec31e5de8da676b89edd08efdb">False positive detection of popups is broken</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/184">"uBlock — Assets" should be changed to "uBlock₀ — Assets" in its tab</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/171">Minor JS errors in dashboard</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/167">Code exception in contentscript.js (vAPI.setTimeout) when opening Chrome last session tabs that are partly cached</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/162">Element picker mishandles identifiers with backslashes </a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3436">Minor usability issue: block all scripts</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2859">Toggle option changes are always permanent</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/308">uBlock Origin doesn’t honor noscript tags when blocking JS</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.20...1.17.0">Commits history since 1.16.20</a>.
+
+<h2>uBlock Origin 1.16.21.103 - Sept. 21, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.102 - Sept. 20, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.101 - Sept. 18, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.100 - Sept. 11, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.7 - Sept. 9, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.6 - Sept. 9, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.5 - Sept. 7, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.4 - Sept. 4, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.3 - Sept. 3, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.2 - Sept. 1, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.1 - Aug. 29, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.21.0 - Aug. 27, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.20 - Aug. 27, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.18">release notes</a>.
+<br/>&nbsp;
+<br/>I decided to create an emergency fix for a bug which was spotted for uMatrix but which also affects uBO:
+<br/><a rel="nofollow" href="https://www.reddit.com/r/uMatrix/comments/8lc9ia/">"My rules tab hangs with cloud storage support"</a>
+<br/>&nbsp;
+<br/>If using cloud storage, there is a small probability uBO could be stuck in an infinite loop when reading back the data from the cloud storage, something which <em>may</em> occurs when the following conditions are reunited:
+<br/>&nbsp;
+<br/><ul><li>You checked the setting <em>"Enable cloud storage support"</em>;</li><li>You saved data into the cloud storage for a given pane;</li><li>The amount (in bytes) of data that was saved into the cloud storage for that given pane is rather high and such that the "chunkification" of that data results in a chunk count which is a multiple of 16;
+<br/>&nbsp;
+<br/><ul><li>Large amount of data is more likely for the <em>"My filters"</em> and <em>"My rules"</em> panes.</li><li>Sorry for the cryptic explanation, I don't know how else to describe this.</li></ul></li><li>You open the pane in the dashboard for which the conditions above are true.</li></ul>
+<br/>If the bug is triggered, uBO could be stuck in an infinite loop in its main process, thus preventing it from doing its job.
+<br/>&nbsp;
+<br/>This is not a regression, but rather a bug that has been hiding in there since quite a long time.
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.16...1.16.20">Commits history since 1.16.16</a>.
+
+<h2>uBlock Origin 1.16.18.1 - Aug. 27, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.18">release notes</a>.
+<br/>&nbsp;
+<br/>I decided to create an emergency fix for a bug which was spotted for uMatrix but which also affects uBO:
+<br/><a rel="nofollow" href="https://www.reddit.com/r/uMatrix/comments/8lc9ia/">"My rules tab hangs with cloud storage support"</a>
+<br/>&nbsp;
+<br/>If using cloud storage, there is a small probability uBO could be stuck in an infinite loop when reading back the data from the cloud storage, something which <em>may</em> occurs when the following conditions reunited:
+<br/>&nbsp;
+<br/><ul><li>You checked the setting <em>"Enable cloud storage support"</em>;</li><li>You saved data into the cloud storage for a given pane;</li><li>The amount (in bytes) of data that was saved into the cloud storage for that given pane is rather high and such that the "chunkification" of that data results in a chunk count which is a multiple of 16;
+<br/>&nbsp;
+<br/><ul><li>Large amount of data is more likely for the <em>"My filters"</em> and <em>"My rules"</em> panes.</li><li>Sorry for the cryptic explanation, I don't know how else to describe this.</li></ul></li><li>You open the pane in the dashboard for which the conditions above are true.</li></ul>
+<br/>If the bug is triggered, uBO could be stuck in an infinite loop in its main process, thus preventing it from doing its job.
+<br/>&nbsp;
+<br/>This is not a regression, but rather a bug that has been hiding in there since quite a long time.
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.16...1.16.18">Commits history since 1.16.16</a>.
+
+<h2>uBlock Origin 1.16.18 - Aug. 27, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.17.10 - Aug. 25, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.17.9 - Aug. 22, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.17.8 - Aug. 21, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.17.7 - Aug. 15, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.17.6 - Aug. 15, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.17.5 - Aug. 14, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.17.4 - Aug. 14, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.17.3 - Aug. 14, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.16 - Aug. 13, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.16">release notes</a>.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>New</b>
+<br/>&nbsp;
+<br/>A new pane has been added in the dashboard for the Firefox version of uBO: <em>Shortcuts</em>. The purpose is to be able to assign keyboard shortcuts to some common operations.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/144">Settings cannot be reset on Beta and Nightly Firefox</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/106">Add a pane in the dashboard (Firefox only) to assign keyboard shortcuts</a>
+<br/> <ul> <li>The new pane will be available for Firefox 60+ only.
+<br/> </li></ul></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/135">Element picker cannot be toggled before a site is fully loaded</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2763">Logger: generic hiding rule recorded as active when $generichide in effect</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2356">Filter for dynamically added class is not logged</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2179">Logger: Popup which shows the used filter is empty</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.14...1.16.16">Commits history since 1.16.14</a>.
+
+<h2>uBlock Origin 1.16.17.2 - Aug. 13, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.17.1 - Aug. 11, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.17.0 - Aug. 6, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.15.100 - Aug. 2, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.15.6 - July 26, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.15.5 - July 23, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.15.4 - July 22, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.15.3 - July 21, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.15.2 - July 20, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.15.1 - July 20, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.15.0 - July 19, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.14 - July 17, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.14">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li>Race condition at filter lists load time potentially breaking highly-generic cosmetic filters (<a rel="nofollow" href="https://github.com/gorhill/uBlock/commit/dcd98f4efa7876ae5d37bd0588082f6aecd08a30">https://github.com/gorhill/uBlock/commit/dcd98f4efa7876ae5d37bd0588082f6aecd08a30</a>)</li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/118">Cursor jumps to next matched item when adding char to search</a>&lt;</li><li><a rel="nofollow" href="https://github.com/AdguardTeam/FiltersRegistry/issues/82">Inifinite update attempts with "AdGuard Experimental filter"</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/105">Odd sorting in popup domains list when domains have same SLD but different TLD</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/102">Cosmetic rules not logged for embedded YouTube videos</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.12...1.16.14">Commits history since 1.16.12</a>.
+
+<h2>uBlock Origin 1.16.13.101 - July 16, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.13.100 - July 10, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.13.2 - July 6, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.13.1 - July 5, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.13.0 - July 4, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.12 - June 29, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.12">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/89">CSS pseudo element: -webkit-scrollbar</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/84"><code>badfilter</code> + matching duplicate user filter created from picker or logger may rarely cause a js exception</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.10...1.16.12">Commits history since 1.16.10</a>.
+
+<h2>uBlock Origin 1.16.11.102 - June 26, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.11.101 - June 24, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.11.100 - June 14, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.10 - June 13, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.10">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/42">HTML filters occasionally lost effectiveness</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/pull/3723">Round hour up to nearest day</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.8...1.16.10">Commits history since 1.16.8</a>.
+
+<h2>uBlock Origin 1.16.9.100 - June 4, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.9.5 - June 3, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.9.4 - June 1, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.9b3 - June 1, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.9b2 - May 31, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.9b1 - May 28, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.9b0 - May 25, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.8 - May 25, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.8">release notes</a>.
+<br/>&nbsp;
+<br/>No change to uBO itself.
+<br/>&nbsp;
+<br/>The only change is in <a rel="nofollow" href="https://github.com/uBlockOrigin/uAssets">uBO's assets</a> and publishing a new version of uBO package is to ensure all users get a new version of the neutered script from <code><a rel="nofollow" href="http://googletagservices.com/gpt.js">googletagservices.com/gpt.js</a></code> -- see <a rel="nofollow" href="https://github.com/uBlockOrigin/uAssets/commit/2bc97541b3b9a9380b3ce8bd2242375925df293c">commit 2bc97541b3b9</a>.
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.6...1.16.8">Commits history since 1.16.6</a>.
+
+<h2>uBlock Origin 1.16.7b4 - May 20, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.7b3 - May 20, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.7b2 - May 18, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.7b1 - May 17, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.7b0 - May 16, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.6 - May 15, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.6">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed</b>
+<br/>&nbsp;
+<br/><ul><li>Release versions of uBO will no longer support logger-in-the-sidebar: <a rel="nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1459007">by design Firefox opens the sidebar with new installation of uBO</a> and this is not a desireable behavior for uBO<ul><li>Dev builds will still support the logger-in-the-sidebar feature.</li><li>I may bring it back depending on the resolution of <a rel="nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1460910">bug 1460910</a></li></ul></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2809">uBO webext doesn't fill entire panel space</a></li><li><a rel="nofollow" href="https://github.com/ghacksuserjs/ghacks-user.js/issues/412">uBO element picker &amp; Stylus</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.4...1.16.6">Commits history since 1.16.4</a>.
+
+<h2>uBlock Origin 1.16.5rc1 - May 14, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.5rc0 - May 10, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.5b4 - May 8, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.5b3 - May 8, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.5b2 - May 7, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.5b1 - May 6, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.5b0 - May 4, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.4 - May 3, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.4">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/><ul><li>"Ignore generic cosmetic filters" not checked as expected with a new installation [Firefox for Android]
+<br/><ul><li><a rel="nofollow" href="https://www.reddit.com/r/firefox/comments/8a5e0e/if_you_find_firefox_for_android_slow_disable/dy7q6w2/">Reported by a Reddit user</a>, fixed with <a rel="nofollow" href="https://github.com/gorhill/uBlock/commit/efe68e0f9cc6c106c3618406427aae8bd5e2bf86">this commit</a></li></ul></li><li>Pull request from @Rob--W: <a rel="nofollow" href="https://github.com/gorhill/uBlock/pull/3721">Clear return value of vapi.js content script</a> [Performance]</li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/17">Element picker find twice body on website</a></li><li>Added a link to uBO's official issue tracker in <em>About</em> pane in the dashboard</li></ul><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.2...1.16.4">Commits history since 1.16.2</a>.
+
+<h2>uBlock Origin 1.16.3rc2 - May 2, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.3rc1 - May 2, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.3rc0 - May 1, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.3b2 - April 30, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.3b1 - April 29, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.3b0 - April 28, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.2 - April 25, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.2">release notes</a>.
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/22">Text in popup panel tooltip is out of context</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/pull/3720">Minor fixes to code</a> (pull request from @anvakl)</li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/21">Insufficient escaping in patchScriptlet if streamScriptInjectFilters is enabled</a></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/7">Can't write any filters on Android</a></li><li>Firewall pane's save/revert not showing up when scrolled down on small screens
+<br/><ul><li>Found this myself, <a rel="nofollow" href="https://github.com/gorhill/uBlock/commit/9d8e2e20fb988cea0998fb13771abbfe58ff9f4f">fixed without opening a formal issue</a>.</li></ul></li><li><a rel="nofollow" href="https://www.reddit.com/r/uBlockOrigin/comments/8dkvqn/116_broken_loading_custom_filters_from_my_filters/">Firefox 52 ESR + spoofed user agent string fools uBO into thinking <code>cssOrigin</code> is supported</a> [Regression]</li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3717">Underscore in domain name breaks whitelist editor</a><ul><li>Fixed with <a rel="nofollow" href="https://github.com/gorhill/uBlock/pull/3718">pull request from @jspenguin2017</a></li></ul></li><li><a rel="nofollow" href="https://github.com/uBlockOrigin/uBlock-issues/issues/4">Element picker text area has unreadable text</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.16.0...1.16.2">Commits history since 1.16.0</a>.
+
+<h2>uBlock Origin 1.16.1rc5 - April 24, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.1rc4 - April 24, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.1rc3 - April 23, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.1rc2 - April 22, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.1rc1 - April 21, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.1rc0 - April 20, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.16.0 - April 19, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.16.0">release notes</a>.
+<br/>&nbsp;
+<br/><b>New:</b>
+<br/>&nbsp;
+<br/>Added support for pre-parsing directives to filter list compiler. This allows filter list maintainers to create areas in a filter list which will be compiled only if certain conditions are met (or not met). See detailed <a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#if-condition">documentation</a>.
+<br/>&nbsp;
+<br/><b>Changes:</b>
+<br/>&nbsp;
+<br/>The "3rd-party filters" pane in the dashboard has been renamed "Filter lists", and its look and behavior has been fine tuned.
+<br/>&nbsp;
+<br/>Work has been done in the dashboard to further improve rendering on small screens.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3667">Blank pages with stream filtering + content-type header missing</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3694">Cloud synchronization bar fails to load</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.24...1.16.0">Commits history since 1.15.24</a>.
+
+<h2>uBlock Origin 1.15.25rc3 - April 14, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.25rc2 - April 12, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.25rc1 - April 12, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.25rc0 - April 12, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.25b6 - April 11, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.25b5 - April 10, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.25b4 - April 10, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.25b3 - April 9, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.25b2 - April 6, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.25b1 - April 5, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.25b0 - April 2, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.24 - April 2, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.24">release notes</a>.
+<br/>&nbsp;
+<br/>The release version of uBO on AMO is not allowed to update its <a rel="nofollow" href="https://github.com/uBlockOrigin/uAssets/blob/master/filters/resources.txt"><code>resources.txt</code> asset</a>. This means the version shipped with the extension must be used. However, uBO compile and cache the data in <code>resources.txt</code>, and unless the cache is invalidated, uBO will keep using a potentially out of date version of <code>resources.txt</code>. This has been fixed by unconditionally invalidating the cache when a new version of uBO is detected.
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.22...1.15.24">Commits history since 1.15.24</a>.
+
+<h2>uBlock Origin 1.15.23b0 - April 2, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.22 - April 2, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.22">release notes</a>.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/>Regression introduced in <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.12">version 1.15.12</a> with the fix to issue <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3546">#3546</a>: whitelist directives were not taken into account for filterable behind-the-scene network requests. This is now fixed.
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.20...1.15.22">Commits history since 1.15.22</a>.
+
+<h2>uBlock Origin 1.15.20 - April 2, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.20">release notes</a>.
+<br/>&nbsp;
+<br/><b>Changes:</b>
+<br/>&nbsp;
+<br/>From now on, <a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Behind-the-scene-network-requests">behind-the-scene</a> network requests will be treated and filtered just like any other network requests. The <code>behind-the-scene</code> scope will be un-whitelisted when migrating to 1.15.20+ from an older version.
+<br/>&nbsp;
+<br/>This will not apply to current installations of the Firefox/legacy version of uBO, as this would cause serious breakage of the browser given that uBO can see all network requests in Firefox/legacy. However for a fresh install of the Firefox/legacy, you will have to manually add the <code>behind-the-scene</code> scope as a whitelist directive in the <em>Whitelist</em> pane.
+<br/>&nbsp;
+<br/>Keep in mind I plan to drop support for Firefox/legacy once Firefox 60 ESR is <a rel="nofollow" href="https://wiki.mozilla.org/RapidRelease/Calendar">released on May 7</a>. This will remove a roadblock for simplifying uBO's code base in many areas.
+<br/>&nbsp;
+<br/>Miscellaneous:
+<br/>&nbsp;
+<br/><ul><li>Ability to visually filter out rules in the "My rules" pane in the dashboard.</li><li>Firefox for Android: improved compatibility with the CodeMirror editor.</li><li><a rel="nofollow" href="https://en.wikipedia.org/wiki/Responsive_web_design">Responsive design</a> of the dashboard user interface has been improved a bit.</li></ul>
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3636">Loading a <code>.javascript</code> file from a WebExtension's <code>web_accessible_resources</code> messes with macOS file associations</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3624">2 included filterlists by directive are doubled</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.18...1.15.20">Commits history since 1.15.20</a>.
+
+<h2>uBlock Origin 1.15.19rc6 - April 1, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19rc5 - March 31, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19rc4 - March 31, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19rc3 - March 31, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19rc2 - March 30, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19rc1 - March 30, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19rc0 - March 30, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19b8 - March 28, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19b7 - March 28, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19b6 - March 28, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19b5 - March 27, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19b4 - March 27, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19b3 - March 27, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19b2 - March 23, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19b1 - March 21, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.19b0 - March 18, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.18 - March 18, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.18">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3614">i don't can paste text with right click</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.16...1.15.18">Commits history since 1.15.18</a>.
+
+<h2>uBlock Origin 1.15.17b1 - March 17, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.17b0 - March 17, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.16 - March 17, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.16">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3611">"My Rules" tab is not displayed properly in FF RTL</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.14...1.15.16">Commits history since 1.15.16</a>.
+
+<h2>uBlock Origin 1.15.15rc1 - March 16, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.15rc0 - March 16, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.14 - March 16, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.14">release notes</a>.
+<br/>&nbsp;
+<br/><b>New</b>
+<br/>&nbsp;
+<br/>Added a new advanced setting: <code>streamScriptInjectFilters</code>. The purpose is to tell uBO to use stream filtering to inject scriptlets where possible. Default to <code>false</code>. Set to <code>true</code> to bring back scriptlet injection through stream filtering as was the default before <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.10">1.15.10</a>. A fix has also been added to resolve <a rel="nofollow" href="https://github.com/uBlockOrigin/uAssets/issues/1492">https://github.com/uBlockOrigin/uAssets/issues/1492</a>, which was the main reason to disable stream filtering-based scriptlets injection in 1.15.10.
+<br/>&nbsp;
+<br/>Integration of <a rel="nofollow" href="http://codemirror.net/">CodeMirror</a> in uBO's dashboard. Please do not open feature requests related to this.
+<br/>&nbsp;
+<br/><b>Changes:</b>
+<br/>&nbsp;
+<br/><b>Firefox/webext</b>
+<br/>&nbsp;
+<br/>From now on, the beta version will be signed and self-hosted here. The stable version and the beta version auto-update independently of each other.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uMatrix/issues/967">CSP error notification -&gt; Conflicting with uBlock Origin?</a> [from uMatrix issue tracker]</li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3581">Filters starting with <code>*</code> and followed by an uppercase letter are improperly parsed</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3562">HTML Filter with ^ has no effect</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3474">Redirection to neutered scriptlet broken by forbidden redirection to data: urls</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3546">Behind-the-scene websocket's not being filtered by uBO</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3506">Using IPv6 address in dynamic rule</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3428">Normalize all tab id values to integer</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2823">Site CSP's prevent surrogates from being loaded. google-analytics on Twitter for example</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/1683">Make Ctrl + S save changes to My Filters</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.10...1.15.14">Commits history since 1.15.10</a>.
+
+<h2>uBlock Origin 1.15.12 - March 16, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b15 - March 14, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b13 - March 12, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b12 - March 12, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b11 - March 12, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b10 - March 11, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b9 - March 5, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b8 - March 4, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b7 - March 4, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b6 - March 1, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b5 - Feb. 28, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b4 - Feb. 27, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b3 - Feb. 26, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b2 - Feb. 26, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.11b1 - Feb. 24, 2018</h2>
+[no description]
+
+<h2>uBlock Origin 1.15.10 - Feb. 20, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.10">release notes</a>.
+<br/>&nbsp;
+<br/>I rolled back part of the fix for <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3069">#3069</a>: scriptlets are back to being injected using the delayed path. Using stream filtering to inject the scriptlets raised two distinct issues lately:
+<br/>&nbsp;
+<br/><ul><li>Cause still unknown: <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3526">https://github.com/gorhill/uBlock/issues/3526</a></li><li>Cause identified -- but no obvious fix possible: <a rel="nofollow" href="https://github.com/uBlockOrigin/uAssets/issues/1492">https://github.com/uBlockOrigin/uAssets/issues/1492</a></li></ul>
+<br/>HTML filtering is still available, i.e. filters using the <code>##^</code> syntax are unaffected.
+<br/>&nbsp;
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.8...1.15.10">Commits history since 1.15.10</a>.
+
+<h2>uBlock Origin 1.15.8 - Feb. 20, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.8">release notes</a>.
+<br/>&nbsp;
+<br/><b>Emergency fix:</b>
+<br/>&nbsp;
+<br/>Fixed a minor memory leak occurring as a result of injecting scriptlets (through ##script:inject(...) filters) using <a rel="nofollow" href="https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/filterResponseData">webRequest.filterResponseData</a>.
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.6...1.15.8">Commits history since 1.15.8</a>.
+
+<h2>uBlock Origin 1.15.6 - Feb. 13, 2018</h2>
+<b>Emergency fix:</b>
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3507">Wrong encoding results in garbled characters on German site</a></li></ul>
+
+<h2>uBlock Origin 1.15.4 - Feb. 3, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.4">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3478">Android Firefox corrupted downloads with uBlock on</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.2...1.15.4">Commits history since 1.15.4</a>.
+
+<h2>uBlock Origin 1.15.2 - Feb. 3, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.2">release notes</a>.
+<br/>&nbsp;
+<br/>No change to the code, I just updated the filter lists packaged with the extension -- due to a <a rel="nofollow" href="https://github.com/easylist/easylist/commit/d778925d637a9664286f196ddc7e6b10ea79ac9f">bad EasyList filter</a> being shipped with the previous package.
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.15.0...1.15.2">Commits history since 1.15.2</a>.
+
+<h2>uBlock Origin 1.15.0 - Feb. 1, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.15.0">release notes</a>.
+<br/>&nbsp;
+<br/><b>New</b>
+<br/>&nbsp;
+<br/><b>HTML filtering</b>
+<br/>&nbsp;
+<br/>Ability to remove DOM elements from a source document before it is parsed by the browser. The platform must support an extension API to modify the response body on the fly. <strong>Currently only Firefox 57+ allows this.</strong>
+<br/>&nbsp;
+<br/>The filter syntax is similar to cosmetic filtering, except that the character <code>^</code> is used before a valid selector to denote that the filter is to be applied to the source data. Contrary to cosmetic filtering, with HTML filtering the elements matching a selector are <em>removed</em> from the source. Example:
+<br/>&nbsp;
+<br/><blockquote><code>twitter .com##^meta[http-equiv="refresh"]
+<br/>www.google .ca##^#hplogo
+<br/>boards.4chan .org##^script:has-text(7c9e3a5d51cdacfc)</code></blockquote>
+<br/>Note that procedural operators are supported. Procedural operators which are senseless to use on source data will be ignored. For example, it makes no sense to use procedural operator such <code>:matches-css(...)</code> for HTML filtering.
+<br/>&nbsp;
+<br/>Note that HTML filtering essentially brings back support for inline script tag filtering. I plan on deprecating the syntax <code>##script:contains(...)</code> in favor of <code>##^script:has-text(...)</code>. For the time being, uBO will conveniently convert the old syntax to the new HTML filtering syntax.
+<br/>&nbsp;
+<br/>Given that HTML filters are to be applied to the source data of a document, the best way to create such filters is to <code>view-source:</code> the document and from there analyze what should be removed. Thus the element picker won't be extended as a tool to create HTML filters.
+<br/>&nbsp;
+<br/>In case it's still not clear at point: this is a big deal feature.
+<br/>&nbsp;
+<br/><blockquote><b>Sub-filter lists</b></blockquote>
+<br/>Ability for filter list maintainers to force uBO to load extra filter lists from within a filter list, using an <code>!#include</code> directive. <a rel="nofollow" href="https://github.com/MajkiIT/polish-ads-filter/issues/4898">Example</a>:
+<br/>&nbsp;
+<br/><code>!#include adblock_ublock.txt</code>
+<br/>&nbsp;
+<br/>When uBO encounters the above directive inside a filter list, it tells uBO to load the extra filter list and append it to the current one. The main purpose of such directive is to allow filter list maintainers to be able to make use of uBO's extended filter syntax, without forfeiting the ABP-compatibility of their main filter list: ABP will ignore such directive since it will be seen as a mere comment.
+<br/>&nbsp;
+<br/>All the details of the new directives syntax is being fleshed out at <a rel="nofollow" href="https://github.com/AdguardTeam/AdguardBrowserExtension/issues/917">https://github.com/AdguardTeam/AdguardBrowserExtension/issues/917</a>. At this point only <code>!#include</code> is implemented by uBO, because it solves immediately a current issue by simplifying the work of filter list maintainers who want to make use of uBO's extended filter syntax.
+<br/>&nbsp;
+<br/><strong>Important:</strong> uBO forbids sublists which are outside the directory of the main list. Typically, filter list maintainers will just use a single file name, as seen in the example above, in which case same-origin and same directory is implicit.
+<br/>&nbsp;
+<br/><b>Changes</b>
+<br/>&nbsp;
+<br/><b>Logger</b>
+<br/>&nbsp;
+<br/>The logger can now be opened in a sidebar on Firefox. Just open the side bar and "uBlock₀ -- Logger" will be available as a choice.
+<br/>&nbsp;
+<br/>Given this new ability, I added the following enhancements:
+<br/>&nbsp;
+<br/><ul><li>A new entry in the tab selector: "Current tab":
+<br/><ul><li>This will cause the logger to automatically filter out rows which do not belong to the currently active tab.</li></ul></li><li>The rows related to behind-the-scene scope are now always shown.</li><li>If you close a tab while "Current tab" is selected, the resulting void rows will be automatically deleted.</li><li>You can expand/collapse a single row by clicking on the time stamp cell.</li></ul>
+<br/>Given that uBO's logger is unified, being able to open the logger in a sidebar means you could end up having multiple views opened for the logger: only one view will work at any given time.
+<br/>&nbsp;
+<br/>Mind that there are minor visual issues which I have no control over:
+<br/>&nbsp;
+<br/><ul><li>The maximum horizontal space is limited by the browser.</li><li>If you have the logger already opened in a tab or separate window, you will have to close these for the logger-in-a-sidebar to start working. However some internal message events are lost in Firefox and as a result the logger-in-a-sidebar may take over 30 seconds to start working after you close the logger-in-a-tab or window.</li><li>Firefox: the font size is smaller than dictated in the DOM inspector view: I have no clue why, uBO's chosen font size is overridden by Firefox for some reasons.</li><li>Firefox: it's not possible to select text in the logger when it is embedded in a sidebar.</li></ul>
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3441">Not all images blocked 'Block media elements larger than' set to 0kb</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3255"><code>script:contains()</code> does not work in WebExtensions</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3069">Evaluate using the new webRequest API to filter a response body on the fly</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2854">Ability to open the logger into the browser's sidebar</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3408">uBO's own reload button does not do a cache-invalidating reload</a><ul><li>Press &lt;kbd&gt;Ctrl&lt;/kbd&gt; while clicking to force a bypass of the browser cache.</li></ul></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3380">manualUpdateAssetFetchPeriod=0 is ignored</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3378">Blocking meta refresh redirects</a> (works only on Firefox 57+)</li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3375"><code>script:inject</code> with only negated domains cause cosmetic filtering engine to crash</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3372">Regular expression flags in procedural cosmetic filters </a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3367">Some procedural filter chaining not work?</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2877">Scriplet injections are Not Logged</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2837">Scriptlet injection filters counted as cosmetic filters</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.14.24...1.15.0">Commits history since 1.14.24</a>.
+
+<h2>uBlock Origin 1.14.24 - Jan. 13, 2018</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.24">release notes</a>.
+<br/>&nbsp;
+<br/>Emergency fix for <a rel="nofollow" href="https://github.com/nikrolls/uBlock-Edge/issues/101">"Cannot full support Domain restrictive Inverse type options"</a>: static network filters with a mix of negated and non-negated "domain=" option were instantiated in a way which rendered them unenforceable.
+<br/>&nbsp;
+<br/>Commits since 1.14.22:
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/commit/384f742c366497b6d75c4b90b57136dd55439f7d>384f742c3664</a>
+<li><a href=">bc782be66364</a></li></ul>
+
+<h2>uBlock Origin 1.14.22 - Dec. 14, 2017</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.22">release notes</a>.
+<br/>&nbsp;
+<br/><b>Accepted pull requests</b>
+<br/>&nbsp;
+<br/><ul> <li><a rel="nofollow" href="https://github.com/gorhill/uBlock/pull/3312">Change URL for CZ/SK filters and add "sk" lang</a></li></ul>
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul> <li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3335">Filter cost cumulates on endless scrolling sites (facebook) and end up being disabled until reload</a>
+<br/> </li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3328">[Regression] <code>domain=</code> option fails to match in some rare cases</a>
+<br/> </li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3293">[Japanese] Seconds on the logger page not showing issue</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.14.20...1.14.22">Commit history between 1.14.20 and 1.14.22</a>.
+
+<h2>uBlock Origin 1.14.20 - Nov. 29, 2017</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.20">release notes</a>.
+<br/>&nbsp;
+<br/><b>Changes</b>
+<br/>&nbsp;
+<br/>The filter list <em>"AAK-Cont Filters For uBlock Origin"</em> has been removed from stock filter lists, it is no longer maintained. See <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3241">#3241</a>. Note that uBO is equipped to deal with anti-blockers, it's just a matter of users reporting instances to <a rel="nofollow" href="https://github.com/uBlockOrigin/uAssets/issues">volunteer maintainers</a>. Everybody is welcomed to assist in finding solutions to reported filter issues.
+<br/>&nbsp;
+<br/>The <a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/DOM-inspector">DOM inspector</a> has been improved a bit to make it more usable (see <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/407">#407</a>). Some refactoring was necessary to move forward this part, and as a result the DOM inspector is currently not available on legacy Firefox. This will be addressed only as time allow. Note that I still consider the DOM inspector to be work in progress. In case you wonder, the DOM inspector is the best way to visualize the effects of cosmetic filters on a page and to create exception cosmetic filters.
+<br/>&nbsp;
+<br/>The semantic of the <code>no-csp-reports</code> switch has been changed from <em>"block CSP reports from"</em> to <em>"block CSP reports to"</em>. This <strong>does not</strong> change the behavior of the <em>"Block CSP reports"</em> setting. This change of semantic makes sense, and this also removes an incompatibility with NoScript 10 (see <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3260">#3260</a>).
+<br/>&nbsp;
+<br/><b>Accepted pull requests:</b>
+<br/>&nbsp;
+<br/><ul><li>@ kasper93: <a rel="nofollow" href="https://github.com/gorhill/uBlock/pull/3254">improve DOM inspector</a></li><li>@ gwarser: <a rel="nofollow" href="https://github.com/gorhill/uBlock/pull/3181">Update supportURL for POL filters</a></li></ul>
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3287">NSFW not closed popup</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3260">NoScript WebExtension and its CSP reports</a></li><li>[Regression] <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3257">Preview of CSS 'style' filters no longer works</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3210">Add Adguard Mobile ads filter to default filter list</a>
+<br/> <ul> <li><em>Adguard Mobile Ads</em> filter list will be automatically selected with Firefox for Android (for new installations of uBO).
+<br/> </li></ul></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3208">A case that a custom RegExp rule doesn't work</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3201">$generichide filter entry appears twice in the Logger on first load</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3196">Use local image in Add-ons Manager</a></li><li>[Performance] <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3193">RegExp uses undue amount of memory on Chromium-based browsers</a>
+<br/> <ul> <li>Reported as a core issue because the fix also benefits Firefox performance-wise.
+<br/> </li></ul></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3185">uBlock unhides hidden elements when it's updated</a></li><li>[Regression] <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3159">:style filters incorrectly shown in logger</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3130">suspendTabsUntilReady and Violentmonkey compatibility issue</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2963">'Block element' from context menu not working in Firefox, when 0 active filters</a></li><li>[Accessibility] <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2072">Screen reader issue, after clicking the toolbar button, the shown up interface is not accessible with screen reader keyboard control </a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2001">DOM inspector not sees &lt;html&gt; element</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.14.18...1.14.20">Commit history between 1.14.18 and 1.14.20</a>.
+
+<h2>uBlock Origin 1.14.18 - Nov. 8, 2017</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.18">release notes</a>.
+<br/>&nbsp;
+<br/><b>Firefox WebExtensions:</b> Issues with uBO/webext? If so, then <a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Firefox-WebExtensions#read-carefully-if-using-ubowebext"><strong>read carefully</strong></a> before filing any issue.
+<br/>&nbsp;
+<br/><b>New</b>
+<br/>&nbsp;
+<br/>A new setting has been added in the <em>Privacy</em> section of the <em>Settings</em> pane in the dashboard: "Block CSP reports". Default is un-checked. Rationale for this new setting: <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3150">issue #3150</a>. Documentation for this new setting: <a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Dashboard:-Settings#block-csp-reports">Block CSP reports</a>.
+<br/>&nbsp;
+<br/><b>Changes</b>
+<br/>&nbsp;
+<br/>Small improvements to the element picker on touchscreen devices:
+<br/>&nbsp;
+<br/><ul> <li>The picker dialog box is now rendered with a minimal width.
+<br/> </li><li>After you pick an element, if the picker dialog box is...<ul> <li>Visible...<ul> <li>Swiping right will hide it.
+<br/> </li></ul> </li><li>Not visible...<ul> <li>Swiping left or touching it will un-hide it.
+<br/> </li><li>Swiping right will quit element picker mode.
+<br/> </li></ul> </li></ul></li></ul>
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul> <li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3187">Static-filtering: $object_subrequest blocking method</a>
+<br/> </li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3156">uBlock doesn't work properly with "Medium Security" in Tor browser 7.0.7</a>
+<br/> </li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3165">Open in new tab produces 6+ 'popup' lines in logger</a>
+<br/> </li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3140">uBO is blocking legitimate CSP reports</a>
+<br/> </li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2984">Move pseudo-user stylesheets out of <code>contentscript.js</code></a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.14.16...1.14.18">Commit history between 1.14.16 and 1.14.18</a>.
+
+<h2>uBlock Origin 1.14.16 - Oct. 21, 2017</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.16">release notes</a>.
+<br/>&nbsp;
+<br/><b>Firefox WebExtensions</b>
+<br/>&nbsp;
+<br/>Issues with uBO/webext? If so, then <a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Firefox-WebExtensions#read-carefully-if-using-ubowebext"><strong>read carefully</strong></a> before filing any issue.
+<br/>&nbsp;
+<br/><strong>Firefox for Android 56:</strong> I have observed that the "Options" button does not appear in <code>about:addons</code> with this version of uBO (while this works fine with Nightly, quite probably because of <a rel="nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1364945">bugzilla issue 1364945</a>). However, unlike with Firefox for Android 55, uBO's entry in the browser menu is properly shown, so you can access the dashboard through the popup panel.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3156">uBlock doesn't work properly with "Medium Security" in Tor browser 7.0.7</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3129">Specific $popup filters incorrectly converted to $popunder</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3112">Popup detection mistake</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3110">Static filtering: left-anchor / right-anchor</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2277"><code>no-popups: * true</code> rule issue</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.14.14...1.14.16">Commit history between 1.14.14 and 1.14.16</a>.
+
+<h2>uBlock Origin 1.14.14 - Oct. 9, 2017</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.14">release notes</a>.
+<br/>&nbsp;
+<br/><b>Firefox WebExtensions</b>
+<br/>&nbsp;
+<br/>Issues with uBO/webext? If so, then <a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Firefox-WebExtensions#read-carefully-if-using-ubowebext"><strong>read carefully</strong></a> before filing any issue.
+<br/>&nbsp;
+<br/><b>Firefox for Android 56:</b> I have observed that the "Options" button does not appear in <code>about:addons</code> with this version of uBO (while this works fine with Nightly, quite probably because of <a rel="nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1364945">bugzilla issue 1364945</a>). However, unlike with Firefox for Android 55, uBO's entry in the browser menu is properly shown, so you can access the dashboard through the popup panel.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3111">has/if filters rejected if contains `&gt;` char after recent changes</a></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.14.12...1.14.14">Commit history between 1.14.12 and 1.14.14</a>.
+
+<h2>uBlock Origin 1.14.12 - Oct. 8, 2017</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.12">release notes</a>.
+<br/>&nbsp;
+<br/><b>Firefox WebExtensions</b>
+<br/>&nbsp;
+<br/>Issues with uBO/webext? If so, then <a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Firefox-WebExtensions#read-carefully-if-using-ubowebext"><strong>read carefully</strong></a> before filing any issue.
+<br/>&nbsp;
+<br/><b>Firefox for Android 56:</b> I have observed that the "Options" button does not appear in <code>about:addons</code> with this version of uBO (while this works fine with Nightly, quite probably because of <a rel="nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1364945">bugzilla issue 1364945</a>). However, unlike with Firefox for Android 55, uBO's entry in the browser menu is properly shown, so you can access the dashboard through the popup panel.
+<br/>&nbsp;
+<br/><b>Changes:</b>
+<br/>&nbsp;
+<br/>The filter list category <em>Social</em> has been renamed to broader <em>Annoyances</em>.
+<br/>&nbsp;
+<br/>Changes in selection of stock filter lists:
+<br/>&nbsp;
+<br/>Added:
+<br/>&nbsp;
+<br/><ul><li>"Adguard Base Filters"
+<br/><ul><li>Thanks to Adguard's @ameshkov for <a rel="nofollow" href="https://github.com/AdguardTeam/AdguardFilters/issues/5138#issuecomment-328883965">going out of his way to make the list specifically for uBO</a>. Both Adguard and uBO share some extended filter syntax, and as such uBO users do benefit from Adguard's filter lists.</li></ul></li><li>"Adguard Spyware Filters" (in "Privacy" section)</li><li>"Adguard Annoyances" (in "Annoyances" section)</li><li>"Adguard Spanish/Portuguese" (see <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3089">#3089</a>)</li><li>"VIE: ABPVN" (see <a rel="nofollow" href="https://github.com/gorhill/uBlock/pull/2600">https://github.com/gorhill/uBlock/pull/2600</a>)</li></ul>
+<br/>Changed:
+<br/>&nbsp;
+<br/><ul><li>Instruction URLs added for "RUS: RU AdList" and "CHN: CJX's EasyList Lite"
+<br/><ul><li>So that users can find more about these lists and the recommendations on how to best use them made by their respective maintainers.</li></ul></li><li>"RUS: Adguard Russian" and "CHN: CJX's EasyList Lite" will now be selected by default for new installations.</li></ul>
+<br/>Removed:
+<br/>&nbsp;
+<br/><ul><li>"EasyList without element hiding rules" (not very useful)</li><li>"Reek's AAK" (no longer maintained)</li><li>"uBlock Protector List" (it required Chrom[ium|e], uBO must be browser vendor agnostic)</li><li>"Fanboy Ultimate" (see <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3061">#3061</a>)</li><li>"CHN: CJX's Annoyance" (optional list)</li><li>"EU: Prebake" (no longer maintained)</li><li>"KOR: Fanboy Korean" (marked as "officially unsupported")</li><li>"RUS: BitBlock" (see <a rel="nofollow" href="https://github.com/gorhill/uBlock/pull/3019#issuecomment-330076525">https://github.com/gorhill/uBlock/pull/3019#issuecomment-330076525</a>)</li><li>"VIE: Fanboy Vietnamese" (marked as "officially unsupported)</li></ul>
+<br/>For whoever has one of the removed list selected, it will be moved to the "Custom" section (i.e. converted into an imported filter list).
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3077">Blocked Elements Still Showing Placeholder</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3057">Popup/popunder blocking broken after opening uBO's dashboard through popup panel</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3006">Sync is bogus with the new version of uBlock</a><ul><li>If you still have sync issues even after the fix, see if <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3006#issuecomment-332632925">https://github.com/gorhill/uBlock/issues/3006#issuecomment-332632925</a> works for you.</li></ul></li></ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3101">Performance issue when looking up a cosmetic filter's origin in the logger</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/3090">Zapper and picker mode dont work on firefox 55/56</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2997">Prebake - Filter Obtrusive Cookie Notices - not updated</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2919">Middle clicking on a link triggers popup rule</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2793">ABP new filter not working on uBO</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2685">Add Anti-Adblock Killer Continued</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2283">Unsupported <code>genericblock</code> causes supported <code>generichide</code> to be ignored</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/1539">no-remote-fonts option not working for inlined fonts</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/1510">Pushing to cloud storage fails silently: no hint is provided about the failure</a><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.14.10...1.14.12">Commit history between 1.14.10 and 1.14.12</a>.</li>
+
+<h2>uBlock Origin 1.14.10 - Sept. 13, 2017</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.10">release notes</a>.
+<br/>&nbsp;
+<br/><b>Code review-related fix:</b> a test was introduced in <a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2950">#2950</a>, which purpose was meant to punycode <b>only</b> if required for Firefox 52-56. Turns out the regex used in the test was flawed and this caused the punycoding code path to be always taken, meaning a pointless added overhead in network request handlers for when no punycoding is needed. Fixed with <a rel="nofollow" href="https://github.com/gorhill/uBlock/commit/04a41d8b22276c5177c14337ac2d8fe7d781140c">04a41d8b</a>.
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.14.8...1.14.10">Commit history between 1.14.8 and 1.14.10</a>.
+
+<h2>uBlock Origin 1.14.8 - Sept. 4, 2017</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.8">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2957">Cosmetic filtering broken on Firefox 52 ESR</a>
+<br/> </li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.14.6...1.14.8">Commit history between 1.14.6 and 1.14.8</a>.
+
+<h2>uBlock Origin 1.14.4 - Sept. 1, 2017</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.4">release notes</a>.
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2945">Firefox 52.2.1: uBlock suddenly disabled due to incompatibility</a>
+<br/> <ul> <li>As per popular demand, I set the minimum version to 52.0. However be warned that some features are not available, like the privacy settings for example.
+<br/> </li><li>uBO/webext should not be used on Firefox for Android 54 and less, because there is no way to access uBO's UI. This was fixed in Firefox for Android 55, so best is that you move to the latest stable version of Firefox for Android.
+<br/> </li></ul></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2938">A custom filter not working on uBO v1.13.11rc0 / v1.14.0, but working on 1.13.8</a> (regression from b2e89c9e).
+<br/> <ul> <li>I tried to find out how many filters from default filter lists were affected but I could not find any one filter in default filter lists, or any of the large regional lists.
+<br/> </li></ul></li></ul>
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.14.0...1.14.4">Commit history between 1.14.0 and 1.14.4</a>.
+
+<h2>uBlock Origin 1.14.0 - Aug. 30, 2017</h2>
+See <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/tag/1.14.0">release notes</a>.
+<br/>&nbsp;
+<br/><b>Changes</b>
+<br/>&nbsp;
+<br/>Due to the many reported issues with the webext-hybrid version of uBO, I am pushing the pure webext version of uBO to AMO. If this causes all your custom settings to be lost, you can recover them by following the steps outlined in the <a rel="nofollow" href="https://github.com/gorhill/uBlock/releases/1.13.10">release notes of 1.13.10</a>.
+<br/>&nbsp;
+<br/>As required by AMO review process, the Firefox webext[-hybrid] version of uBO will no longer fetch the latest version of <a rel="nofollow" href="https://github.com/uBlockOrigin/uAssets/blob/master/filters/resources.txt"><code>assets/filters/resources.txt</code></a> from the project's repository.
+<br/>&nbsp;
+<br/>The Firefox webext[-hybrid] version of uBO now uses <a rel="nofollow" href="https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API">indexedDB</a> to store its cacheable assets&lt;sup&gt;[1]&lt;/sup&gt;. There are positive and negative consequences as a result. See issue #2925 for details.
+<br/>&nbsp;
+<br/>&lt;sub&gt;[1] "Cacheable assets" refer to: filter lists downloaded from remote servers; compiled (<a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Launch-and-filter-lists-load-performance">pre-parsed</a>) filter lists; "selfie" (<a rel="nofollow" href="https://github.com/gorhill/uBlock/wiki/Notes-on-memory-benchmarks,-selfies">kind of dated doc</a> but "selfie" part is still relevant).&lt;/sub&gt;
+<br/>&nbsp;
+<br/><b>Closed as fixed:</b>
+<br/>&nbsp;
+<br/><ul><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/issues/2925">Use indexedDB instead of browser.local.storage for cached assets</a></li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/commit/c31d29c2e3305f7602f90846c539ce8d2933118d">Fixed bad test</a> (regression from fdcc951).</li><li><a rel="nofollow" href="https://github.com/gorhill/uBlock/commit/b2e89c9ece38ce431560d0d7c6d0f8b02fd0760d">Generate better regex for hostname-anchored generic filters</a> (there are ~4,500 such filters with default filter lists).</li></ul>
+<br/>&nbsp;
+<br/><a rel="nofollow" href="https://github.com/gorhill/uBlock/compare/1.13.10...1.14.0">Commit history between 1.13.10 and 1.14.0</a>.
+
+</body>
+</html>
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..85fb92f
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=4
+opts=dversionmangle=s/(\da?)[\+\.\-~](?:dfsg|debian|ds|repack|repacked)\.?\d*$/$1/,uversionmangle=s/-beta/~beta/;s/-rc/~rc/ \
+https://github.com/gorhill/uBlock/tags .*/@ANY_VERSION@@ARCHIVE_EXT@
diff --git a/debian/webext-ublock-origin-chromium.dirs b/debian/webext-ublock-origin-chromium.dirs
new file mode 100644
index 0000000..1e057ff
--- /dev/null
+++ b/debian/webext-ublock-origin-chromium.dirs
@@ -0,0 +1 @@
+/usr/share/chromium/extensions/ublock-origin
diff --git a/debian/webext-ublock-origin-chromium.docs b/debian/webext-ublock-origin-chromium.docs
new file mode 100644
index 0000000..3204386
--- /dev/null
+++ b/debian/webext-ublock-origin-chromium.docs
@@ -0,0 +1 @@
+MANIFESTO.md
diff --git a/debian/webext-ublock-origin-chromium.install b/debian/webext-ublock-origin-chromium.install
new file mode 100644
index 0000000..c944861
--- /dev/null
+++ b/debian/webext-ublock-origin-chromium.install
@@ -0,0 +1 @@
+dist/build/uBlock0.chromium/* /usr/share/chromium/extensions/ublock-origin/
diff --git a/debian/webext-ublock-origin-chromium.lintian-overrides b/debian/webext-ublock-origin-chromium.lintian-overrides
new file mode 100644
index 0000000..8f3f7bb
--- /dev/null
+++ b/debian/webext-ublock-origin-chromium.lintian-overrides
@@ -0,0 +1,2 @@
+# This is a false-positive.
+privacy-breach-google-adsense
diff --git a/debian/webext-ublock-origin-firefox.dirs b/debian/webext-ublock-origin-firefox.dirs
new file mode 100644
index 0000000..b6ecf08
--- /dev/null
+++ b/debian/webext-ublock-origin-firefox.dirs
@@ -0,0 +1 @@
+/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/uBlock0@raymondhill.net
diff --git a/debian/webext-ublock-origin-firefox.docs b/debian/webext-ublock-origin-firefox.docs
new file mode 100644
index 0000000..3204386
--- /dev/null
+++ b/debian/webext-ublock-origin-firefox.docs
@@ -0,0 +1 @@
+MANIFESTO.md
diff --git a/debian/webext-ublock-origin-firefox.install b/debian/webext-ublock-origin-firefox.install
new file mode 100644
index 0000000..2ebf984
--- /dev/null
+++ b/debian/webext-ublock-origin-firefox.install
@@ -0,0 +1 @@
+dist/build/uBlock0.firefox/* /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/uBlock0@raymondhill.net
diff --git a/debian/webext-ublock-origin-firefox.lintian-overrides b/debian/webext-ublock-origin-firefox.lintian-overrides
new file mode 100644
index 0000000..8f3f7bb
--- /dev/null
+++ b/debian/webext-ublock-origin-firefox.lintian-overrides
@@ -0,0 +1,2 @@
+# This is a false-positive.
+privacy-breach-google-adsense