📦 Changelog - Release v2.3.6
🚀 Обзор релиза
Масштабное обновление с поддержкой многоязычности(Еще в работе), рекламными кампаниями, API для управления подписками(Ведется разработка) и множеством улучшений UX!
✨ Новые возможности
🌍 Глобальная поддержка многоязычности @yazhog
| Функция | Описание |
|---|---|
| i18n система | Полная локализация команд, сообщений, кнопок и уведомлений |
| Файлы локалей | Поддержка .yml и .json форматов в locales/ |
| Автоматические шаблоны | Создание ru.yml, en.yml при первом запуске |
| Переменные окружения | LOCALES_PATH, DEFAULT_LANGUAGE, AVAILABLE_LANGUAGES |
| Docker поддержка | Настройка через volumes и env-переменные |
🔗 Гибкая настройка поддержки @Fr1ngg
# Теперь поддерживаются все форматы:
SUPPORT_USERNAME: @support_bot # Username
SUPPORT_USERNAME: t.me/support # Короткая ссылка
SUPPORT_USERNAME: https://t.me/... # Полный URL
🛠️ Технические улучшения
📊 Архитектурные изменения
-
🏗️ Новые сервисы:
SubscriptionService- управление подпискамиSubscriptionCheckoutService- работа с черновикамиAdvertisingCampaignService- логика кампаний
-
📦 Расширенные репозитории:
- Методы пагинации и поиска
- CRUD операции для кампаний
- Оптимизированные запросы
-
🔄 Dependency Injection:
- Регистрация новых сервисов
- Улучшенная изоляция компонентов
🗃️ База данных
-- Новые таблицы:
• advertising_campaigns
• advertising_campaign_registrations
• subscription_drafts
📝 Миграция
⚠️ Важные шаги обновления
-
База данных
alembic upgrade head -
Переменные окружения
# Добавить в .env: LOCALES_PATH=./locales DEFAULT_LANGUAGE=ru AVAILABLE_LANGUAGES=ru,en -
Docker volumes
volumes: - ./locales:/app/locales -
Проверка локалей
- Скопировать файлы из
app/localization/default_locales/ - Настроить переводы под ваши нужды
- Скопировать файлы из
🐛 Исправления
- 🔧 Корректная обработка ошибок при восстановлении черновиков
- 🔧 Безопасное HTML-экранирование контактов поддержки
- 🔧 Устранение дублирования кода в клавиатурах
- 🔧 Исправлена навигация в админ-панели
- 🔧 Оптимизация расчёта стоимости подписок
📚 Документация
- 📖 Обновлены
README.mdи.env.example - 📖 Добавлены примеры настройки локализации
- 📖 Документированы новые API эндпоинты
- 📖 Инструкции по созданию рекламных кампаний
⚡ Совместимость
- ✅ Обратная совместимость: Сохранена для всех существующих функций
- ⚠️ Breaking changes: Нет
- 📦 Минимальные требования: Python 3.11+, PostgreSQL 14+
🎉 Благодарности
Спасибо всем контрибьюторам за их вклад в развитие проекта!
@yazhog | @Gy9vin | @FireWookie
Полный список изменений и детали реализации доступны в соответствующих PR.
# 📦 Changelog - Release v2.3.6🚀 Обзор релиза
Масштабное обновление с поддержкой многоязычности, рекламными кампаниями, API для управления подписками и множеством улучшений UX!
✨ Новые возможности
🌍 Глобальная поддержка многоязычности [@yazhog](https://github.com/yazhog)
| Функция | Описание |
|---|---|
| i18n система | Полная локализация команд, сообщений, кнопок и уведомлений |
| Файлы локалей | Поддержка .yml и .json форматов в locales/
|
| Автоматические шаблоны | Создание ru.yml, en.yml при первом запуске
|
| Переменные окружения | LOCALES_PATH, DEFAULT_LANGUAGE, AVAILABLE_LANGUAGES
|
| Docker поддержка | Настройка через volumes и env-переменные |
📢 Рекламные кампании [@Fr1ngg](https://github.com/Fr1ngg)
| Компонент | Функционал |
|---|---|
| База данных | Новые модели AdvertisingCampaign и AdvertisingCampaignRegistration
|
| Админ-панель | Полноценный раздел управления кампаниями |
| Бонусная система | • Начисление баланса • Выдача подписок • Защита от повторного получения |
| Deep linking | Регистрация через /start?start=campaign_id
|
| Статистика | Отслеживание конверсий и регистраций |
🔄 API для подписок [@FireWookie](https://github.com/FireWookie)
📌 POST /api/v1/subscriptions/{user_id}/extend - Продление подписки
📌 GET /api/v1/users/list - Список пользователей с пагинацией
📌 GET /api/v1/users/search?username_prefix= - Поиск по username
📌 PATCH /api/v1/users/{user_id}/balance - Обновление баланса🎯 Улучшения UX
💾 Система черновиков подписок [@Fr1ngg](https://github.com/Fr1ngg)
Проблема решена: Пользователи больше не теряют выбранную конфигурацию при недостатке средств!
- ✅ Автосохранение параметров подписки при выходе
- ✅ Кнопка "↩️ Вернуться к оформлению" в главном меню
- ✅ Восстановление корзины после пополнения баланса
- ✅ Умная очистка черновиков после покупки
🎛️ Расширенная админ-панель [@Gy9vin](https://github.com/Gy9vin)
| Функция | Описание |
|---|---|
| Фильтры пользователей | Сортировка по балансу (убывание) |
| Навигация | Запоминание источника перехода |
| Быстрые действия | Кнопки после пополнения баланса |
🔗 Гибкая настройка поддержки [@Fr1ngg](https://github.com/Fr1ngg)
# Теперь поддерживаются все форматы:
SUPPORT_USERNAME: @support_bot # Username
SUPPORT_USERNAME: t.me/support # Короткая ссылка
SUPPORT_USERNAME: https://t.me/... # Полный URL🛠️ Технические улучшения
📊 Архитектурные изменения
-
🏗️ Новые сервисы:
SubscriptionService- управление подпискамиSubscriptionCheckoutService- работа с черновикамиAdvertisingCampaignService- логика кампаний
-
📦 Расширенные репозитории:
- Методы пагинации и поиска
- CRUD операции для кампаний
- Оптимизированные запросы
-
🔄 Dependency Injection:
- Регистрация новых сервисов
- Улучшенная изоляция компонентов
🗃️ База данных
-- Новые таблицы:
• advertising_campaigns
• advertising_campaign_registrations
• subscription_drafts📝 Миграция
⚠️ Важные шаги обновления
-
База данных
alembic upgrade head
-
Переменные окружения
# Добавить в .env: LOCALES_PATH=./locales DEFAULT_LANGUAGE=ru AVAILABLE_LANGUAGES=ru,en
-
Docker volumes
volumes: - ./locales:/app/locales
-
Проверка локалей
- Скопировать файлы из
app/localization/default_locales/ - Настроить переводы под ваши нужды
- Скопировать файлы из
🐛 Исправления
- 🔧 Корректная обработка ошибок при восстановлении черновиков
- 🔧 Безопасное HTML-экранирование контактов поддержки
- 🔧 Устранение дублирования кода в клавиатурах
- 🔧 Исправлена навигация в админ-панели
- 🔧 Оптимизация расчёта стоимости подписок
📚 Документация
- 📖 Обновлены
README.mdи.env.example - 📖 Добавлены примеры настройки локализации
- 📖 Документированы новые API эндпоинты
- 📖 Инструкции по созданию рекламных кампаний
⚡ Совместимость
- ✅ Обратная совместимость: Сохранена для всех существующих функций
- ⚠️ Breaking changes: Нет
- 📦 Минимальные требования: Python 3.11+, PostgreSQL 14+
🎉 Благодарности
Спасибо всем контрибьюторам за их вклад в развитие проекта!
[@yazhog](https://github.com/yazhog) | [@Gy9vin](https://github.com/Gy9vin) | [@FireWookie](https://github.com/FireWookie)
Полный список изменений и детали реализации доступны в соответствующих PR.
What's Changed
- Сохранение истории покупки в кеше + предложение продолжить покупку после пополнения баланса by @Fr1ngg in #123
- Возможность указывать ссылку на саппорт, а не только юзернейм by @Fr1ngg in #125
- Рекламные компании by @Fr1ngg in #130
- Редактирование РК + фикс удаления by @Fr1ngg in #138
- Добавлена фильтрация пользователей по балансу by @Gy9vin in #114
- Правки в меню редактирования профиля юзера by @Fr1ngg in #142
- Feature/locale Переводы на др языки by @yazhog in #131
- Фиксы покупки подписки в апдейте с локалью by @Fr1ngg in #150
- docs: expand functionality overview by @Fr1ngg in #153
- Dev BedolagaAPI by @FireWookie in #143
Full Changelog: v2.3.5...v2.3.6