Излезе уеб браузърът Firefox 88. Освен това беше издадено обновление на дългосрочната поддръжка 78.10.0. В скоро време бета-тестът на Firefox 89 ще започне, с пускане, предвидено за 1 юни.
Основни нововъведения:
- В PDF рутера е добавена подкрепа за интегрирани в PDF файлове формуляри за въвеждане, в които за интерактивна комуникация с потребителя се използва JavaScript.
- Въведено е ограничение за честотата на показване на искания за достъп до микрофон и камера. Подобни искания няма да се показват, ако през последните 50 секунди потребителят вече е предоставил достъп до същото устройство, за същия сайт и в същата раздел.
- Инструментът за създаване на екранни снимки е премахнат от менюто „Page Actions“, показвано при клик върху трите точки в адресната лента. Препоръчва се за създаване на екранни снимки да се използва съответният инструмент от контекстното меню, показвано при десен клик или да се постави пряк път на панела чрез интерфейса за настройване на външния вид.

- Добавена е поддръжка за мащабиране с щипки на тъчпадове в Linux с графични среди, базирани на протокол Wayland.
- В системата за печат е извършена локализация на единиците за измерване, използвани за задаване на полета.
- При стартиране на Firefox в среди Xfce и KDE е активирано използването на WebRender композиторен двигател. В Firefox 89 се очаква включване на WebRender за всички останали потребители на Linux, включително всички версии на Mesa и системи с NVIDIA драйвери (по-рано WebRender беше включен само за GNOME с Intel и AMD драйвери). WebRender е написан на Rust и позволява значително увеличение на скоростта на рендериране и намаляване на натоварването на CPU чрез прехвърляне на графични операции от страна на GPU в страници, които се реализират чрез шейдъри, изпълнявани в GPU. За принудително активиране в about:config, настройката „gfx.webrender.enabled“ следва да бъде активирана, или Firefox да се стартира с добавена променлива на средата MOZ_WEBRENDER=1.
- Започна поетапното включване на протоколите HTTP/3 и QUIC. В началото поддръжката на HTTP/3 ще бъде активирана само за малък процент потребители, и ако не възникнат неочаквани проблеми, ще бъде разширена до всички до края на май. За използване на HTTP/3 е необходима поддръжка от страна на клиента и сървър в една и съща версия на черновата спецификация на QUIC и HTTP/3, която се посочва в заглавието Alt-Svc (Firefox поддържа чернови на спецификациите от 27 до 32).
- Поддръжката на FTP е изключена по подразбиране. Настройката network.ftp.enabled по подразбиране е зададена на false, а параметърът за разширенията browserSettings.ftpProtocolEnabled е прехвърлен в режим само за четене. В следващото издание ще бъде премахнат целият код, свързан с FTP. Причината е намаляване на рисковете от атаки на стара версия, която има история на уязвимости и проблеми с поддръжката, свързана с поддръжката на FTP. Също така се споменава освобождаването от протоколи, които не поддържат криптиране и не са защитени от модификация и прихващане на транзитен трафик при провеждане на MITM атаки.
- За блокиране на възможни междусайтови изтичания е осигурена изолация на стойността на свойството 'window.name' от основния сайт, от който е отворена страницата.
- В JavaScript за резултата от изпълнението на регулярни изрази е добавено свойството 'indices', което съдържа масив с начални и крайни позиции на групите за съвпадение. Свойството се попълва само при изпълнение на регулярния израз с флага '/d'. let re = /quick\s(brown).+?(jumps)/igd; let result = re.exec(‘The Quick Brown Fox Jumps Over The Lazy Dog’); // result.indices[0] === Array [ 4, 25 ] // result.indices[1] === Array [ 10, 15 ] // result.indices[2] === Array [ 20, 25 ]
- В Intl.DisplayNames() и Intl.ListFormat() е усилена проверката, че опциите, предавани на конструктора, са обекти. При опит за предаване на низове или други примитиви ще бъдат генерирани изключения.
- За DOM е предоставен нов статичен метод AbortSignal.abort(), който връща AbortSignal, за който параметърът aborted вече е зададен.
- В CSS са реализирани нови псевдокласове ':user-valid' и ':user-invalid', които определят състоянието на проверка на елемента на формата, за който, след взаимодействие на потребителя с формата, е извършена проверка на валидността на посочените стойности. Основната разлика между ':user-valid' и ':user-invalid' и псевдокласите ':valid' и ':invalid' е, че проверката започва само след като потребителят е преминал на друг елемент (например, когато е превключил на друго поле с табулация).
- CSS функцията image-set(), която позволява избор на изображение от набор с различни резолюции, най-подходящо за текущите параметри на екрана и пропускната способност на мрежовото свързване, вече може да се използва в CSS свойствата «content» и «cursor». h2::before { content: image-set( url(«small-icon.jpg») 1x, url(«large-icon.jpg») 2x); }
- В CSS свойството outline е осигурено съответствие с контура, зададен чрез свойството border-radius.
- За macOS моноширинният шрифт по подразбиране е заменен с Menlo.
- В инструментите за уеб-разработка в панела за инспектиране на мрежата се появи преключвател между показването на HTTP отговори в JSON формат и в непроменен вид, в който отговорите се предават по мрежата.

- Включването по подразбиране на поддръжка за формата на изображения AVIF (AV1 Image Format), който използва технологии за междинно компресиране от формата за видео кодиране AV1, е отложено за следващото издание. В версия Firefox 89 също планирано е да бъде предложен обновен потребителски интерфейс и интеграция на калкулатора в адресната лента (включва се чрез suggest.calculator в about:config)
Освен нововъведенията и корекции на грешки в Firefox 88 са отстранени 17 уязвимости, от които 9 са маркирани като опасни. 5 уязвимости (събрани под CVE-2021-29947) са причинени от проблеми с паметта, като препълване на буфери и достъп до вече освободени области на паметта. Потенциално, тези проблеми могат да доведат до изпълнението на код от злонамерени лица при отваряне на специално оформени страници.
Източник: opennet.ru


