3.31.0 (2026-03-12)
New Features
- add show_in_gift toggle for tariffs in admin panel (cb5126a)
- add sync-squads endpoint for bulk updating subscription squads in Remnawave (b1e2146)
- auto-sync squads to Remnawave when admin updates tariff (076290e)
- referral links now point to web cabinet instead of bot (12ae871)
Bug Fixes
- add post_update=True to User.referrals self-referential relationship (9957259)
- add Telegram Stars payment support for gift subscriptions (5424d8c)
- correct skipped_count in sync-squads circuit breaker and simplify ternary (8a362db)
- preserve purchased devices when admin changes user tariff (bf72f24)
- prevent account takeover via auto_login_token, ensure promo group on all purchase paths (b3f3eba)
- reactivate subscription after traffic top-up when status is EXPIRED (8b35428)
- update promo group via M2M table so admin changes persist (68bc8eb)
Refactoring
- remove estimated price from balance, simplify server sync, fix HTML injection (a798f11)