Рэліз Firefox 78

Адбыўся рэліз web-браўзэра Firefox 78, а таксама мабільнай версіі Firefox 68.10 для платформы Android. Выпуск Firefox 78 аднесены да катэгорыі галінак з працяглым тэрмінам падтрымкі (ESR), абнаўленні для якіх выпускаюцца на працягу года. Акрамя таго, сфарміравана абнаўленне мінулай галінкі з працяглым тэрмінам падтрымкі 68.10.0 (у далейшым чакаецца яшчэ два абнаўленні 68.11 і 68.12). У бліжэйшы час на стадыю бэта-тэставанні пяройдзе галінка Firefox 79, рэліз якой намечаны на 28 ліпеня.

Асноўныя навіны:

  • Пашыраная зводная старонка (Protections Dashboard) са справаздачамі аб эфектыўнасці працы механізмаў абароны ад адсочвання перасоўванняў, праверкі кампраметацыі уліковых дадзеных і кіраванні паролямі. У новым выпуску з'явілася магчымасць прагледзець статыстыку выкарыстання скампраметаваных уліковых дадзеных, а таксама адсачыць магчымыя перасячэння захаваных пароляў з вядомымі ўцечкамі карыстацкіх баз. Праверка ажыццяўляецца праз інтэграцыю з базай дадзеных праекта haveibeenpwned.com, у якую ўваходзяць звесткі аб 9.7 мільярдах уліковых запісаў, выкрадзеных у выніку ўзломаў 456 сайтаў. Зводка падаецца на старонцы «about:protections» або праз меню, якое выклікаецца праз клік на значок шчыта ў адрасным радку (замест Show Report зараз паказваецца Protections Dashboard).
    Рэліз Firefox 78

  • У Uninstaller дададзена кнопка «абнавіць Firefox«, якая дазваляе скінуць у зыходны стан наладкі і выдаліць усе дадаткі без страты назапашаных дадзеных. У выпадку праблем карыстачы часта спрабуюць вырашыць іх пераўсталёўкай браўзэра. Кнопка Refresh дазволіць дамагчыся падобнага эфекту не страціўшы закладкі, гісторыю наведванняў, захаваныя паролі, Cookie, падлучаныя слоўнікі і дадзеныя для аўтазапаўнення формаў (пры націску кнопкі ствараецца новы профіль і ў яго пераносяцца паказаныя БД). Пасля націску Refresh будуць страчаныя дадаткі, тэмы афармлення, звесткі аб правах доступу, падлучаныя пошукавыя рухавічкі, лакальныя DOM-сховішчы, сертыфікаты, змененыя наладкі, прыстасаваныя стылі (userChrome, userContent).
    Рэліз Firefox 78

  • У паказванае для ўкладак кантэкстнае меню дададзены элементы для адмены зачынення некалькіх укладак, а таксама для зачынення ўкладак справа ад бягучай і зачыненні ўсіх укладак, акрамя бягучай.

    Рэліз Firefox 78

  • Забяспечана адключэнне спрацоўвання захавальніка экрана падчас ажыццяўлення відэазванкоў і канферэнцый на базе WebRTC.
  • На платформе Windows для GPU Intel пры любых дазволу экрана ўключаная сістэма кампазітынга WebRender, напісаная на мове Rust і якая дазваляе дамагчыся істотнага павелічэння хуткасці адмалёўкі і зніжэнні нагрузкі на CPU. WebRender выносіць на бок GPU аперацыі адмалёўкі змесціва старонкі, якія рэалізаваны праз выкананыя ў GPU шэйдары. Раней WebRender быў уключаны на платформе Windows 10 для GPU Intel пры выкарыстанні невялікіх экранных дазволаў, а таксама на сістэмах з APU AMD Raven Ridge, AMD Evergreen і на наўтбуках з відэакартамі NVIDIA. У Linux WebRender пакуль актывуецца для карт Intel і AMD толькі ў начных зборках, і не падтрымліваецца для карт NVIDIA. Для прымусовага ўключэння ў about:config варта актываваць налады "gfx.webrender.all" і "gfx.webrender.enabled" або запусціць Firefox з выстаўленай зменнай асяроддзі MOZ_WEBRENDER=1.
  • Да 100% даведзена доля карыстальнікаў з Вялікабрытаніі, для якіх на старонцы новай укладкі ўключана адлюстраванне кантэнту, рэкамендаванага сэрвісам Pocket. Раней падобныя старонкі паказвалася толькі карыстальнікам з ЗША, Канады і Нямеччыны. Аплачаныя фундатарамі блокі паказваецца толькі ў ЗША і відавочна пазначаныя як рэклама. Звязаная з падборам кантэнту персаналізацыя выконваецца на баку кліента і без перадачы звестак аб карыстальніку трэцім асобам (у браўзэр загружаецца ўвесь спіс рэкамендаваных спасылак на бягучы дзень, які ранжыруецца на баку карыстальніка, адштурхваючыся ад дадзеных гісторыі наведванняў). Для адключэння рэкамендаванага Pocket кантэнту прадугледжана налада ў канфігуратары (Firefox Home Content / Recommended by Pocket) і опцыя "browser.newtabpage.activity-stream.feeds.topsites" у about:config.
  • Уключаны патчы, якія ўплываюць на прадукцыйнасць і стабільнасць апаратнага паскарэння дэкадавання відэа пры дапамозе VA-API (падтрымліваецца толькі ў асяроддзі на базе Wayland).
  • Падвышаныя патрабаванні да сістэмных кампанентаў Linux. Для запуску Firefox у Linux зараз патрабуецца прынамсі Glibc 2.17, libstdc++ 4.8.1 і GTK+ 3.14.
  • Прытрымліваючыся плана па спыненні падтрымкі састарэлых крыптаалгарытмаў па змаўчанні адключаныя ўсе наборы шыфраў TLS на базе DHE (TLS_DHE_*, пратакол абмену ключоў Дыфі - Хеллмана). Для зніжэння магчымага негатыўнага ўплыву ад адключэння DHE дададзена два новыя наборы шыфраў AES-GCM на базе SHA2.
  • Адключана падтрымка пратаколаў TLS 1.0 і TLS 1.1. Для звароту да сайтаў па абароненым канале сувязі сервер павінен падаць падтрымку прынамсі TLS 1.2. Па дадзеных Google у наш час каля 0.5% загрузак web-старонак працягвае ажыццяўляцца з выкарыстаннем састарэлых версій TLS. Адключэнне праведзена ў адпаведнасці з рэкамендацыямі IETF (Internet Engineering Task Force). Причиной отказа от поддержки TLS 1.0/1.1 является отсутствие поддержки современных шифров (например ECDHE и AEAD) и требование поддержки старых шифров, надёжность которых на современном этапе развития вычислительной техники поставлена ​​под сомнение (например, требуется поддержка TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, для проверки целостности и аутентификации используется MD5 і SHA-1). Вярнуць магчымасць працы з састарэлымі версіямі TLS можна праз наладу security.tls.version.enable-deprecated = true або пры дапамозе кнопкі на старонцы з памылкай, якая выводзіцца пры заходзе на сайт са старым пратаколам.
  • Істотна палепшана якасць працы з экраннымі рыдэрамі для людзей з парушэннем зроку (вырашыліся праблемы з пазіцыянаваннем курсора, ліквідаваны падвісанні, паскорана апрацоўка вельмі вялікіх табліц і да т.п.). Для карыстальнікаў з мігрэнню і эпілепсіяй скарочаныя анімацыйныя эфекты, такія як падсвятленне ўкладак і пашырэнне пошукавай панэлі.
  • Для прадпрыемстваў у групавыя палітыкі дабаўлены новыя правілы для настройкі знешніх дадаткаў-апрацоўшчыкаў, адключэння рэжыму карцінка-ў-карцінцы, абавязковасці задання майстар-пароля.
  • У JavaScript-рухавічку SpiderMonkey абноўлена падсістэма апрацоўкі рэгулярных выразаў, якая сінхранізаваная з рэалізацыяй з JavaScript-рухавічка V8, які ўжываецца ў браўзэрах на аснове праекту Сhromium. Змена дазволіла рэалізаваць падтрымку наступных магчымасцяў, звязаных з рэгулярнымі выразамі:
    • Найменныя групы дазваляюць звязаць супастаўленыя рэгулярным выразам часткі радка з пэўнымі імёнамі замест парадкавых нумароў супадзенняў (напрыклад, замест "/(\d{4})-(\d{2})-(\d{2})/" можна паказаць "/( ? \d{4})-(? \d{2})-(? \d{2})/» і атрымаць доступ да года не праз result[1], а праз result.groups.year).
    • Экранаванне класаў Unicode-знакаў дадае канструкцыі \p{…} і \P{…}, напрыклад, \p{Number} вызначае ўсе магчымыя знакі з выявай лічбаў (уключаючы знакі выгляду ①), \p{Alphabetic} - літары (у тым ліку іерогліфы ), \p{Math} - матэматычныя сімвалы і да т.п.
    • сцяг dotAll прыводзіць да спрацоўвання маскі "." у тым ліку для сімвалаў перакладу радка.
    • рэжым Lookbehind дазваляе вызначыць у рэгулярным выразе, што адзін шаблон папярэднічае іншаму (напрыклад, супаставіць суму ў далярах без захопу знака даляра).
  • Рэалізаваны псеўдакласы CSS :ёсць() и :дзе() для прывязкі CSS-правілаў да набору селектараў. Напрыклад, замест

    header p:hover, main p:hover, footer p:hover {…}

    можна пазначыць

    :is(header, main, footer) p:hover {…}

  • Уключаны псеўдакласы CSS :толькі для чытання и :чытаць-пісаць для прывязкі да элементаў формаў (input або textarea), якія забаронена ці дазволена рэдагаваць.
  • Дададзена падтрымка метаду Intl.ListFormat() для стварэння лакалізаваных спісаў (напрыклад, замены "or" на "ці", "and" на "і").

    const lf = new Intl.ListFormat('en');
    lf.format(['Frank', 'Christine', 'Flora']);
    // → 'Frank, Christine, and Flora'
    // пры лакалі "ru" будзе 'Frank, Christine і Flora'

  • У метад Intl.NumberFormat дададзена падтрымка фарматавання адзінак вымярэння, валют, навуковых і кампактных пазначэнняў (напрыклад, «Intl.NumberFormat('en', {style: 'unit', unit: 'meter-per-second'}»);
  • Дададзены метад ParentNode.replaceChildren(), які дазваляе замяніць або ачысціць існуючы даччыны вузел.
  • У ESR-галінцы ўключана падтрымка Service worker і Push API (у мінулым ESR-выпуску яны былі адключаныя).
  • У WebAssembly дададзеная падтрымка імпарту і экспарту 64-разрадных цэлых параметраў функцыі, выкарыстоўваючы JavaScript-тып BigInt. Для WebAssembly таксама рэалізавана пашырэнне Multi-value, якое дазваляе функцыі вяртаць больш за аднаго значэння.
  • У кансолі для web-распрацоўнікаў забяспечана дэталізаванае часопісаванне памылак, злучаных з Promise, уключаючы звесткі аб імёнах, стэках і ўласцівасцях, што істотна спрашчае разбор памылак пры выкарыстанні такіх фрэймворкаў, як Angular.

    Рэліз Firefox 78

  • У прыладах для web-распрацоўнікаў значна падвышаная прадукцыйнасць навігацыі па DOM пры інспектаванні сайтаў, на якіх выкарыстоўваецца вельмі шмат CSS-уласцівасцяў.
  • У адладчыку JavaScript рэалізаваная магчымасць расчынення скарочаных імёнаў зменных на аснове source-map пры выкарыстанні кропак часопісавання (Log points), якія дазваляюць у момант спрацоўвання пазнакі скідаць у web-кансоль інфармацыю аб нумары радка ў кодзе і значэннях зменных.
  • У інтэрфейсе інспектавання сеткі дададзены звесткі аб дадатках, механізмах абароны ад адсочвання і CORS-абмежаваннях (Cross-Origin Resource Sharing), якія сталі прычынай блакіроўкі запыту.
    Рэліз Firefox 78

Акрамя навін і выпраўленні памылак у Firefox 78
ліквідавана серыя ўразлівасцяў, З якіх некалькі пазначаныя як крытычныя, г.зн. могуць прывесці да выканання кода зламысніка пры адкрыцці спецыяльна аформленых старонак. Цяпер інфармацыя з падрабязнасцямі аб выпраўленых праблемах бяспекі недаступная, чакаецца, што пералік уразлівасцей будзе апублікаваны на працягу некалькіх гадзін.

Крыніца: opennet.ru

Дадаць каментар