Well, "Compatible with PHP 8" may be quite exaggerated.
Note - "Toolset is PHP 8 ready" is *not* my own word
First, there is no big fat warning on the minimal requirement page, I simply assumed it is compatible.... and second, I read it on the forums after I found above issue that it is compatible
https://toolset.com/forums/topic/is-toolset-form-php-8-ready/
Here instead you say its not compatible, I found that also only now, thanks to google, of course, not thanks to the forum. That is a bit upsetting, to have to google for such things.
https://toolset.com/forums/topic/deprecated-messages-with-php-8/
I think either making it compatible or - given the work for this is not minimal! - at _least_ put it on the minimal requirements page that it is not compatible would be really a wise thing. And kind of a friendly thing as well. I think people and developers would appreciate if someone would warn them - even with a tiny single line, somewhere (on that minimal requirements page) that it should not be used.
The problem is VPS companies started pushing PHP8 to their servers in several occasions and specially when you set up fresh stacks, it comes by default. Then you migrate WP, and other plugins and all works fine. Even Toolset in most cases. Until it starts to pile up errors 🙂
Telling users "No, Toolset is not working with the version of PHP that your expensive VPS wants you to use" is also not the best thing to do
Also note that certain plugins out there have reached PHP 8 compatibility months ago already, see https://wordpress.org/support/topic/php-8-0-x-support-for-the-latest-and-most-updated-official-stable-version-10/ for example.
---
Now, on a fresh install, WordPress alone will work with PHP 8
However if you only install and activate Toolset Forms, Blocks and Types your error log will already have 300+ lines of errors the second.
Those errors are from what I saw just notices in the range of
PHP Deprecated: Required parameter $paged follows optional parameter $exclude_fields in .../wp-content/plugins/cred-frontend-editor/library/toolset/cred/embedded/models/FieldsAbstract.php on line 34
... etc
This is a simple activation of the plugin, nothing else done yet.
From here on you can't even open and edit a page anymore.
It will WPOD and throw hundreds of lines more per second in the logs in the same range as above (always a few different lines and parameters but always the same "issue")
PHP Deprecated: Required parameter $in follows optional parameter $method in .../wp-content/plugins/toolset-blocks/embedded/inc/wpv-query-debug.class.php on line 417
That should already be enough to put a big notice out there "Do NOT update to PHP 8 in ANY case because the site will go away, basically."
Edit experience will be broken, and the error log will pile so fast that not even a VPS will cope with it after a few days 🙂
Note this seems to happen only when all the main plugins are active, with blocks alone, it did not happen (but errors pile nonetheless).
Then I tried further on this clean install to actually create Archives with Blocks and it PHP Fatal error:
Uncaught ArgumentCountError: array_merge() does not accept unknown named parameters in .../wp-content/plugins/toolset-blocks/embedded/inc/classes/wpv-cache.class.php:358
This is the error I found earlier on the existing site mentioned above.
There I do not use Blocks but it still happens when any sort of AJAX search is used, which I logically tried now on this clean install. Well, "clean" is exaggerated, it was clean until I installed the plugins lol. Now it is failing haha.
I really would have appreciated this hint on the actual requirement page _before_ migrating the sites to the new servers of clients, and not find it out on my own on client sites using a fresh VPS with a very expensive stack. Well, its as it is.
I guess I will have them downgrade to PHP 7.4 and hope PHP 8 will soon be available with Toolset as well. Do not forget that we are less than one year away from EOL of PHP 7.3,
After that, PHP 8 is the only truly actively supported version of PHP and PHP 7.4 will only receive security updates.
Thanks.