
Chrome скасовує підтримку XSLT через ризики безпеки до листопада 2026
Chrome 158-ї версії припинить підтримку XSLT 17 листопада 2026 року через ризики безпеки. Варіанти міграції: JSON, бібліотеки на боці клієнта та polyfill-и.
Chrome прибирає XSLT через безпеку
Chrome планує оголосити XSLT застарілим і видалити його з браузера; підтримка припиниться у версії 158, 17 листопада 2026 року. Це стосується як XSLTProcessor JavaScript API, так і інструкцій обробки XSLT. Firefox і WebKit також заявили, що планують видалення XSLT з рушіїв своїх браузерів.
Chrome 143 починає показувати попередження про застарілість з грудня 2025 року, тоді як збірки Canary, Dev і Beta вимикатимуть XSLT за замовчуванням починаючи з Chrome 145. Enterprise Policy і Origin Trial дозволяють продовжити використання після дати видалення аж до Chrome 176, у серпні 2027 року.
Чому XSLT скасовують
Бібліотеки, на яких ґрунтується обробка трансформацій XSLT, наприклад libxslt, який використовує Chromium, є складними і застарілими базами коду на C/C++, чутливими до вразливостей безпеки пам’яті. Аудити безпеки неодноразово виявляли в цих парсерах вразливості високої складності. Оскільки XSLT на боці клієнта тепер використовується рідко, ці бібліотеки менше обслуговуються та менше перевіряються на безпеку, ніж основні рушії JavaScript.
Сьогодні лише близько 0,02% завантажень вебсторінок використовує XSLT, а інструкції обробки XSLT — менше ніж 0,001%. Сучасна веброзробка для безпечного рендерингу даних у сандбоксі браузера покладається на Fetch API, DOMParser API та такі фреймворки, як React, Vue і Svelte.
Шляхи міграції
Є кілька шляхів міграції. Сайти можуть перенести обробку XSLT на сервер і надсилати клієнту вже відрендерений HTML, або перевести ендпоінти XML API на JSON і рендерити на боці клієнта за допомогою JavaScript. Бібліотека Saxonica забезпечує повну підтримку XSLT на боці клієнта, зокрема стандарту v3.0.
Для класу XSLTProcessor доступний polyfill на основі WASM у GitHub, що дозволяє продовжити роботу наявного коду на JavaScript. Також доступне розширення Chrome, яке застосовує polyfill на всіх ще необроблених XML-сторінках, що містять інструкції обробки XSLT; це рішення для застосунків, де заміна джерела неможлива.
Джерела: Chrome for Developers
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.