v5.2.1...v5.3.0 Minor Bug fixes & Performance Boost
🚀 Enhancements
- nats: Add needs_shared_bridge_memory function and update related logic (53762641)
- subscription: Allow format variables in host SNI (7dfc9529)
- nats: Add router handler for NODE topic to support role-based message handling (5ed61622)
- groups: Enhance group validation logic to support admin role access (4a9cdd67)
- subscription: Add dynamic URL formatting for announcements (db25766d)
- users: Update action button visibility for mobile and desktop (b7cbeda3)
- wireguard: Enhance user management and subnet allocation logic (9c64d3fc)
- users: Add no_group filter to users list endpoint (549f81fc)
- bulk-groups: Add has_no_group filter for bulk group assignment (f8a2ba4d)
- xray: Add
cipherSuitesfor unsafe fingerprint to hosts (#769) - users,groups: Add no-group filters to users list and bulk group assignment UI (3331421e)
- theme: Add palettes, styles, and density controls (25f4c7ea)
- command-palette: Add keyboard search for pages, create, and theme (beada079)
- users: Add status chips, filter chips, and overlay table scrollbar (a5540e06)
- finalmask: Introduce FinalMaskNoiseItem model and update related settings (ff1a2909)
- Change swagger ui theme to dark (5c553a0e)
- ui: Add error boundary and server error fallback (#819)
🔥 Performance
- api: Collapse single-user read round trips (#782)
- db: Add composite index on user_subscription_updates table (bd1ac722)
- system: Collapse dashboard user metrics into one query (#791)
🩹 Fixes
- Exclude none values in finalMask links (33d5269d)
- Add concurrency limit for node connection (237bfef9)
- nats: Update kv_list_keys to remove prefix filter for key retrieval (baac582b)
- Duplicate hosts not include cipher suites (a2c7a026)
- singbox: Handle unsafe uTLS fingerprint (#813)
- Dont show on_hold users when
no_expireselected (37ec09aa) - nats: Handle CAS errors, dedupe leader-election KV logic, add retry backoff (180cc13f)
- core-editor: Refactor vless reverse setting normalization logic (770f0d55)
- Apply
cipherSuitesif fingerprint is unsafe (f01c75a3) - Remove randrange from noise settings (44875b76)
- node: Serialize full user sync against reconnect/update_node (#821)
- node: Prevent disabled nodes from being reactivated by health check race (ea22ec1d)
- dashboard: Prevent api-key and wireguard cards from overlapping on narrow widths (e2ac0b58)
- node: Reject zero/negative usage coefficient on update (bc51c214)
- node: Allow zero usage coefficient, still block negatives (6ccd38b6)
- dashboard: Copy configs on insecure contexts (#805)
- persian-calendar: Correct reversed nav chevrons in RTL (003d1a62)
- ci: Strip consola [log] tag from generated release notes (a0feefdc)
- donation-popup: Defer popup while another dialog is open (0398bb9d)
- swagger: Theme the Authorize dialog in dark mode (8f4ae3a8)
- node: Avoid expanding IN clause in bulk node status update (46ebac91)
💅 Refactors
🏡 Chore
- deps-dev: Bump ruff from 0.16.1 to 0.16.2 (#766)
- dashboard: Bump frontend deps and speed up Vite (4f6e6c70)
- deps-dev: Bump ruff from 0.16.2 to 0.16.3 (#795)
- deps-dev: Bump ruff from 0.16.3 to 0.16.4 (#817)
🎨 Styles
- dashboard: Polish page chrome, stats cards, and transitions (c9eeea5d)
- theme: Enhance layout and responsiveness of theme components (359953a6)
- dashboard: Update card shadow styles for light and dark themes (e9e111b9)
- groups: Add scrollable container to group modal form (2aa1249f)
❤️ Contributors
- X0sina
- Mohammad immohammad20000@protonmail.com
- Hossein Hatami (@dr-hoseyn)
- Normal-developer
- M03ED (@M03ED)
- Random Guy (@M03ED)