Реліз Firefox 75

Відбувся реліз web-браузера Firefox 75, а також мобільної версії Firefox 68.7 для Android платформи. Крім того, сформовано оновлення гілки з тривалим терміном підтримки 68.7.0. Найближчим часом на стадію бета-тестування перейде гілка Firefox 76, реліз якої намічено на 5 травня (проект перейшов на 4-5-тижневий цикл розробки).

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

  • Для Linux почалося формування офіційних збірок у форматі Flatpak.
  • Оновлено оформлення адресного рядка. При кліці на адресному рядку тепер без необхідності початку набору відразу відображається список найбільш часто використовуваних посилань. Підказка з результатами пошуку оптимізована для якіснішої роботи на невеликих екранах. В області контекстних рекомендацій забезпечено виведення підказок щодо вирішення типових проблем, що виникають під час роботи з браузером.

    Припинено відображення протоколу https:// та піддомену «www.» у випадаючому блоці посилань, що відображається в процесі набору в адресному рядку (наприклад, що відрізняються за вмістом https://opennet.ru та https://www.opennet.ru стануть невідмінними). Протокол http:// відображається у результатах пошуку без змін.

    Реліз Firefox 75

  • Для Linux змінено поведінку при кліку в адресному рядку (зроблено як у Windows і macOS) - одиночний клік виділяє весь вміст без приміщення в буфер обміну, подвійний клік виділяє одне слово, потрійний клік виділяє весь вміст і поміщає буфер обміну.
  • Реалізовано можливість не завантажувати зображення, що знаходяться поза видимою областю, до тих пір, поки користувач не прокрутить вміст сторінки в місце, що безпосередньо передує зображенню. Для керування відкладеним завантаженням сторінок до тега «img» додано атрибут «погрузка«, який може набувати значення «lazy». Передбачається, що відкладене завантаження дозволить скоротити споживання пам'яті, зменшити трафік і збільшити швидкість початкового відкриття сторінок. Для керування відкладеним завантаженням у about:config додано параметр «dom.image-lazy-loading.enabled».
  • Реалізовано повноцінна підтримка WebGL у оточеннях, які використовують протокол Wayland. Досі рівень продуктивності WebGL у Linux-складаннях Firefox залишав бажати кращого через відсутність підтримки апаратного прискорення, внаслідок проблем із gfx-драйверами для X11 та застосування різних стандартів. При використанні Wayland ситуація змінилася завдяки появі нового бекенда, що використовує механізм ДМАБУФ. Крім апаратного прискорення WebGL бекенд також дозволив реалізувати підтримку прискорення декодування відео H.264 з використанням VA-API (Video Acceleration API) та FFmpegDataDecoder (підтримка VP9 та інших форматів кодування відео) очікується Firefox 76). Для керування включенням прискорення в about:config запропоновані параметри "widget.wayland-dmabuf-webgl.enabled" та "widget.wayland-dmabuf-vaapi.enabled".
  • Для користувачів з Великобританії включено відображення оплачених спонсорами блоків на стартовій сторінці розділу рекомендованого сервісом Pocket контенту. Блоки явно позначені як реклама та відключаються в налаштуваннях. Раніше реклама показувалася тільки користувачам зі США.
  • Реалізовано режим очищення старих Cookie та даних сайту при зверненні до сайтів із кодом відстеження переміщень, з якими користувач інтерактивно не взаємодіяв. Режим спрямований на боротьбу з відстеженням через редиректи.
  • Почалася реалізація модальних діалогів, прив'язаних до окремих вкладок, які не блокують весь інтерфейс.

    Реліз Firefox 75

  • Додана можливість встановлення та відкриття сайтів у формі додатків (Apps), що дозволяють організувати роботу з сайтом як із звичайною настільною програмою. Для включення в about:config необхідно додати налаштування «browser.ssb.enabled=true», після чого в контекстному меню дій зі сторінкою (три крапки в адресному рядку) з'явиться пункт «Install Website as App», що дозволяє розмістити на робочому столі або в меню додатків ярлик для відокремленого відкриття поточного сайту. Розробка продовжує розвиток концепції «Site Specific Browser(SSB), що передбачає відкриття сайту в окремому вікні без меню, адресного рядка та інших елементів інтерфейсу браузера. У поточному вікні відкриваються лише посилання на сторінки активного сайту, а перехід за зовнішніми посиланнями призводить до створення окремого вікна із звичайним браузером.
    Реліз Firefox 75

  • Розширено реалізація режиму «nosniff«, що активується через HTTP-заголовок «X-Content-Type-Options», який тепер відключає і логіку автоматичного визначення MIME-типів для HTML-документів, а не тільки для JavaScript та CSS. Режим допомагає захиститися від атак, пов'язаних із маніпуляцією MIME-типами. Браузер за промовчанням аналізує тип оброблюваного контенту та обробляє його залежно від певного типу. Наприклад, якщо у файл ".jpg" зберегти HTML-код, то при відкритті даний файл буде оброблений як HTML, а не як картинка. Атакуючий може використовувати форму завантаження зображень для jpg-файлу, що включає html з JavaScript-кодом, після чого опублікувати посилання на цей файл, при прямому відкритті якого JavaScript-код буде виконаний в контексті сайту на який зроблено завантаження (можна визначити cookie та інші прив'язані до сайту дані користувача, який відкрив посилання).
  • Забезпечено локальне кешування всіх PKI-сертифікатів, що заслуговують на довіру, що засвідчують центрів, відомих Mozilla, що дозволило поліпшити сумісність з некоректно налаштованими web-серверами.
  • На сторінках відкритих через HTTP без шифрування заборонено використання API Web Crypto.
  • Для Windows реалізовано режим прямого композитингу (Direct Composition), що дозволяє підвищити продуктивність і наблизити використання системи композитингу WebRender, написаної на мові Rust і виносить на бік GPU операції малювання вмісту сторінки.
  • Для macOS реалізована експериментальна можливість використання клієнтських сертифікатів із загального сховища сертифікатів операційної системи (для включення до about:config слід активувати опцію security.osclientcerts.autoload). Починаючи з Firefox 72, вказана можливість була доступна тільки для Windows.
  • Слідом за Linux у збірках для macOS задіяно механізм ізоляції. RLBox, орієнтований на блокування експлуатації вразливостей у сторонніх бібліотеках функцій. На даному етапі ізоляція включена лише для бібліотеки. графітовий, що відповідає за малювання шрифтів. RLBox виконує компіляцію C/C++ коду бібліотеки, що ізолюється, в низькорівневий проміжний код WebAssembly, який потім оформляється у вигляді WebAssembly-модуля, повноваження якого задаються в прив'язці тільки до цього модуля. Зібраний модуль працює в окремій області пам'яті і не має доступу до іншого адресного простору. У разі експлуатації вразливості в бібліотеці атакуючий буде обмежений і не зможе звернутися до областей пам'яті основного процесу або передати керування поза ізольованим оточенням.
  • Атрибут "type" в елементі теперь может принимать только значение «text/css».
  • У CSS реалізовані функції хв(), макс () и clamp().
  • Для CSS-властивості text-decoration-skip-ink реалізована підтримка значення «all», яке наказує обов'язковий розрив лінії підкреслення та закреслення при перетині з текстовими гліфами (раніше застосовуване значення «auto» адаптивно формувало розриви та не виключало дотиків, при значенні all дотику з гліфом повністю заборонено).
  • У JavaScript включена підтримка публічних статичних полів для екземплярів класів JavaScript, які дозволяють вказувати заздалегідь певні властивості, які ініціалізуються поза конструктором.

    class ClassWithStaticField {
    static staticField = 'static field'
    }

  • Додано підтримку класу Intl.Locale, що надає методи для розбору та обробки параметрів мови, регіону та накреслення, що виставляються локаллю, а також для читання та запису тегів розширень Unicode та збереження налаштувань користувача локалі в серіалізованому форматі;
  • Реалізація властивості Function.caller приведена у відповідність до останніх чорнових варіантів нової специфікації ECMAScript (замість TypeError тепер видається null, якщо виклик здійснено з функції з атрибутом strict, async або generator).
  • У HTMLFormElement додано метод requestSubmit(), який ініціює програмне відправлення даних форми за аналогією з кліком на кнопку відправлення даних. Функція може застосовуватися при розробці власних кнопок відправки форми, для яких виклику form.submit() недостатньо через те, що він не призводить до інтерактивної перевірки параметрів, генерації події submit і передачі даних, прив'язаних до кнопки відправки.
  • Подія submit тепер реалізується об'єктом з тимпом SubmitEvent, а чи не Event. SubmitEvent включає нові властивості, що дозволяють дізнатися елемент, виклик якого привів до надсилання форми. Напірмер SubmitEvent дає можливість використовувати один обробник, загальний для різних кнопок і посилань, що призводять до відправки форми.
  • Реалізована коректна передача події про клік при виклику методу click() для від'єднаних елементів (що не є частиною дерева DOM).
  • В API Веб-анімація додано можливість прив'язування анімації до початкового або завершального ключового кадру і браузер сам обчислить фінальний або початковий стан (достатньо вказати лише перший або останній ключовий кадр). За замовчуванням увімкнено Animation.timeline getter, Document.timeline, DocumentTimeline, AnimationTimeline, Document.getAnimations() та Element.getAnimations().
  • Додано можливість активації інтерфейсу профілювання сторінок без встановлення окремого доповнення через натискання кнопки «Enable Profiler Menu Button» на сайті profiler.firefox.com. Додано режим аналізу продуктивності лише активної вкладки.
  • У web-консолі з'явився режим миттєвого обчислення виразів, що дозволяє розробникам швидше виявляти та виправляти помилки при введенні складних виразів за рахунок виведення попереднього результату в міру набору.
  • В інструменті для вимірювання областей сторінки (Measuring Tool) додано можливість зміни розміру прямокутної рамки (раніше, якщо відпустити клавішу миші, рамку неможливо було змінити і у разі неточного наведення доводилося вимірювати з нуля).
  • В інтерфейсі інспектування сторінок додано підтримку пошуку елементів за допомогою виразів XPath на додаток до раніше доступного пошуку за допомогою селекторів CSS.
  • Додано можливість фільтрації повідомлень WebSocket за допомогою регулярних виразів (раніше підтримувалися лише текстові маски).
  • У JavaScript-відладчику додано підтримку прив'язування точок зупинки до обробників подій WebSocket.
  • Здійснено чищення інтерфейсу для аналізу мережної активності. Оптимізовано відтворення таблиць в умовах одночасної обробки великої кількості сполук. Зроблені більш контрастними роздільники стовпців та кнопки для застосування фільтрів. У панелі блокування мережевих запитів реалізовано можливість використання символу «*» у масках URL (дозволяє оцінити поведінку сайту в умовах збою завантаження ресурсів).

    Реліз Firefox 75

Крім нововведень та виправлення помилок у Firefox 75 усунуто серія вразливостей, у тому числі кілька позначені як критичні, тобто. можуть призвести до виконання коду зловмисника під час відкриття спеціально оформлених сторінок. В даний час інформація з подробицями про виправлені проблеми безпеки недоступна, очікується, що перелік вразливостей буде опубліковано протягом кількох годин.

Джерело: opennet.ru

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