Релиз Firefox 144

Состоялся релиз web-браузера Firefox 144 и сформированы обновления прошлых веток с длительным сроком поддержки – 140.4.0 и 115.29.0. На стадию бета-тестирования переведена ветка Firefox 145, релиз которой намечен на 11 ноября.

Основные новшества в Firefox 144 (1, 2, 3):

  • Для всех пользователей активирована новая система управления профилями. В форме профилей пользователь может создавать полностью независимые сеансы работы с браузером, со своими настройками, историей, закладками, дополнениями и внутренними БД. Каждый профиль хранится в отдельном подкаталоге “~/.mozilla/firefox/”. Профилю можно назначить свою цветовую схему, значок и имя. Переключение между профилями и создание новых профилей осуществляется через новую секцию, показываемую в верхней части основного меню.

    Технология разделения сеансов аналогична старым профилям, активация которых производилась из командной строки при помощи опции “-P”, но интерфейсы и списки профилей старой и новой системы не пересекаются (в старом интерфейсе, запускаемом командой “firefox –ProfileManager” не показываются новые профили, а в новом, доступном через меню, не показываются старые).

  • Представлена возможность оставления видимой активной вкладки при сворачивании остальных вкладок в группе (можно работать с отдельной вкладкой не раскрывая всю группу).
  • Добавлена поддержка перемещения мышью вкладки в свёрнутую группу без автоматического раскрытия группы.
  • Предоставлена возможность закрытия окна с видео, показываемого в режиме “картинка в картинке” (Picture-in-Picture), без остановки воспроизведения видео (видео сразу продолжит воспроизводиться в основном окне). Закрытие без остановки производится кликом на кнопку закрытия окна при удержании клавиши Shift или нажатием комбинации клавиш Shift + Esc.
  • Для шифрования учётных записей, сохранённых во встроенном менеджере паролей, задействован алгоритм AES-256-CBC. Ранее алгоритм AES-256-CBC применялся только при сквозном шифровании учётных записей в Firefox Sync, но на локальном накопителе данные шифровались с использованием устаревшего алгоритма 3DES-CBC.
  • В контекстное меню, показываемое при клике правой кнопкой мыши на изображении, добавлена опция для поиска в сервисе Google Lens. При помощи Google Lens можно выполнять такие операции, как поиск похожих продуктов и объектов, а также копирование, перевод и поиск текста, показанного на изображении. Возможность доступна только при выборе Google в качестве основной поисковой системы.
  • Предоставлена возможность отправки через адресную строку запросов к поисковому сервису Perplexity, использующему AI для генерации ответов на задаваемые на естественном языке вопросы.
  • На платформе Windows при открытии ссылок из других приложений Firefox теперь использует существующее окно на текущем виртуальном рабочем столе или создаёт новое окно при его отсутствии (но не переключается на другие виртуальные рабочие столы).
  • В инструментах для web-разработчиков реализована возможность перехода к определениям собственных CSS-свойств из функций var(), показываемых на странице инспектирования стилей. Во всплывающих на странице инспектирования подсказках обеспечено наглядное разделение встроенных и пользовательских событий.
  • Добавлен API Element.moveBefore для перемещения элемента в DOM-дереве без сброса его состояния.
  • В CSS-свойстве math-shift реализована поддержка значения “compact”, включающего компактное представление надстрочных индексов в формулах
    MathML.
  • В API PerformanceEventTiming, позволяющем получить дополнительные сведения для измерения и оптимизации отзывчивости интерфейса, добавлен атрибут InteractionID с идентификатором взаимодействия с пользователем. Идентификатор позволяет связывать разные метрики с одним действием пользователя, например, при касании к сенсорному экрану генерируется несколько событий, таких как pointerdown, mousedown, pointerup, mouseup и click, и InteractionID позволяет связать все эти события с одним касанием.
  • Реализованы HTML-атрибуты “command” и “commandfor”, которые можно использовать в кнопках вместо атрибутов “popovertargetaction” и “popovertarget” для декларативной настройки взаимодействия с меню, вызываемым при нажатии на кнопку. При использовании новых атрибутов всю логику взаимодействия с меню берёт на себя браузер, без необходимости подключения собственных обработчиков на JavaScript. Например, для создания выпадающего меню достаточно указать: Open Menu
  • Добавлена поддержка API View Transitions, предназначенного для создания анимационных эффектов при переключении между разными состояниями DOM (например, плавный переход от одного изображения к другому) или переходе от одной страницы к другой в пределах одного сайта.
  • Предоставлена возможность использования дизеринга при отрисовке градиентов, заданных через CSS-свойства linear-gradient, conic-gradient и radial-gradient, при помощи аппаратно ускоренного WebRender.
  • В объектах Map и WeakMap реализована спецификация “upsert“, упрощающая работу с коллекциями пар ключ/значение. Добавлены методы getOrInsert и getOrInsertComputed, возвращающие уже имеющееся в коллекции значение, ассоциированное с указанными ключом, или создающие новую запись, если ключа не нашлось.
  • В API ScreenOrientation добавлены методы lock() и unlock() для закрепления ориентации экрана на планшетах с Windows и Android.
  • Добавлена поддержка передачи объектов Web Worker, используя транспорт RTCDataChannel для передачи данных по сети в P2P-режиме.
  • В метод getUserMedia добавлен параметр resizeMode, позволяющий использовать кадрирование и масштабирование при захвате видео с камеры.
  • В API WebGPU добавлен метод GPUDevice.importExternalTexture для импорта текстуры из объекта HTMLVideoElement или VideoFrame.
  • В Firefox для Android добавлен индикатор машинного перевода, через который можно оценить состояние процесса перевода страницы (вся страница переведена или нет). Firefox теперь доступен для установки из каталога приложений Huawei AppGallery. Повышены требования к версии платформы – для работы требуется как минимум Android 8.

Кроме новшеств и исправления ошибок в Firefox 144 устранено 24 уязвимости. 16 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

Доступная для тестирования бета-версия Firefox 145 примечательна усилением скругления кнопок вкладок и прекращением поддержки 32-разрядных Linux-систем. Отмечается, что сопровождение Firefox на 32-разрядных платформах становится все более сложным и ненадёжным, при том, что поддержка 32-разрядных сборок уже прекращена в большинстве дистрибутивов Linux. Пользователям 32-разрядных Linux-дистрибутивов рекомендуется перейти на использование 64-разрядных операционных систем. Для тех, кто не может оперативно обновить дистрибутив можно использовать ESR-ветку Firefox 140, обновления с устранением уязвимостей для которой будут формироваться как минимум до сентября следующего года.

Release. Ссылка here.