Разработчики представили Apprise 2.0 — первый крупный релиз новой версии популярного фреймворка для отправки уведомлений. Обновление принесло существенные изменения в механизмы доставки, обработки ошибок и интеграции с различными сервисами. По словам создателей, архитектура проекта была переработана для реализации функций, которые давно ожидали пользователи.

Ключевые функциональные изменения в Apprise 2.0
Одной из важных новинок стала поддержка шаблонных переменных в YAML-конфигурациях. Теперь пользователи могут обращаться к чувствительным данным, таким как API-ключи и пароли, через плейсхолдеры. Эти значения могут передаваться через переменные окружения, аргументы командной строки или непосредственно через API приложения, что исключает хранение секретов в открытом виде внутри конфигурационных файлов.
Значительные улучшения коснулись процесса обработки уведомлений. Теперь в Apprise реализована поддержка приоритетов и эскалации тегов. Пользователи могут настраивать несколько групп уведомлений: переход к следующей группе осуществляется только в том случае, если отправка предыдущей завершилась неудачей. Механизм повторных попыток стал более избирательным: система отслеживает статус доставки для каждого получателя и инициирует повторную отправку только для тех адресатов, которые не получили сообщение.
Производительность и контроль времени выполнения
Скорость доставки уведомлений заметно возросла благодаря включенной по умолчанию параллельной обработке. Теперь задержка в одном сервисе не блокирует отправку сообщений в другие целевые системы. Также появились расширенные элементы контроля времени ожидания (timeouts). Пользователи могут задать как общий лимит на выполнение всей операции, так и индивидуальные тайм-ауты для каждого сервиса, предотвращая бесконечное ожидание ответа от удаленных узлов.
Обновление API и работа с данными
Изменения затронули и программный интерфейс: каждый вызов метода notify() теперь возвращает объект AppriseResult. Вместо простых значений True, False или None система предоставляет подробные данные по каждому сервису, включая логи и статусы: SUCCESS, FAILURE, NOMATCH, PARTIAL и TIMEOUT.
Улучшена работа с контентом: сервисы могут поддерживать несколько форматов тела сообщения в зависимости от возможностей целевой платформы, что снижает необходимость лишних преобразований. Также переработаны алгоритмы разбивки сообщений и конвертации HTML в Markdown.
Новые возможности и совместимость
Список поддерживаемых сервисов пополнился четырьмя новыми пунктами: Delta Chat, WPUSH, YouLMK и Telnyx SMS. Исправления и улучшения затронули работу с DingTalk, OneSignal, SIGNL4, ntfy, Microsoft 365, Amazon SES/SNS и Fluxer. Кроме того, повышена безопасность логирования данных, а для Matrix добавлена опциональная автоматическая проверка SAS.
Разработчики предупреждают, что версия 2.0 является «ломающим» (breaking) релизом для программного обеспечения, построенного на API серии 1.x. Для проектов, не готовых к немедленной миграции, поддержка кодовой базы Apprise 1.x продолжена в отдельной ветке apprise-v1-release.






