> ## Documentation Index
> Fetch the complete documentation index at: https://docs.remnashop.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Что нового

> История изменений

***

#### 0.8.2 (23 июня 2026)

Новое:

* Улучшен **deeplink активации промокода** (`promo` / `promo_<code>`): переход по ссылке сразу открывает активацию с предзаполненным кодом
* Добавлена **валидация кода промокода**: допускаются только символы `A-Za-z0-9_-`
* Добавлен настраиваемый **маршрут уведомлений по умолчанию** как общий адрес доставки системных уведомлений
* Добавлена возможность смены **иконок платформ** через ключи локализации `platform-icon.*`
* Реализована локализация **названий планов** в дашборде, диалоге подписки и событиях покупки/промокода

Исправления:

* Исправлена поддержка кастомных эмодзи в тексте кнопок уведомлений
* Устранена молчаливая потеря изменений настроек
* Исправлен сбой уведомления об ошибке вебхука
* Награды **Устройства / Длительность / Трафик** в промокодах теперь требуют активную подписку
* Разделены сообщения «промокод не найден» и «промокод недоступен» вместо одного общего

Веб и API:

* Добавлен **платный пробный период** в веб-кабинете: эндпоинт `POST /subscription/trial/purchase` с выбором платёжного шлюза и цены

***

#### 0.8.1 (19 июня 2026)

Новое:

* При открытии карточки пользователя теперь сохраняется **исходный список** (недавние / по активности / результаты поиска / чёрный список), а кнопка «Назад» возвращает именно в него; результаты поиска восстанавливаются с теми же совпадениями
* В подписях в списках пользователей теперь отображается **идентификатор**: `имя (telegram_id | email | внутренний id)`

Исправления:

* Исправлена обработка формата ответа вебхука **Valutix**
* Исправлено внедрение пользователя в диалоги воркера: фоновые геттеры (например, `Subscription:SUCCESS`) теперь получают данные пользователя
* Разрешено редактирование **собственных** полей профиля независимо от сравнения ролей
* Исправлена покупка и продление **бесплатной** подписки
* Исправлена обработка **текстовых** кнопок меню, содержащих медиа без текста

Веб и API:

* Добавлена авторизация через **Telegram Mini App**: эндпоинт и валидация `initData`
* Добавлен эндпоинт **активации пробного периода**
* Добавлен эндпоинт **активации промокода**
* Добавлен эндпоинт **удаления всех устройств**
* Включён эндпоинт **перевыпуска подписки**

***

#### 0.8.0 (19 июня 2026)

Новое:

* Добавлена система **промокодов** с поддержкой различных типов скидок и условий использования
* Добавлено уведомление активации промокода
* Добавлена **детальная статистика** по промокодам и их активациям
* Добавлена система **рекламных ссылок**: конфигуратор, учёт выручки и т.п.
* Добавлено отображение рекламной ссылки в уведомлении регистрации пользователя
* Добавлен **чёрный список** с массовой блокировкой пользователей, а также авто-обновляемые списки
* Добавлено уведомление о попытке регистрации пользователя из чёрного списка
* Добавлена **система бэкапов** базы данных и ассетов с уведомлениями
* Добавлены доп. настройки: выключать возможность удаления устройств для пользователей, перевыпуск подписки, сброс реф. ссылки и т.п.
* Добавлен раздел **«Доп. настройки»** в дашборде с настройками, не относящимися напрямую к другим разделам
* Переработана **система переводов**: пользовательские переводы имеют приоритет над встроенными
* Добавлена поддержка **10 новых локалей** (BG, DA, EL, FI, HU, NO, SV, TG, TH, ZH)
* Добавлена поддержка **кастомных эмодзи**
* Добавлен платёжный шлюз **Valutix** (теперь поддерживается 14 шлюзов)
* Улучшена система уведомлений: возможность направлять системные уведомления в **группу/топик**
* Добавлены события **torrent blocker** и «пользователь не подключился»
* Добавлены новые события об ошибках и исключениях
* Добавлено уведомление об отключённом инлайн-режиме при запуске
* Добавлена настройка **отображаемого имени** платёжного шлюза в настройках
* Добавлена поддержка оплаты через **Platega** без выбора метода
* Добавлен новый тип **сообщения** для доп. кнопок главного меню
* Добавлена настройка **цвета** доп. кнопок главного меню
* Добавлен флаг видимости **«только для подписчиков»** в редакторе доп. кнопок главного меню
* Добавлена резервная кнопка для подключения через веб-браузер (на случай проблем с MiniApp)
* Добавлена возможность задать **платный пробный период**
* Добавлена возможность продлить подписку на **изменённый план** (с уведомлением, что условия плана изменились)
* При удалении устройства теперь **сбрасываются активные соединения**
* Улучшена статистика **дохода за прошлый месяц**
* Добавлена кнопка возврата к списку рефералов (в окне профиля реферала)
* Добавлена возможность сбрасывать ссылку приглашения у пользователей
* Добавлена возможность **авто-отключение пробной подписки** при выходе из канала/группы
* Улучшена информативность логов в событиях ошибок и исключений
* Усилена защита шлюзов и вебхуков, повышена идемпотентность транзакций
* Проведён аудит безопасности, устранены уязвимости и мелкие баги

