Реліз Firefox 79

Відбувся реліз веб-браузера Firefox 79, а також мобільної версії Firefox 68.11 для платформ Android. Крім того, сформовано оновлення гілок з тривалим терміном підтримки 68.11.0 и 78.1.0. Найближчим часом на стадію бета-тестування перейде гілка Firefox 80, реліз якої намічено на 25 серпня.

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

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

    Реліз Firefox 79

  • Додана налаштування для включення динамічної ізоляції cookie за відображеним в адресному рядку доменом («Dynamic First Party Isolation«, коли свої та сторонні вставки визначаються на основі базового домену сайту). Налаштування запропоновано в конфігураторі в секції налаштування блокування відстеження переміщень у блоці, що випадає, методів блокування Cookie.

    Реліз Firefox 79

  • Покращені засоби захисту від відстеження, які автоматично блокують Cookie, що використовуються сторонніми лічильниками. Для сайтів, які здійснюють відстеження, Firefox тепер щодня очищає Cookie та дані у внутрішніх сховищах, на підставі списків систем відстеження із сервісу Disconnect.me.
  • Додано попередню реалізацію екрана з експериментальними налаштуваннями «about:preferences#experimental», що надає інтерфейс для включення експериментальних можливостей, схожий на about:flags в Chrome. За промовчанням екран поки недоступний і вимагає для увімкнення установки «browser.preferences.experimental» в about:conifg. З доступних для включення експериментальних можливостей поки що пропонується лише підтримка «CSS Masonry Layout".

    Реліз Firefox 79

  • Для ноутбуків на базі чіпів AMD на платформі Windows 10
    включено
    система композитингу WebRender WebRender написаний мовою Rust і дозволяє домогтися істотного збільшення швидкості малювання та зниження навантаження на CPU за рахунок винесення на бік GPU операцій відображення вмісту сторінки, які реалізовані через шейдери, що виконуються в GPU. Раніше WebRender був включений на платформі Windows 10 для GPU Intel, APU AMD Raven Ridge, AMD Evergreen і ноутбуках з відеокартами NVIDIA. У Linux WebRender поки активується для карт Intel та AMD тільки в нічних збірках, і не підтримується для карт NVIDIA. Для примусового включення в about:config слід активувати налаштування «gfx.webrender.all» та «gfx.webrender.enabled» або запустити Firefox із виставленою змінною оточення MOZ_WEBRENDER=1.

  • Для користувачів з Німеччини на сторінці нової вкладки додано нову секцію зі статтями, рекомендованими сервісом Pocket, які раніше були запропоновані для користувачів із США та Великобританії. Пов'язана з підбором контенту персоналізація виконується на стороні клієнта і без передачі відомостей про користувача третім особам (в браузер завантажується весь список рекомендованих посилань на поточний день, який ранжується на стороні користувача, відштовхуючись від історії відвідин). Для відключення рекомендованого Pocket контенту передбачено налаштування в конфігураторі (Firefox Home Content/Recommended by Pocket) та опція "browser.newtabpage.activity-stream.feeds.topsites" в about:config.
  • Для Linux-систем з Wayland через проблеми зі стабільністю відключено за промовчанням використання механізму DMABUF для відтворення відео в текстури. Для включення до abоut:config передбачена змінна
    "widget.wayland-dmabuf-video-textures.enabled".

  • На сторінці about:support з'явилася нова кнопка "Сlear Startup cache" для очищення кешів, що впливають на завантаження браузера. Кнопка може сприяти вирішенню деяких проблем, що виникають під час запуску.
  • Посилання з атрибутом target=»_blank» у тегах та тепер обробляються за аналогією з використанням атрибуту rel="noopener", тобто. сприймаються як такі, що не заслуговують на довіру сторінки. Для відкритих за цими посиланнями сторінок не виставляється властивість Window.opener і не відкривається доступ до контексту, з якого було відкрито посилання.
  • Для iframe в атрибуті sandbox реалізовано параметр «allow-top-navigation-by-user-activation», що дозволяє виконувати навігацію по батьківській сторінці із ізольованого iframe при явному натисканні користувача на посиланні, але забороняє автоматичний редирект. Опція корисна для розміщення банерів в iframe, дозволяючи здійснювати переходи на рекламу, що зацікавила, але блокуючи небажану активність (наприклад, автоматичне прокидання на інші сторінки).
  • Додані нові HTTP-заголовки Cross-Origin-Embedder-Policy (COEP) та Cross-Origin-Opener-Policy (COOP), що дозволяють включити особливий режим ізоляції cross-origin для безпечного використання на сторінці привілейованих операцій, які можуть застосовуватися для атак по стороннім каналам, таким як Spectre.
  • Повернено підтримку об'єкту SharedArrayBuffer (дозволяє створювати масиви в пам'яті, що розділяється), відключеного після виявлення атак класу Spectre. Для забезпечення захисту від Spectre об'єкт SharedArrayBuffer тепер доступний лише на сторінках, що обробляються в режимі cross-origin ізоляції. У режимі cross-origin ізоляції також тепер можна використовувати не урізані за точністю таймери Performance.now().
    Для визначення подібної ізоляції слід використовувати вищезгадані заголовки Cross-Origin-Embedder-Policy та Cross-Origin-Opener-Policy.

  • Реалізовано метод Promise.any(), який повертає перший виконаний Promise зі списку.
  • Реалізовано об'єкт WeakRef для визначення слабких посилань (weak reference) на об'єкти JavaScript, що дозволяють зберегти посилання на об'єкт, але не блокують видалення пов'язаного об'єкта збирачем сміття.
  • Додані нові оператори логічного присвоєння: «??=«,«&&=» та «|| =“. Оператор «x ??= y» виконує присвоєння, тільки якщо «x» набуває значення null або undefined. Оператор «x ||= y» виконує присвоєння, лише якщо «x» має значення FALSE, а «x &&= y» — TRUE.
  • Об'єкт Атома, що використовується для організації синхронізації блокувань примітивів, тепер може застосовуватися не тільки до пам'яті, що розділяється.
  • У конструктор Intl.DateTimeFormat() додана підтримка опцій dateStyle і timeStyle.
  • У WebAssembly додано підтримку пакетних операцій із пам'яттю (Для більш ефективного моделювання роботи memcpy та memmove), багатопоточності (Shared memory & Atomics) та посилальних типів (Externref).
  • У відладнику JavaScript запропонований стек асинхронних викликів, що дозволяє відстежувати асинхронно виконувані події, таймаути та promise. Ланцюжки асинхронних дзвінків відображаються у налагоджувачі поряд із звичайним стеком дзвінків, а також наводяться для помилок у web-консолі та запитів в інтерфейсі інспектування мережі.
    Реліз Firefox 79

  • У web-консолі забезпечено відображення кодів стану 4xx/5xx у формі помилок, що полегшує їх виділення на загальному тлі. Для спрощення налагодження запит може бути повторений або переглянуті деталі про запит та відповідь.

    Реліз Firefox 79

  • Помилки JavaScript тепер показуються не тільки у web-консолі, а й у JavaScript-відладчику з підсвічуванням пов'язаного з помилкою рядка в коді і показом підказкою з додатковою інформацією про помилку.
  • Підвищена надійність відкриття вихідних текстів SCSS та CSS-in-JS в інтерфейсі інспектування. У всіх панелях покращена обробка зіставлень із оригінальним вихідним кодом на основі source map.
  • До інструментів для web-розробників додано нову панель Application, яка надає засоби для інспектування та налагодження service worker та маніфестів web-додатків.
  • У системі інспектування мережі об'єднані вкладки Messages та Responses.
  • У режимі адаптивного дизайну (Responsive Design Mode) забезпечена симуляція жестів торкання з перетягуванням та ковзання за допомогою руху миші, якщо увімкнено режим симуляції сенсорних екранів.
  • Firefox 68.11 для Android стане останнім випуском у гілці. На початку серпня планується поступовий переведення користувачів на нову редакцію, розвивається під кодовим ім'ям Fenix ​​і тестування під ім'ям Firefox Preview. Складання Firefox 79 для Android перекладені на кодову основу Fenix. Нова редакція використовує движок GeckoView, побудований на базі технологій Firefox Quantum, та набір бібліотек Mozilla Android Components, які вже застосовуються для побудови браузерів Firefox Focus и Firefox lite. GeckoView є варіантом движка Gecko, оформленим у вигляді окремої бібліотеки, яку можна оновлювати незалежно, а Android Components включає бібліотеки з типовими компонентами, що забезпечують роботу вкладок, автодоповнення введення, пошукових підказок та інших можливостей браузера. Для роботи потрібно як мінімум Android 5.0 (підтримка Android 4.4.4 припинено). За замовчуванням вимкнено доступ до about:config.

Крім нововведень та виправлення помилок у Firefox 79 усунута 21 вразливість, з яких 15 позначені як небезпечні. 12 уразливостей (зібрані під CVE-2020-15659) викликані проблемами роботи з пам'яттю, такими як переповнення буферів та звернення до вже звільнених областей пам'яті. Потенційно дані проблеми можуть призвести до виконання коду зловмисника при відкритті спеціально оформлених сторінок.

Джерело: opennet.ru

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