Доступен Firefox 90.
- Включена поддержка HTTP/3 (реализация протокола QUIC, написанная на Rust). QUIC является надстройкой над UDP, что позволяет избежать проблемы, которые при использовании TCP решить возможным не представляется.
- В настройках режима «Только HTTPS» появилась возможность добавить исключения для определённых сайтов.
- Защита от отслеживания стала более интеллектуальной: например, когда в режиме приватного просмотра пользователь пытается залогиниться в Facebook, требуемые для этого скрипты Facebook будут автоматически разрешены (до этого они блокировались и залогиниться не получалось).
- Пункт контекстного меню «Открыть изображение в новой вкладке» больше не делает открываемую вкладку активной.
- Печать веб-страницы в файл PDF теперь сохраняет гиперссылки.
- Включена программная реализация WebRender на старых системах без аппаратного ускорения графики (старые видеокарты и проблемные драйверы). Её производительность заметно повышена.
- Реализована поддержка дробного масштабирования (например, не в 2, а в 1.5 раза) при работе в Wayland.
- Канадским пользователям предложат включить шифрование DNS-запросов. Для этого Mozilla заключила партнёрство с CIRA (Canadian Internet Registration Authority).
- В дополнение к калькулятору (см. новость о выпуске Firefox 89) в адресную строку добавлен конвертер величин (включается настройкой
browser.urlbar.unitConversion.enabled
). Допускаются запросы наподобие «1 m to foot», «10 c to f», «now to utc» (больше примеров можно найти здесь). - В список протоколов, которые могут открываться с использованием сторонних приложений, добавлена схема
matrix://
. - Полностью удалена поддержка протокола FTP, отключённая по умолчанию в Firefox 88. Все эти годы она оставалась на зачаточном уровне (отсутствует возможность закачивания файлов, невозможно скачать несколько файлов или каталог целиком, отсутствует поддержка шифрования), а соответствующий код написан 20 лет назад, что затрудняет его сопровождение. Таким образом, от старого кода нужно избавляться, а реализовывать с нуля полноценную поддержку FTP нерационально из-за низкой популярности. К тому же, существует множество достойных сторонних клиентов. При попытке доступа к FTP-ресурсу пользователь может выбрать стороннее приложение (оно должно быть зарегистрировано в системе в качестве обработчика схемы
ftp://
). Разработчики дополнений могут зарегистрировать своё дополнение в качестве обработчика протокола FTP. - Дополнениям теперь доступен Cache API.
- Обновлена модель машинного обучения, используемая для обнаружения полей ввода пароля.
- Детектор кодировки chardetng (написанный на Rust) включён по умолчанию для доменов .jp, .in и lk.
- Исправлена невозможность прокрутки диалога добавления закладки.
- Исправлено декодирование изображений BMP с нулевым смещением данных.
- Медиа-клавиши клавиатуры больше не позволяют управлять медиафайлами, которые воспроизводились более 24 часов назад (до этого, например, нажатие клавиши «предыдущий трек» могло запустить последний воспроизведённый файл, даже если он был проигран неделю назад).
- Включено чтение сертификатов из хранилища операционной системы (только в Windows и macOS). Благодаря этому Firefox может, например, взаимодействовать с сертификатом клиента, хранящимся на аппаратном токене, без необходимости использовать стороннюю библиотеку (которая может содержать уязвимости или повлиять на стабильность браузера), поставляемую производителем токена.
- Windows:
- Автоматическое обновление теперь может производится даже тогда, когда браузер не запущен (до этого складывалась ситуация «пользователь запускает браузер, чтобы поработать, браузер обновляется и приходится его перезапускать»; теперь браузер может обновиться никого не тревожа, когда пользователь его не использует).
- Добавлена служебная страница
about:third-party
, где перечислены все сторонние (не от Mozilla и Microsoft) библиотеки, подгруженные процессом Firefox. - Временно (до следующего выпуска) отключена оптимизация, позволявшая отрисовывать окно с не-интерактивным содержимым сразу, не дожидаясь подгрузки xul.dll. Оказалось, что она вызывает проблемы у экранных чтецов.
- HTML:
- Нормализация новой строки и экранирование в содержимом форм приведены в соответствие со спецификацией и поведением прочих браузеров.
- Внутренний размер и разрешение изображений теперь берутся из EXIF (если там эти данные есть). Например, это позволяет серверу отправить низкокачественное изображение-заглушку для ускорения загрузки.
- CSS: добавлена поддержка
-webkit-image-set()
, являющегося ссылкой на стандартную функцию image/image-set(). - JavaScript:
- Включена поддержка приватных статических полей и методов, а также приватных полей и методов экземпляров.
- Оператор in теперь может использоваться для проверки того, был ли определён частный метод или поле класса. Это удобнее, чем упаковывать код в блоки
try/catch
. - Кастомные форматы даты/времени, указанные в качестве опции конструктора Intl.DateTimeFormat(), теперь могут включать значение
dayPeriod
.ё - Глобальные объекты Array, String и TypedArray получили относительный метод индексации
at()
.
- HTTP: реализована поддержка HTTP-заголовков с запросами получения метаданных (
Sec-Fetch-*
). Они дают серверу дополнительные сведения о происхождении запросов, а также о том, где и как будут использоваться запрошенные данные, что позволяет противостоять некоторым типам атак. - DOM:
- В целях совместимости с небольшим числом некорректно работающий сайтов, добавлена поддержка устаревших свойств WheelEvent:
WheelEvent.wheelDelta
,WheelEvent.wheelDeltaX
иWheelEvent.wheelDeltaY
. - Интерфейс CanvasRenderingContext2D обзавёлся поддержкой метода createConicGradient().
- В целях совместимости с небольшим числом некорректно работающий сайтов, добавлена поддержка устаревших свойств WheelEvent:
- Инструменты разработчика: во вкладке «Сеть → Ответ» теперь работает предпросмотр веб-шрифтов.
>>> Примечания к выпуску для разработчиков
>>> Подробности