Реліз Firefox 87

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

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

  • При використанні функції пошуку та активації режиму виділення всіх знайдених збігів (Highlight All) на смузі прокручування тепер з'являються позначки для індикації позиції знайдених ключів.
    Реліз Firefox 87
  • Видалені елементи, що рідко використовуються, з меню Library. У меню Library залишаються лише посилання на закладки, історію та завантаження (віддалені синхронізовані вкладки, останні закладки та список Pocket). На скріншоті нижче ліворуч стан як було, а праворуч - як стало у Firefox 87:
    Реліз Firefox 87Реліз Firefox 87
  • Значно спрощено меню Web Developer — окремі посилання інструменти (Inspector, Web Console, Debugger, Network Style Error, Performance, Storage Inspector, Accessibility і Application) замінено загальний пункт Web Developer Tools.
    Реліз Firefox 87Реліз Firefox 87
  • Спрощено меню Help, з якого видалено посилання на сторінки підтримки, клавіатурні комбінації та оглядовий тур, які тепер доступні на спільній сторінці Get Help. Прибрано кнопку для імпорту з іншого браузера.
  • Додано механізм SmartBlock, який вирішує проблеми на сайтах, що виникають через блокування зовнішніх скриптів у режимі приватного перегляду або при активації посиленого блокування небажаного контенту (strict). У тому числі SmartBlock дозволяє помітно підняти продуктивність деяких сайтів, які пригальмовують через неможливість завантажити код скриптів для відстеження. SmartBlock автоматично замінює скрипти, що застосовуються для відстеження заглушками, що забезпечують коректне завантаження сайту. Заглушки підготовлені для деяких популярних скриптів відстеження користувачів, занесених до списку Disconnect, включаючи скрипти з віджетами Facebook, Twitter, Yandex, Вконтакте та Google.
  • За замовчуванням відключений обробник клавіші Backspace поза контекстом форм введення. Видалення обробника пояснюється тим, що клавіша Backspace активно використовується при наборі тексту у формах, але поза фокусом на формі введення обробляється як перехід до попередньої сторінки, що може призвести до втрати набраного тексту через ненавмисне переміщення на іншу сторінку. Для повернення старої поведінки до about:config додано опцію browser.backspace_action.
  • Змінено формування HTTP-заголовка Referer. За замовчуванням виставлено політику «strict-origin-when-cross-origin», яка передбачає вирізання шляхів і параметрів при надсиланні запиту на інші хости при зверненні по HTTPS, видалення Referer при переході з HTTPS на HTTP і передачу повного Referer для внутрішніх переходів в рамках одного сайту. Зміна буде діяти для звичайних навігаційних запитів (переходів за посиланнями), автоматичних редиректів та завантаження зовнішніх ресурсів (зображень, СSS, скриптів). Наприклад, при переході за посиланням на інший сайт по HTTPS замість «Referer: https://www.example.com/шлях/аргументи» тепер передається «Referer: https://www.example.com/».
  • Для невеликого відсотка користувачів включено режим Fission з реалізацією модернізованої багатопроцесної архітектури для суворішої ізоляції сторінок. При активації Fission сторінки різних сайтів завжди розміщуються у пам'яті різних процесів, у кожному застосовується своя ізольована пісочниця (sandbox). При цьому поділ процесів здійснюється не за вкладками, а по доменах, що дозволяє додатково ізолювати вміст зовнішніх скриптів і iframe-блоків. Увімкнути режим Fission вручну можна на сторінці about:preferences#experimental або через змінну fission.autostart=true в about:config. Перевірити включення можна на сторінці about:support.
  • Видалено експериментальну реалізацію механізму швидкого відкриття TCP-з'єднань (TFO — TCP Fast Open, RFC 7413), який дозволяє скоротити кількість кроків встановлення з'єднання за рахунок комбінування в один запит першого та другого кроків класичного 3-етапного процесу узгодження з'єднання та дає можливість надсилання даних на На початковому етапі установки з'єднання. За замовчуванням режим TCP Fast Open був вимкнений і вимагав зміни about:config для активації (network.tcp.tcp_fastopen_enable).
  • Відповідно до змін, внесених у специфікації, припинено влучення елемента у перевірки з використанням псевдо-класів «:link», «:visited» та «:any-link».
  • Видалено нестандартні значення CSS-параметра caption-side — left, right, top-outside та bottom-outside (для повернення передбачено налаштування layout.css.caption-side-non-standard.enabled).
  • За замовчуванням включено подію «beforeinput» і метод getTargetRanges(), за допомогою яких web-програми можуть перевизначити поведінку при редагуванні тексту на стадії до зміни браузером дерева DOM і отримати більший контроль за подіями введення. Подія «beforeinput» відправляється в обробник або іншого елемента з встановленим атрибутом «contenteditable», перш ніж значення елемента буде змінено. Метод getTargetRanges(), що надається об'єктом inputEvent, повертає масив зі значеннями, що дозволяють судити, яка частина DOM буде змінена, якщо подія введення не буде скасована.
  • Для web-розробників у режимі інспектування сторінок реалізовано можливість симулювати медіазапити «prefers-color-scheme» для тестування темного та світлого оформлення без перемикання тем оформлення в операційній системі. Для включення симуляції темної та світлої теми у правому верхньому кутку панелі інструментів для web-розробників додані кнопки із зображенням сонця та місяця.
  • У режимі інспектування додано можливість активації псевдо-класу «:target» для вибраного елемента за аналогією з раніше підтримуваними псевдо-класами «:hover», «:active», «:focus», «:focus-within», «:focus- visible» та «:visited».
    Реліз Firefox 87
  • У режимі інспектування CSS покращено обробку неактивних CSS-правил. Зокрема, властивість "table-layout" тепер стає неактивною для елементів, що не є таблицями, а властивості "scroll-padding-*" позначаються неактивними для елементів, що не підтримують прокручування. Прибрано помилкову позначку властивостей «text-overflow» для деяких значень.

Окрім нововведень та виправлення помилок у Firefox 87 усунуто 12 уразливостей, з яких 7 позначені як небезпечні. 6 уразливостей (зібрані під CVE-2021-23988 та CVE-2021-23987) викликані проблемами роботи з пам'яттю, такими як переповнення буферів та звернення до вже звільнених областей пам'яті. Потенційно дані проблеми можуть призвести до виконання коду зловмисника при відкритті спеціально оформлених сторінок.

Гілка Firefox 88, що перейшла на стадію бета-тестування, примітна підтримкою масштабування щипком на тачпадах в Linux з графічними оточеннями на базі протоколу Wayland і включенням за замовчуванням підтримки формату зображень AVIF (AV1 Image Format), в якому задіяні технології внутрікадрового коду.

Джерело: opennet.ru

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