We were thinking recently: releasing a new software update is kind of like cooking a pie. You mix ingredients in the proper fashion and try not to mess anything up. So what does a good ad blocker update constitute of?
It's best to start with adding a couple new features. Sometimes we would roll out an update that doesn't have any, but that inevitably triggers a raised eyebrow from some users — the taste is somewhat bland. So we try to avoid that. And what do you know, there are exactly two new features in v2.2 — more about them later.
Then, of course, like filling is what defines a pie, ad blocker is defined by its ability to block ads, and do it efficiently. We continuously improve our filtering engine CoreLibs, and v2.2 introduces two new modifiers. Scriptlets are the new tricky things that will also help in some complicated cases (we'll describe them in more details).
And last, but not least, you add some thickener so your pie doesn't fall apart. In our case that would be bug fixing. Any product always has some bugs, no matter how thorough you test it. It's expected that each update fixes all known ones, and it should come without mention that we did this, too.
Now let's check out some of the most important changes more closely, and by the time we do, our ad blocking pie should be ready for munching:
Userscripts, or "extensions" as we also call them, are highly useful mini-programs that change the behavior of web pages. You probably know some of the extensions added to AdGuard for Mac by default, for example, AdGuard Assistant or Popup Blocker.
But where userscripts show their true power is flexibility and high potential for customization. Based on your browsing habits and personal preference, you can now choose and add any userscripts — any at all! There are several popular websites with loads of extensions to choose from.
Best extensions are those that you chose yourself
Add any custom userscripts by clicking on the plus symbol in the "Extensions" tab of AdGuard settings window. You are able to load userscripts either from a local file or by URL.
It's a new way to activate AdGuard. This is something we've already tried with some of the other AdGuard products, and the feedback we received was positive. Basically, instead of entering a license key directly, you can link your adguard.com personal account to the app by entering the credentials, and AdGuard will automatically get activated if there’s at least one eligible license key in your account.
Much easier to remember than 10 random symbols
This feature looks like it would be the most useful for new users, but actually it's super convenient when you have several license keys and install AdGuard on a new device, so seasoned users will appreciate it no less.
Since we've moved all AdGuard products to CoreLibs filtering engine, the changes that concern ad blocking have become almost universal. And there's a steady flow of them, too: this version includes another CoreLibs update. There are two aspects we'd like to stop by.
Scriptlets is a powerful ad blocking instrument. You can say that scriptlet is an internal script (a mini-program) that we install with the app, and then execute that script with the help of filtering rules. Putting it simply, scriptlets allow us to modify how the code of the web page behaves. As for the practical use, this helps to block anti-ad blockers, for example, and in some other cases.
For those who are not familiar how ad blocking works, this article is a must read. Ok, now that you know what filtering rules are, modifiers... well, they modify those rules in certain cases. The wider the range of supported modifiers, the more options the ad blocker has. They are like different tools in a swiss army knife. You don't always need a can opener, but when you do, it saves you quite some trouble.
$rewrite are practically the same modifiers. The have fine differences but they both allow to substitute resources. If you are not a custom filtering rules aficionado, don't bother with it. Just know that it is yet another instrument in the hands of filter developers that helps block ads more efficiently.
What else is left, bug fixes? There are some, yes, they are rather minor and you can find them in the full changelog on GitHub. And this all adds up to a very decent update, doesn't it? After all, it's for you to judge. Let us know if you like the taste of it, or if anything's missing in your opinion — the comment section below might just be a good place for it. Bon appétit!