Издание на Firefox 147

Излезе новата версия на уеб браузъра Firefox 147 и бяха оформени актуализации на предишни версии с дългосрочна поддръжка – 140.7.0 и 115.32.0. В бета тестване е преминала версия Firefox 148, чийто релийз е насрочен за 24 февруари.

Основни новини в Firefox 147 (1, 2, 3):

  • Добавена е поддръжка на спецификацията Freedesktop.org XDG Base Directory и възможността за използване на директорията «~/.config/mozilla» за съхранение на профили, разширения, настройки и вътрешни бази данни. Поддръжката за съхранение на данни в старата директория «~/.mozilla» остава опция, активирана при стартиране с променливата на средата «MOZ_LEGACY_HOME=1».
  • Добавена е поддръжка на механизма «Compression Dictionary Transport» (RFC 9842), който позволява да се намали размерът на данните, предавани между клиента и сървър, чрез използване на алгоритми за компресия Zstandard (Content-Encoding: dcz) и Brotli (Content-Encoding: dcb) в комбинация с компресиране на типови конструкции с употреба на речници. Осигурени са два сценария за употреба на Compression Dictionary Transport – компресиране на съдържанието по предварително предоставени от сървъра речници и употреба на предаденото съдържание като речник за компресиране на неговата нова версия (делта-компресия, при която се предават само измененията спрямо вече наличната версия).

    Например, при заявка «GET /index.html» сървърът може да предаде информация за наличието на речник, връщайки пътя до него в заглавието ‘Link: ; rel="compression-dictionary"‘. При зареждане на речника «…/dict» от клиента, сървърът ще предостави информация за неговото приложение към HTML-файловете, задавайки заглавие ‘Use-As-Dictionary: match="/*html"‘. При следваща заявка за html ресурс, например «GET /index2.html», клиентът ще посочи информация за наличието на речника чрез заглавието ‘Available-Dictionary: хеш_речника‘. Ако сървърът разполага на своя страна с речник с този хеш, той ще върне съдържанието на index2.html, компресирано с употреба на този речник.

    За делта-компресия на различни версии на JavaSсript файлове в отговор на заявка «GET /app.v1.js» сървърът може да зададе заглавие ‘Use-As-Dictionary: match="/app*js"‘, информиращо, че върнатото съдържание може да се използва в бъдеще като речник за пътищата «/app*js». При следваща заявка за файл, отговарящ на този шаблон, например «GET /app.v2.js», клиентът ще предаде хеш на съществуващия речник чрез заглавието «Available-Dictionary:», а сървърът ще върне само измененията между файловете app.v1.js и app.v2.js.

  • Добавена страница about:keyboard за настройки на клавишни комбинации и презаверяване на съществуващи快捷键, например, за задаване на по-привични варианти или изключване на конфликти с други програми.
    Издание на Firefox 147
  • Оптимизирано възпроизвеждане на видео с използване на хардуерно ускорение за декодиране на GPU AMD. На системите с GPU AMD, хардуерно декодираното видео вече се възпроизвежда без допълнително копиране на данни (режим zero-copy), както това преди бе реализирано за системи с GPU Intel и NVIDIA.
  • За версия 5 е обновена реализацията на протокола Safe Browsing, използван за проверка на URL адреси за наличие в списъците с небезопасни ресурси (фишинг сайтове, страници с злонамерен софтуер и др.), предоставяни от Google. Новата версия на протокола позволява изтегляне на списъци за блокиране за използване на локалната система (БД с префикси SHA256 на проблемни URL адреси), които сега се прилагат в Firefox.
  • Добавена опция за автоматично продължаване на възпроизвеждането на видео в режим "картинка в картинка" в случай на превключване на раздел.
  • В режим на усилена защита от проследяване на движенията (ETP, Enhanced Tracking Protection => Strict) по подразбиране е включено прилагането на спецификацията LNA (Local Network Access) за ограничаване на запитванията към локалната система (loopback, 127.0.0.0/8) или вътрешната мрежа (192.168.0.0/16, 10.0.0.0/8 и др.) при взаимодействие с публични сайтове. Обращението към вътрешни ресурси се използва от злонамерени лица за извършване на CSRF атаки върху рутери, точки за достъп, принтери, корпоративни уеб интерфейси и други устройства и услуги, които приемат запитвания само от локалната мрежа. Освен това, сканирането на вътрешни ресурси може да се използва за косвена идентификация или събиране на информация за локалната мрежа.
  • На Linuх системи с GNOME и композитен сървър Mutter е решен проблем с неясното изображение на съдържанието при използване на дробно ниво на мащабиране.
  • На компютри Apple с чипове Apple Silicon и ОС macOS е включена поддръжка на API WebGPU.
  • Приоритеты выбора языка, указанные в HTTP-заголовке Accept-Language (параметры q), синхронизированы со значениями, используемыми другими браузерами, что решило некоторые проблемы с переносимостью. Например, для второго языка теперь установлен приоритет q=0.9 вместо q=0.5, а для каждого следующего языка приоритет уменьшается на 0.1.
  • Библиотека ICU обновлена до версии 78 с поддержкой Unicode 17 и новыми данными локалей.
  • В Service Worker'ах разрешено использование JavaScript-модулей ESM (ECMAScript Module), которые импортируются и экспортируются через выражения import и export.
  • Добавлена поддержка спецификации CSS Module Scripts, позволяющей использовать систему модулей JavaScript для импорта CSS-ресурсов. Например: import styles from './styles.css' with { type: 'css' };
  • В псевдоэлементе '::marker', который позволяет настраивать параметры чисел и точек для списков в блоках
      и
        , теперь разрешено использовать CSS-свойства 'counter-*' и 'quotes'.
      1. В API CompressionStream и DecompressionStream добавлена поддержка формата сжатия Brotli.
      2. В API View Transitions, используемом для создания анимационных эффектов при переключении между различными состояниями DOM, добавлено свойство 'type', содержащее массив с типами переходов. Также добавлен соответствующий CSS-селектор ':active-view-transition-type' и свойство document.activeViewTransition, возвращающее экземпляр активного объекта ViewTransition для документа.
      3. Включен набор CSS-свойств для управления показом элементов, привязанных к местоположению других элементов (CSS Anchor Positioning), без использования JavaScript, например, для прикрепления к элементам всплывающих окон (popover), которые появляются аналогично всплывающим подсказкам.
      4. Реализована спецификация 'Storage Access Headers', определяющая заголовок запроса 'Sec-Fetch-Storage-Access' и заголовок ответа 'Activate-Storage-Access' для получения доступа к сторонним Cookie без вызова метода document.requestStorageAccess(). Сервер может запросить доступ к Cookie через заголовок 'Activate-Storage-Access', и он будет отправлен клиентом, если ранее пользователь подтверждал предоставление доступа к хранилищу Cookie через API Storage Access.
      5. В CSS-свойство 'root-font-relative' добавлена поддержка относительных единиц измерения rcap, rch, rex и ric.
      6. Реализиран е API Navigation, който позволява на уеб приложенията да прихващат навигационни операции в прозореца, да инициират прехвърляне и да анализират историята на действията с приложението. API предоставя алтернатива на свойствата window.history и window.location, оптимизирана за единични уеб приложения.
      7. В инструментите за уеб разработка в панела с CSS правила е реализирана поддръжка за редактиране и добавяне на селектори на псевдоелементи. В интерфейса за преглед на данни в JSON формат е добавен бутон за импортиране на ресурса в системата за профилиране (Firefox Profiler) за определяне на информация за размера му. В панелите за инспектиране на HTML елементи и анимации е осигурено показването на псевдоелементите View Transitions. В панела с CSS правила е реализирано показване на правилата @position-try, приложими за управление на показването на елементи, свързани с местоположението на други елементи (CSS Anchor Positioning).
      8. В версията на Firefox за Android е добавена защита от атаки чрез външни канали, като Spectre, прилагани за заобикаляне на изолацията между сайтовете. Преди това подобна защита беше достъпна само в билдове за десктоп системи.

    Освен новостите и поправките на бъгове, в Firefox 147 са отстранени 23 уязвимости. 10 уязвимости са причинени от проблеми с паметта, като препълвания на буфери и достъп до вече освободени области на паметта. Потенциално тези проблеми могат да доведат до изпълнение на код от злонамерен програматор при отваряне на специално оформени страници. 3 уязвимости позволяват заобикаляне на sandbox изолацията поради неправилна проверка на граници и цели числени препълвания в компонента за работа с графика.

    Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster