Description
It's impossible to properly mutate a compiled adblock DAT, which limits the ability for filter lists to be merged into one engine. Generally, the engine should be treated as a "write-once" data structure. Thus, as part of progress towards #5461, lists will need to be shipped in plaintext form. They can still use the component updater as a FiltersProvider
backend.
The component updater gained support for plaintext components in brave/brave-core-crx-packager#460.
Brief analysis reveals that the plaintext format is much more compact than the compiled DAT, even after compression, which will provide significant bandwidth savings. This also gives us the ability to roll out new adblock features faster, because backwards compatibility of the serialized format will no longer be a concern.