Documentation Index
Fetch the complete documentation index at: https://remnawave.shop/llms.txt
Use this file to discover all available pages before exploring further.
0.7.5 (April 10, 2026)
New:- Added a “Close notification” button in the broadcast editor
- Fixed proxy support for Telegram API
- Fixed navigation bugs in the subscription dialog
- Re-enabled YooKassa webhook signature verification
- Fixed FreeKassa issues: incorrect nonce generation and currency handling
- Fixed system statistics display (Remnawave)
- Fixed traffic limit display on nodes
- Update links now point to the official documentation instead of the GitHub README
- Added user management buttons in device update and subscription revoke notifications
0.7.4 (April 7, 2026)
New:- Added support for Remnawave 2.7.x
- Added MONTH_ROLLING traffic reset strategy: traffic resets based on the subscription creation date rather than a fixed calendar day
- Added optional SOCKS5 proxy support for Telegram API access (configurable via
BOT_PROXY_URLin env) - Added Remnawave version compatibility check: the bot warns if the connected panel version is outdated or unsupported
- Added one-time purchase discount management: separate personal and one-time discounts per user, with the higher value applied automatically
- Added trial availability toggle in the user editor
- Added discount type indicator on subscription screens showing whether the active discount is personal or one-time
- Increased maximum length for menu button labels and plan names from 16 to 32 characters
- Improved YooKassa payment creation: added retry logic on connection errors
- Added permission checks when changing user roles: preventing self-demotion, protecting the Owner role, and enforcing role hierarchy
- Fixed role hierarchy comparison in admin list: edit access is now correctly calculated based on actor vs. target role
- Fixed role deletion button visibility in the Administrators dialog
- Fixed subscription statistics: counts now correctly reflect only active (current) subscriptions per user
- Fixed trial statistics: now counts distinct users instead of total trial subscriptions
- Fixed discount calculation: the effective discount is now the maximum of personal and one-time discounts
- Fixed purchase discount reset after a successful payment
- Fixed amount formatting in payments
- Fixed
delete_commandsnot being called whensetup_commandsis disabled - Fixed update check notification incorrectly triggering in some cases
- Fixed Redis connection configuration
- Fixed translator leaving blank lines after removing optional placeholders
- Transactions in user history are now sorted by creation date (newest first)
0.7.3 (March 29, 2026)
Fixes:- Fixed subscription statistics display: added “Disabled” and “Limited” fields
- Fixed unlimited subscription count in statistics
- Deleted subscriptions are no longer counted in statistics
- Fixed redirect to the main subscriptions window when plan data is lost
- Fixed migration 0019: proper transaction handling and auto-correction of invalid URLs in menu buttons
- Fixed variable in the text length exceeded notification for broadcasts
- Fixed sanitization of usernames from HTML special characters
- Fixed old subscription status when purchasing a new one: now marked as deleted
- Limited the list of recently registered users to 50
0.7.2 (March 27, 2026)
New:- Added deep link for redirecting to the
INVITEdialog - Added URL validation in main menu extra buttons editor
- Added current values display for access conditions in access mode dialog
- Added back-to-plans button on payment method and confirm screens
- Fixed currency serialization via
.valuein MulenPay, UrlPay, Wata, PayMaster, CryptoPay - Fixed amount formatting in MulenPay
- Fixed subscription getter: null check for
raw_planbeforeretort.load - Fixed
has_device_limit: now accounts fordevice_limit == 0(devices button is shown when device limit is unlimited) - Fixed broadcast preview check for empty content
- Fixed error middleware: handle
TelegramForbiddenErrorand show unknown error notification - Fixed translation key for plan-based broadcast
- Fixed duplicate update available notification
- Fixed
UserFirstConnectedevent translation key and added user redirect button - Fixed CryptoPay settings: removed redundant
secret_keyfield - Fixed owner role assignment for user with
owner_id - Fixed
SubscriptionExpiredAgoevent - Fixed subscription expiring soon events
0.7.1 (March 25, 2026)
Infrastructure:- Updated
.env.examplewith detailed descriptions of all optional variables and documentation links - Centralized bot state management (inline mode, privacy, group access) in
BotService - Added startup inline mode check: the system now issues a warning if it is not enabled in BotFather
- Fixed gateway configuration using
Retortfor dynamic type casting - Adjusted data types for YooKassa:
shop_idchanged to string,vat_codeto integer - Added “Copy webhook” button for Platega
- Added
get_referrals_with_payment_countfor accurate display of invited users’ payment statistics
- Changed
DeleteUserDevicepermission toPUBLICto ensure proper functionality of the device management dialog - Added localization for the subscription reset notification
- Migrated point withdrawal notification logic to the
Notifierservice
- Fixed critical errors in SDK and interactor calls (added missing keyword arguments)
- Optimized and simplified
LocaleListvalidation - Fixed formatting of the Remnashop version display in the corresponding menu
0.7.0 (March 24, 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