Реліз Firefox 108

Відбувся реліз web-браузера Firefox 108. Крім того, сформовано оновлення гілки із тривалим терміном підтримки – 102.6.0. На стадію бета-тестування найближчим часом буде переведено гілку Firefox 109, реліз якої заплановано на 17 січня.

Основні новації в Firefox 108:

  • Додана клавіатурна комбінація Shift+ESC для швидкого відкриття сторінки менеджера процесів (about:processes), що дозволяє оцінити які процеси та внутрішні потоки споживають зайві ресурси пам'яті та CPU.
    Реліз Firefox 108
  • Оптимізовано планування виведення кадрів анімації в умовах високого навантаження, що дозволило покращити результати тестування MotionMark.
  • При виведенні на друк та збереженні PDF-форм, надано можливість використання символів мовами, відмінними від англійської.
  • Реалізована підтримка правильної корекції кольорів зображень, відповідно до колірних профілів ICCv4.
  • Коректне спрацювання режиму показу панелі закладок «тільки на нових вкладках» (налаштування «Only show on New Tab») для порожніх нових вкладок.
  • У about:config додані налаштування cookiebanners.bannerClicking.enabled та cookiebanners.service.mode для автонатискання на банери, які вимагають повноваження щодо використання Cookie на сайтах. В інтерфейсі нічних збірок реалізовані перемикачі для керування автонатисканням на Cookie-банери у прив'язці до певних доменів.
  • Доданий API Web MIDI, що дозволяє з web-програми взаємодіяти з підключеними до комп'ютера користувача музичними пристроями з інтерфейсом MIDI. API доступний лише для сторінок, завантажених через HTTPS. У разі виклику методу navigator.requestMIDIAccess() за наявності підключених до комп'ютера MIDI-пристроїв користувачеві виводиться діалог із пропозицією встановити додаток «Site Permission Add-on», необхідний для активації доступу (див. опис нижче).
  • Запропоновано експериментальний механізм Site Permission Add-on для управління доступом сайтів до потенційно небезпечних API та можливостей, що потребують розширених привілеїв. Під небезпечними маються на увазі можливості, здатні фізично пошкодити обладнання, внести зміни, що скасовуються, використовуватися для встановлення шкідливого коду на пристрої або призвести до витоку даних про користувача. Наприклад, у контексті API Web MIDI додаток Permission Add-on використовується для надання доступу до пристрою синтезу звуку, підключеного до комп'ютера.
  • За замовчуванням включена підтримка карт імпорту («import map»), що дозволяють керувати тим, які URL будуть завантажені при імпорті JavaScript-файлів через вирази import і import(). Карта імпорту задається у форматі JSON в елементі с новым атрибутом «importmap». Например: { «imports»: { «moment»: «/node_modules/moment/src/moment.js», «lodash»: «/node_modules/lodash-es/lodash.js» } }

    Після оголошення цієї картки імпорту в JavaScript-коді для завантаження та виконання JavaScript-модуля "/node_modules/moment/src/moment.js" можна використовувати вираз 'import moment from "moment";' не деталізуючи шлях (еквівалент 'import moment from "/node_modules/moment/src/moment.js";').

  • В елементі « » реалізовано підтримку атрибутів «height» і «width», що визначають висоту і ширину зображення в пікселях. Зазначені атрибути діють лише коли елемент « » вкладено в елемент « » та ігноруються при вкладенні в елементи і . Для відключення обробки height і width в в about:config додано налаштування «dom.picture_source_dimension_attributes.enabled».
  • У CSS надано набір тригонометричних функцій sin(), cos(), tan(), asin(), acos(), atan() та atan2().
  • У CSS реалізовано функцію round() для вибору стратегії округлення.
  • У CSS реалізовано тип , що дозволяє використовувати в математичних функціях відомі математичні константи, такі як числа Пі та E, а також значення нескінченності та NaN. Наприклад, "rotate (calc (1rad * pi))".
  • У CSS-запит @container, що дозволяє формувати стиль елементів залежно від розміру батьківського елемента (аналог запиту @media, застосовуваний не до розміру всієї видимої області, а до розміру блоку (контейнера), в який поміщений елемент), додана експериментальна підтримка одиниць вимірювання cqw (1% від ширини), cqh (1% від висоти), cqi (1% від inline-розміру), cqb (1% від розміру блоку), cqmin (найменше значення cqi або cqb) та cqmax ( найбільше значення cqi чи cqb). Можливість за замовчуванням вимкнена та вмикається через параметр layout.css.container-queries.enabled в about:config.
  • У JavaScript доданий метод Array.fromAsync для створення масиву з даних, що асинхронно надходять.
  • У HTTP-заголовок CSP (Content Security Policy) додано підтримку директив «style-src-attr», «style-src-elem», «script-src-attr» і «script-src-elem», що надають функціональність директив style і script, але з можливістю їх застосування до окремих елементів та обробників подій, таких як onclick.
  • Додано нову подію domContentLoaded, що викликається після завершення завантаження вмісту.
  • До методу .get() додано опцію forceSync для примусової синхронізації.
  • Реалізовано окрему область панелі для розміщення віджетів WebExtension-доповнень.
  • Змінено логіку роботи чорного списку Linux-драйверів, несумісних із WebRender. Замість підтримки білого списку із робочими драйверами здійснено перехід на ведення чорного списку проблемних драйверів.
  • Поліпшено підтримку протоколу Wayland. Додано обробку змінної оточення XDG_ACTIVATION_TOKEN з токеном активації для протоколу xdg-activation-v1, за допомогою якого одна програма може переключити фокус на іншу. Вирішено проблеми, що виникають при переміщенні мишею закладок.
  • На більшості систем Linux включена анімація панелі.
  • В about:config надано налаштування gfx.display.max-frame-rate для обмеження максимальної частоти оновлення кадрів.
  • Додано підтримку специфікації символів Emoji 14.
  • За умовчанням увімкнено WebGL-розширення OES_draw_buffers_indexed.
  • Реалізовано можливість використання GPU для прискорення розтеризації Canvas2D.
  • На платформі Windows включена sandbox-ізоляція процесів, що взаємодіють із GPU.
  • Додана підтримка SIMD-інструкцій FMA3 (множення-складання з одноразовим округленням).
  • Процеси, що застосовуються для обробки фонових вкладок, на платформі Windows 11 тепер запускаються в режимі «Efficiency», при якому планувальник завдань зменшує пріоритет виконання зниження споживання ресурсів CPU.
    Реліз Firefox 108
  • Поліпшення у версії для Android:
    • Додана можливість збереження web-сторінки у вигляді PDF-документу.
    • Реалізована підтримка групування вкладок на панелі (вкладки можна поміняти місцями після утримання торкання вкладки).
    • Надано кнопку для відкриття всіх закладок із зазначеного розділу в нових вкладках у новому вікні або в режимі інкогніто.

Крім нововведень та виправлення помилок у Firefox 108 усунуто 20 вразливостей. 16 уразливостей позначені як небезпечні, з них 14 вразливостей (зібрані під CVE-2022-46879 та CVE-2022-46878) викликані проблемами роботи з пам'яттю, такими як переповнення буферів та звернення до вже звільнених областей пам'яті. Потенційно дані проблеми можуть призвести до виконання коду зловмисника при відкритті спеціально оформлених сторінок. Вразливість CVE-2022-46871 пов'язана з використанням коду із застарілої версії бібліотеки libusrsctp, що містить невиправлені вразливості. Вразливість CVE-2022-46872 дозволяє атакуючому, що отримав доступ до процесу обробки сторінок, обійти sandbox-ізоляцію в Linux і прочитати вміст довільних файлів через маніпуляції з IPC-повідомленнями, пов'язаними з буфером обміну.

Джерело: opennet.ru

Додати коментар або відгук