Firefox 56

Осенний Firefox 56 — последняя версия браузера Firefox с поддержкой классических дополнений на основе XUL/XPCOM.

HTML, CSS

  • Поддержка предварительной загрузки ресурсов с помощью элемента LINK с атрибутом rel="preload".
  • Удалена поддержка элемента APPLET и соответствующего DOM-интерфейса HTMLAppletElement. Поддержка Java была прекращена в Firefox 52, за исключением корпоративных ESR-сборок. DOM-свойство document.applets в целях обратной совместимости сохранено, но теперь возвращает пустую коллекцию.
  • Поддержка нестандартных ключевых слов -moz-win-accentcolor и -moz-win-accentcolortext (1344910) в качестве цветовых значений в CSS и нестандартного ключевого слова -moz-windows-accent-color-in-titlebar для использования в условиях Media Queries.
  • Исправлена ошибка, из-за которой переводы строк в многострочных текстовых полях TEXTAREA не приводились к Unix-нотации (CRLF/CR → LF).

JavaScript, DOM

  • Поддержка свойства labels элементов форм. Свойство возвращает NodeList-список элементов LABEL, описывающих конкретный элемент формы.
  • Поддержка свойства document.onvisibilitychange, соответствующего событию visibilitychange, доступному в Firefox 18+.
  • Удалена поддержка метода window.showModalDialog(). Согласно статистике использования браузера Chrome, метод использовался очень редко (примерно на одной из каждых 17 тыс. страниц) и при этом сильно усложнял логику работы браузера, поэтому его поддержку прекратили в Chrome 43+.
  • Метод CanvasRenderingContext2D.drawImage() теперь сглаживает уменьшаемые изображения даже при явном отключении сглаживания с помощью параметра imageSmoothingEnabled. Спецификация этого не требует, но это соответствует поведению браузера Chrome.
  • Векторные изображения SVG теперь можно выводить на элемент CANVAS, например, с помощью метода drawImage().
  • Поддержка программного интерфейса (API) ECMAScript Internationalization (Intl) в Firefox для Android. API предоставляет средства сравнения строк и форматирования чисел и дат с учётом языка. В настольных версиях Firefox функциональность доступна начиная с версии 29.
  • Ограничение минимального периода вызова функций средствами setTimeout() и setInterval() значением 4 мс приведено в соответствие с поведением других браузеров.
  • Исправлена ошибка, из-за которой DOM-свойство action форм в некоторых случаях возвращало значение, отличное от адреса, на который в действительности отправлялась форма. В частности, при пустом или отсутствующем атрибуте action одноимённое свойство возвращало пустую строку вместо правильного адреса текущей страницы.

Прочее

  • Удалена поддержка плагинов в версии Firefox для Android ввиду прекращения разработки Flash Player для Android в 2011-м году.
  • Firefox теперь можно запустить в режиме без отображения графического интерфейса (headless mode) для целей автоматизированного тестирования. Включается параметром командной строки -headless (1, 2).
  • Механизм преобразования кодировок текста переписан на языке Rust в соответствии со спецификацией. Язык программирования Rust помогает создавать безопасные и многопоточные программы и используется для создания экспериментального браузерного движка Servo. К самостоятельному использованию Servo пока не готов, но некоторые из его стабильных частей постепенно переносятся в Firefox в рамках проекта Quantum.
  • Интерфейс настроек браузера изменён с целью сделать его более простым и понятным. Добавлена возможность поиска настроек по содержащемуся в их подписях тексту.
  • Реализована легкодоступная возможность создания скриншотов веб-страниц. Для этого служит пункт «Сделать скриншот» в контекстном меню страницы или в меню, вызываемом нажатием кнопки ••• в конце адресной строки. Ранее аналогичная возможность была доступна только через инструменты веб-разработки и расширения.
  • Теперь автовоспроизведение аудиозаписей и видеороликов в фоновых вкладках не происходит, пока пользователь не переключится на соответствующую вкладку.
  • Объём файлов обновлений Firefox уменьшен примерно на 20%.

См. также официальные примечания к выпуску и информацию для разработчиков.