Історія версій браузера Google Chrome |
Версія | Дата випуску | Версія WebKit[26] | Версія рушія V8[27] | Підтримка операційних систем | Основні зміни |
0.2.149 | 2008-09-08 | 522 | 0.3 | Windows | Перший випуск |
0.3.154 | 2008-10-29 | Підвищена продуктивність і надійність плагінів, проксі. Перевірка правопису для текстових полів. Зміни в керуванні вкладками та вікнами. |
0.4.154 | 2008-11-24 | 525 | Керування вкладками, підтримка імпорту та експорту. Додані секції приватності в налаштування програми. Додано повідомлення про заблоковані попапи. Покращена безпека. |
1.0.154 | 2008-12-11 | 528 | Перший стабільний випуск. |
2.0.172 | 2009-05-24 | 530 | 0.4 | JavaScript працює швидше на 35 % за тестами SunSpider. Підтримка колеса миші. Повноекранний режим. Повносторінкове масштабування. Автозаповнення форм. Сортування закладок за ім'ям. Прилипання вкладок до браузеру і сторін екрану. Базова підтримка Greasemonkey[28]. |
3.0.195 | 2009-10-12 | 532 | 1.2 | Нова сторінка «нова вкладка» з розширеними налаштуваннями. JavaScript на 25 % швидший. Підтримка HTML5 теґів video і audio. Полегшені стилі. |
4.0.249 | 2010-01-25 | 532.5 | 1.3 | Розширення, синхронізація закладок, розширені засоби розробника, покращена підтримка HTML5, покращена продуктивність, повне проходження тестів ACID3, підтримка «http byte range», покращена безпека, нова експериментальна можливість anti-reflected-XSS, названа «XSS Auditor»[29]. |
4.1.249 | 2010-03-17 | Спливаюча панель перекладу, нові налаштування приватності, відключений «XSS Auditor»[30]. |
5.0.375 | 2010-05-25 | 533 | 2.1 | Windows Mac Linux | Покращена продуктивність JavaScript, синхронізація налаштувань браузера, розширення підтримки HTML5 (Geolocation APIs, App Cache, web sockets, та file drag-and-drop), оновлений менеджер закладок, інтегрований Adobe Flash Player[31][32]. |
6.0.472 | 2010-09-02 | 534.3 | 2.2 | Зміна інтерфейсу тулбарів (напр. переміщені кнопки меню), omnibox і оновлення сторінки нової вкладки. Синхронізація розширень[33]. Підтримка VP8/WebM відео і PDF (за замовчуванням вимкнена)[34]. |
7.0.517 | 2010-10-21 | 534.7 | 2.3.11.22 | Відімкнене призначення SSL-сокетів: SSL запити з високим пріоритетом тепер завжди відправляються на сервер в першу чергу. Нові налаштування для cookie. |
8.0.552 | 2010-12-02 | 534.10 | 2.4.9.13 | Новий вбудований переглядач PDF-файлів, додані нові опції синхронізації, нова версія Flash, а також сторінка «about: flags» для тестування нових експериментальних функцій, таких як Chrome Instant, відображення вкладок збоку екрана, «хмарковий» друк та WebGL. |
9.0.597 | 2011-02-03 | 534.12 | 2.5.6 | Підтримка GPU для рендерінгу сторінок увімкнена за замовчуванням. Нова версія Flash. WebGL увімкнена за замовчуванням. |
10.0.648 | 2011-01-31 | 534.16 | 3.0.12 | Розділ для підключення Google Cloud Print доступний за замовчуванням. Прискорене виконання JavaScript у зв'язку з використанням технології оптимізації Crankshaft. |
11.0.696 | 2011-04-28 | 534.24 | 3.1.4.0 | Додана підтримка механізму голосового заповнення форм і розпізнавання мови через використання спеціального HTML speech input API. Методика розпізнавання мови зводиться до того, що звуковий потік спрямовується на сервер Google через захищений канал зв'язку, на сервері він перетвориться в текст і повертається назад у браузер. |
12.0.742 | 2011-06-07 | 534.30 | 3.2.10.15 | Апаратне прискорення 3D CSS. Покращений захист від завантаження шкідливих програм. Можливість видаляти куки, залишені Adobe Flash, напряму із браузера. Запуск додатків через адресний рядок. Покращена підтримка читання з екрану. Нова сторінка налаштування синхронізації. Додані кнопки друку і збереження в PDF документах. |
13.0.782 | 2011-08-02 | 535.1 | 3.3.10.30 | Додавання Google Instant Pages (перезавантаження сторінок). Вбудований попередній перегляд друку для Windows і Linux. Експериментальні можливості: оновлена сторінка «нової вкладки», застосування Instant тільки до пошуку. |
14.0.835 | 16 вересня 2011 | 535.1 | 3.4.14.21 | Технологія Native Client включена за замовчуванням для додатків каталогу Chrome Web Store. Підтримка Web Audio API. Додаткова підтримка можливостей Mac OS X Lion. Шифрування всіх даних, які синхронізуються. Попередній перегляд друку для Mac. Додана підтримка Web Request API і Content Settings API як експериментальних можливостей. Колір панелі перекладу і збереження пароля тепер сірий замість блакитного. |
15.0.874 | 25 жовтня 2011 | 535.2 | 3.5.10.22 | | - Прискорений попередній перегляд друку.
- Експериментальна сторінка «Нова вкладка» включена за замовчуванням.
- Синхронізація історії з omnibox.
- Реалізований Javascript Fullscreen API
|
16.0.912 | 13 грудня 2011 | 535.7 | 3.6.6.11 | | - Підтримка декількох акаунтів включена за замовчуванням.
- Розробники розширень тепер можуть надати користувачеві вибір, при установці розширення, до чого воно буде мати доступ.
- Прибрана експериментальна функція «Бічні вкладки».
|
17.0.963 | 8 лютого 2012 | 535.11 | 3.7.12.12 | | - Попередження користувача про скасування завантажень при закритті останнього вікна в режимі Інкогніто.
- Панелі для інструментів розробника включені за замовчуванням.
- Налаштування відступів в попередньому перегляді друку.
- Дозвіл на захоплення покажчика миші, пропоноване в діалоговому вікні, тепер зберігається в «content settings» кожного домену.
- Обмежена підтримка сенсорних жестів.
- Збільшений діапазон масштабування сторінки.
- Невелике оновлення інтерфейсу, що включає відсутність знаку «+» на кнопці нової вкладки і стилізацію сторінки налаштувань за допомогою CSS, яка замінює стандартні поля для галочки і перемикачів.
- Синхронізація налаштувань пошукового рушія [45].
- Покращена підтримка SVG.
- Оновлений дизайн для сторінки історії.
- Різні експериментальні функції, наприклад WebUI-диспетчер задач доступний за URL about: tasks.
|
18.0.1025 | 28 березня 2012 | 535.19 | 3.8.9.5 | | - Апаратне прискорення графіки Canvas2D
- WebGL не вимагає апаратної підтримки 3D-графіки завдяки технології програмної растеризації SwiftShader.
- Кнопка «Нова вкладка» стала яскравіше.
|
19.0.1084 | 30 березня 2012 | 536.5 | 3.9.4.0 | | - Підтримка JavaScript-мови нового покоління від V8 — «JavaScript Harmony».
- Використання онлайн-сервісу від Google для перевірки орфографії.
|
20.0.1132 | 16 травня 2012 | 536.10 | 3.10.6.0 | | - Включена функція відправки на мобільні пристрої заздалегідь завантажених сторінок для їх подальшого оффлайн перегляду. Дія доступна тільки для користувачів, що мають сумісні пристрої.
- Експериментальний панорамний вигляд. Вкладки мають мінімальну ширину і починають складатися з боків. Вкладки, які розташовуються ближче до поточної вкладці, знаходяться вище. Раніше ліва вкладка перебувала на вершині.
- Зроблені експериментальні коригування в touch-інтерфейс. Контекстні меню тепер мають додаткові вертикальні заповнення між елементами.
- Введено PeerConnection APIs для роботи WebRTC.
- Більш широка кнопка нової вкладки.
|
21.0.1180.89 | 1 липня 2012 | 537.1 | 3.11.10.6 | | - Media Stream API (getUserMedia) включений за замовчуванням. (доступ до вебкамери через JavaScript)
- Прототип Gamepad API включений за замовчуванням.
- TLS 1.1 включений за замовчуванням.
- Захоплення покажчика миші більше не вимагає повноекранного режиму.
- Added support for (pointer) and (hover) CSS media queries so sites can optimize their UI for touch when touch-screen support is available.
- HTML5 audio / video і WebAudio тепер підтримують 24-bit PCM wave файли.
- Покращена підтримка екранної клавіатури в Windows 8 в режимі Metro. Виправлені проблеми зі збоями і зниженою продуктивністю.
- Покращена підтримка OS X Mountain Lion, включаючи підтримку режиму з 220 DPI.
- Content settings for Cookies now also show protected storage granted to hosted apps.
- Chromoting client plugin correctly up-scales on when page-zoom is> 100 %.
- Більше не потрібні адміністративні привілеї щоб зробити Chrome браузером за умовчанням в Windows 8.
- Додана підтримка HiDPI малюнків для сумісних сторінок в Mac.
- Handle dynamic changes to backing scale factor in Mac.
- Improve tabstrip appearance on HiDPI displays in Mac.
- Зміни в інтерфейсі: кнопка додавання сторінки в закладки стала сірою, у сайтів, що не мають іконки, використовується не сіре зображення Землі, а аркуш паперу із загнутим верхнім правим кутом.
|
22.0.1221.0 | 30 липня 2012 | 537.3 | 3.12.16 | | - Підтримка програм, упакованих в новому стилі, включена за замовчуванням
- Новий значок меню замість старого значка у вигляді ключа
- Підтримка TLS 1.1
- Підтримка управління профілями кольору ICC v2.
- «Про Google Chrome …» тепер відображається у вкладці.
|
23.0.1271.64 | 6 листопада 2012 | 537.10 | 3.13.7.1 | | - Реалізовано GPU-прискорення при перегляді відео.
- Розширено меню налаштувань для керування дозволами і правами сайтів.
- Підтримка технології DoNotTrack.
|
24.0.1312.14 | 10 січня 2013 | 537.17 | 3.14.5.3 | | - Підтримка MathML.
- HTML 5 — елемент <datalist> тепер підтримує дату і час
- Експериментальна підтримка.
Linux: - {GTK} Виправлена помилка при якій у спливаючому списку <input> виводився білий текст на білому фоні в додатках.
- Виправлено спливаюче вікно, що показує переклад на інші мови.
- Виправлено Арабська мова.
- Fixed pre-rendering if the preference is disabled at start up.
- Виправлена проблема рендеринга JavaScript.
|
25.0.1364.97 | 21 лютого 2013 | 537.22 | 3.15.11.5 | | - Захист від непроханих розширень. Тепер розширення, що встановлюються сторонніми програмами, за замовчуванням відключені. А користувачеві виводиться повідомлення, і він вже сам вирішує включати або видалити.
- Розширена підтримка HTML5 time/date типів для тегу input.
- Покращена обробка помилок в WebGL.
- Підтримка аудіо формату Opus.
- Підтримка стандарту VP9, що розробляється Google.
- Скасовано підтримка спеціальної мови розмітки MathML, яка з'явилася в Google Chrome 24, з причини знайдених вразливостей.
- Безліч інших малопомітних змін для розробників, включаючи поліпшення в панелі розробника.
|
26.0.1410.43 | 26 березня 2013 | 537.31 | 3.16.14.9 | | - Покращена перевірка правопису, включаючи синхронізацію словника користувача між пристроями
- Можливість створення ярликів для різних профілів (Windows)
- Асинхронний DNS resolver (Mac і Linux)
- Підтримка activeTab API для розробників розширень
- CSS Transitions тепер підтримуються і без префікса webkit
- Можливість друку тільки виділеного фрагмента сторінки
- Новий стиль меню
|
27.0.1453.93 | 21 травня 2013 | 537.36 | 3.17.6.14 | | - Проведено оптимізацію обробки ресурсів браузера для більш швидкого завантаження сторінок
- Поліпшення підказок у універсального вікна пошуку та перевірки правопису
- SyncFileSystem API для синхронізації даних у Google Drive
- Введено Extended API, який включає в браузер оновлене оформлення і нові пошукові можливості нової вкладки.
- Доданий Chrome Apps Launcher для Windows
- Зупинено поширення розширень, що володіють Manifest 1.0.
|
28.0.1469.0 | 9 квітня 2013 | Blink 537.36 | 3.18.5.5 | | - Заміна рушія на Blink від Google, заснованого на коді WebKit
- Більш швидке завантаження сторінок, завдяки новому рушію Blink
- Розширені можливості сповіщень, а також Центру повідомлень
- Віддано перевагу на користь Rich Notifications API
- Внесено суттєві покращення в роботу asm.js в тестах
|
29.0.1547 | 20 серпня 2013 | Blink 537.36 | 3.19.18.19 | | - Покращена робота Omnibox — підказки з'являються з урахуванням останніх відвіданих сайтів
- З'явилася можливість скинути всі параметри на стандартні
- Нові API для розширень та програм
- Підтримка VP9, TLS 1.2 і QUIC (експериментальна)
|
30.0.1599 | 1 жовтня 2013 | Blink 537.36 | 3.20.17.13 | | - Можливість шукати зображення в пошуку Google через контекстне меню
- Центр повідомлень запам'ятовує налаштування кожного користувача окремо
- Підтримка нових API: downloads API, WebRTC Device Enumeration API, Media Galleries API, API для вбудованих платежів
|
32.0.1700.72 | 14 січня 2014 | Blink 537.36 | 3.22.24.10 | | - Тепер на сторінках, що програють музику, відображається значок динаміка.
- Смуга прокрутки виконана у мінімалістичному сірому дизайні.
|
33.0.1750 | 18 лютого 2014 (iOS) 20 лютого 2014 (Linux, OS X and Windows) 26 лютого 2014 (Android) | Blink 537.36 WebKit 537.51.1 (на iOS) | 3.23.17.13 | | - Перегляд документів PDF тепер за замовчуванням відкривається в браузері Хром. Навіть якщо в системі є альтернативний, встановлений за замовчуванням, переглядач.
- Паралельна компіляція скриптів.
- Підтримка Certificate Transparency.
- Додали службову сторінку chrome: quit.
- Пошук по закладках тепер вміє шукати папки.
- Завантаження шрифтів прискорили на 110мс.
- Виправили 28 вразливостей і виплатили $ 13 500 нагород.
Android-версія: - Оновлення допомоги і інтерфейсу зворотнього зв'язку
- Підтримка тегу <datalist>
IOS версія: - Оновлення стабільності та безпеки
|
34.0.1847 | 02 квітня 2014 (Android) 08 квітня 2014 (Linux, OS X та Windows) | | 3.24.35.22 | | - Поліпшено роботу з користувачами в нових комп'ютерах.
- Нові API програми та розширення.
- Другий вигляд режиму Win8 Metro.
- Різні зміни стабільності та продуктивності.
- Flash Player оновлений до 13.0.0.182.
- Виправлені помилки.
|
35.0.1916 | 21 травня 2014 | Blink 537.36 | 3.25.28.16 | | - Поліпшення для розробників, що стосуються сенсорного вводу
- Розширена підтримка JavaScript
- Додана підтримка без префіксного Shadow DOM
- Додані нові API доповнень та додатків
- Безліч внутрішніх поліпшень для підвищення стабільності та продуктивності
- Виправлено 23 проблеми в безпеці браузера.
|
36.0.1985 | 2014-07-15 (iOS) 2014-07-16 (Linux, OS X та Windows) 2014-07-16 (Android) | Blink 537.36 WebKit 537.51.1 (на iOS) | 3.26.31.8 | | - Rich Notifications Improvements
- An Updated Incognito / Guest NTP design
- The addition of a Browser crash recovery bubble
- Велика кількість змін задля стабільності та продуктивності[35].
Android-версія: - Покращено рендеринг тексту на неоптимізованих для мобільних пристроїв сайтах.
- Doodles return to the new tab page.[36]
iOS-версія: - Дозволяє мобільним сайтам that have added Cast support to work with your Cast-enabled device
- Поліпшення стабільності і виправлення помилок[37].
Linux-версія: |
37.0.2062 | 2014-08-26 (Linux, OS X та Windows) 2014-09-03 (Android) 2014-09-22 (iOS) | Blink 537.36 | 3.27.34.14 | | - Підтримка DirectWrite на Windows для покращення рендерингу шрифтів
- Велика кількість нових API застосунків/розширень
- Велика кількість змін задля стабільності та продуктивності[38].
Windows-версія: - Підтримка 64-bit Windows[39].
|
38.0.2125 | 2014-10-07 (Linux, OS X та Windows) 2014-10-07 (iOS) 2014-10-08 (Android) | Blink 537.36 | 3.28.71 | | - Низка нових додатків / API, розширення
- Багато змін для стабільності і продуктивності
Android версія: - API для підтримка стану і екрану, орієнтації, акумулятора
- Додатково оновлено Дизайн Матеріал
- Багато виправлень і поліпшення продуктивності
IOS версії: - Покращена підтримка на мобільний 6 і 6 +.
- Завантажити та відкривати файли в Google Drive.
- Покращена стабільність і виправлення.
- Виправлення безпеки.
|
39.0.2171 | 2014-11-12 (Android) 2014-11-18 (Linux, OS X та Windows) 2014-11-24 (iOS) | Blink 537.36 | 3.29.88 | | - Підтримка 64-bit для Mac
- Додані нові додатки/розширення APIs
- Покращення стабільності та продуктивності
Версія під Android: - Виправлення помилок і покращення продуктивності
- Експериментальний режим Reader Mode може бути ввімкнений за допомогою chrome://flags [Архівовано 21 липня 2013 у Wayback Machine.]
|
40.0.2214 | 2015-01-20 (iOS) 2015-01-21 (Linux, OS X та Windows) 2015-01-21 (Android) | Blink 537.36 | 3.30.33 | | - Вимкнена підтримка SSLv3 за замовчуванням
- Мінімальна SSL/TLS версія тепер може бути встановлена через about: flags
- Оновлене Інформаційне діалогове вікно для Chrome додатків на Windows і Linux
- Новий годинник за/перед повідомленням про помилку
Android-версія: - Оновлена інформаційна сторінка і параметри вмісту користувацького інтерфейсу
- Кілька виправлень і поліпшень продуктивності
iOS версія: - Новий погляд з Матеріал Дизайн приносять сміливих графіки, руху рідини, і тактильних поверхонь
- IOS 8 оптимізація та підтримка для великих телефонів
- Підтримка естафетної передачі від Chrome, щоб ваш браузер за замовчуванням на OS X
- Покращена стабільність та виправлені помилки
|
41.0.2272 | 2015-03-03 (Linux, OS X та Windows) 2015-03-11 (Android) 2015-03-16 (iOS) | Blink 537.36 | 4.1.0 | | - Кілька нових програм / API розширень
- Багато під капот змін для стабільності і продуктивності
Android-версія: - Здатність тягнути, щоб перезавантажити у верхній частині більшості сторінок
- Кількість виправлень і поліпшень продуктивності
|
42.0.2311 | 2015-04-14 (Linux, OS X та Windows) 2015-04-15 (Android) 2015-04-16 (iOS) | Blink 537.36 | 4.2.77 | | - Підтримка плагінів NPAPI відключена за замовчуванням
- Кілька нових програмах, розширення і вебплатформи API, (в тому числі Push-API)
- Значні зміни для стабільності і продуктивності
- Змінено дизайн Закладок.
Android-версія: - Отримання повідомлень про останні оновлення з сайтів
- Додавання ваших улюблених сайтів на ваш робочий стіл стало ще простішим
- Виправлення помилок та покращення продуктивності
|
43.0.2357 | 2015-05-19 (Linux, OS X та Windows) 2015-05-27 (Android) 2015-06-01 (iOS) | Blink 537.36 | 4.3.61 | | - Численні виправлення помилок і виправлення безпеки
Android-версія: - Швидше замовлення — швидко і надійно виконують перевірку форми з даними з Google Wallet
- Натисніть, щоб Пошук — Дізнайтеся більше про словах і фразах, торкаючись їх на екрані
- Виправлення та швидкі поліпшення продуктивності
|
44.0.2403 | 2015-05-27 (Linux, OS X та Windows) | Blink 537.36 | 4.4 | | Current Beta Channel |
45.0 | 2015-05-28 (Linux, OS X та Windows) | Blink 537.36 | 4.5 | | Current Dev Channel |
49.0.2623.112 | | | 4.9 | | * Остання версія, яка підтримує Windows XP |
57.0.2987.110 | 2017.03.10 (Linux, OS X та Windows) 2017.03.24 (Chrome OS) | Blink 537.36 | | | |
58.0.3029.81 | 20.04.2017 (Linux, OS X та Windows) 21.04.2017 (Android) 26.04.2017 (iOS) | Blink 537.36 | 5.8.283.1 | | |
59.0.3071.86 | 6.06.2017 (Linux, OS X та Windows) 7.06.2017 (Android) 7.06.2017 (iOS) 10.06.2017 (Chrome OS) | Blink 537.36 | | | - Для платформи Linux збірка за замовчуванням тепер здійснюється з використанням бібліотеки GTK3 +, що значно поліпшило сполучуваність браузера з темами оформлення сучасних дистрибутивів на основі GTK3 +.
- Представлено нове оформлення розділу налаштувань, в якому задіяний стиль Material Design. Новий інтерфейс примітний ширшої і помітною рядком пошуку, новими піктограмами в меню в лівій частині екрана, злиттям секцій «Sign In» і «People», спрощенням розділу настройки контенту і перейменуванням ряду секцій («Search» перейменовано в «Search Engine», " Privacy «в» Privacy and Security ").
- В JavaScript-рушії V8 задіяна нова спрощена схема компіляції, заснована на застосуванні інтерпретатора Ignition і JIT-компілятора Turbofan. Раніше в V8 використовувався досить складний багаторівневий процес компіляції JavaScript, в якому одноразовий код інтерпретувався на першій стадії, після чого генерувався машинний код для JIT, який періодично оновлювався і поліпшувався двома оптимізують JIT-компіляторами.
- Організовано висновок повідомлень через штатну систему нотифікації macOS, замість виведення повідомлень в браузері;
- Забезпечено блокування запитів до URL «ftp: //» з документів, відкритих по HTTP і HTTPS;
|
60.0.3112.78 | 25.07.2017 (Linux, OS X та Windows) 26.07.2017 (iOS) 1.08.2017 (Android) 2.08.2017 (Chrome OS) | Blink 537.36 | 6.0.286.55 | | - Реалізована можливість використання формату кодування відео VP9 в медіаконтейнера MP4 (ISO BMFF). Підтримка MP4 зажадала реалізації нового строкового формату для визначення параметрів кодека VP9, який тепер доступний і в різних мультимедійних Web API;
- Доданий Paint Timing API, що дозволяє відстежити час різних стадій відтворення сторінки. За допомогою даного API можна виявити вузькі місця завантаження сторінки і проблемні моменти, наприклад, ситуації коли відвідувачеві вже видно посилання або форма введення, але через те, що JavaScript ще не завантажився, їх обробники недоступні;
- Додано CSS-властивість font-display і правило @ font-face, які дають можливість визначити як і коли відображати текстовий вміст, якщо шрифт ще не завантажився. Раніше при використанні зовнішніх шрифтів відрисовка тексту не проводилася до закінчення завантаження шрифту. Тепер текст можна відобразити відразу, тимчасово використовуючи шрифт за замовчуванням;
- В API Credential Management API, що надає сайтам можливість зберігати і запитувати облікові дані користувача, додана можливість отримання пароля користувача безпосередньо в складі структури PasswordCredential, без необхідності підключення обробника за допомогою методу fetch (). Для точного проходження специфікаціям, що розвивається робочою групою W3C Web Authentication Working Group, властивість requireUserMediation перейменовано в preventSilentAccess;
- У Chrome для настільних систем забезпечена можливість використання API Payment Request, що дозволяє організувати швидке здійснення платежів за допомогою кредитної картки, без необхідності повторного ручного введення типової інформації, такої як дані про платника, номер картки (для підтвердження вводиться CVC-код) і адреса доставки;
- Сайтам надана можливість збирати платежі через власні Android-додатки, використовуючи Payment Request API;
|
61.0.3163.79 | 6.09.2017 (Linux, OS X та Windows) 6.09.2017 (iOS) 6.09.2017 (Android) 6.10.2017 (Chrome OS) | Blink 537.36 | 6.1.534.42 | | - Вбудована підтримка модулів JavaScript, що надають кошти для визначення залежностей і завантаження тільки необхідних для роботи компонентів. Для визначення модулів використовується тег «script» з прапором «type = module». Надана браузером підтримка модулів дозволяє без залучення додаткових складальних етапів організувати завантаження залежностей, паралельно від основного контенту, використовувати розширені методи кешування, відсівати дублікати, забезпечити коректний порядок виконання скриптів;
- Доданий API Web Share (об'єкт navigator.share), що надає кошти для обміну інформацією про контент в соціальних мережах. Новий API дозволяє розмістити на сайті кнопку для швидкої публікації посилань на матеріал в соціальних сервісах, якими користується поточний відвідувач. Таким чином замість роздутого списку окремих кнопок для кожної соціальної мережі і без завантаження віджетів соціальних мереж з'являється можливість розмістити одну кнопку для публікації в актуальних для користувача соціальних мережах. На платформі Android натискання такої уніфікованої кнопки призведе до відкриття штатного діалогу відправки посилання в соціальні мережі і сервіси для яких на пристрої встановлено мобільні додатки (в майбутньому очікується підтримка відправки через web-додатки);
- Доданий API WebUSB, що дозволяє безпосередньо взаємодіяти зі спеціалізованими периферійними пристроями, що підключаються через порт USB, для яких відсутня штатна системна підтримка. WebUSB дозволяє організувати роботу з такими пристроями без установки в систему спеціалізованих драйверів, завдяки наданню можливості прямого звернення до пристрою з web-додатки (логіка низкоуровневого взаємодії задається в web-додатку, тобто драйвер реалізується на JavaScript);
- З метою збільшення безпеки забезпечений автоматичний вихід з повноекранного режиму при відкритті спливаючих діалогів на JavaScript. З міркувань безпеки також припинена підтримка функції start () в Presentation API;
- Додана опція «chrome: // flags / # autoplay-policy» для настройки правил автоматичного відтворення відео;
- З метою економії ресурсів і продовження автономної роботи припинено декодування через API Media Source кадрів відеороликів, відтворюваних в фонових вкладках;
- Власникам сайтів представлена можливість вказівки HTTP-заголовка Clear-Site-Data для видалення осідають в браузері сесійних даних, таких як cookies, service workers, БД storage API і записи в кеші;
- Заборонено використання в URL символів повернення каретки (\ n) і відкривається кутової дужки;
- Можливість використання API Payment Request забезпечена для всіх редакцій браузера, включаючи настільні версії для Windows, macOS, Linux і ChromeOS. Payment Request дозволяє організувати швидке здійснення платежів за допомогою кредитної картки, без необхідності повторного ручного введення типової інформації, такої як дані про платника, номер картки (для підтвердження вводиться CVC-код) і адреса доставки;
- Додано CSS-властивість scroll-behavior для настройки плавності прокрутки;
- Задавані в CSS шістнадцяткові значення кольорів тепер можуть включати дані про прозорість через додавання додаткових цифр до коду кольору (#RRGGBBAA і #RGBA);
- Забезпечено можливість отримання відомостей про відносну позиції вмісту на екрані через API Visual Viewport, що дозволяє спростити обробку ефектів типу масштабування щипком;
- Активований за замовчуванням API Network Information, через який можна отримати доступ до відомостей про поточний з'єднанні (наприклад, тип (cellular, bluetooth, ethernet, wifi) і швидкість);
- Представлений API Device RAM, через який можна дізнатися дані про розмір пам'яті на поточному пристрої;
- Надано можливість отримання орієнтовного значення дискового простору, використаного для зберігання даних поточного сайту, а також значення наданої дискової квоти. Дані надаються в Storage API через функцію navigator.storage.estimate ();
- Конструктор URLSearchParams розширено можливістю обробки будь-яких об'єктів для розбору параметрів запиту (раніше підтримувалися тільки об'єкти URLSearchParams). Додана підтримка виведення результатів розбору параметрів в відсортованому вигляді;
- Додана підтримка HTTP-заголовка Expect-CT c SCT-параметрами (SignedCertificate Timestamps) для виявлення некоректних SSL-сертифікатів за допомогою системи Certificate Transparency ;
- Забезпечено автоматичне розкриття відео на весь екран при зміні орієнтації мобільного пристрою на ландшафтний режим під час відтворення відео;
- В інструменти для розробників додана кнопка для збереження профілю вимірювання продуктивності;
- У діалозі предпросмотра перед друком забезпечено автоматичне визначення принтерів, що надаються системою CUPS;
- Додані нові параметри для управління заповненням заголовка Referrer (Referrer Policy): same-origin (заповнювати тільки для того ж домену), strict-origin (завжди відправляти обрізаним) і strict-origin-when-cross-origin (відправляти обрізаним на інші хости) ;
- Відповідно до вимог специфікації максимальне значення параметра colSpan зменшено з 8190 до 1000;
- Додана можливість завдання обмежень на завантаження ресурсів, що відкриваються в iframe, через новий атрибут csp в тезі iframe, який визначає правила Content Security Policy;
- Додана можливість застосування методу getAttributeNames () для прямого обходу колекції атрибутів ;
- Активована валідація і компіляція коду asm.js в проміжне представлення WebAssembly. Додаткова стадія перевірки трохи уповільнює запуск, але зате продуктивність виконання коду як правило вище.
- Продуктивність операцій Maps і Sets при використанні ітераторів або виклику через Map / Set.prototype.forEach зросла до 11 разів, у порівнянні з випуском V8 6.0;
|
62.0.3202.62 | 18.10.2017 (Linux, OS X та Windows) 18.10.2017 (iOS) 18.10.2017 (Android) 27.10.2017 (Chrome OS) | Blink 537.36 | | | - Розширено спектр ситуацій при яких виводиться повідомлення про небезпечному з'єднанні при зверненні до сайтів по HTTP. Крім уже виставляється мітки небезпечного з'єднання при заповненні форм введення пароля і номерів кредитних карт, аналогічне попередження тепер буде виводитися при заповненні будь-яких форм даних на сторінках відкритих по HTTP, а також при відкритті сайтів по HTTP в режимі інкогніто;
- Можливість відключити звук для окремих сайтів. Користувач може на постійній основі заблокувати висновок звуку для конкретних сайтів, які зловживають автоматичним відтворенням відео або дратівливими звуковими ефектами;
- У настройки додана опція для включення режиму зворотної прокрутки, змінює напрямок зсуву вмісту при прокручуванні обертання колеса миші;
- В API Network Infomation додані метрики якості мережевого з'єднання, що дозволяють оцінити реальну пропускну здатність поточного підключення і затримки в доставці пакетів, крім раніше наданої інформації про теоретичну швидкості мережевого інтерфейсу. Крім того, надані кошти для постійного відстеження мережевий продуктивності і генерації повідомлень про зміну якості каналу зв'язку. Для спрощення інформація про швидкість прив'язана до класів мережевого підключення, наприклад, 2G, 4G, WiFi і Ethernet (наприклад, буде виставлений клас 2G, навіть якщо фактичне з'єднання Ethernet, але спостерігаються великі затримки). З практичного боку, розробники можуть скористатися новим API для завантаження спрощеної версії сайту або відключення сервісів, що вимагають інтенсивної передачі даних, в умовах повільного з'єднання з мережею;
- Додана підтримка мінливих шрифтів OpenType (variable fonts), в яких товщина, ширина і інші стилістичні характеристики гліфа можуть довільно змінюватися. Замість окремого опису кожного уявлення, комбінації можливих варіантів визначаються в одному шрифтовому ресурсі через визначення можливих delta-відхилень від базового гліфа з отриманням результату через застосування інтерполяції. Таким чином, замість використання для кожного стилю свого файлу зі шрифтом, можна обійтися одним шрифтовим файлом, що значно скорочує обсяг даних, необхідних для отримання заданого результату. Управління параметрами відтворення мінливих шрифтів здійснюється за допомогою CSS-властивостей font-weight (тепер можна вказувати не тільки клас, але і цифрові значення для товщини і стилю) і font-variation-settings (більш тонка настройка гліфів);
- В API DOM Elements додано розширення Media Capture, що дозволяє захоплювати вміст, промальовується за допомогою HTMLMediaElements (наприклад, контент, що виводиться через теги video і audio). Захоплення ініціюється методом captureStream (), після чого мультимедійні дані передаються в формі MediaStream безпосередньо з HTMLMediaElements. У тому числі можливий запис і відправка захопленого потоку через WebRTC і обробка за допомогою API WebAudio;
- Внесено нові оптимізації продуктивності в JavaScript-рушій V8. До 6.5 разів збільшено швидкість роботи методу Object # toString (), що позитивно позначилася на роботі фреймворків, які використовують Object # toString (), наприклад, продуктивність AngularJS зросла приблизно на 3 % (по тесту Speedometer). Також до 3 3 разів прискорена робота методу String # includes (), до 5 разів someProxy (params) і SomeOtherProxy (params) і до 6.5 раз someProxy.property. Внесено оптимізації в роботу Map, Set, WeakMap і WeakSet, що дозволили прискорити роботу з хешамі при використанні бібліотеки Hashcode;
- Поліпшено роботу движка V8 на пристроях з невеликим об'ємом оперативної пам'яті, для яких початковий розмір буфера для об'єктів з коротким життєвим циклом зменшений до 512K;
- Максимальний розмір рядків на 64-розрядних системах збільшений з 2 ^ 28 (256 Мб) до 2 ^ 30 символів (1 Гб);
- У рушій розбору регулярних виразів за замовчуванням включений режим dotAll при вказівці прапора «s», при якому під маску «.» підпадають в тому числі символ перекладу рядка (/foo.bar/su.test('foo\nbar '); // true). Додано механізм оцінки Lookbehind, що дозволяє визначити в регулярному виразі, що один шаблон передує іншому (наприклад, зіставити суму в доларах без захоплення знака долара);
- В API PaymentRequest для кожного методу платежів забезпечена можливість вказівки різних цін і елементів за допомогою модифікатора PaymentDetailsModifier.data;
- Додана підтримка html-елементів <data> і <time> для прив'язки значень для автоматичного розбору і вказівки часу, наприклад, "<data value =" 8 "> Вісім </ data>" або "<time> 2017-10-18 13 : 04 </ time> ";
- У парсер значень кольорів в CSS додано підтримку 8- і 4-значних шістнадцяткових форматів значень кольору (#RRGGBBAA і #RGBA);
- Додано «Origin Trial» для WebVR, що дозволяє почати експерименти з web-додатками для віртуальної реальності;
- Розширено інтерфейс завантаження файлів в Chrome для Android через форми <input type = "file">, забезпечена можливість вибору для завантаження відразу декількох файлів, якщо через атрибут accept дозволена тільки завантаження зображень;
- В API MediaSource розширені засоби переміщення по потоку за допомогою методу HTMLMediaElement.seekable, завдяки новим API setLiveSeekableRange і clearLiveSeekableRange.
- В API Media Source Extensions (MSE) додана підтримка формату кодування звуку FLAC;
|
63.0.3239.108 | 7.12.2017 (Linux, OS X та Windows) 7.12.2017 (iOS) 7.12.2017 (Android) 16.12.2017 (Chrome OS) | Blink 537.36 | 6.3.292.48 | | - Змінено оформлення сторінки «chrome: // flags», що дозволяє активувати доступні для тестування експериментальні можливості. У новому оформленні застосований метод адаптивної верстки, проведена оптимізація для роботи з сенсорного екрану, додана підтримка пошуку прапорів по масці, змінена колірна схема, явно розділені опції, доступні й недоступні на даній системі;
- Додана нова інформація на службовій сторінці «chrome: // gpu», на якій представлені подробиці про графічної підсистеми, такі як число біт на піксель і на колірний компонент, параметри масштабування для монітора, налаштування колірного простору і т. ін.
- Забезпечено висновок попередження при виявлення спроб перехоплення трафіку HTTPS, в результаті активності шкідливого ПЗ або MITM-проксі. Як ознаки для виведення попередження використовується аномально велику кількість помилок SSL-з'єднань для різних сайтів за короткий проміжок часу, тобто метод виявляє факти грубої підміни, в результаті якої виникають помилки SSL і з'єднання позначається як небезпечне. Основна відмінність від попередження про небезпечному з'єднанні полягає в тому, що користувач інформується про можливу локальної MITM-атаці, яка не пов'язана з проблемами настройки HTTPS на конкретному зовнішньому сайті.
- Включена позначка прапором небезпечного з'єднання звернень до ресурсів по протоколу FTP. Протокол FTP розглядається як поступається HTTP за рівнем захисту, так як у HTTP є можливість застосування HSTS (HTTP Strict Transport Security) для автоматизації проброса на HTTPS;
- При натисканні на індикатор рівня безпеки сторінки тепер виводиться тільки список змінених налаштувань і дозволів доступу. Налаштування які не змінилися і залишаються в значенні за замовчуванням не показуються під індикатором, але залишаються доступні в розділі перегляду інформації про сторінку (Page Info);
- При перегляді відео курсор при попаданні поверх відео тепер автоматично ховається при приховуванні елементів управління відтворенням;
- В інструменти для розробників (DevTools) додана можливість інспектування коду внутрішніх компонентів інтерфейсу браузера (для включення потрібно устновіть прапор chrome: // flags / # enable-ui-devtools);
- Продовжено роботу по боротьбі з нав'язливими повідомленнями і запитами повноважень, які за статистикою Google ігноруються або відкидаються користувачами в 90 % випадків (наприклад, багато сайтів зловживають пропозиціями про відправку push-повідомлень). На додаток до раніше доданої в Chrome 59 тимчасове заблокування запитів (блокування на тиждень, якщо користувач три рази відхилив запит), в новому випуску Chrome для Android запити тепер виводяться в формі модального діалогу (вимагає обов'язкових дій від користувача) замість нічого не зобов'язує банера в нижньої частини. Передбачається, що це підштовхне розробників сайтів запитувати розширені повноваження тільки при виникненні реальної необхідності і в прив'язці до контексту запитаного відвідувачем дії, а користувача змусить уважніше реагувати на запити повноважень, не просто ігноруючи їх, а приймаючи або забороняючи;
- Реалізована можливість динамічного завантаження JavaScript-модулів, приймаючи рішення про потребу в модулі безпосередньо в коді. Крім раніше запропонованого статичного методу завантаження модулів через тег «script» з прапором «type = module», модулі та скрипти тепер можна завантажувати в міру виникнення необхідності за допомогою конструкції import (specifier) в JavaScript-код;
- Представлений новий API Device Memory, що дозволяє отримати відомості про розмір оперативної пам'яті. Дана інформація може виявитися корисною для створення легких варіантів web-додатків, що завантажуються для пристроїв з невеликим об'ємом оперативної пам'яті або для активації розширених можливостей при наявності великого обсягу пам'яті;
- Додана підтримка вказівки режиму async при оголошенні функцій генератора, а також можливість застосування async до Ітератор, які можуть використовуватися в циклах «for»;
- У браузер вбудовані правила, підставляють заголовок HSTS (Strict Transport Security) для відкриття за замовчуванням HTTPS на всіх сайтах, що використовують домени першого рівня .dev і .foo. Ці домени належать компанії Google, яка визначає правила їх використання, і орієнтовані для розміщення сайтів, пов'язаних з розробкою ПЗ і web-додатків.
- Додана підтримка шоломів віртуальної реальності Daydream View для перегляду сайтів з підтримкою WebVR;
- В CSS доданий новий специфікатор «Q» для визначення розміру з точністю 1/4 мм (наприклад, «letter-spacing: 4q»);
- Додано нове CSS-властивість overscroll-behavior, що дозволяє змінити поведінку при досягненні кінця області прокрутки;
- Забезпечено генерація подій beforeprint і afterprint в процесі виведення сторінки на друк, даючи можливість розробникам прикріпити анотацію до друкованої копії та відредагувати її після відправки на друк;
- Доданий API Intl.PluralRules, що спрощує коректне оформлення значень в множині (наприклад, 1 кішка, 2 кішки, 5 котів)
- Реалізована підтримка аутентифікації з використанням другої версії API NTLM (NT LAN Manager);
- Додано «Origin Trial» для API Generic Sensor, що дозволяє отримати доступ до акселерометру, гіроскопа, датчикам прискорення і орієнтації в просторі;
- API localStorage і sessionStorage переведені на використання getItem () замість анонімного геттера. Як наслідок, доступ до ключа за допомогою getItem () тепер буде приводити до повернення значення «null» замість «undefined». Для зручності робота методи getItem (), removeItem () і clear () переведені а категорію перераховуються (enumerable);
- У Chrome для Android додана підтримка CSS-властивості «display: minimal-ui», що дозволяє створювати інтерфейси, схожі на відокремлені додатки, але з мінімальним числом елементів управління навігацією;
- Запропоновано чергова порція оптимізацій продуктивності в двигуні V8, в тому числі на 14 % прискорена робота парсера, істотно прискорена робота вбудованих строкових функцій, таких як String # trim, покращена продуктивність Object.is (). Загальні результати вимірювання продуктивності при проходженні різних текстів представлені на нижчеподаному графіку:
- Для поліпшення сумісності з іншими браузерами HTMLAllCollection, HTMLCollection, HTMLFormControlsCollection і HTMLOptionsCollection перестали бути перерахованими, тобто для них тепер потрібно явний виклик Object.keys () або перебір в циклі. Вилучений специфічний для WebKit метод getMatchedCSSRules (). В CSS припинена підтримка селектор «:: shadow» і «/ deep /».
|
64.0.3282.119 | 25.01.2018 (Linux, OS X та 25.01.2018 (iOS) 25.01.2018(Android) | Blink 537.36 | 6.4.388.41 | | - Linux виводити повідомлення, відправлені через API сповіщень або chrome.notifications, тепер здійснюється через штатні механізми користувацьких округів (наприклад, повідомлення Chrome тепер виводяться як звичайні повідомлення KDE Plasma і GNOME);
- Запрещено автоматичне перенаправлення на посилання з зовнішніх IFRAME-блоків, що дозволяє блокувати роботу жуличних рекламних вставок, відкриваючи інші сторінки без введення інформації користувача. Пропонований спосіб дозволяє боротися з посиланнями, закамуфлювати за кнопками відтворення або закриття, або активізуються через накладення прозорого шару, що перехоплює будь-які кліки. Наприклад, будуть блокіроваться висхідні пропозиції, в яких натискання кнопки закриття діалогового вікна призводить до відкриття додаткових вікон або вкладок з рекламованими сторінками.
- Призупинено автоматичне відтворення відео з звуком на поточному вкладці, якщо у відеостанції за умовчанням не вимкнено звук (виставлен флаг mute або відсутня звукова дорожка). Для відтворення відео з звуком потрібен явний клік. Новое поведінка дозволить автоматично блокувати покази відеореклами звуком, що створює незручності і відволікає користувача при перегляді сторінок. Блокіровка буде знята для сайтів, на яких користувач часто переглядає мультимедійний контент, в якому користувач надав спеціальні повноваження або які були додані на домашній екран у мобільній версії;
- На 15 февраля передбачається включення вбудованого блокування реклами, націленої на боротьбу з рекламними блоками, що заважають впізнанню вмісту та не відповідають критеріям, розробленим Коаліцією по поліпшенню реклами (перекриття контенту спливаючих вікон, реклама з секундоміром до закриття, відображається до завантаження контенту, дуже великі закріплені блоки, мигання фону, агрессивное изменение цветов);
- Крім того, представлені в січні 2007 р. Chrome 63 дозволить запобігти експлуатації уразливостей Meltdown і Specter (обмежена точність вимірювання інтервалів часу функцією performance.now () і повністю відключена підтримка типу SharedArrayBuffer), в Chrome 64 внесено деякі додаткові зміни для протидії подібним атакам на рівні движка V8 . Зокрема, захищена від звернень до пам'яті поза межами області, відведеної для WebAssembly і asm.js, а також доступною через масиви та рядки JavaScript;
- Введена серія оптимізацій в рушій V8: Виробнича характеристика оператора зросла в 3,6 рази, що призвело до збільшення продуктивності бібліотеки uglify-js на 15-20 %. Устранені деякі вузькі місця з продуктивністю Function.prototype.bind. WeakMap і WeakSet переписані на базі CodeStubAssembler, що відбивається п'ятикратним зростанням їх продуктивності. Використання CodeStubAssembler також переписано Array.prototype.slice, що дозволило прискорити його приблизно в 4 раза;
- Проведена робота по скороченню витрати пам'яті в движку V8 — при перегляді типових сайтів витрата пам'яті кожної вкладки знизилася на кілька сотень кілобайт.
- На сторінку chrome: // gpu додані відомості про доступні механізми швидкого прискорення декодування та кодування відео для різних форматів (h.264, vp8, vp9 тощо);
- Додано API Зміни розмірів оглядача, що дозволяє підключити обробника, до якого будуть направлятися повідомлення про зміну розміру зазначених елементів на сторінці. Ключове відрізнення нового API від window.onresize і CSS Media Queries полягає в тому, що можна визначити факт зміни конкретної елемента на сторінці, а не всю видиму область, що дозволяє відреагувати зміну тільки цієї елемента без зміни всього видимого вмісту;
- Представлено властивості import.meta, за допомогою якого можна запросити метадані з інформацією про певний використовуваний модуль. На даний момент доступно тільки властивості import.meta.url, що дозволяє дізнатись URL, з якого був завантажений модуль (наприклад, для визначення базового адреси для завантаження ресурсів, пов'язаних з модулем), але в подальшому очікується поява та інших властивостей, таких як розмір модуля ;
- Добавлена можливість створення анімації за допомогою CSS-властивостей офсетного шляху, визначеного в даному властивості геометричного шляху, за яким повинен рухатися елемент;
- Добавлено CSS-властивість текстового оформлення-скип-чорнила для управління поведінкою оформлення в тому випадку, якщо верхнє або нижнє підчеркнення накладається на глиф у іншому рядку;
- Координати PointerEvent для курсора миші (pointerType = mouse) тепер передаються у дробному вигляді, що дозволяє визначити позицію курсору з більшою точністю;
- В регулярних выражениях з'явилася підтримка іменованих груп (іменованих захоплень), що дозволяє зв'язати зіставлені регулярним вираженням частини рядків з визначеними іменами замість порядкових збігів (наприклад, замість "/ (\ d (4)) — (\ d (2)) — (\ (? <рік> \ d (4)) — (? <місяць> \ d (2)) — (? <день> \ d (2)) / "і отримати доступ до року не через результат [1], а через result.groups.year);
- У регулярних виразах додана можливість екранування класів Unicode-символів за допомогою конструкцій \ p (…) і \ P {…}. Наприклад, \ p (номер) визначає всі можливі знаки з зображенням цифр (включаючи символи вигляду ①), \ p (алфавіт) — букви (в тому числі ієроглифів), \ p (Math) — математичні символи і т. ін.
- Добавлен метод Intl.Numberformat.prototype.formatToParts (), що дозволяє використовувати форматування за допомогою правил поточної локалі для строк, виділених функціями форматирования NumberTimeFormat;
- Для елементів відео та аудіо включено за замовчуванням попереджуюча завантаження метаданих (замість спроб завантаження самого ресурсу), для відповідності з поведінкою інших браузерів та економії трафіку;
- Добавлена можливість відтворення HDR-відео (профіль HDR VP9 Profile 2 10-bit) на платформі Windows 10 в режимі HDR;
- Для сумісності зі специфікаціями HTML браузер тепер повертає помилку «NotSupportedError» через DOMException, якщо для мультимедійного елемента задані непідтримувані вимоги до пропускної здатності (playbackRate), наприклад, негативне значення;
- Додано «Trial Origin» для API Media Capabilities, що дозволяє отримувати доступ до статистики про продуктивність та енергоспоживання енергії під час відтворення звуку або відео;
- В объект Запропоновано добавлено атрибут cache для управління режимом кешировани («default», «no-store», «reload», «no-cache», «force-cache», «only-if-cached»). Для перегляду застосовного режиму кешування можна скористатися властивостями Request.prototype.cache;
- Додана можливість застосування API Permissions для отримання інформації про підтвердження користувача доступом до камери та мікрофону;
- В Focus Management API додано атрибут preventScroll для установки фокуса на елементе без прокрутки екрана;
- Для SVG додано CSS-властивість перетворювального ящика для перетворення та зміни позиції перетворюваного SVG-елемента;
- Добавлено експериментальне (chrome: // flags / # enable-experimental-web-platform-features) підтримка API AudioWorklet для низькорівневої обробки звуку за допомогою визначення власних AudioNodes.
- Визначення функції window.alert () тепер не призводить до виведення фонової вкладки на передній план, замість цього відображається спеціальний індикатор, а діалогове вікно виводиться тільки після переходу на вкладку, з якої виведено попередження.
|
65.0.3325.146 | 06.03.2018 (Linux, OS X та 06.03.2018 (iOS) 06.03.2018(Android) | Blink 537.36 | 6.5.254.41 | | - При введенні в адресному рядку забезпечений показ піктограм сайтів (Favicons) в списку рекомендованих посилань;
- Оформлення інтерфейсу управління доповненнями («Manage Extensions» в Omnibox) перероблено і переведено у відповідність з концепцією Material Design;
- Представлено для тестування нове оформлення діалогових вікон і спливаючих повідомлень, відповідне концепції Material Design. Включення за замовчуванням нового інтерфейсу заплановано на Chrome 66, а поки вимагає явної активації через «chrome: // flags # secondary-ui-md»;
- У мобільній версії для платформи Android додана можливість видалення завантажених файлів (в менеджері завантажень додано меню «…» з кнопками Share і Delete). В основне меню додано кнопку для настройки мови, через яку можна вибрати потрібну мову, змінити пріоритет мов і налаштувати функцію перекладу;
- У настройки для людей з обмеженими можливостями додана опція для відображення сторінок по можливості в спрощеному вигляді (Chrome menu → Settings → Accessibility → Simplified View) без нагромадження навігацією та іншими не пов'язаними з контентом елементами;
- В рамках забезпечення захисту від автоматичного відкриття непрошених сторінок забезпечена блокування заміни поточної сторінки при відкритті посилання в новій вкладці (коли клацнути посилання відкривається в новій вкладці, а вміст поточної вкладки перенаправляється на новий URL). При подібних прокинув тепер виводиться попередження, що вимагає від користувача підтвердити перехід явним кліком. Автоматичне відкриття рекламних сторінок часто практикується недобросовісними рекламодавцями, які використовують методи обходу механізмів верифікації HTML-банерів в рекламних мережах для підстановки автоматичного переходу;
- Змінено кодове слово для примусового відкриття сторінок, на яких є проблеми з SSL-сертифікат (наприклад, сертифікат прострочений). Для відкриття подібних сторінок замість кодової фрази «badidea» тепер потрібно ввести «thisisnotsafe»;
- Доданий API CSS Paint (CSS Custom Paint), що дозволяє програмно генерувати зображення для CSS-властивостей. Замість посилання на ресурс із зображенням можна використовувати функцію paint () для вказівки обробника, який згенерує зображення (наприклад, в CSS можна вказати «background-image: paint (checkerboard)», де checkerboard зареєстрований Worklet для формування фону);
- Доданий API Server Timing, що дозволяє сервера передати статистику про споживання різних ресурсів при виконанні певного запиту (CPU, звернення до ФС, операції з СУБД, запити з кешу і т. ін.). Новий API розширює засоби оцінки продуктивності web-додатки на стороні браузера (API Navigation Timing і Resource Timing) можливістю отримати відомості про приховані від браузера витратах часу, які потрібні були для виконання запиту на стороні сервера. Відомості передаються через HTTP-заголовок Server-Timing, підтримка якого вже інтегрована в інструменти моніторингу Chrome Developer Tools;
- В CSS реалізований псевдоселектор «: any-link» для застосування CSS-властивостей до всіх елементів гіперпосилань за якими були і небилиці переходи. Синтаксис визначення колірних координат HSL / HSLA і RGB / RGBA приведений у відповідність зі специфікацією CSS Color 4. Додана можливість використання властивості display: contents для створення блоків для дочірніх елементів і псевдоелементів без генерації батьківського блоку (box);
- Для HTML-елемента slot реалізований метод assignedElements (), який повертає тільки елементи вузлів, прикріплених до зазначеного слоту (за аналогією з раніше доступним методом assignedNodes () для виведення вузлів);
- Додано властивість HTMLAnchorElement.relList, яке показує взаємозв'язок між ресурсом, яку представляють HTML-елементом «A», і поточним документом, задану за допомогою атрибута «rel»;
- У заголовок Feature-Policy доданий прапор sync-xhr, що дозволяє вибірково включати і вимикати синхронний режиму роботи XMLHttpRequest;
- Підтримка протоколу TLS 1.3 приведена у відповідність з 23 чернеткою специфікації;
- Додана можливість використання Request.destination для визначення, які ресурси були завантажені для service worker;
- Внесена серія оптимізацій в рушій V8: Додана підтримка потокової компіляції WebAssembly (компіляції в міру надходження байткода, не чекаючи закінчення завантаження). Проведена оптимізація і inline-розгортання деяких вбудованих методів, наприклад, продуктивність String.prototype.indexOf при виклику функцій збільшена в 10 разів. Також проведена оптимізація Array.prototype.reduce, Array.prototype.reduceRight, Array.prototype.find, Array.prototype.findIndex, Array.prototype.some і Array.prototype.every;
- Розширені інструменти для web-розробників: Додано режим Local Overrides, що дозволяє на льоту змінювати вміст будь-яких HTML-елементів сторінки і зберігати ці зміни між завантаженнями сторінки (раніше правки губилися після перезавантаження сторінки, а тепер можуть бути збережені в локальній ФС). Шлях до каталогу для збереження змін задається у вкладці «Open the Overrides в панелі Sources (кнопка» Setup Overrides "). Відстежувати внесені зміни можна у вкладці Changes;
- Додана панель Accessibility для інспектування властивостей елементів, пов'язаних з режимами відображення для людей з обмеженими можливостями. В Color Picker додані кошти для оцінки контрастності текстових елементів. В панель Audits додані інструменти для автоматичного аудиту текстових елементів на предмет їх сприйняття людьми з ослабленим зором або порушеним сприйняттям кольорів;
- Додано новий розділ для проведення SEO-аудиту, який оцінює якість оптимізації контенту для пошукових систем;
- Розділ аудиту продуктивності розширено перевірками часу завантаження JavaScript, якості кешування статичного контенту, наявності перенаправлень на інші сторінки, використання плагінів і мінімізації CSS і JavaScript. В панель Performance додана можливість запису до 5 логів зі статистикою продуктивності;
- Так як мова WebIDL визнаний застарілим, в API PerformanceResourceTiming, PerformanceLongTaskTiming і TaskAttributionTiming доданий метод toJSON для перетворення об'єктів в JSON;
- Для захисту від витоку інформації на інші хости (cross-origin) в Chrome тепер ігнорується наявність атрибута download для елементів "A з атрибутами cross-origin;
- Для відповідності вимогам специфікації HTML заборонено перевизначення об'єкта document.all;
- Припинено довіру до SSL-сертифікатами Symantec, виданими після 1 грудня 2017 роки (зміна діє тільки для сайтів, які відмовилися замінити застарілий сертифікат Symantec на новий сертифікат від DigiCert).
|
66.0.3359.117 | 18.04.2018 (Linux, OS X та 18.04.2018 (iOS) 18.04.2018(Android) | Blink 537.36 | | | - Припинено автоматичне відтворення відео зі звуком на поточній вкладці. Автоматичне відтворення мультимедійного контенту (властивість autoplay) тепер допустимо тільки якщо користувач явно клацнув на сторінці або часто переглядає мультимедійний контент на цьому сайті. Зміна дозволить блокувати зловживання на деяких сайтах, автоматично показують відеорекламу зі звуком, яка створює незручності і відволікає користувача при перегляді сторінок;
- Застосування методів Material Design для горизонтальної прокрутки на сенсорних екранах. При здійсненні жестів гортання вправо або вліво від краю сторінки тепер висвічується спеціальний анімаційний індикатор, який показує напрямок навігації. Для включення нового режиму в «chrome: // flags / # overscroll-history-navigation» слід встановити значення «Simple»;
- Експериментальне нове оформлення діалогів і спливаючих вікон в стилі Material Design (тестування почалося в минулому випуску і поки не завершено). Включення проводиться через «chrome: // flags # secondary-ui-md»;
- Для користувачів, які не можуть переглянути вбудовані PDF, додана можливість кліка на завантажений PDF і відкриття його в будь-який зовнішній програмі перегляду;
- У версії для Android додана можливість експорту збережених паролів (Settings -> Overflow Menu -> Export Passwords). Перед початком експорту потрібно повторно пройти аутентифікацію;
- У версії для Android додана можливість відключення показу посилань-рекомендацій на сторінці нової вкладки (відключається через новий перемикач в секції «Articles for you»);
- Можливість пошуку в списку збережених паролів (дозволяє швидко знаходити сайти для яких раніше були збережені паролі);
- При перегляді web-контенту (webview) в додатку за допомогою Chrome в правому верхньому куті панелі тепер показується додаткова кнопка виклику дій;
- Для знаходяться в режимі очікування завантажень тепер виводиться додаткова інформація з поясненням, чому завантаження ще не стартувала;
- Додана можливість використання об'єкта ImageBitmap для відтворення зображення на «canvas», що дозволяє обійтися без проміжного створення тегу «img» і без зберігання кількох копій зображення в пам'яті. Крім підвищення ефективності роботи з пам'яттю новий метод також дозволяє організувати декодування зображення перед виведенням на «canvas» в асинхронному режимі, не блокуючи роботу інших обчислень;
- Додана підтримка типізованої об'єктної моделі CSS (CSSOM — CSS Typed Object Model (OM) Level 1), що дозволяє маніпулювати значеннями CSS не як рядками, а як типізований об'єктами JavaScript. При використанні CSSOM розробнику не потрібно турбуватися про конвертацію типізованих значень в рядки і навпаки. Крім можливості маніпулювати значеннями, присвоєними властивостями CSS, типизированная об'єктна модель також дозволяє писати більш зручний для супроводу і зрозумілий код. Наприклад, замість «el.style.opacity = 0.3» можна вказати 'el.attributeStyleMap.set («opacity», CSS.number («0.3»))';
- Доданий API для асинхронної роботи з буфером обміну, що дозволяє читати і записувати дані в буфер обміну з використанням механізму Promise. Новий API інтегрується з Permissions API для запиту повноважень і помітно простіше раніше пропонованого API execCommand ('copy'). Наприклад, для читання з буфера обміну можна вказати «const data = await navigator.clipboard.readText ()», а для запису 'await navigator.clipboard.writeText («Hello, clipboard.»)'. У майбутніх випусках очікується підтримка копіювання і вставки складних типів даних, таких як зображення;
- Додано новий об'єкт AudioWorklet, який надає новий синхронний контекст виконання JavaScript, що дозволяє програмно контролювати параметри звуку без внесення додаткових затримок і не впливаючи на стабільність звукового виводу (раніше застосовуваний ScriptProcessorNode працював в асинхронному режимі і приводив до порушення стабільності потоку, в майбутніх випусках він буде оголошений застарілих);
- У медіазапитах CSS (media queries) дозволено застосування математичних виразів calc (), min () і max ();
- В CSS-функціях rgb() і rgba() дозволяється використовувати значення з рухомою комою;
- Спроба читання неіснуючого або некоректного URL через File API тепер приводив[хто?] до висновку[що?] мережевий помилки, замість повернення коду 404;
- У HTML-елементи textarea і select додана підтримка атрибуту autocomplete, який дозволяє управляти включенням або винятком автозаповнення форм;
- Змінний елемент checkbox тепер формують три події: клік, введення і зміна (click, input і change) замість раніше формуються подій click і change;
- В інтерфейс MediaStreamTrack доданий виклик getCapabilities (), через який можна отримати діапазон допустимих значень для кожної властивості;
- JavaScript-функція Function.prototype.toString () тепер повертає рядок з кодом функції, порожниною збігається з тим, як функція заданоа в початкових текстах (всі відступи і навіть коментарі зберігаються);
- У JSON тепер є синтаксичним підмножиною ECMAScript, що дозволяє використовувати в строкових літералах символи поділу рядків (U + 2028) і поділу параграфів (U + 2029);
- Вираз «catch» в блоці «try» тепер може застосовуватися без параметра;
- Методи String.prototype.trimStart () і String.prototype.trimEnd () тепер можуть застосовуватися як стандартні способи вирізання лідируючих і кінцевих пробілів з рядків, на додаток до раніше доступному методу String.prototype.trim (). Нестандартні методи trimLeft () і trimRight () залишені як псевдоніми trimStart () і trimEnd () для збереження сумісності;
- Доданий метод Array.prototype.values (), який повертає об'єкт ітератора, що містить значення для кожного індексу в масиві;
- З властивостей CSS gutter видалений префікс «grid», тобто grid-gap тепер просто gap, grid-row-gap — row-gap, а grid-column-gap — column-gap;
- Додано новий API, що дозволяє отримати інформацію від доступних можливостях декодування мультимедійного контенту на стороні клієнта. На підставі даних, що виводяться можна оцінити чи зможе клієнт забезпечити плавне і енергоефективне декодування відео з роздільною здатністю, обраним на підставі параметрів екрану і смуги пропускання;
- У Fetch API для об'єкта Request реалізовано властивість keepalive, що дозволяє продовжити вилучення даних після закриття вкладки. Також додані інтерфейси AbortSignal і AbortController для скасування вилучення даних;
- Припинено довіру до сертифікатів Symantec, виписаним до 1 червня 2016 року;
- Забезпечено висновок попередження при виявленні спроб стороннього ПО здійснити підстановку коду в процеси Chrome. Подібні підстановки спостерігаються на 2/3 систем з Windows і, як правило, проводяться антивірусним ПЗ. За статистикою, подібні маніпуляції призводять до зниження стабільності роботи і є причиною 15 % всіх спостережуваних крахів браузера;
- Для обмеженого кола користувачів включений за замовчуванням режим суворої ізоляції сайту, що надає додатковий захист від атак типу Spectre. Суть методу в тому, що сторінки різних сайтів завжди розміщуються в пам'яті різних процесів, в кожному з яких застосовується свій sandbox;
- Змінено підхід до кешуванню скомпільованої варіанти JavaScript-коду. Якщо раніше кешувати код, згенерований відразу після першої компіляції основних функцій (до запуску), то тепер в кеш потрапляє код, сформований після першого запуску первинних скриптів, що дозволяє охопити кешуванням функції які не були враховані при початковій компіляції. У деяких ситуаціях новий підхід дозволяє на 20-60 % знизити час компіляції і розбору при повторному завантаженні сторінки;
- Реалізована можливість виносу в окремі фонові потоки операцій компіляції вихідних текстів JavaScript в байткод, що дозволило на 5-20 % скоротити час компіляції в основному потоці. Додатково виключена окрема фаза нумерації AST, що скоротило час компіляції ще на 3-5 %;
- Проведена оптимізація продуктивності асинхронних операцій і функцій promises / async;
- Більш ніж у 10 разів збільшено продуктивність операції Array # reduce для масивів з великим числом пустот або значень з рухомою комою;
|
67.0.3396.62 | 29.05.2018 (Linux, OS X та 29.05.2018 (iOS) 29.05.2018(Android) | Blink 537.36 | | | - Спрощено доступ до встановлених доповнень — в бічне меню розділу налаштування параметрів браузера додана окрема сторінка на список доповнень;
- Як експеримент реалізована опція (режим «Refresh» в «chrome: // flags # top-chrome-md»), що дозволяє оцінити новий модернізований інтерфейс користувача, оформлений в стилі Material Design і оптимізований для пристроїв з сенсорними екранами (збільшені відступи, округленими поле адресного рядка, нова кнопка «+» для відкриття вкладок, змінена забарвлення панелей і полів введення);
- Додана функція запису всіх збережених паролів в текстовий файл у форматі CSV для подальшого імпорту в інші менеджери паролів. Функція доступна в налаштуваннях (в меню «Saved Passwords» доданий пункт «Export passwords …»);
- Оптимізовано відображення великого числа вкладок — в разі нестачі місця на кнопці замість приховування піктограми сайту і відображення першої літери заголовка тепер завжди буде відображатися позначка, навіть якщо для її показу необхідно масштабування;
- Додана експериментальна можливість (включається при запуску браузера з опцією «- enable-features = EnableCastLocalMedia») по трансляції довільних звукових і відео файлів на зовнішні пристрої з підтримкою Google Cast. Для передачі слід вибрати в меню пункт «Cast …», вибрати пристрій для передачі («Cast to») і вказати передається файл («Cast file»);
- У версії для Android оптимізовано відображення в адресному рядку довгих URL і забезпечено автоматичне приховування типових частин URL, таких як «https», «http» і «www»;
- На платформі macOS через контекстне меню надано швидкий доступ до інтерфейсу вибору Emoji;
- Розширено можливості версії Chrome для iOS: поліпшена обробка посилань на iTunes, запропонований новий менеджер завантажень з підтримкою продовження завантаження в фоні;
- Реалізовано API Generic Sensor, що дозволяє web-додатків отримати доступ до різних датчиків, які є на мобільному пристрої. В основі нового API лежить клас Sensor, поверх якого реалізовані специфічні для різних типів датчиків класи:
- Accelerometer можна використовувати для координації перегляду 3D-відео через переміщення пристрою в просторі;
- Gyroscope дає можливість маніпулювати становищем пристрою в іграх, на зразок настільного лабіринту;
- OrientationSensor дозволяє оцінювати зміну орієнтації пристрою, комбінуючи свідчення від акселерометра і гіроскопа (якщо в грі лабіринт гіроскоп дозволяє направляти рух в двовимірному просторі, то OrientationSensor дає можливість використовувати поворот пристрою, щоб повернути за ріг);
- Motion Sensors — пропонує набір класів для оцінки характеру і зміни напрямку руху. На додаток до акселерометру і гіроскопа, дозволяє враховувати дані від магнитометра, наприклад, для створення віртуального компаса.
- Додано «Origin Trial» для API WebXR Device, що дозволяє отримати доступ до компонентів для створення віртуальної і доповненої реальності і уніфікувати роботу з різними класами пристроїв, від стаціонарних шоломів віртуальної реальності, подібних Oculus Rift, HTC Vive і Windows Mixed Reality, до рішень на базі мобільних пристроїв, таких як Google Daydream View і Samsung Gear VR. Origin Trial має на увазі можливість роботи з зазначеним API з додатків, завантажених з localhost або 127.0.0.1, або після проходження реєстрації та отримання спеціального токена, який діє обмежений час для конкретного сайту.
- З додатків, в яких може бути застосований новий API згадуються програми для перегляду відео в режимі 360 °, системи візуалізації тривимірного простору, створення віртуальних кінотеатрів для презентації відео, проведення експериментів зі створення 3D-інтерфейсів магазинів і галерей;
- В JavaScript запропонований новий числовий тип BigInt, що дозволяє зберігати цілі числа довільного розміру, для яких недостатньо типу Numbers (наприклад, ідентифікатори і значення точного часу раніше доводилося зберігати в вигляді рядків);
- В API Credential Management доданий новий тип облікових даних PublicKeyCredential, який доповнив раніше доступні типи PasswordCredential і FederatedCredential можливістю проведення аутентифікації з використанням закритого і відкритого ключа. З аутентифікатор підтримується USB-токен U2F / CTAP 1;
- Припинено підтримка HTTP-заголовка Public-Key-Pins (ручні прив'язки поки збережені), що дозволяє сайтам визначати прив'язки відкритих ключів з використанням механізму PKP (Public Key Pinning), що дозволяє явно визначити сертифікати яких засвідчувальних центрів допустимо використовувати для заданого сайту. Замість PKP розробникам сайтів рекомендується використовувати HTTP-заголовок Expect-CT c SCT-параметрами (SignedCertificate Timestamps) для виявлення некоректних SSL-сертифікатів за допомогою системи Certificate Transparency, яка передбачає можливість скасування помилкових прив'язок;
- В JavaScript-рушії V8 продовжено удосконалення засобів для захисту від виконання що не заслуговує довіри коду і блокування атак по стороннім каналах, таким як Spectre. Зокрема, розширено категорія користувачів яким для тестування пропонується режим суворої ізоляції сайту, що надає додатковий захист від атак завдяки тому, що сторінки різних сайтів завжди розміщуються в пам'яті різних процесів, в кожному з яких застосовується свій sandbox;
- В DOM надана можливість додавання власних HTML-елементів, які розширюють функціональність існуючих HTML-тегів (наприклад, для тегу button можна додати анімацію);
- В API Streams доданий клас TransformStream для створення і передачі даних в формі потоку (pipe) між ReadableStream і WritableStream. Як приклад використання TransformStream наводиться організація перекодування тексту відповіді на запит;
- У число оброблюваних подій миші крім mousedown, auxclick і mouseup додані події для кнопок вперед і назад, які є в моделях мишей з 5 і більше кнопками;
- Підтримка AppCache (технологія для організації роботи web-додатки в offline-режимі) переведена в розряд застарілих, видалення заплановано на випуск Chrome 69. Як причина називається бажання позбутися від одного векторів для здійснення атак, пов'язаних з міжсайтовий скріптігом.
|
68.0.3440.75 | 25.07.2018 (Linux, OS X та 25.07.2018 (iOS) 25.07.2018(Android) | Blink 537.36 | | | - Зміни повідомлень про безпеку з'єднання — все відкриті по HTTP сторінки тепер забезпечені індикатором, який попереджає про встановлення небезпечного з'єднання. Щоб уникнути відображення індикатора небезпечного з'єднання власникам сайтів рекомендовано мігрувати на HTTPS. Можливі підводні камені, з якими можуть зіткнутися вебмастери при міграції, описані в спеціально підготовленому керівництві.
- Так як HTTP тепер позначається небезпечним, то немає сенсу окремо позначати HTTPS індикатором безпечного з'єднання, тому в наступному випуску Chrome 69 для HTTPS перестане показуватися зелена напис «Secure», а в жовтневому випуску Chrome 70 буде прибраний і значок із зображенням замку для HTTPS, а колір напису «Not Secure» для з'єднань HTTP буде замінений з сірого на червоний.
- Забезпечено додатковий захист від відкриття рекламних сторінок без відома користувача. Для протидії шахрайським рекламним блокам, обманним шляхом перекидати користувачів на інші сторінки, в новому випуску заборонено автоматичне перенаправлення на посилання з зовнішніх iframe-блоків і заблокований кидок на новий URL на поточній сторінці при відкритті посилання в новій вкладці (техніка tab-under). При подібних прокинув тепер виводиться попередження, що вимагає від користувача підтвердити перехід явним кліком;
- Реалізовано перший рівень захисту від спроб виконання стороннього коду всередині процесів Chrome. Подібні підстановки спостерігаються на 2/3 систем з Windows і, як правило, проводяться антивірусним ПЗ. За статистикою, подібні маніпуляції призводять до зниження стабільності роботи і є причиною 15 % всіх спостережуваних крахів браузера. У Chrome 68 підстановка коду в процес призведе до блокування запуску браузера і висновку повідомлення з можливістю продовжити роботу. У Chrome 72, наміченому на січень 2019 року, блокування буде застосовуватися на постійній основі;
- У повноекранному режимі Додана спливаюча кнопка, що з'являється при підведенні курсора до верхнього краю вікна. Натискання на кнопку ініціює вихід з повноекранного режиму, що вирішує проблему з керуванням на пристроях без клавіатури;
- Додана експериментальна опція (chrome: // flags / # omnibox-rich-entity-suggestions) для показу зображень і супутніх пояснень в списку рекомендацій, який показується в процесі набору в адресному рядку;
- Доданий Page Lifecycle API для обробки подій, пов'язаних з життєвим циклом сторінки. API дозволяє розробнику розпізнати ситуації, коли виконання web-додатки в фоновій вкладці заморожується через брак ресурсів, встановивши обробники подій freeze і resume. У разі коли заморожена сторінка витісняючи з пам'яті додатково встановлюється властивість document.wasDiscarded, яке дозволяє розробнику відновити стан сторінки після її перезавантаження при поверненні користувача до замороженої вкладці (стан може бути збережено в IndexedDB при обробці події freeze). Для симуляції заморозки можна використовувати спецсторінку chrome: // discards;
- Змінено поведінку при додаванні на домашній екран додатків, що працюють в режимі Progressive Web Apps (PWA, дозволяє організувати роботу з web-додатком, як з відокремленої програмою). У новій версії додані кошти для більш тонкого управління тим, коли і як виводиться діалог з пропозицією додати програму на домашній екран. Замість автоматичного виведення подібного діалогу браузер тепер генерує подія beforeinstallprompt, що дозволяє розробнику реалізувати альтернативний елемент інтерфейсу для інформування користувача про можливість установки програми. Коли користувач клацне на цьому елементі, розробник може викликати функцію prompt (), передавши в неї збережене подія beforeinstallprompt, для показу модального діалогу тільки після явного бажання користувача встановити програму на домашній екран.
- В якості тимчасового рішення для згладжування процесу адаптації нового поведінки, при першому відкритті сайту додатка буде виводитися міні-підказка про можливість установки на домашній екран. При відхиленні пропозицію підказка наступного разу буде показана тільки через 3 місяці;
- Доданий Payment Handler API, що дозволяє стандартизувати прийом платежів. Новий API розширює можливості API Payment Request і спрощує інтеграцію з існуючими платіжними системами, роблячи їх додавання таким же простим, як додавання параметра в властивість supportedMethods. Розробнику достатньо лише вибрати метод платежу, а всі супутні форми будуть надані браузером;
- Реалізовано формат CSS-властивості overflow з двома значеннями. Якщо вказані два значення, то перше з них трактується як overflow-x, а друге як overflow-y. Наприклад, «overflow: hidden auto;» еквівалентно «overflow-x: hidden; overflow-y: auto»;
- Припинено підтримка формату CSS-властивостей position, object-position і perspective-origin з трьома значеннями (горизонтальна позиція, вертикальна і масштаб), наприклад, «position: top right 20 %». Для даних властивостей тепер дозволено лише формати з одним, двома і чотирма значеннями;
- У CSS для екранів з високою щільністю пікселів додана нова розмірність 'x', яка еквівалентна 'dppx' (dot per pixel);
- CSS-властивість cursor звільнився від специфічного для Chrome префікса значення «grab» і «grabbing»;
- Доданий метод customElements.upgrade (), що дозволяє запустити конструктор для елементів customElements не чекаючи активації елемента (наприклад, при створенні елемента в блоці innerHTML, що не приєднаному до документа);
- HTTP кеш тепер за замовчуванням ігнорується при оновленні коду Service worker, що відповідає поведінці інших браузерів. Для оновлення з урахуванням кешу запропоновано властивість ServiceWorkerRegistration.updateViaCache. Крім того, для запитів через importScripts як і раніше код скриптів завантажується з урахуванням кешу;
- Припинено підтримка методу document.createTouch (), нестандартних атрибутів Document.selectedStylesheetSet і Document.preferredStylesheetSet, а також формату текстур WEBGL_compressed_texture_atc (майже не використовуються на практиці);
- Web API надає можливість призначення обробників для системних спецклавіш (наприклад, Esc і Alt-Tab) в повноекранному режимі. Користувач тепер може скасувати дію таких обробників через утримування Esc протягом двох секунд;
- В API Gamepad додана підтримка систем Haptic Vibration зі зворотним зв'язком. Метод Gamepad.timestamp переведений на використання DOMHighResTimeStamp і тепер підтримує інтервали часу з мікросекундної точністю;
- Проведена робота щодо зниження споживання пам'яті рушієм V8 на сайтах, що містять більше число JavaScript-функцій. На 25 % скорочено розмір структур SharedFunctionInfo, які займають 2-6 % пам'яті на звичайних вебсайтах. Додатково приблизно на 3 % знижено загальне споживання пам'яті рушієм на мобільних пристроях.
- Додані оптимізації продуктивності для коду деструктуризации масивів, викликів Object.assign (прискорення на 15 % в тесті React-Redux) і TypedArray.prototype.sort (прискорення до 2.5 раз). Загальна продуктивність браузера в тексті Speedometer2 зросла приблизно на 1.5 %;
- Забезпечено інтеграція з центром повідомлень Windows 10 (Action Center). Наприклад, в разі включення виведення повідомлень на зберігачем екрана, в момент блокування екрана також будуть виводитися повідомлення від Chrome;
- Для Windows і Chrome OS в контекстне меню додана кнопка для швидкого виклику інтерфейсу введення Emoji.
- В інструментах для web-розробників поліпшені засоби автодоповнення вводу, предпросмотра результатів обчислень в web-консолі і виведення підказок про аргументи вводяться функцій. При включенні режиму Eager Evaluation в консолі також тепер показується список властивостей і функцій, доступних для набраного методу.
- Інтегрована нова версія системи аудиту web-додатків Lighthouse 3.0, в якій представлений новий рушій, перероблений інтерфейс користувача і запропоновані нові сценарії аудиту
|
69.0.3497.81 | 4.09.2018 (Linux, OS X та 4.09.2018 (iOS) 4.09.2018(Android) | Blink 537.36 | | | - Запропоновано новий модернізований інтерфейс користувача, оформлений в стилі Material Design і оптимізований для пристроїв з сенсорними екранами (збільшені відступи, округленими поле адресного рядка, нова кнопка «+» для відкриття вкладок, змінена забарвлення панелей і полів введення). Переробка торкнулася практично всі компоненти інтерфейсу, включаючи спливаючі попередження і систему управління завантаженнями;
- Можливість настройки фону стартової сторінки, яка відображається при відкритті нової вкладки. У правому нижньому кутку сторінки розміщена кнопка у вигляді шестерінки, при натисканні на яку можна вибрати фонову картинку. Надано готова колекція фонових зображень, а також можливість завантаження своїх картинок;
- Список обраних посилань на сторінці відкриття нової вкладки тепер формується з використанням піктограм сайтів (favicon), а не мініатюр з скріншот сторінок.
- Додана можливість налаштування складу обраних посилань на сторінці відкриття нової вкладки. Елементи тепер можна редагувати, додавати і видаляти;
- У списку рекомендацій, показує при введенні в адресному рядку, надана можливість швидкого переходу до вже відкритим вкладках, якщо їх вміст відповідає запиту, заданого користувачем. Наприклад, при наборі адреси сайту, вже відкритого в іншій вкладці, поруч з рекомендацією з'явиться кнопка для переходу до цієї вкладці замість відкриття нової;
- В адресному рядку додана підтримка виведення відповідей на питання природною мовою. В тому числі за допомогою нової системи рекомендацій можна відразу отримувати дані про прогноз погоди, переводити слова на іноземній мові, обчислювати математичні вирази, отримувати довідку про відомих людей і події;
- Істотно перероблений менеджер паролів. Додана можливість генерації надійних паролів при заповненні реєстраційних форм. Згенеровані паролі автоматично зберігаються у вбудованому менеджері паролів і можуть синхронізуватися з іншими пристроями користувача, прив'язаними до поточної облікового запису в Google. Покращена система автозаповнення форм. В меню управління входом додані елементи для швидкого переходу до налаштувань автозаповнення форм, збережених паролів і методам проведення платежів;
- Втілений в життя другий етап зміни індикації безпеки з'єднання. Для HTTPS тепер не показується зелена напис «Secure», так як HTTP позначається небезпечним і немає сенсу окремо позначати HTTPS індикатором безпечного з'єднання. У жовтневому випуску Chrome 70 буде прибраний і значок із зображенням замку для HTTPS, а колір напису «Not Secure» для з'єднань HTTP буде замінений з сірого на червоний.
- Додана можливість перегляду відео в режимі «картинка в картинці» (PIP API, Picture in Picture), що дозволяє від'єднати відео в формі плаваючого вікна, яке залишається на увазі в процесі навігації в браузері;
- Доданий експериментальний ефект розмиття курсору миші при русі (відео). Для включення ефекту можна використовувати настройку «chrome: // flags / # ash-enable-cursor-motion-blur»;
- Припинено збереження налаштувань, що задаються сайтами за допомогою Flash. Подібні настройки тепер не зберігаються між сеансами;
- При установці в оточенні Android 8.0+ на пристроях з 1 Гб ОЗУ Chrome тепер реєструється як обробник для відтворення мультимедійних файлів;
- Істотно перероблена версія Chrome для платформи iOS: Додана нова нижня панель, що надає швидкий доступ до найбільш часто викликається функцій. Перероблена сторінка відкриття нової вкладки, на якій тепер представлені часто використовувані закладки та списки читання. Поліпшено роботу режиму інкогніто, огляду недавно закритих вкладок, інтерфейсу для перегляду історії відвідувань і списків читання. Запропоновано новий інтерфейс перемикання між вкладками, що відображає відкриті вкладки в вигляді сітки і дозволяє відкрити вкладки в тому числі на інших пристроях.
- Реалізовано режим виділення тексту за межі графем в лігатурі (якщо символ утворений з'єднанням декількох графем);
- Додана експериментальна підтримка видеокодека AV1, розробленого альянсом Open Media (AOMedia), в якому представлені такі компанії, як Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN і Realtek. AV1 позиціонується як загальнодоступний і не вимагає оплати відрахувань вільний формат кодування відео, який помітно випереджає H.264 і VP9 за рівнем стиснення. Для включення підтримки AV1 слід активувати опцію «chrome: // flags / # enable-av1-decoder»;
|
70.0.3538.67 | 16.10.2018 (Linux, OS X та 16.10.2018 (iOS) 16.10.2018(Android) | Blink 537.36 | 7.0.276.31 | | - Користувачеві надана можливість вибіркової активації доповнень тільки для певних сайтів, з забороною застосування доповнень для сайтів, які не включені в білий список. Також доступний режим індивідуальної активації доповнення на кожній сторінці, при якому додаток включається тільки після явного кліка на значку в панелі. Зазначені можливості можна використовувати для захисту від прихованого здійснення доповненнями нецільових дій, таких як видобування зі сторінки персональних даних або підстановки реклами;
- Додана можливість перезавантаження разом декількох вкладок — тепер можна виділити групу вкладок і натиснути «Ctrl + R» або кнопку «Reload» в меню, тоді
- Доданий експериментальний режим швидкого перемикання на відкриту вкладку зі списку рекомендацій в адресному рядку («Switch to this tab» в chrome: // flags / # omnibox-tab-switch-suggestions). Для сторінки, вже відкритої в іншій вкладці, буде показана кнопка для швидкого переходу до цієї вкладці;
- Завершено трьохетапний процес зміни індикації безпеки з'єднання — прибраний значок із зображенням замку для HTTPS, а колір напису «Not Secure» для з'єднань HTTP замінений з сірого на червоний.
- В адресний рядок доданий індикатор «File» для виділення доступу до локальних ресурсів. Раніше запропонована зміна, прибирають відображення схеми «file: //» в адресному рядку, відхилено.
- Враховано невдоволення користувачів додаванням в Chrome 69 Автоматичне з'єднання до профілю і залишенням Cookie Google після застосування функції видалення всіх Cookie. У новій версії запропонована настройка «Allow Chrome sign-in», що дозволяє виключити прив'язку входу в Chrome з входом в сервіси Google. Функція видалення всіх Cookie тепер очищає все без винятку Cookie, включаючи сесійні Cookie від Google. При очищенні Cookie також автоматично розривається підключення браузера до профілю Google.
- Також змінено індикатор входу, який тепер дозволяє відразу зрозуміти підключений користувач чи ні і чи включена в настройках синхронізація даних.
- Забезпечено автоматичний вихід з повноекраного режиму в разі відображення будь-яких діалогових вікон, спеціальних запитів на аутентифікацію, форм проведення платежів і вікон вибору файлів. Вихід з повноекранного режиму здійснюється, щоб виключити ситуації, коли зловмисник може підштовхнути користувача до невірних дій, маніпулюючи зміною навколишнього контексту;
- Для платформи Windows 10 активований API Web Bluetooth, раніше доступний тільки на платформах Android, Chrome OS і macOS. Web Bluetooth дозволяє web-додатків отримати доступ до зовнішніх пристроїв, пов'язаних через протокол Bluetooth Low Energy (BLE). Наприклад, за допомогою кількох рядків код на JavaScript можна отримати доступ до зовнішніх сенсорів, принтерів та екранів. Web Bluetooth API використовує протокол GATT. Для виявлення пристроїв застосовується механізм Physical Web, що дозволяє швидко отримувати посилання на навколишні об'єкти за допомогою Bluetooth-міток Eddystone;
- У збірки для Windows додана можливість установки web-додатків, що працюють в режимі Desktop Progressive Web Apps, який дозволяє організувати роботу з web-додатком, як з відокремленої програмою;
- Додано «Origin Trial» для API Shape Detection, що надає функціональність для розпізнавання наявності різних елементів на зображеннях. На основі Shape Detection API створені більш високорівневі Face Detection API, Barcode Detection API і Text Detection API. На основі переданого при виклик бітмапами API Face Detection поверне позиції осіб, а також позиції очей, носа і губ для кожного виявленого особи. Barcode Detection API дозволяє декодувати штрих-коди і QR-коди в текстовий вигляд. Text Detection API дозволяє отримати текстове представлення тексту, наявного в зображенні (підтримується тільки розпізнавання символів Latin-1);
- У Web Authentication API розширені можливості, пов'язані з типом облікових даних PublicKeyCredential, що застосовується для аутентифікації на сайті з використанням USB-токенів і біометричних датчиків. Крім роботи на версіях Chrome для настільних систем, PublicKeyCredential тепер доступний і для платформи Android. Включена за замовчуванням підтримка біометричних датчиків macOS TouchID і Android Fingerprint;
- В тег «script» додана підтримка атрибуту «referrerpolicy», що дозволяє контролювати які дані будуть передаватися в заголовку Referrer (раніше даний атрибут підтримувався для елементів a, link, area, img та iframe);
- Реалізовано інтерфейс Intervention report, що дозволяє інформувати серверний додаток про рішення браузера не виконувати запит з міркувань безпеки, продуктивності і роздратування користувача. Повідомлення відправляється всередині HTTP-заголовка Report-To;
- У конструктор worker-ів доданий новий атрибут name, що дозволяє відрізняти виносні фонові обробники (dedicated worker) на ім'я, коли з одним URL пов'язано кілька обробників;
- Додана підтримка фінальної специфікації протоколу TLS 1.3 (RFC 8446), який відрізняється видаленням застарілих і ненадійних криптографічних примітивів (MD5, SHA-224) і можливостей (стиснення, повторне погодження, чи не-AEAD шифри, статичний обмін ключами RSA і DH, вказівка unix- часу в Hello-повідомлення тощо), працює тільки в режимі forward secrecy (компрометації одного з довгострокових ключів не дозволяє розшифрувати перехоплений сеанс), забезпечує більш високу продуктивність, підтримує режим 0-RTT (усуває затримки при поновленні раніше вуст новлених HTTPS-з'єднань), підтримує потоковий шифр ChaCha20, алгоритм аутентифікації повідомлень (MAC) Poly1305, ключі аутентифікації на основі цифрових підписів Ed25519, HKDF (HMAC-based Extract-and-Expand Key Derivation Function), ключі на основі алгоритмів x25519 (RFC 7748) і x448 (RFC 8031);
- Стабілізовано метод Array.prototype.sort;
- В JavaScript-рушії V8 реалізована підтримка техніки Embedded builtins, що дозволяє економити пам'ять завдяки застосуванню загального згенерованого коду в різних ізольованих обробниках V8. Оптимізація включена для всіх платформ, за винятком ia32;
- Для WebAssembly додана експериментальна підтримка багатопотоковості (включення через chrome: // flags / # enable-webassembly-thread);
- Припинено підтримка AppCache (технологія для організації роботи web-додатки в offline-режимі). В якості причини називається бажання позбутися від одного з векторів для здійснення атак, пов'язаних з Міжсайтовий Скриптінг.
|
71.0.3578.80 | 4.12.2018 (Linux, OS X та 4.12.2018 (iOS) 4.12.2018 (Android) | Blink 537.36 | | | - Додана система блокування вводячих в оману рекламних блоків. У разі виявлення на сайті шкідливої реклами, Chrome тепер блокує всю рекламу на проблемному сайті. В якості прикладів недопустимої реклами згадуються перекриття контенту з фіктивними закриттями кнопки, стимулювання кліків обманом (наприклад, оформлення блоків у вигляді системних діалогів, попереджень або повідомлень), не відповідність заявленому поведінці (наприклад, при натисканні на кнопку перегляду відео пропонується встановити пакет з додаванням), симуляція фіктивних форм введення, автоматичний пробій без явних дій користувача і т.д.;
- Додано виявлення попереджень для сторінок з обманними формами підписки. Наприклад, попередження виводяться для сайтів, які пропонують ввести номер телефону для отримання доступу до онлайн-ігри, але при цьому без попередження підключають користувача до додаткових платних підписок або списують кошти, не відповідають заявленим на сторінці (закритим комісіям) або заявленим, але в мешающем для (наприклад, пояснення дуже мелким текстом або в іншому розділі сторінки);
- Для запобігання втручанню дій та блокування спроб нав'язування встановлення непрошеных додатків додатки можна встановити лише після переходу в каталог Chrome Web Store. Inline-режим, що дозволяє почати встановлення додатків без переходу в каталог додатків, більше не підтримується. Вместо початку процесу встановлення викликів chrome.webstore.install () з JavaScript-коду на сайті тепер призведе до відкриття нового вкладки з доданою сторінкою в каталозі Chrome Web Store;
- Додана блокування, що перешкоджає виведенню звуку за допомогою API синтезу мовлення до активних дій користувача зі сторінкою. Вивід звуку через Web Audio API тепер підпадає під правила блокування автоматичного відтворення звуку;
- Система автозаповнення форм тепер ігнорує введення форм, завантажених не через HTTPS або HTTP;
- Кнопка початку відтворення відео переноситься з центру екрана в нижній нижній кут. В екрани елементів управління відтворення відео повертається повзунок для зміни рівня гучності (повзунок з'являється при наведенні курсору на значок гучномовця);
- Добавлена нова нова внутрішня сторінка «chrome: // management», показує встановлені адміністратором додатки та надані їм повноваження;
- При зверненні до пошукової системи Google в адресному рядку тепер відображаються тільки ключові слова, без повної URL-адреси. Для керування показом параметрів запиту в адресному рядку можна використовувати налаштування «chrome://flags/#enable-query-in-omnibox_flag» [Архівовано 21 липня 2013 у Wayback Machine.]. Наприклад, при пошуку слова «linux» буде відображено не «https://www.google.ua/search?Q=linux&oq=linux& ….», а просто «linux»;
- Для відео, виводимого за допомогою API MediaStream, додано контекстне меню та елементи управління відтворенням;
- Добавлена функція Intl.RelativeTimeFormat () для форматування часу в текстовому представленні з урахуванням особливостей різних мов. Наприклад, при виборі англійського мови (rtf = new Intl.RelativeTimeFormat ('en')) виклик rtf.format (3.14, 'second') приведе до виводу 'в 3.14 секунд', а rtf.format (-15, 'хвилина') — «15 хвилин тому». У випадку вибору української мови, відповідно, будуть виводитися фрази через 3,14 секунд і 15 хвилин тому;
- В метод Element.requestFullscreen () додано новий параметр navigationUI, який може приймати значення «auto», «show» і «hide» для управління відображенням навігаційної панелі у повноекранному режимі (поки працює тільки для Android);
- В API дозволу додано новий параметр 'постійне зберігання', що забезпечує виведення запиту на підтвердження повноважень у разі використання вебдодатку API для постійного зберігання даних на стороні користувача;
- Реалізована підтримка обробки масштабування «щипом» на тачпад в асинхронному режимі, що дозволило підвищити продуктивність даної операції;
- Добавлено підтримка кольорових шрифтів COLR / CPAL, що представляють собою підмножину шрифтів OpenType, що містять помилкові векторні слои глифів з інформацією про палітра;
- У JavaScript-рушії V8 удалося приблизно на 200 Кб для кожного процесу знизити споживання пам'яті, завдяки перетворенню обробників байткода в вбудовані функції. Проведено оптимізацію застосування локальних замкнених в контексті функцій (наприклад, «a.map (y => y + x)»), що дозволило підвищити продуктивність подібних операцій до 40 %;
- Пропонується додатковий синтаксис визначення кольорових градієнтів у CSS. Як альтернатива виразу «лінійно-градієнт» (45deg, black 25 %, black 50 %, white 50 %, white 75 %) «now possible to use unified format» linear-gradient[що?] (45deg, black 25 % 50 %, white 50 % 75 %) ";
- В CSS властивості 'text-underline-position' реалізована підтримка значень 'left' і 'right' для підкреслення збоку при вертикальному позиціонуванні тексту;
- Додані API TextEncoderStream та TextDecoderStream, що полегшують перетворення потоків з бінарними даними в текст і назад;
- Стандартизовано і вилучено з специфічного для Chrome API префікса Fullscreen.
|
72.0.3626.81 | 29.01.2019 (Linux, OS X та 29.01.2019 (iOS) 29.01.2019 (Android) | Blink 537.36 | 7.2.502.25 | | - Внесено зміни в конфігуратор. Налаштування автозаповнення полів розділена на кілька секцій для окремого управління заповненням полів з паролями, платіжними формами і адресами. В інтерфейс доданий ярлик для швидкого переходу до налаштувань облікового запису в Google. У настройки версії для Android додана можливість додавання альтернативних пошукових систем. Припинено підтримка настройки підключення пристроїв Chromecast з браузера (для настройки пропонується використовувати окремий додаток);
- Включена за замовчуванням можливість перегляду відео поверх контенту в режимі «картинка в картинці» (Picture-In-Picture), що дозволяє від'єднати відео в формі плаваючого вікна, яке залишається на увазі в процесі навігації в браузері. Для перегляду в даному режимі відео з YouTube необхідно два рази клацнути на відео правою кнопкою миші і вибрати режим «Picture in picture». Від'єднання відео працює тільки при використанні на сайті API Picture-in-Picture, для не адаптовані для нового режиму сайтів можна використовувати зовнішнє доповнення;
- Активована за замовчуванням захист від спроб виконання стороннього коду всередині процесів Chrome. Виняток зроблено лише для коду, підписаного цифровим підписом Microsoft і систем для людей з обмеженими можливостями. Подібні підстановки коду спостерігаються на 2/3 систем з Windows і, як правило, проводяться антивірусним ПЗ. За статистикою, дані маніпуляції призводять до зниження стабільності роботи і є причиною 15 % всіх спостережуваних крахів браузера. Замість підстановки коду в запускаються процеси слід використовувати доповнення та API Native Messaging;
- При відкритті сайтів з використанням TLS 1.0 / 1.1 тепер виводиться спеціальне попередження про застосування застарілої версії TLS. За замовчуванням підтримку TLS 1.0 / 1.1 планують припинити в Chrome 81, який очікується в січні 2020 року, але настройка, що дозволяє повернути TLS 1.0 / 1.1 буде збережена до січня 2021 року;
- Посилений захист від спливаючих вікон — заборонено відкриття вікон через виклик методу window.open () в обробниках подій закриття сторінки (onUnload);
- Реалізовано перший етап припинення підтримки FTP — відключено відображення вмісту каталогів FTP, але завантаження за прямими посиланнями поки працюють;
- У Web Authentication API додана підтримка аутентифікації на сайті з використанням токенів і біометричних датчиків Bluetooth U2F і Windows Hello;
- У версії для Android додана можливість виклику екрану зі списком раніше відкритих в поточній вкладці сторінок через тривале утримання натискання кнопки повернення на попередню сторінку («Back»). Доданий експериментальний режим оформлення «Chrome Duet», при якому змінюється розкладка панелей і меню переміщається в нижню панель (для включення в chrome: // flags слід активувати опцію «chrome-duet»);
- У класах додана можливість визначення публічних полів, без явного використання конструктора і поза входять до складу класу функцій. У майбутніх випусках планується надати можливість визначення і приватних класів.
class MyComponent extends Component { // створимо публічний поле з ім'ям «state» state = {}; render () { doStuff (this.state); } } - Додано API User Activation Query для визначення активації деяких функцій, за замовчуванням відключених до того, як користувач почне взаємодію зі сторінкою. Наприклад, розробник може визначити чи з'явився доступ до функцій переходу в повноекранний режим, автоматичного відтворення звуку і відкриття додаткових вікон. Перевірка активації проводиться через властивість userActivation, яке пропонує два параметра hasBeenActive і isActive, що дозволяють визначити взаємодіяв користувач зі сторінкою або вона поки просто завантажена і залишається недоторканою;
- Додана підтримка локалізованих списків. Для застосування специфічних для мов зв'язок (наприклад, заміни «or» на «або», «and» на «і») і одиниць вимірювання запропонований метод Intl.format (), який досить форматувати з зазначенням необхідної локалі.
const lf = new Intl.ListFormat ('en'); lf.format ([ 'Frank', 'Christine', 'Flora']); // → 'Frank, Christine, and Flora' // при локалі «ru» буде 'Frank, Christine і Flora' - Змінено поведінку виклику Cache.addAll (). Відповідно до вимоги специфікації при спробі додавання дублікатів тепер виводиться помилка, а також не буде перезаписано старе вміст;
- В Service worker додано нову властивість FetchEvent.resultingClientId, в якому зберігається ідентифікатор клієнта, а не документа або обробника;
- У MediaStreamTrack додано властивість resizeMode для визначення відображення контенту в вихідному дозволі або застосування кадрування і масштабування;
- Для повертаються методом JSON.stringify () Unicode-рядків забезпечена більш сувора перевірка коректності та реалізовано екранування символів при неможливості їх відображення в UTF-8. Наприклад, при виклику JSON.stringify («\ uD800») раніше виводилося "", а тепер буде виведено «\ ud800»;
- Символ '#' тепер розглядається як індикатор закінчення даних в URL. Раніше символ міг без екранування використовуватися всередині даних в складі URL, що порушує специфікацію. Тепер перший же символ розглядається як закінчення блоку даних.
- Вилучена підтримка HTTP-заголовка Public-Key-Pins (ручні прив'язки поки збережені), що дозволяє сайтам явно визначити сертифікати яких засвідчувальних центрів допустимо використовувати для заданого сайту. Замість PKP розробникам сайтів рекомендується використовувати HTTP-заголовок Expect-CT c SCT-параметрами (SignedCertificate Timestamps) для виявлення некоректних SSL-сертифікатів за допомогою системи Certificate Transparency, яка передбачає можливість скасування помилкових прив'язок;
- В інструментах для розробників забезпечена візуалізація метрик продуктивності, отриманих при профілювання завантаження сторінки;
- У дереві DOM реалізована підсвічування вузлів з текстом;
- Додана підтримка копіювання в буфер обміну посилання на DOM-вузол в формі вираження document.querySelector ();
- Реалізація панелі аудиту оновлена до випуску Lighthouse 3.2, в якому з'явився режим визначення застосування на сторінці відомих JavaScript-бібліотек;
- В JavaScript-движку V8 включена за замовчуванням техніка «Embedded builtins», що дозволяє економити пам'ять завдяки застосуванню загального згенерованого коду в різних ізольованих обробниках V8. Оптимізація включена для всіх платформ, за винятком ia32;
- На 30 % прискорене виконання операцій парсингу JavaScript. Якщо раніше парсинг займав близько 9.5 % часу роботи движка V8, то тепер цей показник скоротився до 7.5 %, що позитивно відбилося на швидкості відкриття сторінок і чуйності інтерфейсу. Наприклад, час розбору скриптів Facebook скоротилася з 270 до 170 мс.
- Задіяна більш швидка реалізація операцій async / await. Збільшена продуктивність масивів з діапазонами, визначених у вигляді «[… x]» або «[… x, 1, 2]». Внесено оптимізації в WebAssembly і обробники винятків. Доданий режим асинхронної трасування стека («--async-stack-traces»).
|
73.0.3683.75 | 12.03.2019 (Linux, OS X та 12.03.2019 (iOS) 12.03.2019 (Android) | Blink 537.36 | | | - У версію для Android доданий режим «Lite pages», що дозволяє прискорити завантаження сайтів і скоротити трафік за рахунок звернення через проксі в Google, на льоту здійснює оптимізацію запитуваних сторінок для перегляду на мобільному пристрої. На сервери Google передається тільки URL сторінки, а Cookies і параметри аутентифікації обробляються безпосередньо. Оптимізація включається при активації опції «Data Saver» в настройках, після чого застосовується автоматично, в залежності від конкретних сайтів і якості каналу зв'язку.
- Наприклад, оптимізація застосовується при доступі в режимі «2G» або коли сторінка завантажується більше 5 секунд. Критерії активації можна налаштувати за допомогою опцій «# force-effective-connection-type» і «# ignore-previews-blocklist» в «chrome: // flags». При відображенні сторінки в режимі оптимізації в адресному рядку висвічується спеціальний індикатор «Lite», через який можна повернутися до перегляду оригінальних сторінок. Режим автоматично відключається для конкретних сайтів, якщо користувач часто повертається до перегляду оригінальних неоптимізованих сторінок;
- В налаштуваннях облікового запису запропонована окрема секція «Sync and Google services», в якій зібрані всі наявні опції для управління синхронізацією даних і відправки відомостей в сервіси Google. У секції також запропоновані нові опції «Enhanced spell check» (синхронізація доданих користувачем слів в словник), «Safe browsing extended reporting» (відправка в Google додаткових даних для визначення шкідливих додатків і сторінок) і «Make searches and browsing better» (анонімізувати збір телеметрії з інформацією про відкриваються URL);
- Удосконалено режим перегляду «картинка в картинці» (Picture-In-Picture). Крім відео в формі плаваючого вікна, яке залишається на увазі в процесі навігації в браузері, в даному режимі тепер можна від'єднати web-додатки в форматі PWA (Progressive Web Apps). Наприклад, подібним способом зручно запускати чати, месенджери і та відеоконференції. За замовчуванням можливість поки не доступна і обмежена тестами в режимі «Origin Trial»;
- Для відео додано нову властивість «autopictureinpicture», що дозволяє в разі надання належних повноважень автоматично перейти в режим Picture-In-Picture при переході на іншу вкладку і відключити даний режим при поверненні на вихідну вкладку;
- У режимі Picture-In-Picture також реалізована можливість показу кнопки «Skip Ad» (дію skipad в Media Session API) для скасування показу рекламної вставки (раніше відтворення у вікні Picture-In-Picture було інтерактивним);
- Додана підтримка використання апаратних мультимедійних клавіш для управління відтворенням контенту, наприклад, для зупинки, програвання і переходу до наступного ролику на YouTube. Для прив'язки оброблювачів до мультимедійних клавіш пропонується використовувати API Media Sessions. Можливість поки доступна у версіях для Chrome OS, macOS і Windows, а в Linux обіцяють додати пізніше;
- У версії для Android з'явився новий менеджер завантажень. Додана можливість наочного відстеження стану завантаження — в нижній частині тепер відображається спеціальний індикатор прогресу (раніше браузер лише видавав повідомлення про завершення завантаження). У списку файлів забезпечений показ великих ескізів завантажених зображень і можливість сортування за типом контенту і часу завантаження;
- У версії для Android на сторінці з «динозавром», яка відображається при відсутності з'єднання з мережею, доданий список рекомендацій, що включають сторінки, доступні в кеші для перегляду в offline;
- У версії для macOS додана підтримка PWA (Progressive Web Apps, можливість відокремленого запуску web-додатків як звичайних програм без адресного рядка і вкладок) і темної теми оформлення інтерфейсу;
- Включена підтримка механізму Signed HTTP Exchanges (SXG) для організації розміщення верифікованих копій web-сторінок на інших сайтах, що виглядають для користувача як вихідні сторінки. Завдяки SXG власник одного сайту за допомогою цифрового підпису може авторизувати розміщення певних сторінок на іншому сайті. У разі звернення до цих сторінок на другому сайті, браузер буде показувати користувачеві URL вихідного сайту, не дивлячись на те, що сторінка завантажена з іншого хосту. Детальніше див. Анонс появи даної технології;
- Оголошено застарілим і буде видалено в наступному випуску властивість «allow-downloads-without-user-activation», через яку можна було організувати автоматичне завантаження файлів при обробці iframe. У наступному випуску ініціювання завантаження файлів без явного дії користувача буде заборонено, так як воно активно застосовувалося для зловживань, нав'язування завантажень і підстановки частин шкідливого ПО на комп'ютер користувача. Для початку завантаження обов'язково потрібно клік користувача на тій же сторінці;
- У наданих доповненнями скриптах обробки контенту заборонена завантаження зовнішніх ресурсів (Cross-Origin), які не відповідають домену сторінки, в контексті якої виконується скрипт. Для виконання сторонніх завантажень розробникам слід застосовувати фонові обробники (background pages). Зміна стосується тільки нових доповнень і доповнень, в яких дана функціональність не була реалізована раніше. Для всіх доповнень зміна буде застосовано в одному з майбутніх випусків Chrome після прийняття другої версії маніфесту. За приблизною оцінкою зміна торкнеться менше 1 % доповнень, якими користується понад 1000 користувачів (в даний час білий список включає 70 додатків);
- Доданий HTTP-заголовок «Cross-Origin-Resource-Policy» дозволяє сервера заборонити вставку віддаються ресурсів (наприклад, зображень) в контексті інших доменів (cross-origin і cross-site);
- Доданий API Badging, що дозволяє web-додатків створювати індикатори, що виводяться на панелі або домашньому екрані. При закритті сторінки індикатор автоматично забирається. Наприклад, подібним способом можна відображати число непрочитаних повідомлень або інформацію про якісь події;
- Доданий програмний інтерфейс, що дозволяє з JavaScript-додатки динамічно створювати таблиці стилів і маніпулювати застосуванням стилів. На відміну від створення таблиць стилів за допомогою методу document.createElement ('style') новий API додає кошти для конструювання стилів через об'єкт CSSStyleSheet (), надаючи такі методи, як insertRule, deleteRule, replace і replaceSync. Застосування CSSStyleSheet дозволяє спростити маніпуляції з CSS і вирішити проблеми з дублюванням властивостей, одночасним застосуванням змін до різних частин DOM і спільним використанням в різних компонентах;
- Запропоновано новий метод String.prototype.matchAll () для зіставлення з використанням регулярних виразів. При використанні методу match з прапором «/ g» повертається простий масив рядків, але при одиничному зіставленні (без прапора «/ g») виводиться об'єкт з розширеними властивостями. Метод matchAll відрізняється від виконання методу match з прапором «/ g» тим, що він повертає масив об'єктів з властивостями всіх збігів, а не масив рядків;
- За замовчуванням обробники подій від колеса миші (wheel і mousewheel) тепер створюються в пасивному режимі (як при виконанні «window.addEventListener ('wheel', func, {passive: true}))», не блокує виконання браузером операцій прокрутки і масштабування, що позитивно позначається на чуйності інтерфейсу. Раніше аналогічне зміна поведінки за замовчуванням було виконано для обробників «touchstart» і «touchmove»;
- В тег «link» додана підтримка властивостей «imagesrcset» і «imagesizes» (використовуються тільки спільно з властивостями «preload» і «image»), аналогічних властивостям «srcset» і «sizes» об'єкта HTMLImageElement;
- В CSS і XSLT в якості базового URL для завантаження ресурсів з вкладеними шляхами тепер приймається URL з якого фактично був завантажений CSS. Наприклад, якщо в тезі link вказано «/styles.css», але при зверненні виконується редирект на «/foo/styles.css» то базовим для завантаження ресурсів (наприклад, фонових зображень) буде каталог «/ foo», а не "/ ";
- Відрисовка властивості «blur-radius» приведена у відповідність з вимогою специфікації і поведінкою Firefox і Safari;
- У WebSQL припинена підтримка операцій «EXPLAIN» і «REINDEX». Поведінка EXPLAIN відрізнялося в залежності від версій SQLite, а REINDEX був марний на практиці;
- У JavaScript-движку V8 прискорена реалізація операції «await» (включений за замовчуванням прапор «--harmony-await-optimization») і на 20-25 % скорочено час компіляції WebAssembly;
- Внесено поліпшення в інструменти для web-розробників:
- Додана підтримка «точок логгірованія» (Logpoints), схожих на точки зупинки, але в момент спрацьовування скидають значення певних змінних і об'єктів в відладкову консоль, без необхідності явного виклику console.log () в коді. Вираз, який буде виведено в лог визначається в момент створення Logpoint;
- Дані про залученості тих чи інших CSS і JavaScript файлів в процес виконання (coverage) тепер можуть бути експортовані в форматі JSON;
- У вкладці «Sensors» з'явилася можливість перевизначення віддаються web-додатків даних про місцязнаходження користувача;
- У панелях Sources і Network додана функція згортання блоків коду. В панелі Network вкладка Frames, використовувана для інспектування з'єднань WebSocket, перейменована в Messages.
- У список опціонально доступних пошукових систем доданий сервіс DuckDuckGo, примітний відмовою від використання методів персоналізації виведення і забезпечує вирізання даних, які можуть використовуватися для відстеження переваг і переміщень користувача.
|