доступний Firefox 85
- Графічна підсистема:
- WebRender включений на пристроях, що використовують зв'язку GNOME+Wayland+відеокарту Intel/AMD (крім 4K-дисплеїв, підтримка яких очікується в Firefox 86). Крім того, WebRender включений на пристроях, що використовують графіку Iris Pro Graphics P580 (мобільні Xeon E3 v5), про які розробники забули, а також на пристрої з драйверами Intel HD Graphics версії 23.20.16.4973 (Цей конкретний драйвер перебував у чорному списку). На пристроях із драйвером AMD 8.56.1.15/16 WebRender відключено.
- На системах, що використовують Wayland, налагоджено апаратне прискорення відео у форматах VP8/VP9.
- Відключено механізм Розширені шари. Тепер цю роботу виконує WebRender.
- тимчасово відключено прискорення Canvas 2D засобами графічного процесора, що викликає артефакти деяких ресурсах.
- Включено мережевий поділ. Відтепер кеш (HTTP, зображення, фавікони, пул з'єднань, CSS, DNS, HTTP-авторизація, Alt-Svc, спекулятивні попередні з'єднання, шрифти, HSTS, OCSP, теги Prefetch та Preconnect, CORS та інше) зберігається окремо для кожного домену. Це серйозно ускладнить відстеження користувачів з боку великих CDN та рекламних мереж, які можуть аналізувати наявність певних файлів у кеші браузера та робити висновки про історію відвідувань. Мережеве поділ вперше з'явилося в Safari вісім років тому (почалося з HTTP-кешу, потім Apple поступово додавала інші категорії), а наприкінці 2020 з'явилося в Chrome. Неминучою платою стане деяке збільшення трафіку (кожен ресурс завантажуватиме з CDN контент, навіть якщо цей контент вже був завантажений іншим ресурсом) і часу завантаження, але за оцінками Google ця величина вкрай мала (4% трафіку, уповільнення завантаження на 0.09-0.75% для більшості сайтів, 1.3% у найгірших випадках). На жаль, в сучасному Інтернеті немає іншого способу для боротьби з суперкуками (доповнення на кшталт Decentraleyes не можуть бути альтернативою, оскільки охоплюють лише незначну частину перерахованого вище вмісту кешу).
- З'явилася можливість відображати панель закладок лише на сторінці нової вкладки (Вигляд → Панелі інструментів → Панель закладок → Тільки в новій вкладці), а не на всіх сторінках. Крім того, Firefox навчився запам'ятовувати папку для закладок, що додаються, а на панелі закладок тепер відображається папка «Інші закладки» (browser.toolbars.bookmarks.showOtherBookmarks). Після імпортування закладок з інших браузерів панель закладок буде увімкнена автоматично у всіх вкладках. Додана телеметрія для оцінки зростання кількості взаємодій з панеллю закладок, зростання кількості нових користувачів, що імпортують закладки, а також користувачів, що відключають панель закладок зовсім.
- Подальші покращення адресного рядка:
- У діалог налаштування пошукових движків додані "Закладки", "Журнал" та "Відкриті вкладки", що дозволяє призначати їм короткі імена.
- Будь-який з пошукових движків тепер можна приховати з адресного рядка.
- Додана настройка, що дозволяє не пропонувати пошукові движки в результатах пошуку (наприклад, починаючи з Firefox 83, при введенні «bing» насамперед пропонується перейти на пошуковик Bing).
- з'явилася вибірковий друк сторінок (наприклад, не 1-5, а 1-3,5), а також друк кількох сторінок на одному аркуші. Функції доступні лише у новому діалоговому вікні попереднього перегляду друку, яке включається налаштуванням print.tab_modal.enabled.
- У менеджер збережених паролів додано очищення всіх збережених паролів (до цього їх доводилося видаляти по одному).
- Додана можливість вибору домашньої сторінки та сторінки нової вкладки, навіть якщо встановлено доповнення, яке змінює ці сторінки. Раніше у користувача був лише вибір між «змиритися» та «відключити доповнення».
- Стало можливим відображення PID у підказках вкладок (browser.tabs.tooltipsShowPid).
- Максимально можливий масштаб сторінки збільшений з 300% до 500% щоб не відставати від інших браузерів.
- Автодоповнення адреси (коли користувач вводить слово в рядок і натискає Ctrl+Enter) тепер додає префікс https://, а чи не http://.
- Оновлено Bing логотип пошукача. Сам пошуковик перейменований на Microsoft Bing.
- Щоб уникнути падінь, максимально можлива довжина кожного посилання в історії обмежена 2000 символами.
- Максимально допустимий розмір локального сховища (LocalStorage), який може використовувати конкретний веб-ресурс, збільшений з 5 до 25 мегабайт. У Firefox 84 були внесені зміни в алгоритм підрахунку обсягу даних, що зберігаються, в результаті чого з'ясувалося, що деяким веб-сайтам перестало вистачати 5 мегабайт. Оскільки розробники планують незабаром повністю переписати код, відповідальний за LocalStorage (LocalStorage NextGen), вирішено поки що просто збільшити межу, а не витрачати час на виправлення коду, якому залишилося жити зовсім небагато.
- виправлена неможливість відновити кілька закритих вкладок, якщо вони були закриті не користувачем, а доповненням (відновлювалася лише остання із закритих вкладок, а не всі).
- Виправлено зависання при завантаженні об'ємних файлів із файлообмінника Mega.
- Усунена проблема, через яку Firefox, встановлений у вигляді пакета Flatpak, не міг відкрити адресу localhost:порт.
- Евристика, яка намагається вгадати коректне розширення файлу по MIME-типу, що віддається сервером, тепер робить винятки для форматів zip, json і xml (це створювало проблеми при завантаженні файлів типу .rwp і .t5script, які по суті є zip-архівами, але мають інше розширення). Евристика необхідна, оскільки існує багато неправильно налаштованих серверів, які віддають файли з правильним MIME-типом, але некоректним розширенням, а також не менше серверів, які віддають файли з коректним розширенням, але неправильним MIME-типом (наприклад, у випадку з . rwp (стислий каталог Train Simulator 2021) сервер не повинен був сигналізувати браузеру про те, що це ZIP-архів). Користувачі, у свою чергу, не бажають вникати в те, що винен некоректно налаштований сервер, а не браузер, тому, наприклад, Chrome змушений тримати в кодовій базі величезний список MIME типів, щоб розрулювати такі ситуації.
- виправлена помилка, що веде до нескінченного повідомлення про те, що в локальній мережі виявлено Captive Portal. Відвідування користувачем домену firefox.com призводило до отримання інформації про HSTS, що змушувало браузер відтепер використовувати для з'єднання з цим доменом протокол HTTPS. Це, в свою чергу, ламало механізм визначення Captive Portal (який перевіряє доступність адреси). http://detectportal.firefox.com HTTP, т.к. HTTPS-запити марні при реальному наявності Captive Portal).
- виправлена неможливість з'єднання з доменами в локальній мережі за іменами NetBIOS.
- повністю видалена підтримка Flash. Замість елементів и , що мають тип x-shockwave-flash або x-test, відображатиметься прозора область.
- Припинено підтримка Encrypted SNI (eSNI), що застосовувався для шифрування поля SNI (містить ім'я хоста в заголовках HTTPS-пакетів, використовується для організації роботи декількох HTTPS-ресурсів на одному IP-адреси, а також використовується провайдерами для вибіркової фільтрації трафіку та аналізу ресурсів). Практика показала, що це не забезпечує належної конфіденційності, тому що ім'я домену фігурує, наприклад, у параметрах PSK (Pre-Shared Key) при відновленні сеансу, а також деяких інших полях. Створювати аналоги eSNI для кожного з подібних полів є недоцільним. На заміну eSNI запропоновано стандарт ЕХОН (Encrypted Client Hello), в якому шифруються не окремі поля, а повідомлення ClientHello повністю (за його включення відповідають установки network.dns.echconfig.enabled і network.dns.use_https_rr_as_altsvc).
- Припинено підтримка пошукових движків, встановлених у каталог distribution або каталог мовного пакета. Таких движків не мало залишитися після Firefox 78 (а якщо вони залишилися, то це явна помилка і їх не слід використовувати).
- Додатки:
- Значення налаштування «режим тільки HTTPS» тепер доступне для зчитування доповнень, щоб доповнення на зразок HTTPS Everywhere могли відключати частину своїх функцій, які конфліктують із цим режимом.
- Додаткам тепер доступний API browsingData (завдяки чому доповнення можуть очищати дані, збережені у браузері).
- HTML:
- CSS:
- Включено підтримку псевдокласу :focus-visible.
- Включено підтримку значення pinch-zoom у властивості touch-action.
- JavaScript: властивість collation тепер може передаватися як опція конструктору Intl.Collator() (замість let pinyin = new Intl.Collator(["zh-u-co-pinyin"]); можна написати let pinyin = new Intl.Collator("zh", {collator: "pinyin"});).
- Інструменти розробника:
- У редакторі коду Консолі з'явилася кнопка для форматування JS-виразів.
- Інспектор навчився включати та відключати псевдоклас :focus-visible для вибраного елемента (на додаток до псевдокласів, що вже підтримуються) : hover, : активний, : фокус, : фокус всередині и :відвідав).
Джерело: linux.org.ru