Исправления:

* Исправлен перевод с отображением скидки при покупке
* Исправлено снятие роли OWNER с предыдущего пользователя при смене BOT\_OWNER\_ID
* Исправлена валидация вебхука в YooMoney (обновление API)
* Покупка платного пробного плана исключена из реферальных наград
* Скидки больше не применяются к цене пробного периода
* Исправлен сбой при оформлении заказа со скидкой **100%**
* Исправлено сохранение типа покупки при оформлении подписки
* Исправлено отслеживание активности пользователей (список последних взаимодействующих пользователей)
* Исправлено сжатие архивных логов

Будущий Веб и API:

* Добавлен публичный **REST API** (планы, подписка, рефералы, авторизация)
* Добавлена авторизация через **JWT и cookie**, refresh-токены и вход через Telegram
* Добавлены **health-эндпоинты** и переключатель Swagger UI (`APP_SWAGGER_ENABLED`)

***

#### 0.7.5 (10 апреля 2026)

Новое:

* В редакторе рассылки добавлена кнопка **«Закрыть уведомление»**

Исправления:

* Исправлена работа прокси для Telegram API
* Исправлены навигационные сбои (в диалоге подписки)
* Восстановлена проверка подписи вебхуков YooKassa
* Исправлены ошибки при работе с FreeKassa: некорректная генерация nonce и обработка валюты
* Исправлено отображение системной статистики (Remnawave)
* Исправлено отображение лимита трафика на узлах
* Ссылки на «Обновление» теперь ведут на официальную документацию вместо README на GitHub
* В уведомлениях об обновлении устройств и отзыве подписки добавлены кнопки управления пользователем

***

#### 0.7.4 (7 апреля 2026)

Новое:

* Добавлена поддержка **Remnawave 2.7.x**
* Добавлена стратегия сброса трафика **MONTH\_ROLLING**: трафик сбрасывается по дате создания подписки, а не по фиксированному дню месяца
* Добавлена опциональная поддержка **SOCKS5 прокси** для доступа к Telegram API (настраивается через `BOT_PROXY_URL` в env)
* Добавлена **проверка совместимости версии Remnawave**: бот предупреждает, если версия подключённой панели устарела или не поддерживается
* Добавлено управление **скидкой на покупку**: отдельные личная и одноразовая скидка на пользователя, применяется наибольшая
* Добавлена кнопка переключения **доступности пробного периода** в редакторе пользователя
* Добавлен **индикатор типа скидки** в диалоге подписки: показывает, личная скидка или одноразовая
* Увеличена максимальная длина названий кнопок меню и названий планов с **16 до 32 символов**
* Улучшено создание платежа в YooKassa: добавлена логика повторных попыток при ошибке соединения
* Добавлены проверки прав при изменении роли пользователя: запрет на понижение собственной роли, защита роли Владельца и соблюдение иерархии ролей

