LINUX.ORG.RU

Firefox 55

 , ,


3

5

Доступен выпуск Firefox 55.

Основные изменения:

  • Необратимо изменился формат профиля. Профиль, единожды запущенный в Firefox 55, уже не получится использовать с более ранними версиями.
  • Существенно ускорено восстановление сессий с большим числом вкладок. С 1691 открытой вкладкой открытие браузера теперь занимает 15 секунд вместо 5-8 минут, а потребляемая память снизилась в два раза (сами страницы при этом не загружались).
  • Боковая панель (закладки, история) теперь может быть перемещена к правому краю экрана (раньше она принудительно размещалась слева).
  • Поисковые подсказки включены по умолчанию для всех пользователей, которые явно их не отключили в настройках.
  • Внизу выпадающего списка, появляющегося при вводе текста в адресную строку, размещены значки установленных поисковых систем, что позволяет производить поиск прямо из адресной строки (убрать их можно, установив настройке browser.urlbar.oneOffSearches значение «false»).
  • При наборе адреса сайта без указания протокола Firefox cначала постарается зайти на страницу по протоколу HTTPS, а потом уже по HTTP.
  • Встроенная в браузер защита от отслеживания пользователя теперь в 10 раз замедляет работу скриптов, следящих за пользователем (таких, как Google Analytics), когда пользователь переключается на другую вкладку.
  • В «Настройки → Основные» добавлен раздел «Производительность», позволяющий настроить использование аппаратного ускорения и числа процессов, используемых для обработки контента. Дополнительные процессы улучшают скорость работы с большим числом вкладок, но увеличивают потребление памяти. Кроме того, по умолчанию включено использование отдельного процесса для обработки локальных (file://) файлов, что защитит от чтения локальных файлов при компрометации браузера. Пользователи Windows 10 Anniversary Edition могут там же включить аппаратное ускорение VP9.
  • Для части пользователей включено по умолчанию добавленное в прошлом выпуске системное дополнение, позволяющее сделать скриншот выделенной или видимой области страницы, а также всей страницы целиком. Скриншоты автоматически загружаются на screenshots.firefox.com, где пользователь может установить срок хранения изображения, получить на него прямую ссылку, удалить, поделиться в соцсетях. Для включения дополнения (тем, у кого оно ещё не включилось) необходимо установить настройке extensions.screenshots.system-disabled значение «false». Для отключения добавлена настройка extensions.screenshots.disabled. Исходный код серверной части доступен на условиях лицензии MPL 2.0.
  • Flash-содержимое теперь отображается лишь после явного нажатия на него пользователем (с возможностью запомнить выбор для конкретного сайта). Это изменение будет поэтапно (через соответствующее системное дополнение) доведено до всех пользователей, которые пока могут от него отказаться, переключив настройку plugins.flashBlock.enabled. Кроме того, flash-содержимое будет работать лишь на страницах, загруженных по протоколам HTTP и HTTPS. Для ряда сайтов запуск любых плагинов запрещён полностью с целью обеспечения должного уровня приватности и безопасности. Поддержка flash будет полностью удалена в 2020 году, когда Adobe прекратит разработку плагина.
  • Реализована поддержка устройств виртуальной реальности. Примеры и демо на mozvr.com.
  • На платформе Linux доступен запуск в headless-режиме (флаг «--headless»).
  • Сайты, работающие по незащищённому протоколу, больше не могут получить доступ к Geolocation API, чтобы определить местоположение пользователя.
  • Добавлена настройка privacy.resistFingerprinting, включающая подмену различных свойств (как DOM, так и CSS), облегчающих составление уникального портрета пользователя (screenX, screenY, screen.width, screen.height и т. п.)
  • Упрощён вывод на печать из режима чтения.
  • Возвращена белорусская локализация (нашёлся мейнтейнер).
  • В интерфейсе управления дополнениями теперь наглядно видны устаревшие дополнения, которые перестанут работать в Firefox 57. Подробное объяснение необходимости этого шага от разработчика дополнений. Дополнения, использующие новый API WebExtensions, при изменении списка запрашиваемых разрешений теперь выдают запрос. В главное меню добавлено уведомление о том, что в браузер были установлены дополнения сторонними программами.
  • Пользователи macOS теперь могут назначить собственные горячие клавиши на различные пункты меню Firefox через «Настройки системы → Клавиатура → Горячие клавиши».

Инструменты разработчика:

  • Множество изменений в разделе «Сеть»:
    • Добавлена возможность фильтрации сетевых запросов по значению столбца и другим свойствам (1041895, 1354508, 1354507), а также с помощью регулярных выражений (1354495).
    • Реализована возможность показывать и скрывать отдельные столбцы (862855).
    • Добавлены новые столбцы с удалённым адресом (1344523), протоколом (1345489), схемой (1356867), куками (1356869).
    • Поддержка HTTP-заголовка X-SourceMap удалена в пользу SourceMap (1346936).

HTML:

  • Элементы, у которых contenteditable имеет значение «true», теперь используют <div> для отделения строк текста друг от друга, как в прочих современных браузерах (1297414).
  • Атрибут xml:base больше не может использоваться для указания базового URL путей вместе с атрибутом style, например — <div xml:base="https://example.com/" style="background:url(picture.jpg)"></div> (1350521).
  • Поддержка атрибута scoped у элемента <style> скрыта за настройкой (layout.css.scoped-style.enabled), поскольку прочие браузеры его не поддерживают.
  • Удалена поддержка meta[http-equiv="MSThemeCompatible"]. Прочие браузеры его не поддерживают, также оно вызывало проблемы совместимости (966240).

CSS:

SVG:

  • Реализована поддержка атрибута fr элементом <radialGradient> (1240275).
  • Из спецификации и движка удалены интерфейсы SVGZoomEvent и SVGZoomEvents вместе с атрибутом <svg> «onzoom» (1314388).

JavaScript:

API/DOM:

  • Включена поддержка Background Tasks API (requestIdleCallback), позволяющего отложить вызов функции до тех пор, пока браузер не войдёт в состояние простоя (1314959).
  • На платформе Windows включена поддержка API WebVR 1.1. Этот API позволяет веб-приложениям работать с устройствами виртуальной реальности (например, со шлемами наподобие Oculus Rift и HTC Vive).
  • Реализована поддержка Intersection Observer API (1321865).
  • Свойства scrollX и scrollY объекта Window (и их синонимы pageXOffset и pageYOffset) обрели субпиксельную точность. Вместо того, чтобы возвращать целое число, теперь они возвращают значение с плавающей запятой (1151421). При необходимости можно преобразовать в целые числа с помощью Math.round().
  • MediaQueryList и связанные с ним возможности обновлены в соответствии с последними изменения в спецификации (1354441).
  • Методы DOMTokenList теперь автоматически убирают лишние пробелы и удаляют дублирующиеся токены (869788).
  • Свойство HTMLInputElement «maxLength» теперь может быть динамически изменено с помощью JavaScript после того, как создан HTML-эквивалент (1352799).
  • Конструктор URL() больше не принимает DOMString в качестве базы (2 параметр) — он принимает лишь USVString (1368950).
  • В соответствии со спецификацией обновлены типы событий, поддерживаемых методом Document.createEvent() (1251198).
  • Значение свойства MessageEvent.origin теперь имеет тип USVString, а не DOMString (1311324).
  • Жест «масштабирование щипком» сопоставлен событию wheel + Ctrl (которое обычно используется для масштабирования) (1052253).
  • Удалена поддержка свойства UIEvent.isChar. Оно не поддерживается прочими браузерами и было полностью реализовано лишь на платформе macOS.
  • Удалена поддержка проприетарного Device Storage API (1299500).
  • Удалён параметр «aShowDialog» у нестандартного метода Window.find() (1348409).
  • Удалён метод HTMLFormElement.requestAutoComplete() (см. HTMLFormElement) (1270740).
  • Удалён метод Window.showModalDialog() (981796).
  • HTMLMediaElement и AudioContext лишились поддержки проприетарного Audio Channels API (1358061).
  • Многочисленные обновления Selection API (1318312, 1359371).
  • Для совместимости с WebKit/Blink добавлены Selection.empty() и Selection.setPosition() в качестве ссылок на Selection.removeAllRanges() и Selection.collapse() (1359387).
  • Реализованы методы Storage API StorageManager.persist() и StorageManager.persisted() (1286717).
  • Воркеры могут быть созданы с идентифицирующим их свойством «name» (1364297).
  • Сервисные воркеры:
    • Сообщения, отправленные в контексты сервисных воркеров, теперь представлены объектами MessageEvent вместо ServiceWorkerMessageEvent (1311324).
    • Метод PushManager.subscribe() теперь принимает объекты ArrayBuffer и строки, закодированные Base64, в качестве значений «applicationServerKey» (1337348).
  • Web Audio API: нестандартный конструктор (который принимал строковое значение, указывающее на цель, с которой будет использован контекст) для интерфейса AudioContext выбрасывал ошибки, когда передавался параметр «options». Этот нестандартный конструктор удалён (1361475).
  • WebRTC:
    • getUserMedia() теперь предоставляет по умолчанию звуковой стереопоток, если его предоставляет устройство-источник (971528).
    • getUserMedia() «autoGainControl» и «noiseSuppression» избавлены от префикса moz- (1366415).
    • Исправлена ошибка, из-за которой getUserMedia() некорректно возвращал «NotSupportedError» вместо «TypeError» при вызове с пустым набором ограничений (1349480).
    • getStats() теперь можно вызывать напрямую на отправителях и получателях (1355220).
    • Поле «mozRtt» словаря RTCInboundRTPStreamStats переименовано в «roundTripTime»; поведение также приведено в соответствие спецификации (1344970).
    • Словарь RTCRTPStreamStats теперь включает поля «firCount», «pliCount» и «nackCount». Они предоставляют низкоуровневую информацию, полезную для определения отзывчивости соединения (1348657).
    • Словарь RTCOutboundRTPStreamStats теперь включает поле «framesEncoded», отражающее число успешно закодированных кадров; это позволяет вычислять частоту кадров (1348657).
    • Нестандартные опции «mozDontOfferDataChannel« и «mozBundleOnly» удалены из словаря RTCOfferOptions. Они больше не поддерживаются RTCPeerConnection.createOffer() (1196974).
  • Encrypted Media Extensions API:
    • Firefox допускал использование EME в небезопасных контекстах, что противоречит спецификации. Начиная с Firefox 55 такое использование будет приводить к выдаче предупреждения в консоль (1361000).
    • Firefox не требовал, чтобы как минимум один объект MediaKeySystemCapabilities был включён в параметр «suggestedConfigurations», переданный Navigator.requestMediaKeySystemAccess(), как того требует спецификация. Теперь в консоль будет выведено предупреждение, когда указана любая конфигурация звука или видео без указания поддерживаемых кодеков (428378).
  • WebGL: расширение WEBGL_compressed_texture_s3tc_srgb теперь доступно контекстам WebGL и WebGL2 (1325113).

Безопасность:

>>> Примечания к выпуску для разработчиков

>>> Подробности

Про вкладки не совсем понял. Насколько я понимаю призапуске фокса грузится только текущая вкладка остальные не грузятся. И как только переходишь на нужную вкладку то она подгружается ...

mx__ ★★★ ()
Ответ на: комментарий от th3m3

Я понял наоборот, что содержимое вкладок не загружалось (настройки по умолчанию). Но всё-таки какие-то структуры создаются (сами вкладки + их заголовки + браузер «помнит», какие в эти вкладках URLы, чтобы при обращении ко вкладке загрузить URL). И даже запуск с 1000+ вкладок, без их содержимого, занимал уйму времени.

MozillaFirefox ★★ ()
Последнее исправление: MozillaFirefox (всего исправлений: 2)

Пользователи Windows 10 Anniversary Edition могут там же включить аппаратное ускорение VP9.

Прикольно как MS VP9 впендюрили. А линуксоиды пока и без h264 даже сидят.

https://bugzilla.mozilla.org/show_bug.cgi?id=563206

fornlr ★★★★★ ()
Последнее исправление: fornlr (всего исправлений: 3)

Да что ж за хрень с этой лисой! Начиная с 52 каждый релиз какой-нибудь «сюрприз». На этот раз вот вообще не собирается из PKGBUILD'а:

31:24.43 /home/user/ff/packages/firefox/repos/extra-x86_64/src/mozilla-unified/media/webrtc/trunk/webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc:2155: error: undefined reference to 'LogLatency(AsyncLatencyLogger::LatencyLogIndex, unsigned long, long)'
31:24.43 /home/user/ff/packages/firefox/repos/extra-x86_64/src/mozilla-unified/media/webrtc/trunk/webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc:2152: error: undefined reference to 'LogTime(AsyncLatencyLogger::LatencyLogIndex, unsigned long, long)'
31:24.43 collect2: ошибка: выполнение ld завершилось с кодом возврата 1
31:24.43 make[5]: *** [/home/user/ff/packages/firefox/repos/extra-x86_64/src/mozilla-unified/config/rules.mk:642: webrtc-gtest] Ошибка 1
31:24.43 make[4]: *** [/home/user/ff/packages/firefox/repos/extra-x86_64/src/mozilla-unified/config/recurse.mk:73: media/webrtc/trunk/gtest/target] Ошибка 2
31:24.43 make[3]: *** [/home/user/ff/packages/firefox/repos/extra-x86_64/src/mozilla-unified/config/recurse.mk:33: compile] Ошибка 2
31:24.43 make[2]: *** [/home/user/ff/packages/firefox/repos/extra-x86_64/src/mozilla-unified/config/rules.mk:519: default] Ошибка 2
31:24.43 make[1]: *** [/home/user/ff/packages/firefox/repos/extra-x86_64/src/mozilla-unified/client.mk:419: realbuild] Ошибка 2
31:24.43 make: *** [client.mk:170: build] Ошибка 2
31:24.44 0 compiler warnings present.
31:24.48 /usr/bin/notify-send --app-name=Mozilla Build System Mozilla Build System Build failed
==> ОШИБКА: Произошел сбой в build().
    Прерывание...

Сталкивался кто? не знаете, как решить?

Видимо придётся на 54 сидеть, пока совсем не протухнет, а потом искать альтернативу (а их, блин, вообще нет).

Psych218 ★★★★★ ()
Последнее исправление: Psych218 (всего исправлений: 1)

и памяти жрать стал меньше. а копрохром снес после того, как он выжрал всю память 20-ю процессами по 150МБ с одной открытой вкладкой.

anonymous ()
Ответ на: комментарий от Quote

Да уж…

Ну да, значит придётся посидеть на 54, пока не выйдет 56. В этом 55 всё равно очень сильно вкусного ничего не добавили, кроме времени старта с кучей вкладок, а у меня больше пяти редко бывет.

Psych218 ★★★★★ ()

7 причин почему я это не буду у себя устанавливать:

Необратимо изменился формат профиля. Профиль, единожды запущенный в Firefox 55, уже не получится использовать с более ранними версиями.

Существенно ускорено восстановление сессий с большим числом вкладок. С 1691 открытой вкладкой открытие браузера теперь занимает 15 секунд вместо 5-8 минут, а потребляемая память снизилась в два раза (сами страницы при этом не загружались)

При наборе адреса сайта без указания протокола Firefox cначала постарается зайти на страницу по протоколу HTTPS, а потом уже по HTTP.

Встроенная в браузер защита от отслеживания пользователя теперь в 10 раз замедляет работу скриптов, следящих за пользователем (таких, как Google Analytics), когда пользователь переключается на другую вкладку.

Скриншоты автоматически загружаются на screenshots.firefox.com

Flash-содержимое теперь отображается лишь после явного нажатия .... Для ряда сайтов запуск любых плагинов запрещён полностью

Сайты, работающие по незащищённому протоколу, больше не могут получить доступ к Geolocation API

FeyFre ★★★★ ()
Ответ на: комментарий от Quote

Можно запилить epatch с выкидыванием этих макросов и попробовать собрать, но мне пока лениво этим заниматься.

Ну вот мне тоже лениво как-то совсем, да и стимула хорошего нет. Подожду, пока кто-то запилит, или 56-ой версии.

Psych218 ★★★★★ ()
Ответ на: комментарий от Psych218

Причём, скриншоты можно сохранять и локально. Говорят, правда, что при этом какие-то данные передаются всё равно (типа клиентского идентификатора), но меня как-то не напрягает, что сайт ставит куки (о, боже, никогда ведь такого не было). LOR тоже ставит, как и почти любой сайт.

anonymous ()
Ответ на: комментарий от FeyFre

Сайты, работающие по незащищённому протоколу, больше не могут получить доступ к Geolocation API

Можно попробовать создать geo.security.allowinsecure и сделать ей «true», но гарантий, что сработает, нет.

MozillaFirefox ★★ ()
Последнее исправление: MozillaFirefox (всего исправлений: 1)
Ответ на: комментарий от FeyFre

7 причин почему я это не буду у себя устанавливать:

В смысле ? Я хз что там у ВАС за дистрибут а вот в моем есть специально обученые люди все это разглядывать и собирать. Они называются мантейнеры, как вылежут его и соберут тогда мы его и поюзаем, свалится с обновлениями.

mx__ ★★★ ()
Ответ на: комментарий от templarrr

2) Когда ждешь 5-8 минут при старте - психологически воспринимается нормально. Но когда оно стартануло, ты успел 20 минут поработать на одной, и при первом же переключении на вторую и оно начинает грузиться только - это уже как минимум раздражает. Было бы понятно, если бы они после загрузки активной вкладки начали дозагрузку фонофых... а нет, ждут пока туда первый раз кликнешь. И опции отключить «фичу» нету.
3) Потому-что https - хайп, и не более. «Все побежали - я побежал». 90% сайтам за https оно не надо, как и пользователям. А раз так, не вижу смысла жечь ваты на криптографию. Кому надо, установит что-то типа Https Everywhere адона, и будет рад.Мне от непрошеного hsts гемора хватает.
4) Ссылка в пункте левая, критериев детектирования этих самых «следящих» не вижу. И подозреваю отключить эти фичу галки нету.
6) Потому что я потребитель контента. И пока качественной замены контента на флеше не вижу. Не вижу чтобы HTML5 и ко. честно пытались отвоевать рынок, только админ путем. И не столько в проигрыше флешу в производительности дело, сколько в юзабилити.
7) Отключаемо? В интерфейсе? Если отключаемость есть сейчас, где гарантии что её не уберут через год?

