Доступен выпуск Firefox 59.
- Ускорена загрузка содержимого домашней страницы.
- Ускорена загрузка веб-страниц: одновременно с запросом к кэшу Firefox теперь отправляет сетевой запрос, используя ответ, пришедший первым.
- Теперь пользователи могут перемещать миниатюры на стартовой странице мышью, добавлять больше миниатюр, закреплять избранные сайты, включить или отключать элементы стартовой страницы.
- После сохранения в «облако» скриншот можно отредактировать (обрезать, выделить, рисовать).
- В API WebExtensions добавлена поддержка децентрализованных протоколов (IPFS, Secure Scuttlebutt, DATproject) и динамическая регистрация скриптов обработки содержимого. Кроме того, реализована экспериментальная поддержка скрытия вкладок и расширены средства работы со вкладками.
- Улучшена поддержка конференций WebRTC с большим количеством участников.
- Реализована поддержка API PointerEvents.
- В настройках можно запретить по умолчанию запросы о push-уведомлениях, доступе к местоположению, камере и микрофону.
- Прекращена поддержка сборки с GTK+ 2 (1222285).
- Теперь можно использовать XUL-уведомления вместо системных уведомлений в Linux и macOS (
alerts.useSystemBackend = false
). - При вводе текста в адресную строку поисковые предложения теперь отображаются над историей. Старое поведение (предложения под историей) можно вернуть в настройках.
- Прекращается поддержка бета-версий дополнений на addons.mozilla.org. В качестве причины называют невозможность для пользователей легко перейти с бета-версий на стабильные (для этого нужно зайти на страницу дополнения и переустановить стабильную версию). В свою очередь, разработчики дополнений не всегда могут своевременно обновлять бета-версии, вынуждая пользователей сидеть на устаревшей бета-версии даже при наличии более свежего релиза. Кроме того, это упростит поддержку самого каталога дополнений, серверный код которого сложен. Разработчики будут размещать подписанные бета-версии на сторонних площадках (например, на GitHub). Кроме того, планируется (вероятно, после прекращения поддержки Firefox ESR 52.x) зачистить addons.mozilla.org от устаревших дополнений, несовместимых с API WebExtensions.
- Отчёт о здоровье Firefox перемещён по адресу about:telemetry.
- Прекращена поддержка нестандартных протоколов feed и pcast (1420622). Это никак не затрагивает ленты новостей, доступные по протоколу HTTP.
- В macOS включена отрисовка в отдельном потоке (Off-Main-Thread Painting).
- Добавлена локализация на международный язык интерлингва (ia).
Инструменты разработчика:
- В Сеть → Ответ добавлен предпросмотр отрендеренной HTML-страницы, если ответ представляет собой HTML (1353319).
- В Хранилище → Куки добавлен столбец «sameSite», отображающий статус same-site для каждой куки (1298370).
- Линейка обзавелась индикатором, показывающим размеры видимой части страницы (1402633).
- В режиме адаптивного дизайна можно задать размер экрана с помощью клавиш управления курсором (1421663). Подробности.
- В Сеть → Заголовки → Необработанные заголовки добавлен вывод кода состояния ответа (1419401).
HTML:
- Элементы <textarea> обзавелись поддержкой атрибута autocomplete (позволяет включать или отключать автозаполнение форм для конкретного элемента).
JavaScript:
- Прекращена загрузка скриптов, у которых указан параметр «version» (1428745).
- Удалена поддержка условных предложений catch (1228841).
CSS:
- Реализованы свойство overscroll-behavior и связанные с ним — overscroll-behavior-x и overscroll-behavior-y (951793) (1428879).
- Исправлено поведение «необычных элементов» при указании значения «contents» display (1427292). Подробности.
- Реализовано «липкое» позиционирование. Например, можно оставлять видимым заголовок таблицы, пока она прокручивается (975644).
- Добавлена поддержка calc() в значения <color> — «rgb», «rgba», «hsl()» и «hsla()» (984021), и значения медиа-запросов (1396057).
- @document at-rule больше не может использоваться для атак, связанных с CSS-инъекциями (1035091).
- Реализовано свойство «font-optical-sizing» (1435692).
API:
- Новый API: включена по умолчанию поддержка PointerEvents (1411467).
- DOM:
- Реализована поддержка конструктора EventTarget() (1379688).
- Конструктор Response() теперь принимает значение «null» в качестве параметра «body» (1303025).
- DOM events: реализован метод Event.composedPath() (1412775).
- Сервисные воркеры:
- Сервисный воркер Clients API теперь взаимодействует с окнами, находящимися в других процессах браузера (1293277).
- Вложенные фреймы about:blank и about:srcdoc теперь наследуют сервисный воркер, управляющий родителем (1293277, (1426979).
- FetchEvent.respondWith() теперь вызывает сетевую ошибку, если FetchEvent.request.mode = «same-origin» и предоставленный Response.type = «cors» (1222008).
- Медиа и WebRTC:
- Реализованы свойство MediaStreamTrack.muted интерфейса MediaStreamTrack, а также события mute и unmute, и соответствующие обработчики событий: onmute и onunmute. Состояние «muted» означает, что дорожка сейчас не может предоставить медиаданные.
- Реализованы интерфейс RTCRtpTransceiver и метод RTCPeerConnection.addTransceiver().
- Включена поддержка регионов WebVTT (1415805).
CSSOM:
- Реализована поддержка интерфейса CSSNamespaceRule, а также свойств «namespaceURL» и «prefix» (1326514).
SVG:
- Прекращена поддержка SMIL «accessKey» (1423098).
Безопасность:
- Запрещено открытие ссылок вида
data://
(1401895). Такие ссылки используются фишерами. - Директива «SAMEORIGIN» заголовка X-Frame-Options теперь проверяет не только фрейм верхнего уровня, но и его предков (725490).
- Изображения, загружаемые со стороннего (по отношению к текущему) домена, больше не могут вызвать диалог авторизации (1423146).
- При HTTP-авторизации Firefox отныне, как и прочие браузеры, использует для логина и пароля кодировку utf-8, а не ISO-8859-1 (1419658).
- При включённой настройке
privacy.resistFingerprinting
теперь производится спуфинг информации, утекающей через MediaDevices API (1372073), а также спуфинг используемой раскладки клавиатуры (1222285). - В приватном режим реферрер теперь урезается до домена.
>>> Подробности