Skip to main content

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
Fixes:
  • 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_URL in 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
Fixes:
  • 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_commands not being called when setup_commands is 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 INVITE dialog
  • 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
Fixes:
  • Fixed currency serialization via .value in MulenPay, UrlPay, Wata, PayMaster, CryptoPay
  • Fixed amount formatting in MulenPay
  • Fixed subscription getter: null check for raw_plan before retort.load
  • Fixed has_device_limit: now accounts for device_limit == 0 (devices button is shown when device limit is unlimited)
  • Fixed broadcast preview check for empty content
  • Fixed error middleware: handle TelegramForbiddenError and show unknown error notification
  • Fixed translation key for plan-based broadcast
  • Fixed duplicate update available notification
  • Fixed UserFirstConnected event translation key and added user redirect button
  • Fixed CryptoPay settings: removed redundant secret_key field
  • Fixed owner role assignment for user with owner_id
  • Fixed SubscriptionExpiredAgo event
  • Fixed subscription expiring soon events

0.7.1 (March 25, 2026)

Infrastructure:
  • Updated .env.example with 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
Payments:
  • Fixed gateway configuration using Retort for dynamic type casting
  • Adjusted data types for YooKassa: shop_id changed to string, vat_code to integer
  • Added “Copy webhook” button for Platega
Referral System:
  • Added get_referrals_with_payment_count for accurate display of invited users’ payment statistics
Users & Access:
  • Changed DeleteUserDevice permission to PUBLIC to ensure proper functionality of the device management dialog
  • Added localization for the subscription reset notification
  • Migrated point withdrawal notification logic to the Notifier service
Fixes:
  • Fixed critical errors in SDK and interactor calls (added missing keyword arguments)
  • Optimized and simplified LocaleList validation
  • 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
Security & Access:
  • 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
Performance:
  • Improved overall performance
  • Improved broadcast speed
  • Implemented a queue for notifications
  • Fixed repeated task execution on long-running tasks
Payments:
  • Added payment gateways: FreeKassa, MulenPay, PayMaster, Platega, RoboKassa, UrlPay, WATA
  • Added configuration validation when receiving a payment gateway webhook
  • Added build_webhook_response method for customizing payment gateway responses
  • Fixed inability to extend a subscription to unlimited
Plans & Subscriptions:
  • 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 0 instead of -1 (both work, but stored as 0 in the database)
  • Fixed plan access validation
Referral System:
  • 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_query with a “Join” button
  • Added an additional “Go to referrer” button for the registration event
Broadcasts & Notifications:
  • 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
Interface:
  • 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)
Users:
  • Implemented user statistics
  • Implemented referral viewing in user statistics
  • Fixed search for users with hidden accounts
  • Fixed saving of full_name and username to the database on change