workerd оновив діагностику, трасування та підтримку тестів на Apple Silicon
Свіжий workerd розширив ThreadSanitizer для macOS arm64, додав активний span у tracing та покращив діагностику помилок SQLite й винятків.

Випуск workerd v1.20260905.1 зосереджений на спостережуваності, стабільності та тестуванні серверного середовища. Реліз опубліковано 5 вересня і містить одинадцять змін. Це не великий функціональний стрибок, але сукупність виправлень робить поведінку середовища простішою для аналізу в розробці й експлуатації.

ThreadSanitizer приходить на macOS arm64
Збірки з ThreadSanitizer тепер підтримують хости macOS на arm64 поряд із Linux x86_64. Цей інструмент допомагає виявляти гонки даних у багатопотоковому коді. Для команд з Apple Silicon це означає можливість ловити частину проблем ближче до локального середовища, не покладаючись виключно на окремий Linux-конвеєр.
Release notes також згадують окрему CI-збірку для TSAN. Сама наявність санітайзера не гарантує відсутності гонок: значення має тестове покриття та сценарії, які реально виконуються. Проте розширення платформ зменшує бар’єр для регулярної перевірки.
Більше контексту в трасуванні й помилках
У tracing додано отримання активного span через getActiveSpan. Інша зміна зберігає посилання на внутрішніх і користувацьких батьків span у викликах. Разом ці кроки допомагають не втрачати зв’язок між операціями, коли запит проходить через кілька шарів виконання.
Помилки SQLite тепер отримують додаткову позначку SENTRY_DO, а LOG_EXCEPTION інструментовано для спостереження за новою деталлю disposition винятку. Це внутрішні сигнали діагностики: вони не є автоматичним виправленням помилки, але можуть скоротити шлях від збою до зрозумілого звіту.
Поведінка відхилених операцій
Окреме виправлення зберігає стан доставки відхилення попередника. За назвою зміни йдеться про те, щоб інформація про rejection не губилася під час подальшої обробки. Для користувача платформи це важливо там, де асинхронний ланцюжок має точно передавати причину невдалого завершення.
Цю зміну не слід трактувати як загальне усунення всіх помилок Promise. Release notes підтверджують конкретне виправлення стану доставки, але не описують кожний сценарій, якого воно торкається.
Нові набори тестів і профілювання
До тестування додано набори для cache, HTMLRewriter і потоків FormData. Це розширює перевірку веб-API, з якими стикаються застосунки. У V8-збірці workerd також увімкнено Perfetto, що створює основу для детальнішого аналізу продуктивності й часових подій.
Durable Objects отримали доступ до налаштованих образів контейнерів. У реліз також увійшов відкат перенесення wrapper handle до shim, тобто команда повернула попередню реалізацію після оцінки зміни. Сам факт revert корисно врахувати тим, хто відстежував попередній коміт.
Кому варто оновлюватися
Випуск найбільш цікавий авторам runtime, інтеграцій і платформених компонентів, які використовують tracing, SQLite, Durable Objects або власні тестові збірки. Перед розгортанням варто прогнати набір сумісності, особливо якщо код залежить від деталей потоків, обробки винятків чи внутрішніх wrapper-об’єктів.
Практичний висновок: головна цінність релізу — більше сигналів для пошуку причин збою та ширше автоматичне тестування. Це інфраструктурне оновлення, а не анонс нової користувацької функції.
У матеріалі використано лише підтверджені пункти офіційного changelog. Не перенесено логотипи, спонсорські зображення чи сторонні матеріали.
Першоджерело та ліцензія
Першоджерело: Cloudflare workerd releases. Автори: workerd contributors. Текст перекладено й адаптовано редакцією; пояснення та практичні висновки додано. Ліцензія першоджерела: Apache License 2.0.
Матеріал перекладено, переказано та доповнено редакцією українською мовою.
Читайте далі — ми вже розбираємо наступну важливу тему.

