LINUX.ORG.RU

Firefox 95

 ,


1

2

Доступен релиз Firefox 95. Новая версия примечательна улучшенной поддержкой Wayland, реализацией механизма изоляции кода сторонних библиотек RLBox, а также вынесением обработки каждого сайта в отдельный процесс (проект Fission).

  • Wayland: исправлены различные проблемы, связанные с перетаскиванием элементов (вкладок, копированием файлов из сети на компьютер), а также с отменой перетаскивания клавишей Esc.
  • Улучшено определение частоты обновления экрана при использовании EGL (раньше в качестве источника данных использовалось корневое окно, что приводило к проблемам при использовании XWayland, где понятие корневого окна отсутствует, в результате чего частота неверно определялась как 60 Гц).
  • На всех платформах включена изоляция библиотек RLBox, защищающая браузер от уязвимостях в сторонних библиотеках (код потенциально уязвимых библиотек преобразуется в модуль WebAssembly, полномочия которого строго ограничены, а затем модуль компилируется в машинный код и выполняется в изолированном процессе).
  • Улучшена работа аллокатора памяти, ускорена загрузка страниц (за счёт упреждающей компиляции JavaScript).
  • Все всплывающие окна в Linux обзавелись тенями.
  • Для всех пользователей (согласившихся принимать участие в экспериментах) включена изоляция сайтов (проект Fission). Вкладки, относящиеся к разным доменам, будут размещены в отдельных процессах (по процессу на домен, в отличие от текущей ситуации, когда все вкладки ютятся в 8 процессах). Только так можно гарантированно защититься от атак по сторонним каналам (Meltdown, Spectre), а также дополнительно изолировать содержимое внешних скриптов и фреймов. Платой за это является некоторое общее увеличение потребления памяти, но оно компенсируется плюсами: снижается фрагментация памяти, браузер получает возможность эффективнее возвращать память операционной системе (нет необходимости ждать закрытия всех вкладок, достаточно дождаться закрытия вкладок, относящихся к домену), эффективнее распределяется нагрузка на ядра процессора, повышается стабильность (падение вкладки сайта не утащит за собой вкладки с другими сайтами). Пользователи, не принимающие участие в экспериментах, могут включить изоляцию сайтов самостоятельно (fission.autostart).
  • Автоматическая выгрузка вкладок будет учитывать не только частоту использования вкладки пользователем, но и время последнего использования (>10 минут), чтобы избежать выгрузки вкладок, которые пользователь использовал совсем недавно. Кроме того, выгрузка теперь работает и в macOS.
  • Реализована базовая функциональность wasm64.
  • Переключатель режима «Картинка в картинке» теперь можно переместить в противоположную часть экрана (щёлкнув по нему правой кнопкой мыши и выбрав соответствующий пункт).
  • В результаты поиска по закладкам добавлен пункт меню «Показать в папке».
  • Тёмная тема теперь затрагивает больше элементов браузера, включая, например, окно загрузки и окно с информацией о странице.
  • Пункт «Открыть папку с файлом» (в контекстном меню, вызываемом ПКМ по загруженному файлу) переименован в «Показать в папке».
  • Содержимое страницы about:processes отображается сразу после открытия, без задержки.
  • Дополнения могут указать веб-странице, что она должна использовать светлую или тёмную тему вне зависимости от того, какая тема используется браузером.
  • Улучшена обработка определения домена use-application-dns.net, который используется браузером для принятия решения включать или нет DNS-over-HTTPS в текущей локальной сети.
  • Настройка browser.tabs.drawInTitlebar (отвечавшая за то, будут ли вкладки размещаться в заголовке окна или в отдельной строке) переименована в browser.tabs.inTitlebar. Кроме того, она стала не логической (true/false), а числовой (0 — вкладки в отдельной строке, 2 — вкладки в заголовке).
  • Включена подмена юзерагента для slack.com, благодаря чему в Firefox начали работать вызовы и конференции, поддержку которых Slack принудительно отключает, обнаружив Firefox.
  • macOS: снижен расход аккумулятора при программном декодировании видео в macOS, особенно в полноэкранном режиме. Кроме того, снижена нагрузка на процессор при обычной работе браузера, а также ускорен запуск.
  • Улучшения для людей с ограниченными возможностями:
    • Пользователям экранного чтеца JAWS и лупы ZoomText больше не требуется переключаться между приложениями после запуска Firefox, чтобы те могли получить доступ к окну браузера.
    • Экранный чтец macOS VoiceOver теперь правильно сообщает о состоянии элементов управления, использующих роль switch.
  • Теперь Firefox доступен в Microsoft Store.
  • HTML:
    • Реализована поддержка глобального атрибута inputmode (позволяет указать браузеру, какой тип виртуальной клавиатуры показать при редактировании элемента: обычная, цифровая и так далее).
    • Добавлена поддержка тега <meta name="color-scheme">, с помощью которого в будущем сайты смогут сигнализировать готовы ли они к автоматической смене цветов браузером (встроенный в браузер аналог дополнений Dark Mode/Dark Reader).
  • CSS:
    • Удалена поддержка -moz-toolbar-prefers-color-scheme.
    • Включена поддержка атрибута size у правил @page.
  • API:
    • Реализована функция Crypto.randomUUID() (возвращает криптографически стойкий 36-символьный UUID).
    • SpeechSynthesisEvent.elapsedTime теперь возвращает значение прошедшего времени в секундах, а не миллисекундах.
  • Инструменты разработчика: добавлена возможность автоматического выбора темы.

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