Исправления:

* Исправлено сравнение ролей в списке администраторов: доступность редактирования теперь корректно рассчитывается относительно роли актора
* Исправлено условие отображения кнопки удаления роли в диалоге Администраторы
* Исправлена статистика подписок: учитываются только активные (текущие) подписки пользователей
* Исправлена статистика пробных периодов: теперь считаются уникальные пользователи, а не общее число пробных подписок
* Исправлен расчёт скидки: применяется максимальная из личной и одноразовой скидок
* Исправлен сброс покупочной скидки после успешной оплаты
* Исправлено форматирование сумм в платежах
* Исправлен вызов `delete_commands` при отключённом `setup_commands`
* Исправлено некорректное срабатывание уведомления о доступном обновлении
* Исправлена конфигурация подключения к Redis
* Исправлен переводчик: пустые строки после удаления опциональных плейсхолдеров больше не остаются
* История транзакций пользователя теперь отсортирована по дате создания (сначала новые)

***

#### 0.7.3 (29 марта 2026)

Исправления:

* Исправлено отображение статистики подписок: добавлены поля **«Отключённые»** и **«Ограниченные»**
* Исправлен подсчёт безлимитных подписок в статистике
* Удалённые подписки больше не учитываются в статистике
* Исправлен редирект на главное окно подписок при потере данных о плане
* Исправлена миграция **0019**: корректная обработка транзакций и автоисправление невалидных URL в кнопках меню
* Исправлена переменная в уведомлении о превышении длины текста в рассылке
* Исправлена очистка имени пользователя от HTML спецсимволов
* Исправлен статус старой подписки при покупке новой: теперь помечается как удалённая
* Ограничен список последних зарегистрированных пользователей до 50

***

#### 0.7.2 (27 марта 2026)

Новое:

* Добавлен **deep link** для редиректа на диалог `INVITE`
* Добавлена **валидация URL** в редакторе доп. кнопок главного меню
* Добавлено отображение текущих значений условий в диалоге режим доступа
* Добавлена кнопка возврата к планам на экранах выбора способа оплаты и подтверждения

Исправления:

* Исправлена сериализация валюты через `.value` в MulenPay, UrlPay, Wata, PayMaster, CryptoPay
* Исправлено форматирование суммы в MulenPay
* Исправлен геттер подписки: проверка `raw_plan` на `None` до `retort.load`
* Исправлен `has_device_limit`: учитывает случай `device_limit == 0` (кнопка устройств отображается при безлимите по устройствам)
* Исправлена проверка превью рассылки на пустой контент
* Исправлен middleware ошибок: обработка `TelegramForbiddenError` и уведомление о неизвестной ошибке
* Исправлено ключ перевода для рассылки по плану
* Исправлено дублирование уведомления о доступном обновлении
* Исправлен перевод ивента `UserFirstConnected` и добавлена кнопка редиректа на пользователя
* Исправлены настройки CryptoPay: удалено лишнее поле `secret_key`
* Исправлено назначение роли owner для пользователя с `owner_id`
* Исправлен ивент `SubscriptionExpiredAgo`
* Исправлены ивенты о скором истечении подписки

***

#### 0.7.1 (25 марта 2026)

Инфраструктура:

* Обновлён шаблон `.env.example` с подробным описанием всех опциональных переменных и ссылками на документацию
* Централизовано управление состоянием бота (инлайн-режим, приватность, доступ к группам) в `BotService`
* Добавлена проверка инлайн-режима при старте: система выводит предупреждение, если он не включён в **BotFather**

Платежи:

* Исправлена конфигурация настроек шлюзов с использованием `Retort` для динамического приведения типов
* Скорректированы типы данных для **YooKassa**: `shop_id` изменён на строку, `vat_code` на число
* Добавлена кнопка «Скопировать вебхук» для **Platega**

Реферальная система:

* Добавлен метод `get_referrals_with_payment_count` для точного отображения статистики платежей приглашённых

Пользователи и доступ:

