Компания Google наметила на 3 июня начало процесса по прекращению поддержки второй версии манифеста Chrome, определяющего возможности и ресурсы, доступные для дополнений, написанных с использованием API WebExtensions. Изначально, поддержку второй версии манифеста планировалось прекратить в январе 2023 года, но затем сроки несколько раз сдвигались. Начиная с 3 июня в ветках Chrome Beta, Dev и Canary при наличии установленных дополнений, использующих вторую версию манифеста, на странице управления дополнениями (chrome://extensions) начнёт показываться уведомление с информацией о скором прекращении поддержки данных дополнений. С дополнений на базе второй версии манифеста также будет снята метка “рекомендуемых”.
В последующем начнётся постепенный процесс отключения дополнений, использующих вторую версию манифеста, а пользователям будут выводиться рекомендации по установке доступных в Chrome Web Store альтернатив, перешедших на третью версию манифеста. При этом в течение какого-то времени пользователю будет предоставлена возможность возвращения отключённых дополнений, но со временем данная функциональность будет убрана. Связанные с отключением поддержки второй версии манифеста изменения вначале будут применяться к тестовым веткам Chrome (Beta, Dev и Canary), но в последующие месяцы затронут и стабильные выпуски. Завершить уход от второй версии манифеста планируют до начала следующего года. Корпоративным пользователям будет дана возможность отсрочить прекращение поддержки второй версии манифеста до июня 2025 года.
Отмечается, что Google в прошлом году устранил все основные проблемы, мешавшие переходу на третью версию манифеста, и учёл пожелания в его функциональности, например в API declarativeNetRequest увеличил допустимое число статических правил до 330 тысяч, а динамических до 30 тысяч. В настоящее время в каталоге Chrome Web Store около 85% дополнений уже поддерживают третью версию манифеста, включая самые популярные дополнения для фильтрации контента – AdBlock, Adblock Plus, uBlock Origin и AdGuard.
Третья версия манифеста Chrome разработана рамках инициативы по упрощению создания безопасных и высокопроизводительных дополнений, и усложнению возможности создания небезопасных и медленных дополнений. Основное недовольство третьей версией манифеста вызвано переводом в режим только для чтения API webRequest, позволявшего подключать собственные обработчики, имеющие полный доступ к сетевым запросам и способные на лету модифицировать трафик. Вместо API webRequest в третьей версии манифеста добавлен ограниченный по своим возможностям API declarativeNetRequest, предоставляющий доступ к встроенному движку для фильтрации, самостоятельно обрабатывающему правила блокировки, не разрешающему использовать собственные алгоритмы фильтрации.
В новом манифесте также осуществлён переход к выполнению Service workers в форме фоновых процессов и задействована гранулированная модель запроса полномочий (дополнение не может активироваться сразу для всех страниц, а будет работать только в контексте активной вкладки). Изменена обработка Cross-origin запросов – на скрипты обработки контента распространены те же ограничения полномочий, что и для основной страницы, в которую эти скрипты внедряются (например, если страница не имеет доступа к API определению местоположения, то и скрипт дополнения также не получит этот доступ). Запрещено выполнение кода, загруженного с внешних серверов (когда дополнение подгружает и выполняет внешний код).