Sentry JS 10.72 перестав позначати оброблені AI-помилки як unhandled crashes
SDK змінює error semantics для OpenAI, Anthropic, Google GenAI, LangChain і LangGraph та додає allow-list trace propagation для Cloudflare RPC.

Sentry JavaScript SDK 10.72.0 змінює семантику помилок у AI-інтеграціях: виняток, який OpenAI, Anthropic, Google GenAI, LangChain або LangGraph передає вашому коду, більше не реєструється наперед як unhandled crash. Span залишається помилковим, а uncaught exception усе одно потрапить до глобального handler. Реліз також додає точний allow-list для propagation trace context між Cloudflare RPC bindings.

Менше хибних unhandled events у AI-ланцюжках
Раніше instrumentation могла надіслати event із handled: false до того, як application catch отримував помилку. У результаті retry, fallback на іншого провайдера або контрольована відмова виглядали в Sentry як аварія. Версія 10.72 залишає error status на span і дає застосунку вирішити, чи потрібен окремий event.
Якщо код не ловить виняток, він доходить до глобальних error handlers і реєструється як unhandled звичайним шляхом. Тобто зміна не «ховає» справжні падіння. Вона прибирає передчасну класифікацію там, де framework виконує нормальне propagation до caller.
Виняток із правила — помилки, які провайдер повертає як дані успішної відповіді. Наприклад, error-shaped response або blocked content не кидає exception у код користувача, тому SDK продовжує фіксувати такий сигнал. Після оновлення дашборд може показати менше events, але кількість errored spans не обов’язково зменшиться.
Практичний висновок: якщо catch означає остаточну невдачу бізнес-операції, викликайте capture явно. Якщо catch запускає retry або fallback, зазвичай достатньо errored span і структурованого атрибута про спробу.
Trace propagation для конкретних Cloudflare bindings
Нова опція rpcTracePropagationBindings приймає точні назви binding або regular expressions. За замовчуванням список порожній, тобто RPC trace context нікуди не передається. Це безпечніша модель, ніж глобальний перемикач: оператор явно визначає Durable Objects або services, які розуміють Sentry instrumentation.
У Cloudflare RPC немає звичайних HTTP headers, тому SDK додає trace context як останній аргумент. Інструментований receiver прибирає його перед викликом бізнес-методу. Якщо receiver не використовує сумісний SDK, додатковий аргумент може бути небажаним — саме тому release notes радять перелічувати лише відомі bindings.
Опція має пріоритет над старим enableRpcTracePropagation, який тепер deprecated. Cloudflare Vite plugin може автоматично визначити self bindings і власні Durable Objects із wrangler config, але зовнішні services все одно потребують явної політики.
Сумісність фреймворків і пакування
Реліз додає підтримку route patterns Astro 7, openai v7 в auto-instrumentation та native tracing у спрощеній конфігурації SvelteKit 3. Source maps для component annotations тепер зберігають повний шлях. Водночас server-utils більше не постачає orchestrion bundler plugins як production dependencies, що має зменшити зайву вагу.
Такі зміни варто перевіряти через integration tests: чи створюється очікувана кількість spans, чи source maps символікують правильний файл і чи tree-shaking не прибрав потрібну registration. У релізних notes наведено bundle sizes; локальний результат залежить від bundler, imports і прапорців.
План оновлення
- Порівняти кількість unhandled AI events та errored spans на staging до й після 10.72.0.
- Переглянути catch blocks: остаточні помилки capture явно, retry/fallback не дублюють event.
- Замінити глобальний RPC propagation на allow-list
rpcTracePropagationBindings. - Перевірити сумісність receiver перед додаванням binding до списку.
- Прогнати source-map, Astro, SvelteKit, OpenAI та Cloudflare integration tests у production build.
Обмеження
Нова семантика зменшує шум, але може виявити прогалини у власному error handling. Якщо команда покладалася на передчасний event як єдиний сигнал, контрольовано зловлена фінальна помилка перестане створювати issue. Потрібно визначити явне правило: які handled failures є очікуваними, а які заслуговують окремого capture.
Джерело та права
Матеріал є самостійним українським перекладом-переказом release notes Sentry JavaScript SDK 10.72.0, опублікованих 28 серпня 2026 року командою Sentry та учасниками проєкту. Код, документація й changelog офіційного репозиторію поширюються за MIT License. Перекладено, адаптовано й доповнено редакцією «Бібліотеки програміста». Обкладинка створена редакцією за допомогою AI і не входить до першоджерела.
Матеріал перекладено, переказано та доповнено редакцією українською мовою.
Читайте далі — ми вже розбираємо наступну важливу тему.