* Право на удаление своих устройств (`DeleteUserDevice`) изменено на `PUBLIC` для корректной работы диалога устройств
* Добавлена локализация для уведомления о сбросе подписки
* Логика уведомления о выводе баллов перенесена на использование сервиса `Notifier`

Исправления:

* Исправлены критические ошибки в вызовах методов SDK и интеракторов (добавлены пропущенные именованные аргументы)
* Оптимизирована и упрощена валидация списка локалей (`LocaleList`)
* Исправлено форматирование отображения версии Remnashop в соответствующем меню

***

#### 0.7.0 (24 марта 2026)

Архитектура и инфраструктура:

* Изменена структура папок
* Переработаны все SQL и DTO модели
* Переработаны все сервисы и работа с базой данных
* Вынесена вся бизнес-логика из UI слоя в UseCases
* Переработаны таски и фоновые задачи
* Переработаны и улучшены переводы
* Переработаны Telegram middlewares
* Обновлены зависимости aiogram и aiogram-dialog (поддержка стилей)
* Убран пароль для Redis (опциональный)
* Уменьшен вес лога при ротации
* Добавлены env переменные для логгера
* Улучшено логирование

Безопасность и доступ:

* Улучшена безопасность
* Исправлен обход регистрации и проверки доступа при блокировке бота
* Исправлено удаление роли самому себе
* Изменены роли (**USER, PREVIEW, ADMIN, DEV, OWNER, SYSTEM**)
* Реализованы права ролей
* Добавлено изменение роли предыдущего owner (прошлый dev) при смене OWNER\_ID (прошлый DEV\_ID)
* Реализован сброс ссылки подписки (управление устройствами) для пользователей

Производительность:

* Улучшена производительность
* Улучшена скорость рассылки
* Реализована очередь для уведомлений
* Исправлено повторение запуска задач при долгом выполнении

Платежи:

* Добавлены платёжные системы: **FreeKassa, MulenPay, PayMaster, Platega, RoboKassa, UrlPay, WATA**
* Добавлена проверка конфигурации настроек при получении вебхука платёжной системы
* Добавлен метод build\_webhook\_response для кастомизации ответа платёжной системы
* Исправлена невозможность продления подписки на бесконечность

Планы и подписки:

* Добавлена возможность создать несколько пробных планов
* Добавлена возможность импорта и экспорта планов
* Реализована доступность к планам по ссылке
* Реализована поддержка переводов для названий и описаний планов
* Реализована сортировка длительностей в редакторе плана
* Исправлен сброс трафика при продлении (теперь при продлении трафик сбрасывается)
* Для безлимита теперь указывается 0 вместо -1 (можно и -1, но в бд хранится как 0)
* Исправлена проверка доступа к планам

Реферальная система:

* Исправлена выдача награды при отключённой реферальной системе
* Исправлено уведомление о закреплении реферала при отключённой реферальной системе
* Исправлено сообщение о невозможности выдачи награды без наличия подписки
* Реализована отправка реферальной ссылки через inline\_query с кнопкой «Присоединиться»
* Добавлена дополнительная кнопка «Перейти к рефереру» для ивента регистрации

Рассылки и уведомления:

* Улучшена рассылка о доступности покупок (когда покупки были запрещены)
* Реализована поддержка переменных в рассылках (автоподстановка данных пользователя, список доступных переменных будет чуть позже)
* Добавлено ограничение по максимальному количеству символов для рассылки

Интерфейс:

* Исправлено группирование кнопок в диалоге Remnawave
* Реализован редактор дополнительных кнопок главного меню (+ поддержка переводов)
* Добавлен стиль для некоторых кнопок
* Улучшен диалог статистики
* Улучшен сбор статистики
* Исправлен редирект после ошибки при получении пробного периода
* Улучшен диалог управления устройствами (для пользователя)

Пользователи:

* Реализована статистика пользователя
* Реализован просмотр рефералов в статистике пользователя
* Исправлен поиск пользователей со скрытым аккаунтом
* Исправлено сохранение full\_name и username пользователя в БД при изменении

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.