Firefox 67

Firefox 67 — свежая версия свободного веб-браузера.

HTML, CSS

  • Поддержка атрибута autocomplete="new-password" HTML-элементов INPUT, предотвращающего их автозаполнение ранее сохранёнными паролями.
  • Поддержка особого значения revert, сбрасывающего CSS-свойство в значение, унаследованное или заданное для этого элемента в таблице стилей браузера по умолчанию.
  • Поддержка значения break-word CSS-свойства word-break. Работает аналогично одноимённому значению свойства overflow-wrap, представляющего собой стандартизированный вариант нестандартного свойства word-wrap, изначально реализованного в Internet Explorer.
  • Поддержка ключевого слова prefers-color-scheme в условиях Media Queries для определения, светлое (light) или тёмное (dark) оформление пользователь задал как предпочитаемое через настройки браузера или системы. Тёмные темы оформления приобретают особое значение с распространением ЖК-дисплеев с локальной подсветкой FALD и OLED-дисплеев.
  • Нестандартные указатели мыши размером более 32×32 пикселов, реализуемые свойством cursor, теперь не будут работать во избежание недобросовестного использования указателей, видимая часть которых могла, например, отображаться за пределами окна браузера.

JavaScript

  • Поведение браузера в отношении области просмотра (viewport) веб-страниц в Firefox для Android приведено в соответствие с другими браузерами. Вероятно, это сделано в преддверии включения по умолчанию программного интерфейса (API) Visual Viewport, предложенного разработчиками браузера Google Chrome и позволяющего, например, определять коэффициент «пальцевого» масштабирования (pinch zoom), характерного для touch-интерфейсов.
  • Поддержка динамического импорта модулей с помощью функции import(), возвращающей объект Promise, а также поддерживающей синтаксис await. Это позволяет использовать модули без необходимости их явного объявления в HTML-коде с помощью элемента SCRIPT с атрибутом type="module". Поддержка модулей доступна начиная с Firefox 60.
  • Поддержка метода matchAll() объекта String. Метод возвращает итератор и призван упростить перебор соответствий регулярному выражению, для чего ранее требовалось циклически вызывать метод exec() объекта RegExp, созданного с флагом g.
  • Поддержка синтаксиса Hashbang особых комментариев, которые могут присутствовать в единственном числе в самом начале файла скрипта и служат для выбора конкретного JS-интерпретатора, который следует использовать для исполнения данного скрипта:

    #!/usr/bin/env node

    Учитывая, что в браузере, в отличие от сервера, JS-движок единственный, логично предположить, что поддержка Hashbang-синтаксиса сводится к игнорированию таких строк там, где их наличие легитимно.

  • События, касающиеся CSS Transitions и CSS-анимаций (Animations), теперь вызываются для элементов форм, выключенных атрибутом или свойством disabled.
  • Методы createEvent("TouchEvent"), createTouch(), createTouchList() объекта document и свойства ontouch* обработки событий прикосновений теперь недоступны в настольных версиях Firefox. Это призвано устранить проблемы с сайтами, использующими эти возможности для обнаружения факта использования мобильного устройства типа смартфона, что приводило к проблемам на ноутбуках с настольной операционной системой, снабжённых чувствительными к прикосновениям экранами.
  • Несколько инструментов веб-разработки удалены ввиду их невостребованности, редкого использования и/или неоправданных усилий по сопро­вождению:

    Ещё два — объявлены нерекомендуемыми и будут удалены в одной из будущих версий Firefox:

    • WebIDE, возможности удалённой отладки будут перенесены на страницу about:debugging;
    • страница Connect.

    За некоторое время до удаления инструменты веб-разработки объявляются как нерекомендуемые (deprecated).

Видеоформат AV1

  • dav1d, декодер нового видеоформата AV1, теперь используется по умолчанию вместо менее быстродействующего декодера на основе библиотеки aom (libaom), представляющей собой первоначальный образец/пример (reference) реализации алгоритма. dav1d превосходит libaom по быстро­действию в 2-5 раз. Поддержка AV1 доступна начиная с Firefox 65.
  • Включена поддержка видео в формате AV1 в Firefox для Linux.

Прочее

  • Поддержка HTTP-заголовка ответа сервера Cross-Origin-Opener-Policy для управления наследованием междоменной политики безопасности при переходах между страницами разных сайтов.
  • WebRender, новый, более быстрый движок отрисовки страниц, задействующий ресурсы видеокарты (GPU) и написанный на языке программирования Rust в рамках проекта Servo, постепенно включается по умолчанию у части пользователей.
  • Встроенный шрифт Twemoji обновлён и теперь поддерживает набор символов-пиктограмм Emoji версии 11. Начиная с версии 11 нумерация версий Emoji приведена в соответствие с нумерацией версий Unicode, поэтому версии Emoji с 6-й по 10-ю пропущены.
  • Новые устанавливаемые расширения теперь по умолчанию отключены в приватных окнах, для включения требуется явное согласие пользователя на доступ каждого конкретного расширения к приватным окнам.
  • Теперь разные установленные версии Firefox по умолчанию имеют собственные профили и могут быть запущены одновременно. При этом профиль, выбранный ранее в менеджере профилей для конкретного установленного экземпляра Firefox, запоминается и автоматически выбирается при следующем запуске менеджера профилей с помощью исполняемого файла конкретного экземпляра Firefox.
  • Улучшены возможности по управлению Firefox с помощью клавиатуры без мыши. Для переключения между элементами и группами элементов традиционно служит клавиша Tab, переход между элементами в рамках некоторых групп элементов осуществляется клавишами-стрелками.
  • По неизвестной причине Firefox 67 запускается в несколько раз дольше предыдущей версии при использовании диспетчера (менеджера) профилей (firefox -p) как минимум в Windows 7/10. Обойти можно путём запуска Firefox с явным указанием названия профиля в командной строке: firefox -p profileName. Но у этого обходного пути есть побочный эффект: при открытии локального файла или ссылки из сторонней программы всё равно открывается менеджер профилей, если профиль, выбранный при последнем запуске Firefox с помощью менеджера профилей, отличался от указанного в командной строке текущего запущенного экземпляра Firefox; в результате даже при совпадении выбранного профиля с профилем текущего запущенного экземпляра Firefox, до открытия локального файла или ссылки приходится ждать те же несколько секунд. Обновлено: проблема устранена в Firefox 90.

См. также