Рэліз Firefox 75

Адбыўся рэліз web-браўзэра Firefox 75, а таксама мабільнай версіі Firefox 68.7 для Android платформы. Акрамя таго, сфарміравана абнаўленне галінкі з працяглым тэрмінам падтрымкі 68.7.0. У бліжэйшы час на стадыю бэта-тэставанні пяройдзе галінка Firefox 76, рэліз якой намечаны на 5 мая (праект перайшоў на 4-5-тыднёвы цыкл распрацоўкі).

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

  • Для Linux пачалося фармаванне афіцыйных зборак у фармаце Flatpak.
  • Абноўлена афармленне адраснага радка. Пры кліку на адрасным радку зараз без неабходнасці пачатку набору адразу адлюстроўваецца выпадальны спіс найболей часта выкарыстоўваных спасылак. Падказка з вынікамі пошуку аптымізавана для больш якаснай працы на невялікіх экранах. У вобласці кантэкстных рэкамендацый забяспечаны выснова падказак па рашэнні тыпавых праблем, якія ўзнікаюць пры працы з браўзэрам.

    Спынена адлюстраванне пратакола https:// і паддамена "www." у выпадальным блоку спасылак, які адлюстроўваецца падчас набору ў адрасным радку (напрыклад, адрозныя па змесцівам https://opennet.ru і https://www.opennet.ru стануць неадрозныя). Пратакол http:// паказваецца ў выніках пошуку без змен.

    Рэліз Firefox 75

  • Для Linux зменены паводзіны пры кліку ў адрасным радку (зроблена як у Windows і macOS) - адзіночны клік вылучае ўсё змесціва без памяшкання ў буфер абмену, падвойны клік вылучае адно слова, патройны клік вылучае ўсё змесціва і змяшчае ў буфер абмену.
  • Рэалізавана магчымасць не загружаць выявы, якія знаходзяцца па-за бачнай вобласці, датуль, пакуль карыстач не пракруціць змесціва старонкі ў месца, непасрэдна папярэдняе малюнку. Для кіравання адкладзенай загрузкай старонак у тэг «img» дададзены атрыбут «пагрузка", які можа прымаць значэнне "lazy". Мяркуецца, што адкладзеная загрузка дазволіць скараціць спажыванне памяці, зменшыць трафік і павялічыць хуткасць пачатковага адкрыцця старонак. Для кіравання адкладзенай загрузкай у about:config дададзены параметр "dom.image-lazy-loading.enabled".
  • Рэалізавана паўнавартасная падтрымка WebGL у асяроддзі, выкарыстоўвалых пратакол Wayland. Да гэтага часу ўзровень прадукцыйнасці WebGL у Linux-зборках Firefox пакідаў жадаць лепшага з-за адсутнасці падтрымкі апаратнага паскарэння, з прычыны праблем з gfx-драйверамі для X11 і прымянення розных стандартаў. Пры выкарыстанні Wayland сітуацыя змянілася дзякуючы з'яўленню новага бэкенда, які выкарыстоўвае механізм ДМАБУФ. Акрамя апаратнага паскарэння WebGL бэкэнд таксама дазволіў рэалізаваць падтрымку паскарэння дэкадавання відэа H.264 з выкарыстаннем VA-API (Video Acceleration API) і FFmpegDataDecoder (падтрымка VP9 і іншых фарматаў кадавання відэа чакаецца у Firefox 76). Для кіравання уключэннем паскарэння ў about:config прапанаваны параметры "widget.wayland-dmabuf-webgl.enabled" і "widget.wayland-dmabuf-vaapi.enabled".
  • Для карыстальнікаў з Вялікабрытаніі ўключана адлюстраванне аплачаных спонсарамі блокаў на стартавай старонцы ў раздзеле рэкамендаванага сэрвісам Pocket кантэнту. Блокі відавочна пазначаныя як рэклама і адключаны ў наладах. Раней рэклама паказвалася толькі карыстальнікам з ЗША.
  • Рэалізаваны рэжым ачысткі старых Cookie і дадзеных сайта пры звароце да сайтаў з кодам адсочвання перасоўванняў, з якімі карыстач інтэрактыўна не ўзаемадзейнічаў. Рэжым накіраваны на барацьбу з адсочваннем праз рэдырэкты.
  • пачалася рэалізацыя мадальных дыялогаў, прывязаных да асобных укладак і не якія блакуюць увесь інтэрфейс.

    Рэліз Firefox 75

  • Дададзена магчымасць усталёўкі і адкрыцці сайтаў у форме прыкладанняў (Apps), якія дазваляюць арганізаваць працу з сайтам як з звычайнай настольнай праграмай. Для ўключэння ў about:config неабходна дадаць наладу «browser.ssb.enabled=true», пасля чаго ў кантэкстным меню дзеянняў са старонкай (шматкроп'е ў адрасным радку) з'явіцца пункт «Install Website as App», які дазваляе размясціць на працоўным стале або ў меню прыкладанняў ярлык для адасобленага адкрыцця бягучага сайта. Распрацоўка працягвае развіццё канцэпцыі «Site Specific Browser» (SSB), якая разумее адкрыццё сайта ў асобным акне без меню, адраснага радка і іншых элементаў інтэрфейсу браўзэра. У бягучым акне адкрываюцца толькі спасылкі на старонкі актыўнага сайта, а пераход па знешніх спасылках прыводзіць да стварэння асобнага акна са звычайным браўзэрам.
    Рэліз Firefox 75

  • Пашырана рэалізацыя рэжыму «nosniff«, які актывуецца праз HTTP-загаловак «X-Content-Type-Options», які зараз адключае і логіку аўтаматычнага вызначэння MIME-тыпаў для HTML-дакументаў, а не толькі для JavaScript і CSS. Рэжым дапамагае абараніцца ад нападаў, злучаных з маніпуляцыяй MIME-тыпамі. Браўзэр па змаўчанні аналізуе тып апрацоўванага кантэнту і апрацоўвае яго ў залежнасці ад вызначанага тыпу. Напрыклад, калі ў файл ".jpg" захаваць HTML-код, то пры адкрыцці дадзены файл будзе апрацаваны як HTML, а не як малюнак. Атакуючы можа выкарыстоўваць форму загрузкі малюнкаў для jpg-файла, які ўключае html з JavaScript-кодам, пасля чаго апублікаваць спасылку на гэты файл, пры прамым адкрыцці якога JavaScript-код будзе выкананы ў кантэксце сайта на які праведзена загрузка (можна вызначыць cookie і іншыя прывязаныя да сайту дадзеныя карыстальніка, які адкрыў спасылку).
  • Забяспечана лакальнае кэшаванне ўсіх годных даверу PKI-сертыфікатаў якія сведчаць цэнтраў, вядомых Mozilla, што дазволіла палепшыць сумяшчальнасць з некарэктна наладжанымі web-серверамі.
  • На старонках адчыненых па HTTP без шыфравання забаронена выкарыстанне API Web Crypto.
  • Для Windows рэалізаваны рэжым прамога кампазітынгу (Direct Composition), які дазваляе падвысіць прадукцыйнасць і наблізіць укараненне сістэмы кампазітынгу WebRender, напісанай на мове Rust і якая выносіць на бок GPU аперацыі адмалёўкі змесціва старонкі.
  • Для macOS рэалізаваная эксперыментальная магчымасць выкарыстання кліенцкіх сертыфікатаў з агульнага сховішча сертыфікатаў аперацыйнай сістэмы (для ўключэння ў about:config трэба актываваць опцыю security.osclientcerts.autoload). Пачынальна з Firefox 72 паказаная магчымасць была даступная толькі для Windows.
  • Следам за Linux у зборках для macOS задзейнічаны механізм ізаляцыі RLBox, нацэлены на блакіраванне эксплуатацыі ўразлівасцяў у іншых бібліятэках функцый. На дадзеным этапе ізаляцыя ўключана толькі для бібліятэкі. графітавых, якая адказвае за адмалёўку шрыфтоў. RLBox выконвае кампіляцыю C/C++ кода ізаляванай бібліятэкі ў нізкаўзроўневы прамежкавы код WebAssembly, які затым афармляецца ў выглядзе WebAssembly-модуля, паўнамоцтвы якога задаюцца ў прывязцы толькі да гэтага модуля. Сабраны модуль працуе ў асобнай вобласці памяці і не мае доступу да астатняй адраснай прасторы. У выпадку эксплуатацыі ўразлівасці ў бібліятэцы атакавалы будзе абмежаваны і не зможа звярнуцца да абласцей памяці асноўнага працэсу або перадаць кіраванне па-за ізаляваным асяроддзем.
  • Атрыбут "type" у элеменце теперь может принимать только значение «text/css».
  • У CSS рэалізаваны функцыі мін(), максімум() и clamp().
  • Для CSS-уласцівасці text-decoration-skip-ink рэалізаваная падтрымка значэння «all», якое загадвае абавязковы разрыў лініі падкрэслення і закрэсліванні пры скрыжаванні з тэкставымі гліфамі (раней ужывальнае значэнне «auto» адаптыўна фармавала парывы ​​і не выключала дотыкаў, пры значэнні all дотыку з гліфам цалкам забароненыя).
  • У JavaScript уключана падтрымка публічных статычных палёў для асобнікаў класаў JavaScript, якія дазваляюць паказваць загадзя вызначаныя ўласцівасці, якія ініцыялізуюцца па-за канструктарам.

    class ClassWithStaticField {
    static staticField = 'static field'
    }

  • Дададзена падтрымка класа Intl.Locale, які прадстаўляе метады для разбору і апрацоўкі выстаўляюцца лакаллю параметраў мовы, рэгіёна і напісання, а таксама для чытання і запісы тэгаў пашырэнняў Unicode і захавання карыстацкіх налад лакалі ў серыялізаваным фармаце;
  • Рэалізацыя ўласцівасці Function.caller прыведзена ў адпаведнасць з апошнім чарнавым варыянтам новай спецыфікацыі ECMAScript (замест TypeError зараз выдаецца null, калі выклік ажыццёўлены з функцыі з атрыбутам strict, async ці generator).
  • У HTMLFormElement дададзены метад requestSubmit(), які ініцыюе праграмную адпраўку дадзеных формы па аналогіі з клікам на кнопку адпраўкі дадзеных. Функцыя можа ўжывацца пры распрацоўцы ўласных кнопак адпраўкі формы, для якіх выкліку form.submit() нядосыць з-за таго, што ён не прыводзіць да інтэрактыўнай праверкі параметраў, генерацыі падзеі 'submit' і перадачы дадзеных, прывязаных да кнопкі адпраўкі.
  • Падзея submit зараз рэалізуецца аб'ектам з тымпам SubmitEvent, а не Event. SubmitEvent уключае новыя ўласцівасці, якія дазваляюць пазнаць элемент, выклік якога прывёў да адпраўкі формы. Напірмер, SubmitEvent дае магчымасць выкарыстоўваць адзін апрацоўшчык, агульны для розных кнопак і спасылак, якія прыводзяць да адпраўкі формы.
  • Рэалізавана карэктная перадача падзеі аб кліку пры выкліку метаду click() для адлучаных элементаў (якія не з'яўляюцца часткай дрэва DOM).
  • У API Вэб-анімацыя дададзена магчымасць прывязкі анімацыі да пачатковага ці завяршальнага ключавога кадра і браўзэр сам вылічыць фінальнае ці пачатковае стан (досыць паказаць толькі першы ці апошні ключавы кадр). Уключаны па змаўчанні Animation.timeline getter, Document.timeline, DocumentTimeline, AnimationTimeline, Document.getAnimations() і Element.getAnimations().
  • Дададзена магчымасць актывацыі інтэрфейсу прафілявання старонак без усталёўкі асобнага дадатку, праз націск кнопкі «Enable Profiler Menu Button» на сайце profiler.firefox.com. Дададзены рэжым аналізу прадукцыйнасці толькі актыўнай укладкі.
  • У web-кансолі з'явіўся рэжым імгненнага вылічэння выразаў, які дазваляе распрацоўнікам хутчэй выяўляць і выпраўляць памылкі пры ўводзе складаных выразаў за рахунак высновы папярэдняга выніку па меры набору.
  • В інструменце для вымярэння абласцей старонкі (Measuring Tool) дададзена магчымасць змены памеру прастакутнай рамкі (раней, калі адпусціць клавішу мышы, рамку немагчыма было змяніць і ў выпадку недакладнага навядзення прыходзілася вымяраць з нуля).
  • У інтэрфейсе інспектавання старонак дададзеная падтрымка пошуку элементаў пры дапамозе выразаў XPath у дадатак да раней даступнага пошуку пры дапамозе селектараў CSS.
  • Дададзена магчымасць фільтрацыі паведамленняў WebSocket пры дапамозе рэгулярных выразаў (раней падтрымліваліся толькі тэкставыя маскі).
  • У JavaScript-адладчыку дададзеная падтрымка прывязкі кропак супыну да апрацоўшчыкаў падзей WebSocket.
  • Праведзена чыстка інтэрфейсу для аналізу сеткавай актыўнасці. Аптымізавана адмалёўка табліц ва ўмовах адначасовай апрацоўкі вялікай колькасці злучэнняў. Зроблены больш кантраснымі падзельнікі слупкоў і кнопкі для прымянення фільтраў. У панэлі блакавання сеткавых запытаў рэалізаваная магчымасць выкарыстання знака "*" у масках URL (дазваляе ацаніць паводзіны сайта ва ўмовах збою загрузкі рэсурсаў).

    Рэліз Firefox 75

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

Крыніца: opennet.ru

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