>>> Все исправленные в этом выпуске ошибки

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

★★★★★

Проверено: sudopacman ()
Последнее исправление: sudopacman (всего исправлений: 6)

Ответ на: комментарий от Legioner

Зато агент Смит там живет как у себя дома.

Qui-Gon ★★★★★
()
Ответ на: комментарий от hobbit

проверенных версий библиотек

Что ты несёшь…

Каштан

anonymous
()

Следующая версия Firefox XP

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

Хотел пошутить «и не логичной», но воздержусь. Почему 0 и 2, а не 0 и 1?

Понадобилось, чтобы настройка могла принимать три значения

To more properly support Linux having a different default at runtime.

https://phabricator.services.mozilla.com/D129004

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

Посмотрел, в Debian bullseye версия firefox-esr-78.15, актуальная версия на мозильном сайте-91.4. Разрабы должны с этим что-то делать. Хотя мне пофиг. Скачал с офф. сайта тарчик, и запускаю с него. Думаю, в Дебиане дропнут поддержку.

Odalist ★★★★★
()

А он теперь может ворочить главный ползунок громкости? Или только всё ещё свой дёргает.

anonymous
()

Внезапно браузер упал.

Вылезло сообщение об отправке краша.

Обновился в фоне, понял я.

Для десктопа готов линукс.

Хайку

fornlr ★★★★★
()

Wayland: исправлены различные проблемы, связанные с перетаскиванием элементов (вкладок, копированием файлов из сети на компьютер), а также с отменой перетаскивания клавишей Esc.

Такое ощущение, что скоро весь прикладной софт под Linux будет решать задачи тулкитов и фреймворков.

А может, это заговор фанатов electron и подобного? Чтобы выбора не было - всё кроме движка браузера заставить работать будет очень трудоёмко и будет требовать усилий толпы квалифицированных программистов.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от deity
/*** Proton Tabs Tweaks ***/
* {
  border-radius: 0 !important;
}

/* Adjust tab corner shape, optionally remove space below tabs */

#tabbrowser-tabs {
    --user-tab-rounding: 0px;
}

.tab-background {
    border-radius: var(--user-tab-rounding) var(--user-tab-rounding) 0px 0px !important;
    margin-block: 1px 0 !important;
}
#scrollbutton-up, #scrollbutton-down { /* 6/10/2021 */
    border-top-width: 1px !important;
    border-bottom-width: 0 !important;
}
/* Container color bar visibility */
.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line {
    margin: 0px max(calc(var(--user-tab-rounding) - 3px), 0px) !important;
}

/* Override Normal Density height to Compact Density height only for tabs */

#TabsToolbar, #tabbrowser-tabs {
    --tab-min-height: 29px !important;
}
    /* Tweak for covering a line at the bottom of the active tab on some themes 8/11/2021 */
#main-window[sizemode="normal"] #toolbar-menubar[autohide="true"] + #TabsToolbar, 
#main-window[sizemode="normal"] #toolbar-menubar[autohide="true"] + #TabsToolbar #tabbrowser-tabs {
    --tab-min-height: 30px !important;
}
#scrollbutton-up,
#scrollbutton-down {
    border-top-width: 0 !important;
    border-bottom-width: 0 !important;
}

    /* [Connected Tabs] Set a max height based on min-height plus margin-block: 1px 0 */
#TabsToolbar, #TabsToolbar > hbox, #TabsToolbar-customization-target, #tabbrowser-arrowscrollbox  {
    max-height: calc(var(--tab-min-height) + 1px) !important;
}
    /* [Connected Tabs] Adjust padding around icons on buttons to avoid crushed images */
#TabsToolbar-customization-target toolbarbutton > .toolbarbutton-icon, 
#TabsToolbar-customization-target .toolbarbutton-text, 
#TabsToolbar-customization-target .toolbarbutton-badge-stack,
#scrollbutton-up,#scrollbutton-down {
    padding-top: 7px !important;
    padding-bottom: 6px !important;
}

/* Inactive tabs: Separator line style */

