github BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot v3.4.0

3 hours ago

What's Changed in v3.4.0

✨ New Features

  • Add admin blocked users management panel with bulk operations, ban/unban, and localization support
  • Add referral diagnostics system with log analysis, missing bonus detection, and period-based reports
  • Add Kassa AI payment status checking and admin management UI for payment verification
  • Add cabinet API endpoints for device reduction (reduce device limit and get partial refund)
  • Add cabinet API endpoints for admin user management: full deletion, trial reset, subscription reset, and user disable
  • Add cabinet API endpoints for promocode activation/deactivation with discount lifecycle management
  • Add startup notification service with rich system info (users, balances, subscriptions, open tickets, panel status)
  • Add Telegram error logging handler that forwards ERROR/CRITICAL log records to admin chat with deduplication and throttling
  • Add admin error notification system with throttling, buffering, and traceback file attachments
  • Add promo broadcast message placeholder rendering (discount_percent, valid_hours, server_name, etc.)
  • Add release-please and release workflows for automated releases

🐛 Bug Fixes

  • Fix blocked users bypassing channel subscription check and getting subscriptions reactivated
  • Fix referral system bonus calculations and contest reward processing
  • Fix lazy loading error when resuming paused daily subscriptions on balance top-up
  • Fix DEFAULT_LANGUAGE_CODE references in menu handler (renamed to DEFAULT_LANGUAGE)
  • Fix traffic top-up keyboard redirecting to wrong callback (topup_amount_balance_topup)
  • Fix route matching in admin tickets: move /settings before /{ticket_id} to prevent static route collision
  • Fix async lazy load error when assigning promo_groups to tariffs by adding explicit refresh
  • Fix promo group resolution in cabinet purchase flow to use get_primary_promo_group() with legacy fallback
  • Fix trial info endpoint returning hardcoded values instead of actual trial tariff parameters
  • Fix DB connection closed errors in auth middleware by gracefully handling InterfaceError/OperationalError
  • Fix tariff traffic top-up package editor crashing on non-text input
  • Fix user deletion not cleaning up Wata, CloudPayments, and Kassa AI payment records
  • Fix SQLAlchemy connection closed errors during long broadcast operations
  • Apply promo group discounts to device purchase, traffic purchase, and tariff switch in cabinet

⚡ Improvements

  • Redesign version update notification with blockquote expandable and Markdown→HTML conversion
  • Redesign admin notification messages for trial activation and subscription purchase
  • Add 6-hour cooldown for autopay insufficient balance notifications to reduce spam
  • Exclude daily subscriptions from global autopay processing
  • Stabilize mass broadcast system for 100k+ users with proper rate limiting and progress tracking
  • Add user identifier (telegram_id) to Wata and Kassa AI payment descriptions for easier reconciliation
  • Add error notifications to all CloudPayments failure paths (creation, webhook, user lookup)
  • Enforce minimum device limit based on tariff when reducing devices
  • Fix traffic top-up pricing in tariff mode to charge flat monthly rate instead of prorated remaining-time price
  • Simplify error handler and decorator code by removing redundant error notification plumbing

🏗️ Infrastructure & CI

  • Update Docker registry workflow to use ${{ github.repository }} instead of hardcoded image name
  • Update Docker Hub and Docker Registry workflow configurations
  • Update Dockerfile version to v3.4.0
  • Add release-please workflow for automated changelog generation
  • Add release workflow with categorized changelog and Docker pull instructions

Full Changelog: v3.3.0...v3.4.0

Don't miss a new remnawave-bedolaga-telegram-bot release

NewReleases is sending notifications on new releases.