Релиз на Firefox 72

Състоянието на релиза на уеб браузъра Firefox 72, както и мобилната версия Firefox 68.4 за платформата Android. Освен това, е формулирано обновление клон с дългосрочна поддръжка 68.4.0. В близко бъдеще ще премине на етапа бета тестване преминава в клон Firefox 73, чийто релиз е насрочен за 11 февруари (проект премина към 4-седмичен цикъл на разработка).

Основни нововъведения:

  • в прилагания по подразбиране стандартен режим за блокиране на нежелано съдържание включена за защита от проследяване на потребителите с помощта на методи за скриваща идентификация („browser fingerprinting“), която се осъществява по допълнителни категории в списъка на Disconnect.me, включващ хостове, уличени в използване на скриптове за скриваща идентификация. Под скриваща идентификация се подразбира съхраняване на идентификатори в области, не предназначени за постоянно съхранение на информация („Supercookies“), както и генериране на идентификатори на базата на косвени данни, като резолюцията на екрана, списък на поддържаните MIME типове, специфични параметри в заглавките (HTTP/2 и HTTPS), анализ на инсталираните плъгини и шрифтове, наличността на определени Web API, специфични за видео картите характеристики визуализации с помощта на WebGL и Canvas, манипулации с CSS, анализ на особеностите при работа с мишка и клавиатура.
    Релиз на Firefox 72
  • Активирани методи борба с досадни искания за предоставяне на сайта допълнителни права (Notification.requestPermission(), PushManager.subscribe() и MediaDevices.getDisplayMedia()). Исканията за потвърждаване на правата вече няма да прекъсват работата с браузера, а просто ще водят до показване на индикатор в адресната лента след като се регистрира взаимодействие на потребителя със страницата (клик с мишката или натискане на клавиши). Много сайтове злоупотребяват с предоставяната в браузерите възможност за искане на разрешения, главно чрез периодично показване на искания за получаване на push уведомления. Анализ на телеметрията показа, че 97% от подобни искания се отхвърлят, включително в 19% от случаите потребителят незабавно затваря страницата, без да натиска бутона за съгласие или отхвърляне.
  • Добавена е експериментална подкрепа протокол HTTP/3 (за активиране в about:config трябва да се зададе опцията „network.http.http3.enabled“). Поддръжката на HTTP/3 в Firefox е основана на neqo, написана на езика Rust реализация на клиента и сървъра на протокола QUIC (HTTP/3 стандартизира използването на протокола QUIC като транспорт за HTTP/2).
  • В съответствие с изискванията на влязлия в сила закон CCPA (California Consumer Privacy Act) е добавена възможността за изтриване на данни от телеметрията от сървърите на Mozilla. Изтриването на данните се извършва в случай на отказ от събиране на телеметрия в секцията „about:preferences#privacy“ („Firefox Data Collection and Use“). При снягане на отметката „Allow Firefox to send technical and interaction data to Mozilla“, управляваща изпращането на телеметрията, Mozilla се задължава в рамките на 30 дни да изтрие всички данни, събрани до момента на отказа за предаване на телеметрия. От данните, които остават на сървърите на Mozilla в процеса на събиране на телеметрия, се отбелязва информация за производителността, безопасността на Firefox и общите параметри, като брой отворени табове и продължителност на сесиите (информация за отваряните сайтове и търсения не се предава). Пълна информация за събираните данни можете да видите на страницата «about:telemetry».
    Релиз на Firefox 72
  • За Linux и macOS е добавена възможността за преглед на видео в режим «картинка в картинка» (Picture-in-Picture), който позволява отделянето на видеото в плаваещ прозорец, който остава видим по време на навигация в браузъра. За преглед в този режим е необходимо да натиснете на изскачащото подсказване или в контекстното меню, което се показва при щракане с десния бутон на мишката върху видеото, и да изберете «Picture in picture» (в YouTube, който вмъква собствен обработчик на контекстното меню, е необходимо да щракнете два пъти с десния бутон на мишката или да щракнете, като задържите клавиша Shift).

    Релиз на Firefox 72
  • При показване на лентата за превъртане macOS: За всички прозорци на цял екран цвета на фона на текущата страница.
  • от инструменталната лента, ако не е използвана в продължение на 120 дни (някога беше включена по подразбиране и след това беше запазена в много стари профили, въпреки че потребителите на тези профили вече не я ползват). възможността привързване на публични ключове (PKP, Public Key Pinning), позволяващо чрез HTTP заглавието Public-Key-Pins ясно да се определи кои удостоверяващи центрове са разрешени да се използват за зададения сайт. Като причина се посочва ниското търсене на тази функция, рискът от проблеми с съвместимостта (поддръжка на PKP е прекратена в Chrome) и възможността да блокирате собствения си сайт поради привързването на неверни ключове или загуба на ключове (например, случайно изтриване или компрометиране в резултат на хакерство).
  • В състава приети пачове, позволяващи в OpenBSD да се ангажират системни повиквания unveil() и pledge() за допълнителна изолация на файловата система и процесите.
  • Поддръжката на блокиране на изображения от отделни домейни е премахната. Като причина за премахването се посочва, че функцията не е била търсена от потребителите и неудобният интерфейс за блокиране.
  • В сборките за Windows е реализирана експериментална възможност за използване на клиентски сертификати от общото хранилище на сертификати на операционната система (за включване в about:config е необходимо да се активира опцията security.osclientcerts.autoload).
  • Поддръжката на CSS Shadow Parts е активирана по подразбиране, включително атрибутът «part» и псевдоелементът «::part«, позволяващи селективно показване на зададени елементи от Shadow DOM.

    <custom-element>
    <p part="»example»">Параграф</p>
    </custom-element>

    … в CSS за избор на елементи, свързани с атрибута part:

    custom-element::part(example) {
    border: solid 1px black;
    border-radius: 5px;
    padding: 5px;
    }

  • Добавена е поддръжка за спецификация CSS Motion Path, позволяваща определяне на траекторията на движение на анимационни обекти чрез CSS без използване на JavaScript код и без блокиране на процеса на рендериране и вход по време на показване на анимацията. За управление на анимацията са представени CSS свойства
    offset,
    offset-path,
    offset-anchor,
    offset-distance и
    offset-rotate.
  • По подразбиране са активирани отделни CSS свойства за трансформация масштаб, вращение и преместване, не свързани със свойството трансформация (т.е. в CSS вече можете да зададете «scale: 2;» вместо «transform: scale(2);»).
  • В JavaScript е реализиран логически оператор за обединение «??«, който връща десния операнд, ако левият операнд е NULL или undefined, и обратно. Например, «const foo = bar ?? ‘default string'», ако bar е null, ще върне стринг или стойността на bar в противен случай, включително когато bar е 0 и ‘ ‘, за разлика от оператора «||».
  • Добавен API FormDataEvent и събитието FormData, които предоставят възможност за използване на обработчици на JavaScript за добавяне на данни в формата по време на нейното изпращане, без да е необходимо да се запазват данните в скрити елементи input.
  • API Geolocation е актуализиран да отговаря на новата спецификация, например, Coordinates е преименуван на GeolocationCoordinates, Position на GeolocationPosition и
    PositionError на GeolocationPositionError.
  • В отладчика на JavaScript е добавена е добавена поддръжка на условни точки на спиране (watchpoint) на базата на промяна или четене на определени свойства на обекти.

    Релиз на Firefox 72
  • Стартирането на отладчика на JavaScript е ускорено при отворени много табове (приоритетът сега е за видимите табове).
  • В Режима на отзивчив дизайн е реализирана симулация на различни стойности на meta viewport. В режима на инспектиране на страници е добавен симулатор на стойности «prefers-color-scheme».
  • В web консолите в многостранен режим на интерпретация на JavaScript е добавена поддръжка за запазване и отваряне на файлове с комбинации Ctrl + O и Ctrl + S.
  • Добавена е настройка javascript.options.asyncstack за визуално разделение на асинхронни съобщения в web консолите. Когато настройката е активирана, за console.trace() и console.error() се извежда пълен стек на извикванията на асинхронни операции, позволяващ да се разбере планирането на стартиране на таймери, събития, promise, генератори и т.н.

    Релиз на Firefox 72
  • В режима на инспектиране WebSocket е реализиран анализ и визуално представяне на метаданни във формата SignalR, използвано в съобщенията на ASP.NET Core. Също така, са добавени броячи, показващи общия размер на предадените и получени данни.
  • В инструмента за мониторинг на мрежовата активност на раздела Timings са показани отделно данни за време за опашка за заведение, начало на зареждане и завършване на зареждането на всеки ресурс.
  • От инструментите за web разработчици е изключена среда Scratchpad, предназначено за експерименти с JavaScript (многостреченият режим на уеб конзолата е новината, която замени Scratchpad от предишната версия).

Освен новостите и корекциите на грешки, във Firefox 72 са отстранени 20 уязвимости, от които 11 (събрани под CVE-2019-17025 и CVE-2019-17024) са маркирани като потенциално способни да доведат до изпълнение на злонамерен код при отваряне на специално оформени страници. Припомняме, че проблемите с паметта, като препълване на буфери и достъп до вече освобождавани области на паметта, отскоро се обозначават като опасни, но не критични. Особено внимание заслужава проблемът CVE-2019-17017 в кода на XPCVariant.cpp, който също потенциално може да доведе до изпълнение на код.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster