0.7.1 (March 25, 2026)
Infrastructure:- Update .env.example with detailed descriptions of all optional variables and documentation links
- Centralize bot state management (inline mode, privacy, group access) in BotService
- Implement startup inline mode check: the system now issues a warning if it is not enabled in BotFather
- Fix gateway configuration using Retort for dynamic type casting
- Adjust data types for Yookassa: shop_id changed to string, vat_code to integer
- Add “Copy webhook” button for the Platega payment system
- Implement get_referrals_with_payment_count for accurate display of invited users’ payment statistics
- The permission to delete user devices (DeleteUserDevice) has been changed to PUBLIC to ensure proper functionality of the device management dialog
- Add localization for the subscription reset notification
- Migrate point withdrawal notification logic to the Notifier service
- Fix critical errors in SDK and interactor calls (added missing keyword arguments)
- Optimize and simplify LocaleList validation
- Fixed formatting of the Remnashop version display in the corresponding menu
0.7.0 (24 March 2026)
Architecture & Infrastructure:- Restructured folder layout
- Refactored all SQL and DTO models
- Reworked all services and database interactions
- Moved all business logic from the UI layer into UseCases
- Refactored tasks and background jobs
- Refactored and improved translations
- Reworked Telegram middlewares
- Updated aiogram and aiogram-dialog dependencies (style support added)
- Made Redis password optional
- Reduced log file size on rotation
- Added environment variables for the logger
- Improved logging
- Improved security
- Fixed bypass of registration and access checks when the bot is blocked
- Fixed self-role removal bug
- Changed roles (USER, PREVIEW, ADMIN, DEV, OWNER, SYSTEM)
- Implemented role-based permissions
- Added role change for the previous owner (former DEV) when OWNER_ID (former DEV_ID) is updated
- Implemented subscription link reset (device management) for users
- Improved overall performance
- Improved broadcast speed
- Implemented a queue for notifications
- Fixed repeated task execution on long-running tasks
- Added payment gateways: FreeKassa, MulenPay, PayMaster, Platega, RoboKassa, UrlPay, WATA
- Added configuration validation when receiving a payment gateway webhook
- Added
build_webhook_responsemethod for customizing payment gateway responses - Fixed inability to extend a subscription to unlimited
- Added ability to create multiple trial plans
- Added plan import and export
- Implemented plan availability via link
- Implemented translation support for plan names and descriptions
- Implemented duration sorting in the plan editor
- Fixed traffic reset on renewal (traffic is now reset on renewal)
- Unlimited is now set as
0instead of-1(both work, but stored as0in the database) - Fixed plan access validation
- Fixed reward being granted when the referral system is disabled
- Fixed referral pinning notification when the referral system is disabled
- Fixed message about inability to issue a reward without an active subscription
- Implemented sending a referral link via
inline_querywith a “Join” button - Added an additional “Go to referrer” button for the registration event
- Improved purchase availability broadcast (when purchases were restricted)
- Implemented variable support in broadcasts (auto-substitution of user data; full list of variables coming soon)
- Added maximum character limit for broadcasts
- Fixed button grouping in the Remnawave dialog
- Implemented an editor for additional main menu buttons (with translation support)
- Added styles for certain buttons
- Improved the statistics dialog
- Improved statistics collection
- Fixed redirect after an error when receiving a trial period
- Improved device management dialog (user-facing)
- Implemented user statistics
- Implemented referral viewing in user statistics
- Fixed search for users with hidden accounts
- Fixed saving of
full_nameandusernameto the database on change