Компанія Apple представила нову версію браузера — Safari 26.6. Оновлення торкається механізму потокової компіляції WebAssembly, а також усуває вісім помилок у CSS, service workers, мережевому стеку, розширеннях та WebRTC.
Як зазначають розробники WebKit, цей реліз продовжує напрямок, який команда тримає впродовж усього року — шліфування взаємодії між функціями та вирішення проблем, з якими могли стикатися веброзробники.
Зміни у WebAssembly
У WebKit для Safari 26.6 додали параметр compileOptions до методів WebAssembly.compileStreaming() та WebAssembly.instantiateStreaming().
Раніше, у Safari 26.2, з'явилася підтримка Wasm JS String Builtins — механізму, що дозволяє модулям WebAssembly імпортувати набір стандартизованих операцій для роботи з рядками JavaScript як вбудовані функції. Завдяки цьому рушій може оптимізувати їх набагато агресивніше, ніж звичайний імпорт JS. Активація відбувається через передачу об'єкта опцій у WebAssembly.compile() або WebAssembly.instantiate().
Проблема полягала в тому, що обидва потокові варіанти — compileStreaming() та instantiateStreaming() — досі не приймали такий же об'єкт опцій. Тепер це виправлено.
const module = await WebAssembly.compileStreaming( fetch("example.wasm"), { builtins: ["js-string"] } );
Завдяки цьому більше немає потреби відмовлятися від потокової компіляції для використання JS String Builtins.
Виправлення помилок
Окрім оновлення WebAssembly, у WebKit для Safari 26.6 усунули вісім помилок.
CSS
- Виправлено проблему, через яку одиниця довжини
icнекоректно масштабувалася при зміні масштабу сторінки, через що вона не дорівнювала 1em, як передбачає специфікація CSS (174857144). - Виправлено проблему, коли елементи з фіксованим позиціонуванням, що використовують
position-area, неправильно повертались до запасного варіанту при можливості прокручування body (175544079). - Виправлено проблему некоректної взаємодії масштабування CSS з властивостями
font-size,font-weight,font-variantтаfont-styleна iPad при запиті десктопної версії сайту (176647969).
Service Workers
- Виправлено проблему, коли реєстрації service worker з відсутніми основними скриптами не скасовувалися автоматично, що заважало сторінкам реєструвати нові service workers (175522651).
- Виправлено проблему, коли реєстрації service worker з відсутніми імпортованими скриптами не скасовувалися автоматично (175522816).
Як оновитися до Safari 26.6
Safari 26.6 доступний на iOS 26.6, iPadOS 26.6, visionOS 26.6, macOS Tahoe 26.6, macOS Sequoia та macOS Sonoma. На iOS, iPadOS та visionOS оновлення встановлюється разом з оновленням системи через Settings > General > Software Update. На macOS оновлення Safari надходять через System Settings > General > Software Update.
Команда WebKit заохочує користувачів повідомляти про знайдені помилки — це, за їхніми словами, справді допомагає покращувати браузер. Детальніше про зміни можна прочитати в примітках до випуску Safari.
Джерело: WebKit Blog


