Реліз Firefox 86

Відбувся реліз web-браузера Firefox 86. Крім того, сформовано оновлення гілки із тривалим терміном підтримки 78.8.0. На стадію бета-тестування переведено гілку Firefox 87, реліз якої намічено на 23 березня.

Основні нововведення:

  • У жорсткому режимі блокування небажаного контенту (strict) активовано режим повного захисту Cookie (Total Cookie Protection), в якому для кожного сайту використовується окреме ізольоване сховище для Cookie. Запропонований метод ізоляції не дозволяє використовувати Cookie для відстеження переміщення між сайтами, оскільки всі Cookie, що виставляються із завантажуваних на сайт сторонніх блоків, тепер прив'язуються до основного сайту і не передаються при зверненні до цих блоків з інших сайтів. Як виняток, можливість міжсайтової передачі Cookie залишена для сервісів, не пов'язаних з трекінгом користувачів, наприклад, що застосовуються для єдиної аутентифікації. Інформація про заблоковані та дозволені міжсайтові Cookie відображається в меню, що відображається при натисканні на символ щита в адресному рядку.
    Реліз Firefox 86
  • Для всіх користувачів активовано новий інтерфейс попереднього перегляду документа перед виведенням на друк та забезпечена інтеграція із системними налаштуваннями принтера. Новий інтерфейс працює за аналогією з режимом читача і призводить до відкриття попереднього перегляду в поточній вкладці із заміною наявного вмісту. У бічній панелі пропонуються інструменти для вибору принтера, налаштування формату сторінки, зміни параметрів виведення на друк та керування увімкненням друку заголовків та фону.
    Реліз Firefox 86
  • Операції відтворення елементів Canvas і WebGL перенесені в окремий процес, що відповідає за винесення операцій на плечі GPU. Зміна дозволила значно підвищити стабільність та продуктивність сайтів, що використовують WebGL та Canvas.
  • Весь код, пов'язаний з декодуванням відео, переміщений у новий процес RDD, що дозволило підвищити безпеку за рахунок ізоляції відеообробників в окремому процесі.
  • У збірках для Linux та Android включений захист від атак, що маніпулюють перетином стека та купи. Захист заснований на застосуванні опції "-fstack-clash-protection", при вказівці якої компілятор підставляє перевірочні виклики (probe) при кожному статичному або динамічному виділенні місця для стеку, які дозволяють виявляти факти переповнення стека та блокувати методи атак на основі перетину стека та купи. пов'язані з прокиданням потоку виконання через guard-сторінки захисту стека.
  • У режимі читача з'явилася можливість перегляду сторінок HTML, збережених на локальній системі.
  • За замовчуванням включена підтримка формату зображень AVIF (AV1 Image Format), в якому задіяні технології внутрішньокадрового стиснення з формату кодування відео AV1. Контейнер для поширення стислих даних в AVIF повністю аналогічний HEIF. AVIF підтримує як зображення HDR (High Dynamic Range) і колірному просторі Wide-gamut, так і в стандартному динамічному діапазоні (SDR). Раніше для включення AVIF була потрібна установка параметра «image.avif.enabled» в about:config.
  • Увімкнена підтримка одночасного відкриття кількох вікон із відео в режимі Picture-in-Picture.
  • Припинено підтримку експериментального режиму SSB (Site Specific Browser), що дозволяв створити для сайту окремий ярлик для запуску без елементів інтерфейсу браузера, з окремим значком на панелі завдань, подібно до повноцінних програм ОС. Як причини припинення підтримки згадується наявність невирішених проблем, сумнівна користь для користувачів настільних систем, обмеженість ресурсів і бажання направити їх на розвиток основних продуктів.
  • Для з'єднань WebRTC (PeerConnections) припинено підтримку протоколу DTLS 1.0 (Datagram Transport Layer Security), заснованого на TLS 1.1 і використовуваного WebRTC передачі звуку і відео. Замість DTLS 1.0 рекомендується використовувати DTLS 1.2, який базується на TLS 1.2 (специфікація DTLS 1.3 на базі TLS 1.3 ще не готова).
  • У CSS включена функція image-set(), що дозволяє вибрати зображення з набору варіантів з різною роздільною здатністю, що найбільше підходить для поточних параметрів екрану і пропускної здатності мережного підключення. background-image: image-set("cat.png" 1dppx, "cat-2x.png" 2dppx, "cat-print.png" 600dpi);
  • У CSS-властивості «list-style-image», призначеному для визначення зображення для міток у списку, дозволено вказати будь-які форми визначення зображень через CSS.
  • У CSS включено псевдоклас «:autofill», що дозволяє відстежити автоматичне заповнення браузером полів у тезі input (при ручному заповненні селектор не спрацьовує). input:autofill { border: 3px solid blue; }
  • У JavaScript за замовчуванням включено вбудований об'єкт Intl.DisplayNames, через який можна отримати локалізовані назви мов, країн, валют, елементів дат тощо. let currencyNames = new Intl.DisplayNames(['en'], {type: 'currency'}); currencyNames.of('USD'); // "US Dollar" currencyNames.of('EUR'); // «Euro»
  • У DOM забезпечено скидання значення властивості «Window.name» у порожнє значення під час завантаження у вкладці сторінки з іншим доменом та відновлення старого значення при натисканні кнопки «назад» та повернення до старої сторінки.
  • До інструментів для веб-розробників додано утиліту, яка виводить попередження при виставленні значень відступів (margin або padding) у CSS для внутрішніх елементів таблиць.
    Реліз Firefox 86
  • На панелі інструментів для веб-розробників забезпечено показ кількості помилок на поточній сторінці. При натисканні на червоний індикатор з кількістю помилок можна відразу перейти до веб-консолі для перегляду списку помилок.
    Реліз Firefox 86

Окрім нововведень та виправлення помилок у Firefox 86 усунуто 25 уразливостей, з яких 18 позначені як небезпечні. 15 уразливостей (зібрані під CVE-2021-23979 та CVE-2021-23978) викликані проблемами роботи з пам'яттю, такими як переповнення буферів та звернення до вже звільнених областей пам'яті. Потенційно дані проблеми можуть призвести до виконання коду зловмисника при відкритті спеціально оформлених сторінок.

Гілка Firefox 87, що перейшла на стадію бета-тестування, примітна відключенням за замовчуванням обробника клавіші Backspace поза контекстом форм введення. Видалення обробника пояснюється тим, що клавіша Backspace активно використовується при наборі тексту у формах, але поза фокусом на формі введення обробляється як перехід до попередньої сторінки, що може призвести до втрати набраного тексту через ненавмисне переміщення на іншу сторінку. Для повернення старої поведінки до about:config додано опцію browser.backspace_action. Крім того, при використанні функції пошуку на сторінці поруч зі смужкою прокручування тепер відображаються позначки для індикації позиції знайдених ключів. Значно спрощено меню Web Developer і видалено елементи, що рідко використовуються, з меню Library.

Джерело: opennet.ru

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