Reworked canvas changing mechanism.
The method by which canvas fingerprint is changed has been significantly improved. This is done to prevent antidetect systems from detecting fingerprint change. This changes includes a whole set of measures, here is only one example - instead of replacing the color for each pixel, the whole image is now analyzed, its outlines are located, finally pixel colors are changed only "on the border":

Borders on the image above is highlighted with red color.
This allows you to pass browser tests with positive results:

(navigator test gives a false positive result also in a normal browser, dns depends on the proxy).
Also, I added some of my tests to validate canvas integrity:
https://fingerprints.bablosoft.com/canvas
Canvas changing now works with the alpha channel.
This means that if canvas contains a black and white image, browser fingerprint will still change.
The new BAS version draws browser content using GPU for rendering.
The old implementation used only CPU, but this approach can be detected. You can revert to the previous rendering method by replacing the values
--disable-gpu-deleted
--disable-gpu-compositing-deleted
to
--disable-gpu
--disable-gpu-compositing
In chrome_command_line.txt file

CPU usage while changing fingerprints has been significally decreased.
BAS does not slow down when visiting sites that work intensively with graphics, such as streaming services.
Added a new factor for FingerprintSwitcher: ClientRectangles.
This method allows you to get device fingerprint by obtaining the size of a specially composed elements. Unlike canvas, only the width, height, and coordinates are analyzed, not the colors of each pixel. These values are platform-dependent and can be used to compose fingerprints. After update BAS adds noise to them, big enough to change the fingerprint, but not too big to break site functionality.
You can test it here:
https://browserleaks.com/rects
Fixed date change issues when using daylight saving time.
The date is calculated according to the current rules of daylight saving time in the country and region where the ip is located.

Here is a simple test that shows whether there is a daylight saving time in your country or region. It does not depend on the current date, and it is a good place to check whether your fingerprint change system can replace system date correctly:
https://jsfiddle.net/jp6rkcs4/
Added ability to merge FingerprintSwitcher keys and buy keys without ip bindings.
These opportunities will appear in a few days.
Task scheduler has been updated.
The new 1.2.0 version contains a redesigned mechanism to interrupt tasks. Any task will be stopped instantly, no matter at what stage of execution or installation it was.
The scheduler will not be updated automatically. You need to agree to update it, because all tasks must be stopped during scheduler update.

"Ignore errors" block will catch errors when executing javascript.
These can be: JSON parsing errors, nonexistent variables, etc.

Native combobox are now supported.

However, it is still necessary to automate the selection of an element in the old way. This change will be very useful for use in manual mode.
And many other changes:
- The site domain is now obtained through a proxy when using the http client.
- Fixed errors when working with nested loops for elements.
- Removed mention of BAS from logs and other files of compiled scripts.
- Fixed issues when working with database and column date type.
- Any errors without block "Ignore errors" in OnApplicationStart will stop application.
- When you select an alternative server for the captcha solving, BAS automatically adds a slash to the server url.
- If you use negative coordinates to move the mouse, events about moving the mouse off the screen will be automatically triggered.
- Fixed issues with visibility events of the browser in the web interface.