Удельта

РелизВерсия v2.31.0

Редакция Удельты

ntfy 2.31.0: восстановление пропущенных сообщений и проверка готовности

В стабильном ntfy server 2.31.0 добавлена повторная доставка из кэша сообщений, пропущенных при переподключении клиента или передаче между узлами. Также появился отдельный endpoint готовности для балансировщиков нагрузки.

Web-интерфейс ntfy с темами и сообщением с вложением

Пакеты версии 2.31.0 опубликованы на GitHub 15 октября 2026 года в 19:05 UTC; выпуск не помечен предварительным. При этом release notes в самом теге датированы 16 октября. Дата публикации пакетов и дата в документации здесь различаются; речь идёт о сервере ntfy, а не о новом выпуске Android- или iOS-приложения.

Дополнительный путь доставки из кэша

Клиент мог переподключиться до того, как только что опубликованное сообщение успевало записаться в кэш. Чтение истории тогда не находило его, а прямая доставка уже произошла. Новый механизм раз в секунду читает недавно записанные сообщения и передаёт их локальным подписчикам, которые их пропустили. Он работает как на одном сервере, так и при потере передачи сообщения между узлами кластера.

Прямая доставка не заменяется опросом: чтение кэша дополняет её. Это не гарантия отсутствия потерь. В PR отдельно отмечены сообщения с cache: no, которые вообще не записываются, и аварийное завершение процесса до сохранения накопленной пачки. Такие случаи новый механизм не устраняет.

Повторная выдача меняется для собственных клиентов

При переподключении с since=<message ID> сервер теперь также возвращает сообщения из той же секунды, что и указанный идентификатор. Это помогает не пропускать записи, которые несколько серверов сохраняют в другом порядке. По release notes, приложения ntfy и веб-клиент отсеивают повторы по ID; собственные скрипты могут увидеть дубли. Поэтому изменение затрагивает не только серверную надёжность, но и семантику чтения истории.

Готовность отделена от исправности узла

Новый /v1/ready отвечает успешно только для активного узла, готового обслуживать клиентов. Пассивный узел может быть исправен и возвращать успех через /v1/health, но не должен попадать в обычный поток балансировщика; проверка готовности различает эти состояния. В ответ проверки здоровья также добавлена роль узла.

Для экспериментальной кластеризации появилась настройка experimental-cluster-role со значениями active и passive. Пассивный узел не становится лидером, но продолжает получать сообщения и обслуживать прямые подключения. Если других недавно активных узлов не было, единственный активный сервер может стать лидером без прежней минутной задержки после запуска; для переключения между недавно работавшими активными узлами защитная задержка сохраняется.

Кластерный реестр узлов мигрирует со схемы версии 1 на 2. Release notes предупреждают: обратный переход кластерного сервера на 2.30.0 требует отдельного ручного шага со схемой. Это ограничение экспериментального кластера, не общее требование к одиночной установке.

Изменения проверены по документации выпущенного тега и полным описаниям PR; собственных испытаний Удельты не проводилось. Обложка — экран из официальной документации ntfy, сохранённый в каталоге, а не подтверждение проверки версии 2.31.0.

Материал был полезен?

Сообщить об ошибке или задать вопрос редакции

Сообщение увидит редакция. Не указывайте пароли и личные данные. Текст удаляется через 180 дней.

Все новости

Обсуждение

Комментарии проходят подтверждение адреса и проверку редакцией.