Доступен Firefox 119.
- Содержимое страницы «Обзор Firefox» (Firefox View) разбито на разделы «Недавний просмотр», «Открытые вкладки», «Недавно закрытые вкладки», «Вкладки с других устройств» и «История» (с возможность сортировки по сайтам или по дате). Изменён значок кнопки, открывающей страницу Firefox View.
- Недавно закрытые вкладки теперь всегда сохраняются между сеансами (
browser.sessionstore.persist_closed_tabs_between_sessions
). Раньше они сохранялись лишь если было включено автоматическое восстановление сеанса при запуске. Кроме того, в списке недавно закрытых вкладок теперь отображаются вкладки из недавно закрытых окон (browser.sessionstore.closedTabsFromClosedWindows
). - Появилась возможность добавлять изображения (и замещающий текст) при редактировании PDF.
- Реализован перенос некоторых дополнений при импорте данных из Chrome.
- Исправлены неожиданные скачки ползунка прокрутки на Facebook.
- Включена поддержка ECH (Encrypted Client Hello, дальнейшее развитие eSNI). Для работы ECH требуется включение DNS-over-HTTS в настройках браузера. Из крупных провайдеров о поддержке ECH уже объявила Cloudflare.
- В режиме строгой защиты от отслеживания веб-сайтам теперь доступны лишь системные шрифты и шрифты из установленных языковых пакетов. В прошлом выпуске такое же поведение было реализовано в режиме приватного просмотра.
- Total Cookie Protection теперь распространяется и на объекты Blob.
- Режим «картинка в картинке» научился показывать субтитры на viki.com.
- Логин и пароль при соединении через SOCKS-прокси теперь могут содержать символы, отличные от ASCII (Firefox всё ещё не поддерживает авторизацию нативно, для этого требуется стороннее расширение, например, FoxyProxy).
- Firefox больше не пытается угадать, является ли документ верхнего уровня, который отдаётся сервером как
application/octet-stream
, медиа-файлом (файл будет скачиваться, а не воспроизводиться в браузере). - Имена хостов, которые не являются IP-адресами, но оканчиваются цифрой (например,
foo.0
,bar.0.09
,a.1.2.0x.
,1.2.3.4.5
), больше не считаются валидными. - На страницу
about:logging
добавлена предустановка «Графика». - Исправлена ошибка, просуществовавшая 23 года: всплывающие подсказки больше не остаются на переднем плане, когда окно браузера теряет фокус.
- Добавлена локализация на язык сантали (sat).
- Linux: прекращена поставка бинарника
plugin-container
. - Windows: теперь Firefox следует системной настройке «Скрывать указатель мыши при вводе с клавиатуры».
- HTML: элемент <input> больше не поддерживает нестандартный атрибут
mozactionhint
(вместо этого следует использовать enterkeyhint). - CSS: функция attr() теперь позволяет указать резервное значение на случай, если отсутствует глобальный атрибут (например,
attr(foobar, "Default value")
). - JavaScript:
- Реализована поддержка статических методов Object.groupBy() и Map.groupBy() (группировка элементов в массиве и итерируемых объектах).
- Включена поддержка методов String.prototype.isWellFormed() и String.prototype.toWellFormed() (соответственно проверяет, содержит ли строка правильно сформированный Unicode-текст (т.е. не содержит одиночных суррогатов) и преобразовывает неправильно сформированную строку в правильно сформированный текст).
- SVG: атрибуты, принимающие значение <length>, теперь поддерживают типы данных CSS length (позволяет изменять размер элементов SVG на основе размеров шрифта (
cap
,rem
), вьюпорта (vh
,vw
,vmin
) или абсолютных единиц (px
,cm
), например,<line x1="10vw" y1="10vh" x2="50vw" y2="50vh"/>
). - HTTP: заголовок Cross-Origin-Embedder-Policy получил поддержку директивы credentialless.
- API:
- Обновлена реализация Storage Access API: повышена безопасность, минимизировано количество сбоев на веб-сайтах, открыта дорога к поэтапному отказу от сторонних файлов cookie.
- Появилась возможность указать относительный приоритет потоков отправки, включив свойство
sendOrder
в аргумент параметров, передаваемый в WebTransport.createBidirectionalStream() и WebTransport.createUnidirectionalStream(). - Интерфейс AuthenticatorAttestationResponse получил методы getAuthenticatorData(), getPublicKeyAlgorithm() и getPublicKey().
- Реализована поддержка расширения Web Authentication API Credential Properties (credProps) (позволяет пользователю запросить, доступно ли обнаружение учётных данных после создания/регистрации).
- Интерфейс AuthenticatorAttestationResponse обзавёлся методом getTransports().
- Параметр derivedKeyAlgorithm метода SubtleCrypto.deriveKey() теперь поддерживает алгоритм HKDF.
- Интерфейс PublicKeyCredential получил поддержку методов parseCreationOptionsFromJSON(), parseRequestOptionsFromJSON() и toJSON() (преобразование объектов, используемых для создания и совместного использования объектов учётных данных, в представления JSON, которые можно сериализовать/десериализовать и использовать совместно с сервером).
- Отражение ARIA теперь поддерживается для атрибутов, которые не ссылаются на другие элементы (отражаются только не-IDREF атрибуты). Теперь возможно получать и устанавливать атрибуты ARIA для элементов DOM непосредственно через JavaScript, а не с помощью
setAttribute
иgetAttribute
. Например, вместоbuttonElement.setAttribute("aria-pressed", "true");
можно написатьbuttonElement.ariaPressed = "true";
.
- Инструменты разработчика:
- На вкладке «Вычислено» в инспекторе теперь показываются значения пользовательских свойств.
- При отображении проигнорированных свойств CSS Firefox сообщит о проигнорированных свойствах псевдоэлементов ::first-letter pseudo-elements, ::cue и ::placeholder.
>>> Подробности