3.10.0 (2026-02-10)
New Features
- add all remaining RemnaWave webhook events (node, service, crm, device) (1e37fd9)
- add close button to all webhook notifications (d9de15a)
- add MULENPAY_WEBSITE_URL setting for post-payment redirect (fe5f5de)
- add RemnaWave incoming webhooks for real-time subscription events (6d67cad)
- handle errors.bandwidth_usage_threshold_reached_max_notifications webhook (8e85e24)
- handle service.subpage_config_changed webhook event (43a326a)
- unified notification delivery for webhook events (email + WS support) (26637f0)
- webhook protection — prevent sync/monitoring from overwriting webhook data (184c52d)
Bug Fixes
- add action buttons to webhook notifications and fix empty device names (7091eb9)
- add missing placeholders to Arabic SUBSCRIPTION_INFO template (fe54640)
- allow non-HTTP deep links in crypto link webhook updates (f779225)
- build composite device name from platform + hwid short suffix (17ce640)
- downgrade transient API errors (502/503/504) to warning level (ec8eaf5)
- extract device name from nested hwidUserDevice object (79793c4)
- preserve payment initiation time in transaction created_at (90d9df8)
- security and architecture fixes for webhook handlers (dc1e96b)
- stop CryptoBot webhook retry loop and save cabinet payments to DB (2cb6d73)
- sync subscription status from panel in user.modified webhook (5156d63)
- use event field directly as event_name (already includes scope prefix) (9aa22af)
- webhook:close button not working due to channel check timeout (019fbc1)