Доступен выпуск Firefox 60, который также является основой для нового выпуска с долгосрочной поддержкой (ESR). Поддержка предыдущей ветки ESR (52) закончится в сентябре этого года.
- Улучшена производительность WebRTC в Linux.
- Пользователи Linux получили возможность скрыть заголовок браузера (кнопки «Свернуть», «Развернуть» и «Закрыть» при этом переезжают в строку вкладок). Для этого добавлена настройка в окне «Персонализация», вызываемом из главного меню.
- Включена поддержка TLS 1.3, получившего в марте этого года статус «Proposed Standard».
- Прекращено доверие сертификатам Symantec, выпущенным до 1 июня 2016 года. Под раздачу попадают и все дочерние бренды Symantec: GeoTrust, RapidSSL, Thawte и Verisign. С безопасностью у Symantec всё было печально. Обладателям сертификатов, выданных этими УЦ, рекомендуется искать замену, ведь в октябре доверие ко всем сертификатам, хоть как-то связанным с Symantec, окончательно прекращается.
- Появилась поддержка атрибута SameSite для кук. Он позволяет сайтам указывать браузеру, следует ли передавать куки сайта A сайту Б в ситуации, когда сайт Б косвенно обращается к сайту А (например, для подгрузки изображения).
- Включена поддержка Web Authentication API (WebAuthn), позволяющего использовать для входа на сайты аппаратные ключи YubiKey. Firefox стал первым браузером, поддерживающим WebAuthn (в Chrome поддержка появится в ближайшем выпуске).
- Появилась поддержка групповых политик Windows. Необходимо самостоятельно скачать шаблоны политик и поместить в %SystemRoot%\PolicyDefinitions. Либо использовать кросплатформенный формат JSON.
- Интерфейс браузера теперь тоже использует многопоточный CSS-движок (до этого многопоточная обработка CSS была доступна лишь веб-содержимому).
- Удалена старая версия домашней страницы. Теперь в качестве домашней страницы доступна лишь лента Activity Stream, предлагающая вывод наиболее часто посещаемых пользователем сайтов, избранного, популярного контента и мемов от Mozilla, сохранённых пользователем в Pocket сайтов. Лента поддаётся настройке: можно менять блоки местами, скрывать их (кроме того, есть недокументированные возможности, наподобие добавления более 2 рядов миниатюр, см. настройки, начинающиеся с
browser.newtabpage.activity-stream
). Внесены улучшения для широкоформатных мониторов. Пользователям, желающим вернуть «как было», стоит воспользоваться одним из многочисленных дополнений. Пользователям с английской локалью браузера дополнительно будет показываться спонсорская реклама от сервиса Pocket. Данные об истории браузера при этом не передаются. Код, отвечающий за сбор сведений о том, на какие предложения пользователь кликнул, а какие предпочёл скрыть, полностью открыт. Наконец, показ таких объявлений можно просто отключить в настройках (правда, после отключения первая открытая вкладка может всё ещё их содержать). - Больше нет возможности удалить отдельные куки в настройках браузера (теперь можно удалить только все куки для конкретного домена). Пока ещё работает ссылка
chrome://browser/content/preferences/cookies.xul
, а также можно удалять отдельные куки с помощью диалогового окна «Сведения о странице». Пользователям, которым требуется индивидуальное управление куками (удаление отдельных кук или редактирование кук) следует воспользоваться дополнениями. - Закладки больше не поддерживают несколько ключевых слов для одного и того же URL (за исключением случаев, когда URL одинаковый, но данные, передаваемые POST, разные).
- Включена по умолчанию поддержка режима упрощённой печати.
- С помощью
identity.fxaccounts.enabled = false
пользователи, которым не требуется синхронизация, могут отключить предложение войти в синхронизацию (в главном меню) и показ настроек, связанных с ней. - Появилась возможность всегда открывать введённый в строке адреса запрос в новой вкладке (
browser.urlbar.openintab = true
). Избавляет от необходимости самостоятельно открывать новую вкладку. - Можно запретить загрузку скриншотов в «облако» (
extensions.screenshots.upload-disabled = true
) - Можно отключить поддержку протокола FTP (
network.ftp.enabled = false
). Поддержка FTP/SSL (FTPS) в Firefox отсутствует, а без неё безопасность протокола не выдерживает критики. - Дополнения получили ряд возможностей по изменению оформления браузера.
- Обновлена графическая библиотека Skia.
- Добавлена локализация на окситанский язык (oc).
Инструменты разработчика:
- В Инспекторе (боковая панель «Правила») клавишами для тонкого изменения значений (увеличения/уменьшения на 0.1) вместо Alt + Вверх/Вниз теперь служат Ctrl + Вверх/Вниз (1413314).
- Кроме того, для имён переменных CSS теперь работает автодополнение (1422635).
- В режим адаптивного дизайна добавлено выпадающее меню «Перезагружать когда...», чтобы автоматически перезагружать или не перезагружать страницу, когда изменяется юзер-агент или переключается эмуляция сенсорного ввода. См. подробности (1428816).
- Удалена настройка, позволявшая открыть исходный код текущей страницы в отдельном окне. Код теперь всегда открывается в новой вкладке текущего окна (1418403).
HTML:
- Нажатие кнопки «Ввод» отныне вставляет в designMode и contenteditable элементы
<div>
вместо<br>
(1430551). См. подробности.
CSS:
- Значения свойств align-content, align-items, align-self, justify-content и place-content приведены в соответствие с последними изменениями спецификации CSS Box Alignment Module Level 3 (1430817).
- Реализована поддержка свойства paint-order (1426146).
- Более недоступны значения «enabled» и «disabled» проприетарного свойства -moz-user-input (1405087).
- Удалены проприетарные свойства -moz-border-top-colors, -moz-border-right-colors, -moz-border-bottom-colors и -moz-border-left-colors (1429723).
JavaScript:
- Включена поддержка метода Array.prototype.values() (1420101).
- Появилась поддержка модулей ECMAScript 2015 (568953):
- Прекращена поддержка нестандартного синтаксиса замыканий функции (1426519).
API:
- Новые API:
- На платформе macOS включён WebVR API (1438044).
- DOM:
- Объект Web Authentication API
MakePublicKeyCredentialOptions
переименован вPublicKeyCredentialCreationOptions
(1436473). - Удалена настройка
dom.workers.enabled
— поддержку воркеров отключить невозможно (1434934). - Свойство body реализовано у интерфейса Document, а не у HTMLDocument (1276438).
- В воркерах доступен PerformanceResourceTiming (1425458).
- Добавлен метод PerformanceObserver.takeRecords() (1436692).
- Добавлен метод Animation.updatePlaybackRate() (1436659).
- Добавлены новые правила для определения значений keyCode клавиш пунктуации (1036008).
- Можно использовать промисы в коде IndexedDB (1193394).
- Объект Web Authentication API
- Media и WebRTC:
- Если камера во время записи (getUserMedia()) отключается с помощью MediaStreamTrack.enabled, индикатор использования камеры теперь тоже отключается, чтобы пользователь ясно видел, что камера не используется (1299515).
- Удаление дорожки из RTCPeerConnection с помощью removeTrack() больше не удаляет RTCRtpSender дорожки из списка отправителей (1290949).
- Метки времени объектов RTCRtpContributingSource и RTCRtpSynchronizationSource ранее основывались на значениях, возвращаемых Date.getTime(). Теперь они используют Performance Timing API (1433576).
- Конструктор ConvolverNode() отныне выбрасывает «NotSupportedError», если AudioBuffer содержит число каналов, отличное от 1, 2 или 4 (1443228).
- Удалён устаревший обработчик событий RTCPeerConnection.onremovestream. Вместо него следует использовать события «removetrack» (1442385).
- «RTCDataChannel» теперь является основным именем RTCDataChannel, а не ссылкой на «DataChannel». «DataChannel» больше не поддерживается (1173851).
- Отключены по умолчанию события userproximity и deviceproximity
(1359076), а также devicelight (1359076).
Безопасность и приватность:
- registerProtocolHandler() (возможность зарегистрировать себя в качестве обработчика, например, mailto:) отныне могут использовать лишь страницы, открытые по безопасному соединению (HTTPS).
- Плагины (по сути, только Flash, поскольку поддержка других плагинов в Firefox отключена), работающие на HTTPS-страницах не могут обращаться к незащищённым HTTP-страницам.
- Если заголовок X-Content-Type-Options содержит
no-sniff
, Firefox будет следовать спецификациям MIME-типов JavaScript. Кроме того, больше недопустимы значенияtext/json
иapplication/json
(1431095). - При включённой настройке
privacy.resistFingerprinting
значения таймеров теперь загрубляются. - Date.toLocaleDateString и Intl.DateTimeFormat больше не раскрывают информацию о языке, операционной системе и часовом поясе, если пользователь предпочёл её подделать (1409973).
>>> Подробности