Основная проблема в том, что все эти «фичи» неотключаемые пользователем, ну совсем.

FeyFre ★★★★ ()
Ответ на: комментарий от mx__

А каким боком тут дистрибутив? Есть софт, функциональность которого мне не нравится. Поэтому я его не установлю(не обновлю).
Т.е. в вашем дисрибутиве настолько крутые мейнтейнеры фокса(и прочего), что в случае необходимости сами пропатчат - отключат не адекватный функционал? Вопрос риторический если что.

FeyFre ★★★★ ()
Ответ на: комментарий от FeyFre

И опции отключить «фичу» нету.

Ну как это нету... browser.sessionstore.restore_on_demand. При «false» при старте после загрузки текущей вкладки начинает по порядку грузить все предыдущие.

Защита от отслеживания, при необходимости, тоже отлично отключается через about:config.

MozillaFirefox ★★ ()
Последнее исправление: MozillaFirefox (всего исправлений: 2)
Ответ на: комментарий от MozillaFirefox

Ну как это нету... browser.sessionstore.restore_on_demand. При «false» при старте после загрузки текущей вкладки начинает по порядку грузить все предыдущие.

Полумера. Меня устроит настраиваемый вариант опции:
«Ничего не грузим в фоне пока не ткнут"vs"Грузи в фоне всё параллельно», или
«Грузим активную, по окончанию фоновые последовательно"vs"Грузи в фоне всё параллельно»
но не вариант «Ничего не грузим в фоне пока не ткнут"vs"Грузим активную, по окончанию фоновые последовательно»
Т.е. как бы настройка не стояла, я хочу быть уверен что через 20 минут работы на основной вкладке при переключении на любую другую мне не пришлось ждать лишенго, и не важно как их там в фоне загрузили(последовательно или параллельно). Если подумать, то и последовательная фоновая загрузка не очень решение - оно никогда не угадает какую следующую вкладку я открою.

FeyFre ★★★★ ()