Реліз Firefox 94

Відбувся реліз web-браузера Firefox 94. Крім того, сформовано оновлення гілок із тривалим терміном підтримки – 91.3.0. На стадію бета-тестування переведено гілку Firefox 95, реліз якої намічено на 7 грудня.

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

  • Реалізовано нову службову сторінку «about:unloads», на якій користувач для скорочення споживання пам'яті може примусово вивантажити з пам'яті найбільш ресурсомісткі вкладки, не закриваючи їх (вміст буде перезавантажено при переході на вкладку). На сторінці «about:unloads» наявні вкладки перераховані як пріоритет витіснення при нестачі оперативної пам'яті. Пріоритет у списку вибирається залежно від часу доступу до вкладки, а не на основі ресурсів, що споживаються. При натисканні кнопки Unload з пам'яті буде витіснена перша вкладка зі списку, при наступному натисканні — друга і т.п. Витіснити вкладку на свій вибір поки що не можна.
    Реліз Firefox 94
  • При першому запуску після встановлення оновлення запускається новий інтерфейс для вибору шести сезонних тем кольорів, для яких запропоновано три рівні застосування темного відтінку, що впливають на відображення в темних тонах області контенту, панелей і рядки перемикання вкладок.
    Реліз Firefox 94
  • Запропоновано режим суворої ізоляції сайтів, що розвивався у рамках проекту Fission. На відміну від довільного розподілу обробки вкладок по доступному пулу процесів (за замовчуванням 8), режим строгої ізоляції виносить обробку кожного сайту в свій окремий процес з поділом не по вкладках, а по доменам (Public Suffix). Режим активовано не для всіх користувачів, для відключення або увімкнення може використовуватися сторінка «about:preferences#experimental» або налаштування «fission.autostart» в about:config.

    Новий режим забезпечує більш надійний захист від атак класу Spectre, знижує фрагментацію пам'яті, дозволяє додатково ізолювати вміст зовнішніх скриптів та iframe-блоків. більш ефективно повертає пам'ять операційній системі, мінімізує вплив складання сміття та інтенсивних обчислень на сторінки в інших процесах, збільшує ефективність розподілу навантаження на різні ядра CPU та підвищує стабільність (крах процесу, що обробляє iframe, не потягне за собою основний сайт та інші вкладки). Ціною є загальне підвищення споживання пам'яті при великій кількості відкритих сайтів.

  • Користувачам запропоновано доповнення Multi-Account Containers з реалізацією концепції контекстних контейнерів, які можна використовувати для гнучкої ізоляції сайтів. Контейнери дають можливість ізоляції різних типів контенту без створення окремих профілів, що дозволяє відокремити між собою інформацію окремих груп сторінок. Наприклад, можна створити окремі, ізольовані один від одного області для персонального спілкування, роботи, покупок і банківських операцій або організувати одночасне використання різних облікових записів користувача на одному сайті. У кожному контейнері використовуються окремі сховища для Cookies, Local Storage API, indexedDB, кеша та вмісту OriginAttributes. Крім того, під час використання Mozilla VPN для кожного контейнера можна використовувати різні VPN-сервери.
    Реліз Firefox 94
  • Прибрано запит підтвердження операції при виході з браузера або закриття вікна через меню та кнопки закриття вікна. Тобто. помилкове натискання кнопки «[x]» у заголовку вікна тепер призводить до закриття всіх вкладок, у тому числі з відкритими формами редагування, без попереднього попередження. Після відновлення сеансу дані у web-формах не губляться. При натисканні Ctrl+Q продовжує виводитись попередження. У налаштуваннях цю поведінку можна змінити (панель General/ секція Tabs/ параметр Confirm before closing multiple tabs).
    Реліз Firefox 94
  • У збірках для платформи Linux для графічних оточень, що використовують протокол X11, за замовчуванням включено новий бекенд малювання, який примітний використанням для виведення графіки EGL інтерфейсу замість GLX. Бекенд підтримує роботу з відкритими OpenGL-драйверами Mesa 21.x та c пропрієтарними драйверами NVIDIA 470.x. Пропрієтарні OpenGL-драйвери AMD поки що не підтримуються. Застосування ЕGL вирішує проблеми з gfx-драйверами та дозволяє розширити спектр пристроїв, для яких доступне прискорення відео та WebGL. Новий бекенд підготовлений шляхом поділу бекенду DMABUF, спочатку створеного для Wayland і що дозволяє безпосередньо виводити кадри на згадку про GPU, яка може відображатися у фреймбуфер EGL і малюватись як текстура при зведенні елементів web-сторінки.
  • У збірках для Linux включений прошарок, що вирішує проблеми з буфером обміну в оточеннях на базі протоколу Wayland. До складу також включені зміни, пов'язані з обробкою вікон (popup), що спливають, в оточеннях на базі протоколу Wayland. Wayland вимагає дотримання суворої ієрархії спливаючих вікон, тобто. батьківське вікно може створити дочірнє вікно з popup-ом, але ініційований з цього вікна наступний popup повинен прив'язатися до початкового дочірнього вікна, утворюючи ланцюжок. У Firefox кожне вікно може породжувати кілька popup-ів, що не утворюють ієрархію. Проблема полягала в тому, що при використанні Wayland закриття одного з popup-ів вимагає перебудови всього ланцюжка вікон з іншими popup-ами, при тому що наявність декількох відкритих popup-ів не є рідкістю, тому що у вигляді popup-ів реалізовані меню, що спливають підказки, діалоги доповнень, запити повноважень тощо.
  • Знижено накладні витрати при використанні API performance.mark() і performance.measure() з великою кількістю аналізованих метрик.
  • Поведінка відображення в процесі завантаження сторінок змінена для підвищення продуктивності «теплої» завантаження сторінок, що раніше відкривалися в режимі суворої ізоляції.
  • Для прискорення завантаження сторінок збільшено пріоритет завантаження та показу зображень.
  • У JavaScript-движку трохи знижено споживання пам'яті та підвищено продуктивність перебору властивостей.
  • Поліпшено операції планування виклику збирача сміття, що дозволило скоротити час завантаження сторінок у деяких тестах.
  • Знижено навантаження на CPU у процесі poll-інгу сокетів при обробці HTTPS-з'єднань.
  • Прискорено ініціалізацію сховища та скорочено час початкового запуску за рахунок скорочення операцій введення/виводу в основному потоці.
  • При закритті інструментів для розробників забезпечено вивільнення більшого, ніж раніше обсягу пам'яті.
  • У CSS-правилі @import додано підтримку функції layer(), що виводить визначення каскадного шару, заданого за допомогою правила @layer.
  • У функції structuredClone() реалізовано підтримку копіювання складних об'єктів JavaScript.
  • Для форм реалізований атрибут enterkeyhint, що дозволяє визначити поведінку при натисканні клавіші Enter на віртуальній клавіатурі.
  • Реалізовано метод HTMLScriptElement.supports(), за допомогою якого можна перевіряти наявність підтримки браузером певних типів скриптів, таких як модулі JavaScript або класичні скрипти.
  • Додано властивість ShadowRoot.delegatesFocus для перевірки установки властивості delegatesFocus в окремому Shadow DOM.
  • На платформі Windows замість браузер, що відволікають користувача запитів на інсталяцію оновлення, тепер оновлюється у фоні при закритті. В оточенні Windows 11 реалізовано підтримку нової системи меню (Snap Layouts).
  • У складаннях для macOS для повноекранного відео задіяно режим низького споживання енергії.
  • У версії для платформи Android:
    • Спрощено повернення до раніше переглянутого та закритого вмісту – на новій базовій домашній сторінці надано можливість перегляду нещодавно закритих вкладок, доданих закладок, пошукових запитів та рекомендацій сервісу Pocket.
    • Можна налаштувати вміст, який відображається на домашній сторінці. Наприклад, можна налаштувати показ списків найчастіше відвідуваних сайтів, нещодавно відкритих вкладок, недавно збережених закладок, пошукових запитів та рекомендацій Pocket.
    • Додано підтримку переміщення давно неактивних вкладок в окрему секцію Inactive Tabs, щоб не захаращувати основну панель вкладок. Inactive Tabs містить вкладки, до яких не було звернення більше 2 тижнів. Вказану поведінку можна вимкнути в налаштуваннях «Settings->Tabs-> Move old Tabs to inactive.»
    • Розширена евристика під час виведення рекомендації під час набору в адресному рядку.

Окрім нововведень та виправлення помилок у Firefox 94 усунуто 16 уразливостей, з яких 10 позначені як небезпечні. 5 вразливостей викликані проблемами роботи з пам'яттю, такими як переповнення буферів та звернення до звільнених областей пам'яті. Потенційно дані проблеми можуть призвести до виконання коду зловмисника при відкритті спеціально оформлених сторінок.

Джерело: opennet.ru

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