Реліз Chrome 89

Компанія Google представила реліз web-браузера Chrome 89. Одночасно доступний стабільний випуск вільного проекту Chromium, який є основою Chrome. Браузер Chrome відрізняється використанням логотипів Google, наявністю системи надсилання повідомлень у разі краху, модулями для відтворення захищеного відеоконтенту (DRM), системою автоматичної установки оновлень та передачею під час пошуку RLZ-параметрів. Наступний випуск Chrome 90 заплановано на 13 квітня.

Основні зміни в Chrome 89:

  • Версія Chrome для Android відтепер зможе запускатись лише на пристроях, сертифікованих у Play Protect. У віртуальних машинах та емуляторах Chrome для Android зможе використовуватися, якщо емульується допустимий пристрій або емулятор розроблений у Google. Перевірити сертифікований пристрій чи ні можна у програмі Google Play у розділі налаштувань (на сторінці з налаштуваннями внизу показано статус Play Protect certification). Для несертифікованих пристроїв, наприклад, при використанні сторонніх прошивок, для запуску Chrome користувачам пропонується зареєструвати свої пристрої.
  • Для невеликого відсотка користувачів увімкнено відкриття сайтів за замовчуванням через HTTPS при наборі імен хостів в адресному рядку. Наприклад, при введенні хоста example.com за замовчуванням буде відкрито сайт https://example.com, а якщо при відкритті виникли проблеми буде виконано відкат до http://example.com. Для керування за промовчанням «https://» запропоновано налаштування «chrome://flags#omnibox-default-typed-navigations-to-https».
  • Увімкнена підтримка профілів, що дозволяють різним користувачам розділити свої облікові записи під час роботи через один браузер. Наприклад, за допомогою профілів можна організувати доступ членам сім'ї або розділити сеанси, які використовуються для роботи та особистих інтересів. Користувач може створити новий профіль Chrome і налаштувати його активацію при підключенні до певного облікового запису Google, що дозволяє різним користувачам розділяти закладки, налаштування та історію відвідувань. При спробі входу до облікового запису, прив'язаного до іншого профілю, користувачеві буде запропоновано перейти на цей профіль. За наявності у користувача прив'язки до кількох профілів буде надано можливість вибору бажаного профілю. Можлива прив'язка до різних профілів своїх схем для візуального поділу користувачів.
    Реліз Chrome 89
  • Увімкнено відображення ескізів вмісту під час наведення курсору на вкладки у верхній панелі. Раніше перегляд вмісту вкладок був вимкнений за умовчанням і вимагав зміни налаштування «chrome://flags/#tab-hover-cards».
    Реліз Chrome 89
  • Для частини користувачів включена функція "Список читання" (Reading List, "chrome://flags#read-later"), при активації якої при натисканні на зірку в адресному рядку крім кнопки "Додати закладку" з'являється друга кнопка "Додати до списку читання" », а в правому кутку панелі закладок з'являється меню «Список читання», в якому перераховані всі додані до списку сторінки. При відкритті сторінки зі списку вона позначається прочитаною. Сторінки у списку також можуть бути позначені вручну прочитаними та непрочитаними або видалені зі списку.
    Реліз Chrome 89
  • Для користувачів, які входять до облікового запису Google, без увімкнення Chrome Sync надається доступ до методів платежів та паролів, збережених у обліковому записі Google. Можливість включена для частини користувачів та поступово буде доведена до інших.
  • Включено підтримку швидкого пошуку вкладок, яка раніше вимагала активації через прапор «chrome://flags/#enable-tab-search». Користувач може переглянути список всіх відкритих вкладок і швидко відфільтрувати потрібну вкладку, незалежно від того, у поточному або іншому вікні вона знаходиться.
    Реліз Chrome 89
  • Для всіх користувачів припинено обробку введення окремих слів в адресному рядку як спроби відкриття внутрішніх сайтів. Раніше, у разі введення одного слова в адресному рядку, браузер спочатку намагався в DNS визначити наявність хоста з таким ім'ям, вважаючи, що користувач намагається відкрити піддомен, і потім перенаправляв запит пошуковій системі. Таким чином, власник DNS-сервера, вказаного в налаштуваннях користувача, отримував відомості про пошукові запити, що складаються з одного слова, що оцінювалося як порушення конфіденційності. Для підприємств, які використовують інтернет-хости без піддомену (наприклад, «https://helpdesk/»), надано опцію для повернення старої поведінки.
  • Надано можливість закріплення версії доповнення або програми. Наприклад, для використання на підприємстві лише перевірених доповнень адміністратор за допомогою нової політики ExtensionSettings може налаштувати Chrome для використання власної URL-адреси для завантаження оновлень замість URL зазначеного в маніфесті доповнення.
  • На системах x86 для роботи браузера тепер обов'язковою є підтримка процесором інструкцій SSE3, які підтримуються процесорами Intel починаючи з 2003 року, а AMD — з 2005 року.
  • Додані додаткові API, націлені на надання функціональності, яка зможе замінити сторонні Cookie, які застосовуються для відстеження переміщень користувача між сайтами у коді рекламних мереж, віджетів соціальних мереж та систем web-аналітики. Запропоновано для тестування наступні API:
    • Trust Token для поділу користувачів без використання міжсайтових ідентифікаторів.
    • First party sets – дозволяє зв'язаним доменам оголосити себе первинними для того, щоб браузер міг врахувати цей зв'язок при міжсайтових зверненнях.
    • Schemeful Same-Site поширення поняття same-site різні схеми URL, тобто. http://website.example та https://website.examplе будуть оброблені як один сайт при міжсайтових запитах.
    • Floc для визначення категорії інтересів користувача без індивідуальної ідентифікації та без прив'язки до історії відвідування конкретних сайтів.
    • Conversion Measurement для оцінки активності користувача після переходу на рекламу.
    • User-Agent Client Hints для заміни User-Agent та вибіркової віддачі даних про конкретні параметри браузера та системи (версія, платформа тощо).
  • Доданий API Serial, що дозволяє сайтам читати та записувати дані через послідовний порт. Як причина появи подібного API називається можливість створювати web-додатки для прямого управління такими пристроями як мікроконтролери та 3D-принтери. Для отримання доступу до периферійного пристрою потрібне підтвердження користувача повноважень.
  • Доданий API WebHID для низькорівневого доступу до HID-пристроїв (Human interface device, клавіатури, миші, геймпади, сенсорні панелі), що дозволяє реалізувати логіку роботи з HID-пристроєм JavaScript для організації роботи з рідкісними HID-пристроями без наявності в системі специфічних драйвер. Перш за все, новий API націлений на надання підтримки геймпадів.
  • Доданий API Web NFC, що дозволяє web-додаткам читати та записувати NFC-теги. Серед прикладів застосування нового API у web-додатках наголошується надання інформації про музейні експонати, проведення інвентаризації, отримання відомостей із бейджів учасників конференцій тощо. Надсилання та сканування тегів здійснюється за допомогою об'єктів NDEFWriter та NDEFReader.
  • API Web Share (об'єкт navigator.share) виведений за рамки мобільних пристроїв і тепер доступний користувачам настільних браузерів (поки що тільки для Windows та Chrome OS). API Web Share надає засоби для обміну інформацією в соціальних мережах, наприклад, дозволяє згенерувати уніфіковану кнопку для публікації в соціальних мережах, якими користується відвідувач, або організувати надсилання даних іншим програмам.
  • У версіях для Android та компоненті WebView включена підтримка декодування формату зображень AVIF (AV1 Image Format), в якому задіяні технології внутрішньокадрового стиснення з формату кодування відео AV1 (у настільних версіях підтримка AVIF була включена ще в Chrome 85). Контейнер для поширення стислих даних в AVIF повністю аналогічний HEIF. AVIF підтримує як зображення HDR (High Dynamic Range) і колірному просторі Wide-gamut, так і в стандартному динамічному діапазоні (SDR).
  • Додано новий Reporting API для отримання інформації про порушення правил безпечного використання на сторінці привілейованих операцій, заданих через заголовок COOP (Cross-Origin-Opener-Policy), який також дозволяє перевести COOP у режим налагодження без блокування порушень правил.
  • Додано функцію performance.measureUserAgentSpecificMemory(), яка визначає розмір пам'яті, витрачений під час обробки сторінки.
  • Для відповідності вимогам web-стандарту всі URL «data:» тепер обробляються як потенційно заслуговують на довіру, тобто. є частиною захищеного контексту.
  • В API Streams дрбавлена ​​підтримка потоків байтів (Byte Streams), спеціально оптимізованих для ефективної передачі довільних наборів байтів і мінімізують кількість операцій копіювання з даними. Виведення потоку може бути записано в такі примітиви як рядки або ArrayBuffer.
  • В елементах SVG реалізована підтримка повного синтаксису властивості «filter», що дозволяє одночасно застосовувати до SVG і SVG елементам такі функції фільтрації, як blur(), sepia() і grayscale().
  • У CSS реалізовано псевдо-елемент «::target-text», який можна використовувати для виділення фрагмента на який був перехід за текстом (scroll-to-text) іншим стилем, ніж використовується браузером під час підсвічування знайденого.
  • Додані CSS-властивості для керування округленням кутів: border-start-start-radius, border-start-end-radius, border-end-start-radius, border-end-end-radius.
  • Додано CSS-властивість forced-colors для визначення того, чи браузер застосовує на сторінці задану користувачем обмежену палітру кольорів.
  • Додана CSS-властивість forced-color-adjust для відключення примусового обмеження кольорів для окремих елементів, залишаючи їм повні можливості управління кольорами через CSS.
  • У JavaScript дозволено використання ключового слова await у модулях на верхньому рівні, що дозволяє більш м'яко інтегрувати асинхронні виклики у процес завантаження модулів та обійтися без упаковки у «async function». Наприклад, замість (async function() { await Promise.resolve(console.log('test')); }()); тепер можна писати await Promise.resolve(console.log('test'));
  • У JavaScript-движку V8 прискорений виклик функцій у ситуації, коли кількість переданих аргументів не відповідає визначеним у функції параметрам. При розбіжності кількості аргументів у режимі без JIT продуктивність зросла на 11.2%, а за використання JIT TurboFan на 40%.
  • Внесено велику порцію дрібних поліпшень до інструментів для web-розробників.

Окрім нововведень та виправлення помилок у новій версії усунено 47 вразливостей. Багато вразливостей виявлено в результаті автоматизованого тестування інструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer та AFL. Критичних проблем, які дозволяють обійти всі рівні захисту браузера та виконати код у системі за межами sandbox-оточення, не виявлено. При цьому наголошується, що одна з виправлених уразливостей (CVE-2021-21166), пов'язана з часом життя об'єктів у звуковій підсистемі, має характер 0-day проблеми та до виправлення застосовувалася в одному з експлоїтів. У рамках програми виплати грошової винагороди за виявлення вразливостей для поточного релізу компанія Google виплатила 33 премії на суму 61000 доларів США (дві премії $10000, дві премії $7500, три премії $5000, дві премії $3000, чотири $1000 і дві премії $500). Розмір 18 винагород поки не визначений.

Джерело: opennet.ru

Додати коментар або відгук