Skip to content

v3.4.7

Choose a tag to compare

@3252a8 3252a8 released this 01 Jun 19:57
· 704 commits to main since this release
9393962

Changelog 3.4.63.4.7:

Summary

Мультивалютные тарифы с фильтрацией провайдеров по валюте (если хотите принимать оплату не в рублях), безопасный dry-run режим записи в Remnawave Panel (дле dev и тестов перед миграцией), анонимная opt-out телеметрия установок, улучшение интерфейса управления пользователями в админке, а также набор фиксов каналов, deeplink-шлюза, top-up трафика и локализации писем.

Changelog

  • Добавлены мультивалютные тарифы: JSON-каталог поддерживает default_currency (usd, eur, usdt и др.) с generic-полями цен и пакетов, legacy *_rub-поля остаются алиасами. Платёжные методы фильтруются по поддерживаемым провайдером валютам, а раздел Система → Тарифы показывает матрицу «метод/сервис/доступность» для текущей валюты.
  • Добавлен dry-run режим записи в Remnawave Panel: PANEL_WRITE_MODE=dry_run/auto и APP_RUNTIME_MODE позволяют читать живую панель, но только валидировать и логировать мутации пользователей ([PANEL DRY-RUN OK] would PATCH ...); секреты и ID редактируются из логов dry-run.
  • Добавлена анонимная opt-out телеметрия установок: раз в сутки worker шлёт обезличенный heartbeat (версия, OS/arch, Python, язык, включённые провайдеры, диапазон числа пользователей) в формате PostHog; выключается через TELEMETRY_ENABLED или тоггл Admin → System без перезапуска.
  • Расширено управление пользователями в админке: фильтры, сортируемые колонки, метрики списка пользователей, отображение реферальных связей в карточках и модальное окно деталей пользователя (UserDetailModal).
  • Добавлен сброс права на триал из веб-админки без удаления истории пользователя (новая отметка trial_eligibility_reset_at, миграция 0033).
  • Добавлена цель рассылки «истёкшие подписки» (expired subscription broadcast target).
  • Добавлен выбор языка на экране входа и восстановлен селектор языка в мобильной админке.
  • Добавлен аудит исходящих уведомлений пользователям (message_audit) — фиксация фактических отправок ботом.
  • Обновлены письма: локализация support-шаблонов, рендер email-превью из шаблонов, demo-секция превью в документации и отвязка генерации превью от зависимостей бота.
  • Исправлены платежи и трафик: согласованы потоки top-up трафика и unlimited-оверрайды; запуск миграций после восстановления БД; восстановлены экраны ввода email-кода (pending email code).
  • Исправлены проверки обязательного канала: нормализация REQUIRED_CHANNEL_ID (приведение к -100…) и устойчивое распознавание ошибок доступа к каналу.
  • Исправлен UX мобильного клиента: deeplink-шлюз остаётся открытым во время prompt запуска приложения; увеличена кнопка продления.
  • Обновлён CI: dev-образы тегируются только как dev (убраны per-commit теги dev-<sha>).
  • Расширены тесты: мультивалютные тарифы, телеметрия, dry-run панели, метрики/гранты/сброс триала в админке, аудит сообщений, нормализация канала, реестр платёжных провайдеров.

Notes

  • Есть изменение схемы БД: миграция 0033_add_trial_eligibility_reset_marker (колонка users.trial_eligibility_reset_at), применяется автоматически.
  • Новые переменные окружения: TELEMETRY_ENABLED, TELEMETRY_ENDPOINT, TELEMETRY_API_KEY, TELEMETRY_INTERVAL_HOURS; APP_RUNTIME_MODE, PANEL_WRITE_MODE, PANEL_DRY_RUN_VALIDATE_REMOTE, PANEL_DRY_RUN_SYNTHETIC_CREATE. Для кастомных валют у Heleket/Platega/SeverPay держите в актуальном состоянии *_SUPPORTED_CURRENCIES.
  • Телеметрия включена по умолчанию (opt-out): отключается TELEMETRY_ENABLED=False, пустым endpoint/ключом или тогглом в админке. Персональные данные и секреты не отправляются.

What's Changed

  • Feature/multicurrency by @3252a8 in #18
  • Feature/telemetry by @3252a8 in #19
  • Enhance admin users and subscription workflows by @3252a8 in #20
  • Improve admin UX, trial reset behavior, and channel subscription checks by @3252a8 in #21
  • Multicurrency (future-proof feature), panel dry-run mode (dev feature), install telemetry and admin user tools by @3252a8 in #22

Full Changelog: v3.4.6...v3.4.7