3.10.1 (2026-02-11)
Bug Fixes
- address review issues in backup, updates, and webhook handlers (2094886)
- allow purchase when recalculated price is lower than cached (19dabf3)
- change CryptoBot URL priority to bot_invoice_url for Telegram opening (3193ffb)
- clear subscription data when user deleted from Remnawave panel (b0fd38d)
- downgrade Telegram timeout errors to warning in monitoring service (e43a8d6)
- expand backup coverage to all 68 models and harden restore (02e40bd)
- handle nullable traffic_limit_gb and end_date in subscription model (e94b93d)
- handle StaleDataError in webhook when user already deleted (d58a80f)
- ignore 'message is not modified' on privacy policy decline (be1da97)
- preserve purchased traffic when extending same tariff (b167ed3)
- prevent cascading greenlet errors after sync rollback (a1ffd5b)
- protect server counter callers and fix tariff change detection (bee4aa4)
- suppress 'message is not modified' error in updates panel (3a680b4)
- use callback fallback when MINIAPP_CUSTOM_URL is not set (eaf3a07)
- use flush instead of commit in server counter functions (6cec024)