для сторонних модулей (и даже частично включенных от битрикса типа bitrix.learningtemplates) после перехода с php7 на php8 у нас возникла ошибка во вкладке Обновление решений (update_system_partner.php) с текстом .... Ошибка описания модуля ... (Ux11).... если гуглить, то по этим ключевым словам успешно ищутся за предыдущие годы посты и веб-страницы где описывается почему такое может возникать. Но в нашем случае оказалось, что есть очень много "дремлющих" модулей, которые нигде не проявляются, но их insall/index.php логика все равно срабатывает и как я понимаю, есть "старый" способ интродукции модуля через метод function {mynamespace.mymodule} и он в php7 работал, поэтому все эти дремлющие, давно не обновляемые не конфликтовали, а в php8 он почему-то этот способ запрещен и требуется делать это (по новому?) через __construct. Выяснил я это случайно через гугление по этой ошибке с недавней датой и на странице какого-то модуля в маркерплейсе разработчик пишет, что нужно поменять {mynamespace.mymodule}->__construct чтобы обновление этого решения и других решений снова стало работать.
Я у нас пробежал все эти дремлющие и исправил, заработало. Но... у меня ощущение, что это мина замедленного действия (если разработчики битрикса не позволят модулям представлять себя "по старому"). То есть многие пользователи битрикса после перехода php7->php8 даже и не зайдут на страницу обновления сторонних решений, все будет вроде работать, а когда через некоторое время потребуется что-то обновить, они войдут и обнаружат эту ошибку. Причем я еще понимаю, что отмазка, что битрикс не отвечает за действия сторонних разработчиков в силе (а разрабочикам видимо сказано было делать по новому уже давно). Но то, что мне даже в bitrix.learningtemplates пришлось это исправлять, а там явно сказано кто хозяин [ $this->PARTNER_URI = "http://1c-bitrix.ru/"; ], это значит даже в самом битриксе не до конца это пофиксили