Состоялся релиз web-браузера Firefox 113 и сформировано обновление ветки с длительным сроком поддержки – 102.11.0. На стадию бета-тестирования переведена ветка Firefox 114, релиз которой намечен на 6 июня.
Основные новшества в Firefox 113:
- Включено отображение в адресной строке введённого поискового запроса, вместо показа URL поисковой системы (т.е. ключи показываются в адресной строке не только в процессе ввода, но и после обращения к поисковой системе и показа связанных с введёнными ключами результатов поиска). Изменение действует только при обращении к поисковым системам из адресной стоки. Если запрос введён на сайте поисковой системы, то в адресной строке показывается URL. Оставление поисковых ключей в адресной строке упрощает отправку уточняющих поисковых запросов, так как в процессе просмотра результатов не требуется перематывать страницу вверх к области ввода.
Для управления указанным поведением в разделе настроек поиска (about:preferences#search) предложена специальная опция, а в about:config параметр “browser.urlbar.showSearchTerms.featureGate”.
- В выпадающий список поисковых подсказок добавлено контекстное меню, показываемое при нажатии на кнопку “…”. В меню предоставлена возможность удаления поискового запроса из истории посещений и отключения показа спонсорских ссылок.
- Предложена улучшенная реализация режима просмотра видео “картинка в картинке” (Picture-in-Picture), в котором добавлены кнопки перемотки на 5 секунд вперёд и назад, кнопка для быстрого раскрытия окна на весь экран и ползунок быстрой перемотки c индикатором позиции и продолжительности видео.
- При просмотре страниц в режиме приватного просмотра усилена блокировка сторонних Cookie и изоляция браузерного хранилища, используемого в коде отслеживания посещений.
- При заполнении web-форма повышена надёжность автоматически генерируемых паролей, при формировании которых теперь используются и спецсимволы.
- В реализации формата изображений AVIF (AV1 Image Format), в котором задействованы технологии внутрикадрового сжатия из формата кодирования видео AV1, добавлена поддержка анимированных изображений (AVIS).
- Переработан движок, реализующий поддержку технологий для людей с ограниченными возможностями (accessibility engine). Значительно увеличена производительность, отзывчивость и стабильность работы с экранными ридерами, интерфейсами единого входа и accessibility-фреймворками.
- При импорте закладок из Safar и браузеров на базе движка Chromium реализована поддержка импорта связанных с закладками картинок favicon.
- Ужесточена применяемая на платформе Windows sandbox-изоляция процессов, взаимодействующих с GPU. Для систем с Windows также реализована возможность перетаскивания мышью содержимого из Microsoft Outlook. В сборках для Windows включён по умолчанию визуальный эффект с растягиванием при попытках прокрутки за пределы конца страницы.
- В сборках для платформы macOS предоставлен доступ к подменю Services непосредственно из контекстного меню Firefox.
- В скриптах, использующих интерфейс Worklet (упрощённый вариант Web Workers, предоставляющий доступ к низкоуровневым стадиям отрисовки и обработки звука), добавлена поддержка импорта модулей JavaScript при помощи выражения “import”.
- Включена по умолчанию поддержка определённых в спецификации CSS Color Level 4 функций color(), lab(), lch(), oklab() и oklch(), применяемых для определения цвета в цветовых пространствах sRGB, RGB, HSL, HWB, LHC и LAB.
- В CSS добавлена функция color-mix(), позволяющая смешивать цвета в любых цветовых пространствах на основании заданного процента (например, для добавления 10% синего к белому можно указать “color-mix(in srgb, blue 10%, white);”).
- Добавлено CSS-свойство forced-color-adjust для отключения принудительного ограничения цветов для отдельных элементов, оставляя для них полные возможности управления цветами через CSS.
- В CSS добавлена поддержка новых медиазапроса (@media) “scripting“, позволяющего проверить доступность возможности выполнения скриптов (например, в CSS можно определить включена ли поддержка JavaScript).
- Добавлен новый синтаксис псевдо-классов “:nth-child(an + b)” и “:nth-last-child()”, допускающий получение селектора для предварительной фильтрации дочерних элементов перед выполнения с ними основной логики выбора “An+B”.
- Добавлен API Compression Streams, предоставляющий программный интерфейс для сжатия и распаковки данных в форматах gzip и deflate.
- Добавлена поддержка методов CanvasRenderingContext2D.reset() и OffscreenCanvasRenderingContext2D.reset(), предназначенных для возвращения контекста отрисовки в исходное состояние.
- Добавлена поддержка дополнительных функций WebRTC, реализованных в других браузерах: RTCMediaSourceStats, RTCPeerConnectionState, RTCPeerConnectionStats (“peer-connection” RTCStatsType), RTCRtpSender.setStreams() и RTCSctpTransport.
- Удалены специфичные для Firefox функции WebRTC mozRTCPeerConnection, mozRTCIceCandidate и mozRTCSessionDescription WebRTC, которые давно объявлены устаревшими. Удалён устаревший атрибут
CanvasRenderingContext2D.mozTextStyle. - В инструментах для web-разработчиков расширены возможности функции поиска в файлах, доступной в отладчике JavaScript. Панель поиска перемещена в штатную боковую панель, что позволяет видеть результаты при редактировании скриптов. Обеспечен показ минифицированных результатов и результатов из каталога node_modules. По умолчанию скрыты результаты поиска в игнорируемых файлах. Добавлена поддержка поиска по маскам и возможность использования модификаторов при поиске (например, для поиска без учёта регистра символов или применения регулярных выражений).
- В интерфейсе просмотра HTML-файлов включён режим наглядного форматирования (pretty print) встроенного кода JavaScript.
- В отладчике JavaScript разрешено переопределение файлов скриптов. В списке Sources в контекстное меню добавлена опция “Add script override”, при помощи которого можно загрузить файл со скриптом на свой компьютер и отредактировать его, после чего этот отредактированный скрипт будет использоваться при обработке страницы, даже после её перезагрузки.
- В версии для Android:
- По умолчанию включено аппаратное ускорение декодирования видео в формате AV1, при отсутствие поддержки которого применяется программный декодировщик.
- Включено использование GPU для ускорения растеризации Canvas2D.
- Улучшен интерфейс встроенного PDF-просмотрщика, упрощено сохранение открытых PDF-файлов.
- Решена проблема с воспроизведением видео в ландшафтном режиме экрана.
Кроме новшеств и исправления ошибок в Firefox 113 устранена 41 уязвимость. 33 уязвимости помечены как опасные, из них 30 уязвимостей (собраны под CVE-2023-32215 и CVE-2023-32216) вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Уязвимость CVE-2023-32207 позволяет обойти запрос полномочий через принуждение к нажатию на кнопке подтверждения при помощи наложения обманного содержимого (кликджекинг). Уязвимость CVE-2023-32205 позволяет скрыть предупреждения браузера через наложение всплывающих окон.
В бета-версии Firefox 114 реализован интерфейс пользователя для управления списком исключений для DNS over HTTPS. Настройки DNS over HTTPS перенесены в раздел “Конфиденциальность и безопасность”. Предоставлена возможность поиска закладок напрямую из меню “Закладки”. Кнопку для вызова меню закладок теперь можно поместить на панель инструментов. Добавлена возможность выборочного поиска в локальной истории посещений при выборке “Поиск в истории” в меню History, Library или Application.