Излезе уеб браузърът Firefox 119 и беше направено обновление на веригата с дългосрочна поддръжка — 115.4.0. Версията Firefox 120 премина в етап бета тестване, чийто релиз е насрочен за 21 ноември.
Основни нововъведения в Firefox 119:
- Предложен е обновен интерфейс на страницата Firefox View, който улеснява достъпа до предишно преглеждано съдържание. На страницата Firefox View е събрана информация за активните табове, наскоро прегледаните страници, затворените табове и табовете от други устройства. В новата версия на Firefox View се предоставя показването на информация за всички табове, отворени в различни прозорци, а също така е добавена възможността за преглед на историята на посещенията с подредба по дата или сайт.

- Включена е възможността за импортиране на разширения от Chrome и браузъри на базата на енджин Chromium. В диалога за импортиране на данни от други браузъри ("Import Data" на страницата about:preferences#general) се е появила опция за преместване на разширения. За преместването е използван списък от 72 разширения, в който са съпоставени идентификаторите на идентични разширения, налични за Chrome и Firefox. Ако при импортиране на данни от Chrome в списъка фигурират разширения, то в Firefox вместо версията на разширението за Chrome се инсталира версията за Firefox.

- Включена е поддръжка на механизма ECH (Encrypted Client Hello), който продължава развитието на ESNI (Encrypted Server Name Indication) и се използва за криптиране на информация за параметрите на TLS сесиите, като поисканото домейн име. Ключовото отличие на ECH от ESNI е, че в ECH вместо криптиране на нивото на отделни полета целият TLS съобщение ClientHello се криптира, което позволява блокиране на изтичане на информация през полета, които не покрива ESNI, например полето PSK (Pre-Shared Key).
- В възможностите за редактиране на документи, предоставяни от вградения PDF прогледач, е добавена поддръжка за вмъкване на изображения и текстови бележки към тях, в допълнение към вече наличното рисуване на линии на ръка и прикрепяне на текстови коментари. Новият режим за редактиране на PDF е активиран само за част от потребителите; за принудително включване на страницата about:config трябва да се активира настройката „pdfjs.enableStampEditor“.

- Променени са настройките, свързани с възстановяването на прекъсната сесия след изход от браузъра. За разлика от предишните версии, между сесиите сега ще се запазват данни не само за активните табове, но и за наскоро затворените, което ще позволява възстановяване на случайно затворени табове след рестартиране и преглед на списъка им в режим Firefox View. По подразбиране ще се запазват данни за 25 последни таба, отворени през последните 7 дни. Освен това ще се отчетат данните за табовете в затворените прозорци и ще се обработва списъкът на затворените табове в контекста на всички отворени прозорци, а не само на текущия.
- Разширени са възможностите на режима на пълна защита на Cookies (Total Cookie Protection), при който за всеки сайт се използва отделно изолирано хранилище на Cookies, което не позволява използването на Cookies за проследяване на движението между сайтовете (всички Cookies, зададени от зареждащите се на сайта външни блокове (iframe, js и др.), се свързват със сайта, от който са заредени). В новата версия е реализирана изолация на URI-схемата „blob:….“ (Blob URL), която потенциално може да се използва за предаване на информация, подходяща за проследяване на потребителите.
- За потребителите на усилен режим (strict) на механизма за защита от проследяване (ETP, Enhanced Tracking Protection) е включена допълнителна защита от косвена идентификация на потребителите чрез анализ на шрифтове — видимите за сайтовете шрифтове са ограничени до системни шрифтове и шрифтове от стандартните езикови набори.
- В snap-пакета с Firefox е реализирана поддръжка на използването на родния за Ubuntu диалог за избор на файлове при достъп до данни от други браузъри, както и поддръжка за определяне на наличните възможности на базата на инсталираната версия на xdg-desktop-portal.
- Добавена е поддръжка за избор на монитор за разполагане на прозореца на браузъра, стартиран в режим интернет-киоск. Мониторът се избира с помощта на параметър в командния ред „—kiosk-monitor“. Осигурено е превключване на браузъра в режим на цял екран веднага след стартиране в режим киоск.
- Прекратено е определянето на мултимедийно съдържание в файлове, обработвани с MIME тип „application/octet-stream“. За подобни файлове браузърът сега ще предложи да се изтегли файлът, а не да започне неговото възпроизвеждане.
- В подготовката за внедряване на блокирането на странични Cookie в Firefox, беше обновена реализацията на API Storage Access, което се използва за искане на разрешение от потребителя за достъп до Cookie хранилища от iframe, когато страничните Cookie по подразбиране са блокирани. В новата реализация е подобрена защитата и са добавени промени, за да се избегнат проблеми с работата на сайтовете.
- За собствени елементи (Custom Element), които разширяват функционалността на съществуващите HTML елементи, беше добавена поддръжка на ARIA атрибути (Accessible Rich Internet Applications), което позволява да се направят тези елементи по-достъпни за хора с увреждания. Добавена е възможността за задаване и четене на ARIA атрибути директно за DOM елементи (например, buttonElement.ariaPressed = "true") без извикване на методи setAttribute и getAttribute.
- В HTTP заглавката Cross-Origin-Embedder-Policy, която управлява режима на изолация Cross-Origin и позволява определяне на правила за безопасно използване на привилегировани операции на страницата, беше добавена поддръжка на параметъра "credentialless" за деактивиране на предаването на информация, свързана с данни за удостоверяване, като Cookie и клиентски сертификати.
- В CSS функцията attr() беше добавена възможност за указване на втори аргумент, чието значение ще се използва в ситуации, когато указан атрибут липсва или има допустимо значение. Например, attr(foobar, "Default value").
- Добавени са методите Object.groupBy и Map.groupBy за групиране на елементи от масив, използвайки стринговата стойност, върната от callback функцията, която се извиква за всеки елемент на масива.
- Добавени са методите: String.prototype.isWellFormed() за проверка за наличие на коректно форматиран Unicode текст (проверява се наличието само на пълни "сурогатни двойки" съставни символи) и String.prototype.toWellFormed() за почистване и преобразуване на Unicode текст в коректна форма.
- В методите WebTransport.createBidirectionalStream() и WebTransport.createUnidirectionalStream() беше добавена поддръжка на свойството "sendOrder" за задаване на относителен приоритет на изпращаните потоци.
- В API AuthenticatorAttestationResponse бяха предложени нови методи getPublicKey(), getPublicKeyAlgorithm() и getAuthenticatorData().
- В API Web Authentication беше добавена поддръжка на свойствата credProps, които позволяват да се определи наличието на удостоверителни данни след създаване или регистрация.
- В API PublicKeyCredential добавени методи parseCreationOptionsFromJSON(), parseRequestOptionsFromJSON() и toJSON() за преобразуване на обекти в представяне във формат JSON, подходящо за сериализация/десериализация и предаване на сървър.
- В инструментите за уеб разработка е подобрен интерфейсът за интерактивна работа с CSS (Inactive CSS styles), в който е реализирана възможността за откриване на CSS свойства, които не влияят на елемента, а също така е добавена пълна поддръжка на псевдоелементи, като «::first-letter», «::cue» и «::placeholder».
- В вградения просмотрщик на данни във формат JSON е осигурено автоматично превключване на преглед на данните, както са, (raw), ако преглежданите JSON данни са некоректни или повредени.
- На платформата Windows е добавена поддръжка за системна настройка, скриваща курсора по време на въвеждане на текст.
- В версията за платформата Android е отстранен проблем с внезапното приключване на работата при показване на видео на цял екран. Добавена е поддръжка на медийни заявки prefers-contrast и prefers-reduced-transparency в среда Android 14.
Освен нововъведенията и корекциите на грешки в Firefox 119 са отстранени 25 уязвимости. 17 уязвимости (16 обединени под CVE-2023-5730 и CVE-2023-5731), които са маркирани като опасни, са причинени от проблеми с управлението на паметта, като презапълване на буфери и достъп до вече освободени области на паметта. Потенциално тези проблеми могат да доведат до изпълнение на зловреден код при отваряне на специално оформени страници. Още една опасна уязвимост (CVE-2023-5721) позволява посредством кликане да се потвърдят или отменят някои диалози или предупреждения на браузъра.
Източник: opennet.ru



