Releases: ghostery/adblocker
Releases · ghostery/adblocker
v0.6.4
v0.6.3
v0.6.2
- [bug] Make sure getId() always returns the same value for a given filter #94
- Previously the value of ID could change after some internal attribute
were changed during matching (in particular 'optDomains' and
'optNotDomains' would be sorted to allow more efficient matching which
would change the ID).
- Previously the value of ID could change after some internal attribute
v0.6.1
v0.6.0
- Implement lazy loading and compact internal representation #87
- [BREAKING] serialization module has been removed, instead, each class now
provides aserialize
method as well as a static methoddeserialize
. - [BREAKING] FiltersEngine now exposes different methods for update:
update
which expects a diff of filters,updateList
and
updateResources
. This API should be a cleared and allows using the
adblocker without managing filters lists. - [BREAKING] ReverseIndex' API dropped the use of a callback to specify
filters and instead expects a list of filters. - [BREAKING] parsing and matching filters can now be done using methods of
the filters classes directly instead of free functions. For example
NetworkFilter has aparse
andmatch
method (with the same expected
arguments). - ReverseIndex is now implemented using a very compact
representation (stored in a typed array). toString
method of filters should now be more accurate.- Addition of numerous unit tests (coverage is now >90%)
- [BREAKING] serialization module has been removed, instead, each class now
- Implement support for :style cosmetic filters #86
- [BREAKING]
getCosmeticsFilters
will now return CSS as a single string
(stylesheet) instead of a list of selectors. This simplifies the usage and
allows to directly inject this into the page using the method of your
choice: through content scripts or tabs.injectCSS API.
- [BREAKING]
v0.5.1
v0.5.0
This release contains many fixes as well as a few (small) breaking changes.
- Remove tldts dependency and allow to plug any implementation instead #81
- Adblocker does not include tldts by default anymore
- APIs now expect either already constructed Request as arguments of both
hostname and domain when needed (e.g.: getCosmeticsFilters) - A makeRequest helper is provided to construct Request objects
- [BREAKING] engine.match expects a
Request
as argument - [BREAKING] engine.matchAll expects a
Request
as argument - [BREAKING] engine.getCSPDirectives expects a
Request
as argument - [BREAKING] engine.getCosmeticsFilter expects a new
domain
argument - [BREAKING]
Request
's constructor does not apply default value
anymore and expects all arguments to be provided and initialized. You
can now usemakeRequest
to reproduce the previous behavior ofnew Request
.
- Fix cosmetics injection #79
- Ignore cosmetic filters with extended syntax
- Ignore invalid cosmetic filters (using strict validation)
- Make use of tabs.insertCSS to inject style from background
- Update dependencies #78
- Harden typescript + simplify cosmetic injection #71
- Add support for Ghostery rules #73
- Add support for
bug
filter attribute - Exceptions can now match filters with
bug
option - Simplify and speed-up serialization for network filters
- Fix hostname anchor matching by preventing infix match in some corner case
- Add support for