Компания 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 определению местоположения, то и скрипт дополнения также не получит этот доступ). Запрещено выполнение кода, загруженного с внешних сървъри (когато разширението зарежда и изпълнява външен код).
Източник: opennet.ru
