Доступен Firefox 85.

  • Графическая подсистема:
    • WebRender включён на устройствах, использующих связку «GNOME+Wayland+видеокарта Intel/AMD» (кроме 4K-дисплеев, поддержка которых ожидается в Firefox 86). Кроме того, WebRender включён на устройствах, использующих графику Iris Pro Graphics P580 (мобильные Xeon E3 v5), о которых разработчики забыли, а также на устройствах с драйверами Intel HD Graphics версии 23.20.16.4973 (этот конкретный драйвер находился в чёрном списке). На устройствах с драйвером AMD 8.56.1.15/16 WebRender отключён.
    • На системах, использующих Wayland, налажено аппаратное ускорение видео в форматах VP8/VP9.
    • Отключён механизм Advanced Layers. Теперь эту работу выполняет WebRender.
    • Временно отключено ускорение Canvas 2D средствами графического процессора, вызывающее артефакты на некоторых ресурсах.
  • Включено сетевое разделение. Отныне кэш (HTTP, изображения, фавиконы, пул соединений, CSS, DNS, HTTP-авторизация, Alt-Svc, спекулятивные предварительные соединения, шрифты, HSTS, OCSP, теги Prefetch и Preconnect, CORS и прочее) хранится отдельно для каждого домена. Это серьёзно затруднит отслеживание пользователей со стороны крупных CDN и рекламных сетей, которые могут анализировать наличие определённых файлов в кэше браузера и делать выводы об истории посещений. Сетевое разделение впервые появилось в Safari восемь лет назад (началось с HTTP-кэша, затем Apple постепенно добавляла другие категории), а в конце 2020 года появилось в Chrome. Неизбежной платой станет некоторое увеличение трафика (каждый ресурс будет загружать с CDN контент, даже если этот контент уже был загружен другим ресурсом) и времени загрузки, но по оценкам Google эта величина крайне мала (4% трафика, замедление загрузки на 0.09-0.75% для большинства сайтов, 1.3% в худших случаях). К сожалению, в современном вебе нет иного способа для борьбы с суперкуками (дополнения наподобие Decentraleyes не могут служить альтернативой, так как охватывают лишь незначительную часть перечисленного выше содержимого кэша).
  • Появилась возможность показывать панель закладок только на странице новой вкладки (Вид → Панели инструментов → Панель закладок → Только в новой вкладке), а не на всех страницах. Кроме того, Firefox научился запоминать папку для добавляемых закладок, а на панели закладок теперь отображается папка «Прочие закладки» (browser.toolbars.bookmarks.showOtherBookmarks). После импорта закладок из других браузеров панель закладок будет включена автоматически во всех вкладках. Добавлена телеметрия для оценки роста числа взаимодействий с панелью закладок, роста числа новых пользователей, импортирующих закладки, а также пользователей, отключающих панель закладок вовсе.
  • Дальнейшие улучшения адресной строки:
    • В диалог настройки поисковых движков добавлены «Закладки», «Журнал» и «Открытые вкладки», что позволяет назначать им короткие имена.
    • Любой из поисковых движков теперь можно скрыть из адресной строки.
    • Добавлена настройка, позволяющая не предлагать поисковые движки в результатах поиска (например, начиная с Firefox 83, при вводе «bing» первым делом предлагается переключиться на поисковик Bing).
  • Появилась выборочная печать страниц (например, не 1-5, а 1-3,5), а также печать нескольких страниц на одном листе. Функции доступны лишь в новом диалоговом окне предпросмотра печати, которое включается настройкой print.tab_modal.enabled.
  • В менеджер сохранённых паролей добавлена очистка всех сохранённых паролей (до этого их приходилось удалять по одному).
  • Добавлена возможность выбора домашней страницы и страницы новой вкладки, даже если установлено дополнение, меняющее эти страницы. Раньше у пользователя был лишь выбор между «смириться» и «отключить дополнение».
  • Стало возможным отображение PID в подсказках вкладок (browser.tabs.tooltipsShowPid).
  • Максимально возможный масштаб страницы увеличен с 300% до 500%, чтобы не отставать от других браузеров.
  • Автодополнение адреса (когда пользователь вводит слово в адресную строку и нажимает Ctrl+Enter) теперь добавляет префикс https://, а не http://.
  • Обновлён логотип поисковика Bing. Сам поисковик переименован в Microsoft Bing.
  • Во избежание падений максимально возможная длина каждой ссылки в истории ограничена 2000 символами.
  • Максимально допустимый размер локального хранилища (LocalStorage), который может использовать конкретный веб-ресурс, увеличен с 5 до 25 мегабайт. В Firefox 84 были внесены изменения в алгоритм подсчёта объёма хранимых данных, в результате чего выяснилось, что некоторым веб-сайтам перестало хватать 5 мегабайт. Поскольку разработчики планируют в скором будущем полностью переписать код, ответственный за LocalStorage (LocalStorage NextGen), решено пока что просто увеличить предел, а не тратить время на исправление кода, которому осталось жить совсем немного.
  • Исправлена невозможность восстановить несколько закрытых вкладок, если они были закрыты не пользователем, а дополнением (восстанавливалась лишь последняя из закрытых вкладок, а не все).
  • Исправлено зависание при загрузке объёмных файлов с файлообменника Mega.
  • Устранена проблема, из-за которой Firefox, установленный в виде пакета Flatpak, не мог открыть адрес localhost:порт.
  • Эвристика, пытающаяся угадать корректное расширение файла по отдаваемому сервером MIME-типу, теперь делает исключения для форматов zip, json и xml (это создавало проблемы при загрузке файлов типа .rwp и .t5script, по сути являющихся zip-архивами, но имеющими другое расширение). Эвристика необходима, так как существует много неправильно настроенных серверов, которые отдают файлы с правильным MIME-типом, но некорректным расширением, а также не меньшее число серверов, которые отдают файлы с корректным расширением, но неверным MIME-типом (например, в случае с .rwp (сжатый каталог Train Simulator 2021) сервер не должен был сигнализировать браузеру о том, что это ZIP-архив). Пользователи, в свою очередь, не желают вникать в то, что виноват некорректно настроенный сервер, а не браузер, поэтому, например, Chrome вынужден держать в кодовой базе громадный список MIME-типов, чтобы разруливать такие ситуации.
  • Исправлена ошибка, приводящая к бесконечному уведомлению о том, что в локальной сети обнаружен Captive Portal. Посещение пользователем домена firefox.com приводило к получению информации о HSTS, что заставляло браузер отныне использовать для соединения с этим доменом протокол HTTPS. Это в свою очередь ломало механизм определения Captive Portal (который проверяет доступность адреса http://detectportal.firefox.com по HTTP, т.к. HTTPS-запросы бесполезны при реальном наличии Captive Portal).
  • Исправлена невозможность соединения с доменами в локальной сети по именам NetBIOS.
  • Полностью удалена поддержка Flash. Вместо элементов <object> и <embed>, имеющих тип x-shockwave-flash или x-test, будет отображаться прозрачная область.
  • Прекращена поддержка Encrypted SNI (eSNI), применявшегося для шифрования поля SNI (содержит имя хоста в заголовках HTTPS-пакетов, используется для организации работы нескольких HTTPS-ресурсов на одном IP-адреса, а также используется провайдерами для выборочной фильтрации трафика и анализа посещаемых ресурсов). Практика показала, что это не обеспечивает должной конфиденциальности, так как имя домена фигурирует, например, в параметрах PSK (Pre-Shared Key) при возобновлении сеанса, а также в некоторых иных полях. Создавать аналоги eSNI для каждого из подобных полей представляется нецелесообразным. На замену eSNI предложен стандарт ECH (Encrypted Client Hello), в котором шифруются не отдельные поля, а сообщение ClientHello целиком (за его включение отвечают настройки network.dns.echconfig.enabled и network.dns.use_https_rr_as_altsvc).
  • Прекращена поддержка поисковых движков, установленных в каталог distribution или в каталог языкового пакета. Таких движков не должно было остаться после Firefox 78 (а если они остались, то это явная ошибка и их не следует использовать).
  • Дополнения:
    • Значение настройки «режим только HTTPS» теперь доступно для считывания дополнениями, чтобы дополнения наподобие HTTPS Everywhere могли отключать часть своих функций, которые конфликтуют с этим режимом.
    • Дополнениям теперь доступен API browsingData (благодаря чему дополнения могут очищать данные, сохранённые в браузере).
  • HTML:
    • Включена поддержка <link rel=«preload»> (подгрузка контента ещё до того, как он будет явно запрошен браузером).
    • Отключена поддержка элемента <menuitem>.
  • CSS:
    • Включена поддержка псевдокласса :focus-visible.
    • Включена поддержка значения pinch-zoom у свойства touch-action.
  • JavaScript: свойство collation теперь может передаваться в качестве опции конструктору Intl.Collator() (вместо let pinyin = new Intl.Collator(["zh-u-co-pinyin"]); можно написать let pinyin = new Intl.Collator("zh", {collator: "pinyin"});).
  • Инструменты разработчика:

Источник: linux.org.ru