.tabbrowser-tab:not([selected=true]):not([multiselected=true]):not([beforeselected-visible="true"]) .tab-background {
    border-right: 1px solid var(--lwt-background-tab-separator-color, rgba(0, 0, 0, .20)) !important;
}
/* For dark backgrounds */
[brighttext="true"] .tabbrowser-tab:not([selected=true]):not([multiselected=true]):not([beforeselected-visible="true"]) .tab-background {
    border-right: 1px solid var(--lwt-background-tab-separator-color, var(--lwt-selected-tab-background-color, rgba(255, 255, 255, .20))) !important;
}
.tabbrowser-tab:not([selected=true]):not([multiselected=true]) .tab-background {
    border-radius: 0 !important;
}
/* Remove padding between tabs */
.tabbrowser-tab {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Move container color bar to bottom of tab */

.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line {
    margin-top: calc(var(--tab-min-height) - 2px) !important;
}

/* Emulate blue tab line from Photon 57-88 UI */

/* Set size and position of the bar relative to background */
.tab-background::before {
  content: "";
  display: block;
  height: 3px;
  margin: -1px var(--user-tab-rounding) 0;
}
/* Set color for active tab */
.tabbrowser-tab[selected] .tab-background::before {
  background-color: #0a84ff;
}
/* Set color for other selected tabs */
.tabbrowser-tab[multiselected]:not([selected]) .tab-background::before {
  background-color: color-mix(in srgb, #0a84ff 66%, transparent);
}
/* Set color for hovering on non-active/non-selected tabs */
.tabbrowser-tab:not([selected], [multiselected]):hover .tab-background::before {
  background-color: color-mix(in srgb, currentColor 33%, transparent);
  transform: none;
}
/* [Optional] Animation when hovering non-active/non-selected tabs */
/*
.tabbrowser-tab:not([selected], [multiselected]) .tab-background::before {
  transform: scaleX(.8);
  transition: transform 100ms linear;
}
*/

/* Adjust margin on blue tab line for squared background tabs */
.tabbrowser-tab:not([selected], [multiselected]) .tab-background::before {
  margin: -1px 0 0 !important;
}
Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)

не могу пользоваться с тех пор, как они зачем-то оторвали табы и сделали их висящими кнопками - бесит

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

кстати, а что у нынешнего seamonkey с совместимостью с фаерфоксовыми экстеншенами? я раньше долго им пользовался, пока это не стало совсем невозможным (одно время проект был при смерти), но теперь, смотрю, он нормально себе ожил и развивается.

anonymous
()

Сабж прилетел в Манжаро, полёт пока нормальный.

hobbit ★★★★★
()

В i3 пропала кнопка закрытия браузера, это то, что я заметил.

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

Плюсую. Кнопки ещё и места занимают больше непонятно для чего. Зачем они сделали-то так? Проблему какую надеялись решить или чтоб «модна»?

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

У меня не появилось такого желания.

Просто у меня firefox для тех сайтов которые требуют авторизации: linux.org.ru, freelance.habr.ru, lastfm, unixforum.org....

И в мозилле периодически тупит движок unity он просто зависает.

XoFfiCEr ★★☆☆
()

Включена подмена юзерагента для slack.com, благодаря чему в Firefox начали работать вызовы и конференции, поддержку которых Slack принудительно отключает, обнаружив Firefox.

демонстрация ненужности помойного фаерфокса. когда его уже закопают или переведут на движок хрома?

usi_svobodi
()
Ответ на: комментарий от grem

Я, как обладатель трёх подобных ноутбуков, считаю, что пользоваться там тачскрином так же осмысленно, как десктопной клавиатурой на смартфоне.

Если фирефоксовцы действительно поменяли вид вкладок только ради этого, то олени они, что тут ещё скажешь.

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

демонстрация ненужности помойного фаерфокса

А когда на улице алкан бьёт девушку — это демонстрация ненужности девушки?

hobbit ★★★★★
()

WebUSB реализуйте, ироды. Из-за вас, включающих паникёрство вместо мозга, мне приходится на брейве сидеть. А вы только сопутствуете фрагментации и доминации виндорасов на почве доступа к железякам.

И верните поддержку старого дебаг-протокола наряду с новым, чтоб не приходилось ещё и Waterfox Classic чисто для хобби держать.

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

и даже не пытаться понять сути

Суть в том, что названный выше сервис дискриминирует Firefox, а виноватым в этом у тебя оказывается, внезапно, Firefox.

hobbit ★★★★★
()

На самом деле, надо изучать вопрос. Может быть, слак в своё время отключил поддержку некоторых фич из-за того, что в Firefox что-то было не до конца реализовано или реализовано криво. Возможно, в Firefox это даже давно исправили, а в слаке не чешутся включить обратно.

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

Нашёл: все такие действия по переопределению юзерагента выполняет системное дополнение webcompat, поэтому ищем в коде упоминание слака и по цепочке выходим на объяснение

https://github.com/mozilla-extensions/webcompat-addon/blob/main/src/data/ua_o...https://bugzilla.mozilla.org/show_bug.cgi?id=1727100https://github.com/webcompat/web-bugs/issues/82623https://bugzilla.mozilla.org/show_bug.cgi?id=1626121#c4

To summarize my current understanding: Slack's video conferencing service only support Chrome's non-standard Plan B format for WebRTC calls. And our attempts to talk to Slack about changing that were kindly rejected (we met with them shortly after they had launched the calling feature). And my repeated questions in public events about adding Firefox support were also turned down.

Т.е. действительно в слаке конференции были завязаны на проприетарную реализацию Хрома, при этом разработчики слака полностью игнорировали всякие попытки диалога и просто слали Firefox лесом, видя его юзерагент. В какой-то момент, видимо, они перешли на какое-то стандартизированное решение, но блокировку Firefox убирать не стали. Firefox в этой ситуации может лишь прикинуться Хромом, если разработчики ресурса упёрлись рогом.

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

Интересно. Не знал об этом. Ну, будем посмотреть получается)

