Заметки разработчика: post #1723 — TG.ME

Firefox 148: обновления для разработчиков и улучшения безопасности

24 февраля 2026 года состоялся релиз стабильной версии Firefox 148. В этом выпуске представлен ряд изменений, направленных на повышение производительности, расширение поддержки веб-стандартов и усиление безопасности. Ниже приведён обзор ключевых нововведений.

🚀 Улучшения для веб-разработчиков

HTML

Синхронная загрузка about:blank. Изменён механизм загрузки первоначального пустого документа. Теперь при навигации на about:blank документ загружается синхронно, что устраняет избыточную асинхронную замену и оптимизирует событие load. Изменение направлено на ускорение начальной отрисовки страниц.

CSS

Якорное позиционирование. Реализована поддержка свойства position-try-order, позволяющего задавать порядок перебора запасных позиций для элементов с якорным позиционированием. Свойство position-area теперь гарантирует корректное удержание привязанного элемента в пределах видимой области.

Обработка переполнения. Свойства overflow, overflow-x и overflow-y стали применимы к заменяемым элементам (например, изображениям) аналогично другим элементам, обеспечивая предсказуемое поведение при переполнении контейнера.

Функция shape(). Стандартизирована и включена по умолчанию поддержка функции shape() для создания сложных фигур в свойствах clip-path и offset-path. В отличие от path(), функция использует синтаксис CSS, что позволяет применять единицы измерения и математические функции для большей гибкости.

JavaScript

Комбинирование итераторов. Добавлены статические методы Iterator.zip() и Iterator.zipKeyed(), предназначенные для объединения данных из нескольких итераторов в позиционно согласованные группы.

Модернизация устаревших возможностей RegExp. В рамках реализации предложения TC39 Legacy RegExp Features проведена нормализация статических свойств RegExp ($1-$9, input и др.). Теперь они являются настраиваемыми и неперечисляемыми, что позволяет, например, удалять их с объекта RegExp.

API

Защита от XSS-атак. Внедрена поддержка Sanitizer API для безопасной очистки HTML перед вставкой в DOM, а также Trusted Types API, обеспечивающего проверку данных, передаваемых в потенциально опасные функции и свойства.

Навигация и события. Реализовано свойство Location.ancestorOrigins для определения происхождения родительских документов при встраивании через <iframe>. Для события pointerrawupdate добавлена корректная передача значений movementX и movementY.

Работа с буфером обмена. Команда "paste" для Document.execCommand() теперь доступна в веб-контенте и реализована через Clipboard API с соблюдением всех требований безопасности.

🛠 WebDriver (WebDriver BiDi, Marionette)

Взаимодействие с chrome браузера. В WebDriver BiDi добавлена начальная поддержка chrome-контекстов. Команда browsingContext.getTree с новым параметром moz:scope: chrome позволяет получать доступ к элементам интерфейса Firefox при запуске с флагом --remote-allow-system-access.

Исправления и оптимизация.
Устранены состояния гонки при создании новых окон и навигации, а также ошибки, связанные с перенаправлением на страницы с ошибками и декодированием фрагментированных тел ответов. Производительность выполнения команд WebDriver BiDi улучшена при работе с недоступными контекстами.

Новые возможности Marionette. Добавлена команда Reporting:GenerateTestReport для генерации тестовых отчетов через Reporting API.

🧪 Экспериментальные функции


В версии 148 на стадии эксперимента (доступны в ночных сборках при включении соответствующей настройки) находится Document Picture-in-Picture API. API позволяет создавать окно поверх всех окон с произвольным HTML-содержимым, например, для отображения кастомных элементов управления видео или участников видеоконференции.

Полный список изменений доступен в официальной документации: Firefox 148 release notes.

📱 @dev_notes_ru

#Firefox
🤝1
February 26, 2026 216 1