Что нового
Сводка по релизам — что изменилось и зачем. Полный технический список — в CHANGELOG, анонсы — в Telegram-канале.
0.22.0–0.31.0 · 27 августа – 2 сентября 2026 — обзор проекта, ключи и безопасность
Десять релизов за неделю: новый вход в проект, выгрузки, типизированные ключи приёма, ротация ключа шифрования и большой проход по надёжности оповещений.
- Экран «Обзор» и новая навигация (0.29.0, 0.30.0). Проект открывается на «Обзоре»: строка состояния (аптайм, хосты за порогом, новые ошибки за сутки), открытые группы инцидентов и маркеры деплоев — вместо того, чтобы сразу бросать в список ошибок. У организации появился экран «Все проекты» в переключателе организации/проекта; вход без запомненного проекта ведёт туда. Меню разделено на три яруса (рабочие разделы, настройка, подвал), разделы названы по содержимому («Транзакции» стали «Производительностью», «Проблемы производительности» — «Узкими местами»), при этом адрес ни одной страницы не изменился. Массовые действия над ошибками переехали в панель над таблицей; поля форм и селекты выровнены по высоте в обеих темах.
- Выгрузки ошибок и событий (0.22.0–0.24.0). Фоновая выгрузка CSV/JSON/
NDJSON по группам ошибок или сырым событиям проекта с фильтром по периоду и
окружению. PII маскируется по умолчанию — теперь включая
stacktrace,breadcrumbs,user_id(стабильный псевдоним на выгрузку) и свободный текст; выгрузка «как есть» — только админам и владельцам организации. Состав групп фиксируется снимком до чтения, так что группа с новым событием посреди выгрузки больше не пропадает. Метаданные вынесены из тела файла (?meta=1, атрибуты на странице, строка в письме) — файлы снова читаются стандартными инструментами. - Типы ключей и неймспейс
/api/v1(0.26.0, 0.27.0). У DSN-ключей появился тип —browser,serverилиagent— с правами ровно на то, что нужно источнику; новый проект получает три ключа сразу, хост регистрируется только ключомagent. Выпущенные ранее ключи работают без изменений. Логи, pprof-профили и маркеры деплоев принимаются поPOST /api/v1/logs,/api/v1/profiles/pprofи/api/v1/{project}/deployments; старые пути работают, отвечают заголовкомDeprecationи считаются метрикойgotcha_ingest_deprecated_path_total— удаление в 1.0. OTLP и Sentry-совместимые эндпоинты не тронуты. - Ротация ключа шифрования (0.25.0).
GOTCHA_SECRET_KEY_PREVпозволяет сменитьGOTCHA_SECRET_KEY, не теряя client secret SSO, токены каналов и заголовки мониторов: старый ключ рядом с новым, перезапуск — и всё читаемое перешифровано. Значения несут версию формата и id ключа (enc:v2:<key-id>:...), ротацию можно проверить прямо в БД. Бэкфилл идёт при каждом старте и подбирает значения, оставшиеся открытым текстом со времён dev-ключа. Только вперёд: после записи первогоenc:v2откат на версию ниже 0.25.0 не поддерживается, а при rolling deploy ротацию ключа включать только после обновления всего парка. - Hardening (0.23.0, 0.28.0).
docker-compose.ymlпо умолчанию слушает127.0.0.1— голый HTTP и/metricsбез аутентификации больше не смотрят наружу в обход HTTPS-прокси (GOTCHA_BIND=0.0.0.0возвращает прежнее поведение). HSTS настраивается черезGOTCHA_HSTS_*. Закрыты два пути неограниченного роста памяти рейт-лимитеров форм входа: ограничены длина ключа и тело запроса, у каждого лимитера жёсткий потолок ключей, проверка по IP идёт раньше проверки по аккаунту. Новая страница документации «Hardening»: прокси, служебные эндпоинты, TLS/HSTS, security.txt и самопроверка curl-ом. - Надёжность оповещений (0.23.0). Uptime-мониторы участвуют в эскалации и подтверждаются, как остальные источники. Несостоявшаяся отправка «down» повторяется на следующей проверке (до пяти попыток), а при мёртвом канале инцидент несёт бейдж «уведомление не доставлено». Восстановление уходит только в каналы, получившие тревогу. Уведомления называют проект в теме, теле и webhook-payload. Heartbeat не засчитывается превью ссылок и префетчерам — переслать URL в чат больше не значит заглушить алерт. Квота логов редактируется в настройках организации.
- Self-метрики и канон конфигурации (0.23.0, 0.24.0). Новые метрики:
отказы приёма по причине и сигналу, отказы по ключу, живость и длительность
тика всех оценщиков, пропущенные ключи переводов, проигнорированные
heartbeat-ы. Ломающее: метрики очередей приведены к схеме
gotcha_<подсистема>_queue_*, а десять переменных окружения получили единицу измерения или верный префикс в имени (GOTCHA_RETENTION_DAYS→GOTCHA_EVENT_RETENTION_DAYS,GOTCHA_METRIC_EVAL_INTERVAL→..._SECONDSи т. д.) — старые имена не читаются, старт с ними падает с указанием нового имени. Полная таблица — в CHANGELOG 0.24.0. - Зум флеймграфа (0.31.0). Каждый кадр — ссылка: клик разворачивает его
на всю ширину, предки остаются сверху как путь назад, строка «all»
возвращает полный профиль. Зум живёт в адресе (
focus=), им можно поделиться. Подписи привязаны к высоте строки и клипуются внутри кадра — на планшетах и телефонах они больше не вылезают за кадр. - Также. Удаление проекта удаляет и его логи из ClickHouse; выгрузка и удаление персональных данных, а также инструкция по бэкапу теперь покрывают логи. Проход по вёрстке на 360px: заголовки, график частоты событий, карточки контекста, публичная страница статуса, пример на странице подключения SDK. Пул соединений PostgreSQL получил явные границы; очистка устаревших данных идёт и при старте; упавшая миграция ClickHouse больше не блокирует откат версии. Документация: страницы про лесенки эскалации и подавление зависимых алертов.
0.21.0 · 26 августа 2026 — группы инцидентов
- Каскад сворачивается в одну карточку. Когда падает узел, от которого
зависят другие, сигналы раньше сыпались со всех сторон: молчат хосты за
шлюзом, срабатывают метрические пороги, горит SLO монитора. Теперь корневой
инцидент недоступности (тишина хоста или падение uptime-монитора) собирает
вокруг себя состав — инциденты зависимых хостов, мониторов, метрических
порогов с меткой
hostи uptime-SLO. Пока информирует корень, участники молчат и не эскалируют, а в уведомлении корня появляется строка «Зависимых узлов: N». После восстановления корня отпущенные участники оповещают заново, и лестница эскалации начинается с момента закрытия группы, а не с их собственного начала. - Корень определяется по факту, а не по порядку событий. Отказ, который едет сверху вниз, тоже собирается правильно: если узел замолчал под уже упавшим родителем, более ранние инциденты его детей всё равно попадают в группу верхнего корня — даже когда этот корень сам является монитором.
- Лента инцидентов (раздел «Оповещения»). На одной странице: открытые группы с раскрываемым составом, инциденты вне групп по всем шести источникам и то, что закрылось за последние сутки. В составе группы видно, кто молчит потому, что информирует корень, а кто подавлен недоступным родителем — это два разных состояния, и они могут совпадать. Инцидент, переживший свою группу, сразу появляется среди внегрупповых со ссылкой на группу, из которой он пришёл.
0.18.0–0.20.0 · 20–21 августа 2026 — рецепты сервисов
- Рецепты мониторинга сервисов (0.19.0, 0.20.0). Готовые рецепты для PostgreSQL, nginx, Redis, Docker и MariaDB: конфиг OpenTelemetry-коллектора, автоопределение живых данных, преднастроенные графики и рекомендованные пороги в один клик — полезный мониторинг сервиса без ручного написания правил.
- Подавление зависимых алертов (0.18.0). У хостов и мониторов появились зависимости: при отказе родителя алерты его потомков глушатся автоматически — одно уведомление вместо шторма. Грейс-период на стабилизацию и восстановление без повторного шторма.
0.13.0–0.17.0 · 19–20 августа 2026 — умные алерты
Завершение августовского спринта: меньше ложных срабатываний, больше контроля над тем, кто и когда получает уведомления.
- Эскалация уведомлений (0.17.0). Лесенка ступеней на каждую критичность: каждая ступень расширяет круг получателей после настраиваемой задержки от открытия инцидента — одинаково для хостов, метрик, регрессий и SLO. Подтверждение инцидента оператором останавливает эскалацию; у каждого инцидента виден бейдж критичности. Раздел «Эскалации» настраивает лесенки с предпросмотром без отправки.
- Окна обслуживания для всего проекта (0.16.0). Окно глушит уведомления всех источников — аптайм, хосты, метрики, регрессии, профили, SLO и алерты об ошибках, — а не только проверок мониторов. Появился бессрочный тип окна для работ неизвестной длительности. Сбор данных и учёт инцидентов не затрагиваются.
- Сезонная база детектора регрессий (0.13.0). Детектор может сравнивать метрику с тем же окном того же дня недели за прошлые недели — сервисы с выраженным суточным профилем перестают «звенеть» на утреннем подъёме. При нехватке истории — автоматический откат на скользящую базу.
- Метки и пороги хостов (0.14.0, 0.15.0). Хосты помечаются окружением и ролью прямо из телеметрии — с фасетными фильтрами и группировкой. Каждый из четырёх встроенных порогов переопределяется на хост или группу по метке: каскад хост → роль → окружение → проект, на каждом уровне — наследовать, переопределить или выключить.
0.10.0–0.12.1 · 18–19 августа 2026 — SLO и контекст деплоев
- SLO и бюджеты ошибок (0.12.0). Цель уровня сервиса — availability, latency или uptime — на скользящем окне 1–90 дней. Двухоконный burn-rate алерт открывает инцидент, только когда и длинное, и короткое окно жгут бюджет выше порога. Экран SLO показывает достижение, остаток бюджета, график сжигания и историю инцидентов.
- Маркеры деплоев (0.11.0). CI сообщает о выкладке одним запросом; деплои видны вертикальными маркерами на графиках, а регрессия, начавшаяся в течение 7 дней после релиза, получает пометку «после деплоя vX» — виновника видно сразу.
- Карта зависимостей (0.10.0). Внешние зависимости сервиса — базы, кеши, внешние HTTP-вызовы — с частотой, задержкой (p50/p95) и долей ошибок. Строится из уже собираемых трейсов, настройки не требует.
0.7.0–0.9.0 · 18 августа 2026 — логи
Третий сигнал телеметрии: логи принимаются, хранятся, ищутся и склеиваются с остальными данными.
- Приём (0.7.0). OTLP/HTTP (
POST /v1/logs) и построчный JSON (POST /logs), авторизация ключом проекта. Severity приводится к канону из шести уровней; у логов своя месячная квота и срок хранения, тело проходит тот же URL-скраб, что и сообщения ошибок. - Экран логов (0.7.0). Фильтры по периоду, severity, сервису и окружению, полнотекстовый поиск, гистограмма объёма, фасеты со счётчиками, фильтры по атрибутам с автокомплитом, пагинация «показать старее».
- Склейка (0.9.0). «Логи вокруг события» со страницы ошибки, «логи этого трейса» с waterfall, «логи хоста» с карточки хоста.
0.5.0–0.6.2 · 14–17 августа 2026 — мониторинг хостов и нативный агент
- Раздел «Хосты» (0.5.0). Системные метрики серверов — CPU, память, диск, сеть, load average, процессы — отдельно от метрик приложения. Четыре встроенных порога (диск, память, нагрузка, «замолчал») открывают инциденты из коробки; онбординг выдаёт готовый конфиг коллектора с подставленным ключом.
- Нативный
gotcha-agent(0.6.0). Один бинарь без зависимостей, ставится одной командой прямо с вашего инстанса — работает в закрытых сетях без выхода в интернет. Непривилегированный systemd-сервис, буферизует около часа недоставленных метрик. OpenTelemetry Collector остаётся полноценной альтернативой. - Безопасность (0.5.1). Пересборка на Go 1.26.6 — закрыты семь уязвимостей стандартной библиотеки Go.
- Автономная сборка (0.6.2). Go-модули завендорены: сборка образа не ходит
в интернет,
make up-rebuildработает в закрытых сетях.
0.4.12 · 12 августа 2026 — операторская роль для команд
Сводный релиз (включает docs-обновление 0.4.11). Подробный разбор — в блоге.
- Операторская роль. Участники команды проекта ведут повседневный мониторинг без прав администратора организации: мониторы, пинг-токен heartbeat, окна обслуживания, контент статус-страниц, правила алертов и метрик-алерты. Каналы алертов остаются у owner/admin: получатель и секрет канала — учётные данные, а не операционная настройка; команде видны список каналов и журнал доставки с маскированными получателями.
- Безопасность. Заголовки мониторов (например,
Authorizationу HTTP-чека) шифруются при хранении — как секреты каналов. Публичный адрес статус-страницы — непрозрачный ключ/status/p_...вместо слага: имя нельзя ни подобрать, ни занять; старые ссылки работают через 301. - Надёжность. Ingest: защита памяти при простое ClickHouse, честный учёт очередей и квот, атрибуция потерь по организациям. Повреждённый секрет канала больше не считается рабочим — алерты на этом пути не теряются. Фиксы консенсуса uptime-проверок, окон обслуживания и OAuth-приглашений.
- UX. Кнопка Copy на странице события — контекст ошибки в буфер одним кликом, в Markdown или как обычный текст.
- Доки. Раздел SDK покрывает расширения для CMS (WordPress, Joomla, 1С-Битрикс, Drupal, OpenCart, MODX, Tilda); инструкция по установке для AlmaLinux/RHEL.
0.4.10 · 5 августа 2026 — стабилизация линии 0.4.x
Итог двух полных аудитов продукта (эксплуатация, безопасность, доступность, i18n) и серии патчей 0.4.5–0.4.10:
- Эксплуатация. Compose-стек с лимитами памяти и healthcheck’ами;
hardened-контейнер (read-only FS, no-new-privileges). Liveness и readiness
разделены:
/healthzи/readyz.--migrate-forceвосстанавливает прерванную миграцию; схема БД несёт маркер обратной совместимости — откат релиза больше не требует восстановления из бэкапа. Ретеншн настраивается отдельно для метрик, профилей и инцидентов. - Сети с ограничениями.
GOTCHA_TELEGRAM_API_BASE— свой Bot API-сервер для доставки в Telegram;GOTCHA_NET_MTU— MTU контейнерной сети для туннелей. - Точность. Квота транзакций считается по сохранённому, а не по принятому; исправлены длительности перф-регрессий (µs читались как ms); алерты, ретраи и throttling считаются по часам БД.
- Безопасность. Удаление участника из организации отзывает и доступы его команд; регистрация по инвайту требует токен из ссылки; отсечка глубоко вложенного OTLP/JSON; усиленный redirect guard (по репорту CodeQL).
- Уведомления и UX. Единый язык уведомлений (
GOTCHA_LOCALE); каналы «внутри периметра» с полными деталями; клавиатурная навигация, контраст и поддержка скринридеров по всему интерфейсу.
0.4.0 · 27 июля 2026 — окно времени и объяснимые перф-проблемы
- Единый контрол окна времени (1h / 24h / 7d / 30d / произвольный диапазон) на всех страницах с графиками.
- Страница перф-проблемы объясняет «что происходит и как чинить» для своего типа (N+1, медленный запрос, HTTP-флуд) — с полным SQL и локацией в коде.
- Полные детали запроса на странице ошибки: метод, URL, параметры, тело, заголовки (очищенные от PII).
- Подсказки к каждой метрике: p50–p99, failure rate, Apdex, Web Vitals.
0.3.x · 24–25 июля 2026 — надёжный uptime и малые серверы
- Ретраи на чек у uptime-мониторов — транзиентные сбои не рождают ложных инцидентов.
- График задержек с фазами DNS → TCP → TLS → TTFB; «частичный» статус доступности.
- Оверлей
docker-compose.small.ymlдля минимальных серверов (2 vCPU / 2 ГБ).
0.1.0 · 22 июля 2026 — первый публичный релиз
Стартовый набор: ошибки (протокол Sentry SDK), распределённые трейсы и Web Vitals, метрики по OTLP, CPU-профили (flamegraph), uptime-мониторинг со статус-страницами, алерты в email/webhook/Telegram, организации и RBAC, SSO (OIDC, Yandex ID, VK ID), PII-скрабинг и SSRF-защита по умолчанию — один Go-бинарник с PostgreSQL и ClickHouse.