ZzaizZ
()
Ответ на: комментарий от hobbit

а ты никогда не думал, что это делается не просто так? это единственный «популярный» мусорный браузер, под который приходится подстраиваться. IE сдох наконец то, осталось дождаться когда сдохнет фаерфокс или перейдет на нормальный движок.

виноватым в этом у тебя оказывается, внезапно, Firefox

именно так. когда страница одинаково работает в chrome/safari/opera/edge/vivaldi, но под сраный фаерфокс приходится делать костыли, то да - виноват в этом именно фаерфокс.

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

«популярный» мусорный браузер

когда страница одинаково работает в <список клонов хрома>, но под сраный <браузер, не являющийся клоном хрома> приходится делать костыли

Отлично, просто отлично. Преданный поклонник Единственно Правильного Движка detected.

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

Когда оно появилось, оно спросило: «а можно отправлять?» и выключено сколько-то времени.

hatred ★★★
()

Платой за это является некоторое общее увеличение потребления памяти

хотелось бы увидеть эксперименты, направленные на уменьшение потребления памяти, даже ценой скорости и безопасности

Ford_Focus ★★★★★
()

В сабже на Fedora 35/Wayland лагает видео с киноварезников (на ютубе не лагает). Это можно как то исправить?

ceeqwer
()

На всех платформах включена изоляция библиотек RLBox, защищающая браузер от уязвимостях в сторонних библиотеках (код потенциально уязвимых библиотек преобразуется в модуль WebAssembly, полномочия которого строго ограничены, а затем модуль компилируется в машинный код и выполняется в изолированном процессе).

Теперь тормозить ещё больше будет? Как-то уже надоела эта погоня за безопасностью.

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

хотелось бы увидеть эксперименты, направленные на уменьшение потребления памяти, даже ценой скорости и безопасности

Для начала надо вырубить использование нескольких процессов и перейти на потоки.

X512 ★★★★★
()

Включена подмена юзерагента для slack.com, благодаря чему в Firefox начали работать вызовы и конференции, поддержку которых Slack принудительно отключает, обнаружив Firefox.

Уеб на который мы заслужили.

Grzegorz

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

Я не понимаю этот максимализм. Вы ведь не о каком-нибудь эксплорере 8 говорите, а об вполне современном и напичканном зондами браузере.

Починил, не благодари.

Grzegorz

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

Увидишь только в фантазиях такое теперь.

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

Доля пользователей firefox составляет аж 3.9%. Им дешевле игнорировать, чем писать кастыли и держать инфраструктуру тестирования для еще одного браузера.

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

Ощущение, что когда люди видят подобные кодексы поведения, у них глаза застилает яростью «как это МНЕ запрещают угрожать насилием и оскорблять!!1». Когда спрашиваешь «а что, стоит ожидать, что ты можешь начать кому-то угрожать?», то что-то невнятно мычат. А, жаль, хотелось бы заранее знать, что член команды способен из-за какой-то виртуальной обиды начать писать что-то типа «я вырежу тебя и твою семью, тварь».

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

Хоть кто-то почитал как RLBox работает? ))

Он компилирует нативную либу в WebAssembly через сам clang. Потом через wasm2c компилирует уже бинарный wasm модуль в… лапшу на С. Она компилируется второй раз clang в натив с оптимизациями какие сможет. Таким образом в бинарниках Firefox не нужно шиппить wasm модули. Прогонка через wasm вроде бы добавит гарантий о том к тому как кед получает доступ к памяти и стеку.

Сама библиотека помогает все это делать прозрачно на уровне интерфейсов вызова, гонять память между нативными модулями и переколбашеными.

Вот такие пироги.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.