[log]
v2.2.0...v3.0.0-rc.1 Add Support For Hysteria & Wireguard & Move Client Templates To Panel
🚀 Enhancements
- admins: Add note field to admin model and update related functionality (c6c0120c)
- admin: Enhance sudo admin permissions to allow self-modification and restrict modifications to other sudo accounts (4238cb8e)
- admin: Restrict creation of sudo admins via API to enhance security (15fc5f2b)
- ui: Refine user modal actions/details, locale keys, and toast behavior (63e76fea)
- hosts: Add ECH query strategy support across models, forms, and UI components (734299f6)
- user-template-modal: Implement custom status select component for improved user interaction (3656824c)
- telegram: Implement NATS-backed memory storage for FSM synchronization (#299)
- user-modal: Integrate dropdown menu for user actions and streamline button layout for enhanced usability (572124af)
- advance-search: Add 'Show created by' toggle for sudo users and persist preference in local storage (537223ee)
- admins: Prevent sudo admins from disabling their own accounts and enhance admin action controls in the UI (c89b5ff4)
- chart-view: Implement area chart option and enhance chart view preferences across the dashboard (273a8903)
- subscription-modal: Implement fetch links with timeout fallback and enhance error handling for improved reliability (1889af03)
- core-config-modal: Integrate Ace Editor for JSON editing in mobile and enhance validation logic (4c0e0dfa)
- sort: Implement compact sorting options in admin and user filters with enhanced UI for better usability (8987de4e)
- statistics-charts: Add BarChart3 icon to enhance visual representation in system statistics section (5a6a2e78)
- links: Implement finalmask application for vmess, vless, and trojan transports (b1538634)
- Announcement in sub page (94c0abde)
- Implement client template management system (#286)
- xray: Add hysteria protocol support and related settings across multiple components (#333)
- Add rand_range field to XrayNoiseSettings and update related components and translations (00251662)
- Add KCP transport configuration parameters tti and mtu to links (955fe69f)
- subscription: Add xhttp support for Clash Meta subscriptions (#347)
- dashboard: Align client template cards and modal with dashboard standards (d056c571)
- subscription: Add subscription rule response headers (26211427)
- subscription: Improve subscription rule card UX and remove unused locale strings (c4dc886b)
- core: Add WireGuard core management support (#350)
- ui: Add pencil icon for edit mode in dialog titles (c3fbd305)
- ui: Standardize icons through sidebar and dialogs (44e04fd1)
- ui: Replace emoji icons with official client icons for subscription links (38246fd2)
- wireguard: Support plain text format for non-browser subscription requests (3e0a65f3)
- subscription: Add fromat variables to extra-headers (be93e5e0)
- Add xtls-rprx-vision-udp443 flow support (#335)
- hosts: Xray subscription template per host (40d8e9de)
- wireguard: Generate peer ips from inbound local addresses (68c50d51)
- subscription: Enhance settings management by adding user ID for dynamic allocation (a41856e2)
- operation: Add header sanitization method to validate and normalize HTTP response headers (6d284eb9)
- wireguard: Add DNS server configuration to WireGuard host and subscription models (8900c87d)
- dashboard: Add hover effect for data table rows to enhance user interaction (26e70565)
- core: Add sorting options for created_at field in core configurations (481b3c97)
- dashboard: Implement log buffer size limit and enhance log filtering logic (4708be90)
- dashboard: Add Link2 icon and update download logic for wireguard protocol (ef463552)
- dashboard: Enhance NodeModal and NodeActionsMenu with improved UI elements and logic (7ec55f90)
- wireguard: Bulk peer IP reallocation, pool validation, Peer-IPs Bulk and dashboard UI (#365)
- dashboard: Enhance date picker and modal components with forced Persian locale support (e25e1a5e)
- bulk: Implement dry run functionality for bulk operations, allowing users to preview affected counts without modifying data (20737169)
- dashboard: Update service worker registration to dynamically infer base path for improved asset resolution (bfbd14be)
- core-config-modal: Replace default WireGuard config with dynamic key pair generation and improve layout for better responsiveness (4b4bfd99)
- bulk: Date range filters for expired users in bulk operations (#367)
- subscriptions: Enhance application and rule management with new sortable components and configuration options (cff88fe1)
- dashboard: Enhance mobile web app capabilities and improve loading experience with fallback elements (1e5541c3)
- subscription: Align sing-box generation and defaults with latest schema (#369)
🩹 Fixes
- user: Normalize expire timezone to UTC when setting expiration (5299bb45)
- date-picker, user-modal, dateFormatter: Streamline date handling and improve time left calculations (b667b93d)
- admin-tests: Implement async helper to manage sudo status for admin accounts (397adf7f)
- admin-modal: Add autoComplete attributes to input fields for better form handling (299a8b7f)
- admin-usage: Update reset_admin_usage to maintain lifetime traffic and add test for usage reset functionality (3dc787ec)
- admin-usage: Update reset_admin_usage to use admin_id for usage logs and refresh usage_logs attribute (3f7be3a4)
- admin-modal: Streamline admin creation and modification modals by consolidating sudo status switch into a single horizontal layout (e1cd0289)
- user-modal: Invalidate group queries on modal open to ensure fresh data (7de93c30)
- admins: Remove note column from admin table setup for cleaner UI (b3a0ce59)
- admin: Prevent promotion of non-sudo admins to sudo via API to enhance security (b7cf41eb)
- nodes-list: Update no nodes configured message for improved clarity and localization (75ef8363)
- user-modal: Restrict UserAllIPsModal visibility to sudo admins and update sidebar settings organization (8ec3001f)
- admin: Implement duplicate telegram ID handling for admin creation and modification (3f5df713)
- telegram-settings: Disable long-polling in multi-worker mode and add i18n notice (1668ae82)
- user-modal: Update grid layout and add reset usage button for improved user experience (76eefc9c)
- user-modal: Enhance button labels for better responsiveness and clarity (2bf1b67d)
- locales: Add 'Show created by' translation for multiple languages and remove related props from advance search modal (5b6c9fd4)
- admins: Improve error handling in admin status toggle and simplify AlertDialogFooter structure (fbabdf4b)
- user-modal: Enhance actions menu with improved dropdown interactions and state management (e4955c69)
- user-modal: Normalize data limit handling and adjust reset strategy based on data limit presence (33c6ce8f)
- users-statistics: Adjust layout for total users card to improve responsiveness on different screen sizes (cfc7b210)
- subscription-modal: Adjust layout and sizing for QR code and configs list to enhance visual alignment (acdc56d7)
- dashboard-statistics: Update layout for memory and disk usage display to enhance visual clarity and responsiveness (c6741cbc)
- user-templates: Add onRowClick handler for edit functionality in user templates (c2284d33)
- user-templates: Enhance edit functionality with onClick handler and adjust icon alignment in actions menu (5ca51195)
- Validate usename length for bulk users (d6b2eb61)
- Validate base username befor generating usernames (4e5aff21)
- node-manager: Change shutdown process to await completion after releasing the lock (70252a8b)
- system-statistics: Improve layout and styling of memory usage display for better readability and responsiveness (51e83be2)
- user-operation: Invert username length validation condition to ensure base username with affixes is outside the 3 to 128 character range (771accfe)
- dashboard-statistics: Adjust font sizes for traffic value display to improve readability (83b3fa62)
- Install_service.sh run main script inside uv .venv environment (#297)
- ci: Refactor build-dev.yml for improved Docker handling (ae8ca34b)
- ci: Docker-dev build workflow for improvements (241febf3)
- ui: Update border styles for button, calendar, textarea, and toggle components to ensure consistent theming (b21bcf53)
- dashboard-statistics: Update layout for online users display to enhance responsiveness (acc621b2)
- area-costume-chart: Adjust grid layout for improved responsiveness in chart component (38fdfcd0)
- user-modal: Adjust padding in user modal content for improved layout consistency (b262c3ee)
- date-picker: Enhance clear date functionality by adding keyboard support and improving event handling for better accessibility (c4ae472d)
- Allow finalmask for all transports (5d7110a6)
- singbox: Enhance TLS handling in hysteria configuration (9466e0c3)
- Simplify template content retrieval logic by removing redundant checks (5f1ede8a)
- Ensure custom template retrieval only occurs if both directory and environment value are set (0bb6984a)
- Singbox config (d9533fc5)
- Increase maximum length for username in userCreateSchema and userEditSchema (1a806849)
- Increase maxLength validation for username from 32 to 128 characters (d38e09d3)
- core-config-modal: Adjust height properties for better responsiveness (6442e20c)
- dashboard: Use theme radius in shared view toggle (e1278d78)
- Cleanup (e6009c0a)
- tests: Correct wireguard link extracting (04c04ecb)
- Remove bad peer_ips handling (5f907682)
- wireguard: Prevent assignment of server-reserved peer IPs (75356152)
- tests: Extract helper for WireGuard config parsing (6ef22d9e)
- Correct value error message (732fdf9e)
- subscription: Add format variable to rule response headers UI (d19424b6)
- dashboard: Standardize custom header modal (39701a97)
- tests: Wireguard tests (756693b9)
- tests: Update wireguard tests to validate dynamic address format and improve peer IP handling (395cd97d)
- subscription: Implement host-specific xray template overrides and add corresponding tests (59762749)
- wireguard: Implement global IP allocation for peer settings and update tests for persisted IPs (07a0651a)
- wireguard: Adjust peer IP allocation to prevent extension of user-supplied IPs while filling missing subnets (4be08026)
- node-config: Return vless_flow normalization (#360)
- dashboard: Replace inline data limit conversion with utility function for improved readability and precision (0bd275a4)
- dashboard: Ensure data limits and expiration dates are rounded to integers for consistency across user plans (5c73bd9f)
- dashboard: Enhance user template management by refining form validation and improving date picker functionality (147c39f5)
- dashboard: Adjust font sizes in popover components for better readability (7e54d89a)
- subscription: Refine HTTP headers handling in XHTTP transport configuration (c9f99ec1)
- node: Allow 'localhost' as a valid address (13425017)
- sonner: Change toast position to top-center for improved visibility (f9b740ab)
- core-config-modal: Close VLESS advanced modal after generating encryption result (f0dadb7d)
- dashboard: Update default singbox logo URL to point to the official site for accurate branding (49060574)
- dashboard): Simplify subscriptions advanced rule configurations (082b2863)
- subscription: Handle None case in _get_hysteria_data_from_finalmask and update port selection in XrayConfiguration (d333fa02)
- hysteria: Change auth field type in HysteriaSettings from UUID to string with random password generator (161520cb)
- workspace: Update autoClosingTags settings for JavaScript and TypeScript (ccbc7f07)
- bulk: Add condition to filter users with negative data limits in final filter (bcbeeb0f)
💅 Refactors
- sidebar: Replace panel icons with chevrons and enhance button styles for improved UX (cf605744)
- subscription-modal, action-buttons, use-clipboard: Optimize clipboard handling and improve content fetching logic (14441dc7)
- dialogs: Streamline dialog headers and footers by removing unnecessary direction checks and improving layout consistency (9e9816af)
- statistics: Remove network speed display and add disk usage metrics to system statistics section (a7fd3e14)
- user-modal, action-buttons: Streamline user data caching and update logic by consolidating cache updates into a single function for improved maintainability (a0b34d27)
- admins-table, filters, dialogs: Enhance data caching and refresh logic by integrating query client for improved performance and maintainability (10282940)
- dialogs: Standardize dialog title layouts and adjust component styles for improved consistency and responsiveness (03dd4730)
- action-buttons, users-table: Enhance modal state management and improve action button functionality for better user experience (13d50afd)
- dialogs: Add DialogDescription component to enhance accessibility and provide context in admin, node, user template, and core config modals (ed3cabbf)
- Streamline network settings handling with a registry pattern for easier extensibility (f1d83445)
- Enhance NoiseItem layout and input handling for improved user experience (a5c44cc5)
- crypto: Remove unused generate_certificate function from crypto module (d87677e3)
- Move wireguard user queries into CRUD and hoist util imports (807858bc)
- subscription: Improve IP generation logic and update tests for dynamic allocation (4a832cbf)
- dashboard: Optimize xray template filtering and update node actions menu for non-WireGuard nodes (535987da)
- wireguard: Streamline peer IP allocation logic and add validation for manual IPs against interface subnets (26783c1d)
- wireguard: Enhance peer IP allocation to support multiple interface subnets and improve validation logic (e1ea5f2b)
- wireguard: Update WIREGUARD_RESERVED handling to use CIDR notation and improve validation logic (3ce4e5df)
- subscription: Simplify WireGuard peer IP retrieval by removing static method and directly accessing settings (0d6beb84)
- dashboard: Replace button groups with SubscriptionFormActions component for improved code reuse and consistency across settings pages (20d31413)
📖 Documentation
- Update README files to include support for WireGuard and Hysteria2 in protocols section (7e70ae5b)
- Update README files to include support for WireGuard alongside Xray-core for enhanced performance (a78378ae)
🏡 Chore
- user-template-modal: Update loading text and button label for user template actions to improve clarity (6290c882)
- cleanup-settings: Reorganize reset usage section for improved clarity and maintainability (5605a42b)
- host-modal: Move routing accordion to end of modal (d65a9018)
- core-config-modal: Swap button actions and loading states for improved clarity and responsivenes (b3ace0cd)
- deps-dev: Bump ruff from 0.15.1 to 0.15.6 (#322)
- Better comments (13e7f69f)
- deps-dev: Bump ruff from 0.15.6 to 0.15.7 (#329)
- deps-dev: Bump ruff from 0.15.7 to 0.15.8 (#337)
- deps-dev: Bump ruff from 0.15.8 to 0.15.9 (#354)
- dashboard: Remove
.tsxformat from imports (44c81ead) - Format code (4bd8c828)
- dashboard: Update dependencies and improve text font sizes (09ceed18)
- templates: New default homepage template (5fc7ece9)
- workflows: Update GitHub Actions to use latest versions of checkout, upload, download, and setup actions (629bd85c)
- templates: Update default homepage (257551bf)
❤️ Contributors
- Mohammad immohammad20000@protonmail.com
- Sina (@x0sina)
- KlimSemikin (@KlimSemikin)
- M03ED (@M03ED)
- Nemu-x (@Nemu-x)
- T3ST3ST3R0N mamad.love.mail@gmail.com
- Qmel (@qmel)