github remnawave/frontend 2.8.0

4 hours ago

🌊 Remnawave Frontend v2.8.0

Join community on Telegram

2.7.4...2.8.0

compare changes

🚀 Enhancements

  • Enhance HWID and SRH inspector tables (5475f11b)
  • Replace renderSVG with QrCodeBuilder for QR code generation in user subscription links (c923ce13)
  • Implement WASM crash handling and restart functionality in config editor (3e1ae44c)
  • Query stats for multiple nodes (12441c7e)
  • Add nodeUuid prop to BaseNodeForm and NodeVitalsCard components (e22a9666)
  • Open node in infra billing (5f8f6c75)
  • Mantine v9 (69350459)
  • Add data-orientation attribute to CardSection in DataTableContent component (48468052)
  • Enhance squad display in user table with OverflowList for better visibility (dcd398bc)
  • Refactor HostCardWidget to use OverflowList for node display and update props interface (665fed6d)
  • Enhance HostCardWidget with additional icon indicators and server description display (6a5ebd08)
  • Add inbound tag display and excluded squads indicator to HostCardWidget (19ccd0f5)
  • Add tooltips for icon indicators in HostCardWidget (7e975786)
  • Move multiple hosts (8fa0e60d)
  • Add verifyPeerCertByName field (afe26c1d)
  • Add help icons to Pinned Peer Cert SHA256 and Verify Peer Cert By Name fields (b718bc3d)
  • Add Mihomo IP Version selection to BaseHostForm and update related state in EditHostModalWidget (3d4d9e02)
  • Table view mode for Hosts (d8b6d2b2)
  • User metadata retrieval in UserIdentificationCard (f66826dd)
  • Add node metadata retrieval and display in NodeDetailsCardWidget (10e8ec0c)
  • Add note field to Node (6c4a69b5)
  • Replace single tag with multiple tags in host components (3330d2e2)
  • Integrate TagInputPill component for tag rendering in various forms (a4dec914)
  • Add disclaimer overlay and state management for user acceptance (66e1ca08)
  • Add proxy URL input in Node Vitals Card (0d97a489)
  • Add new modal for bulk editing hosts (957bb9a6)
  • Add used traffic percentage column to users table (4ad25393)
  • Update nodes datatable cache key and add consumption multiplier column (aa4d10fe)
  • Add additional options section in create node step 1 connection modal (a17ce785)
  • Add node consumption multiplier feature (dc447d9b)
  • i18n: Add keypair generator translation for generate action (40458755)
  • User table filters templates (583bfa5d)
  • Implement return-to functionality in OAuth2 callback and auth guard (298b476d)
  • Add clone functionality for external squads (23305a84)
  • Enhance empty state display in linked hosts drawer (37a85589)
  • Scoped api tokens (742c3368)
  • Branded title (6798b414)
  • Add tooltip for copy and paste actions in API token modals and update translations (c266863f)
  • Custom billing node (82bdc96c)
  • Adapt navbar for hi-res (256d6920)
  • Add active tag functionality to view preferences and enhance UI components (509dc94b)
  • Add fullscreen functionality to editor widgets and update UI components (2d4ff6c5)

🩹 Fixes

  • Update documentation links (8b67580c)
  • Label traffic units as GiB (#345)
  • infra-billing: Keep date-only picks in UTC so 1st-of-month records count (#354)
  • Show xrayJson template name insted of bool in hosts table (eb120d3d)
  • Increase size of disclaimer overlay (c5e9f4ce)
  • Update proxy URL placeholder and handle empty proxy URL in edit node modal (61a40219)
  • Adjust user agent column size in subscription requests table (2e61cd7e)
  • Action icons in tables (008ed07d)
  • Update VLESS UUID label in user info drawer and remove unused translation key (210bcceb)
  • Prevent form reinitialization in EditNodeByUuidModalContent (418c9043)
  • Increase modal size (f209001f)
  • Incorrect save tags in host form, incorrect save state in node form (cd5adb00)
  • Host form state (0898718d)
  • Empty state in infra billing (3844edd2)
  • Host edit form (2c2cb8f5)
  • Correct button disabled state in base host form (62eec905)
  • Adjust header height to accommodate safe area insets (f10be1c5)
  • Add media query for header height adjustment (5e9e60a8)
  • Standardize xHttpExtraParams naming convention (564c6939)
  • Align table cell content to the left (0f3650a8)
  • Conditionally render checkbox based on readOnly state (ba769cd3)
  • Update settings header to use translation constant (d52a7d0b)
  • Adjust table column sizes and alignment in user subscription requests table (3996906d)
  • Update table density setting and remove unused toolbar properties in user HWID devices and subscription requests tables (535dd098)
  • Update traffic limit column header to use translation key (a86e65ff)
  • Debounce logic (2e03a467)
  • Correct unit data assignment and adjust fraction digits in bytes conversion utility (53ab80ea)
  • Increase maximum concurrent sessions from 5 to 10 (45e435a9)
  • Adjust padding for AppShell.Main on high-resolution desktops (4ab16690)
  • Handle JSON parsing errors in template editor actions (875018f2)
  • Synchronize state on profile drawer open/close (5b23ca51)
  • Missing provider name with custom billing node (80b41e0d)
  • Lint (0762e5e1)
  • Revert copyable field (9f42f9eb)

💅 Refactors

  • Optimize SessionsExplorerCard component (fef14756)
  • Improve item key computation and rendering logic in SessionsExplorerCard (3fbfee91)
  • Migrate view mode management to view-preferences-store and remove obsolete enums for config profiles and nodes (01a9109a)
  • Replace PiTagDuotone with TbStar icon in HostCardWidget and HostTagsInputWidget (de264cd7)
  • Update user action components (d0977bda)
  • Enhance user action components (0356fe06)
  • Replace useMediaQuery with useIsMobile hook across components (031a81ba)
  • Replace allowInsecure with pinnedPeerCertSha256 (71d61d62)
  • host-card: Consolidate props interface and enhance edit functionality (aa45e00c)
  • Update MainLayout to include new props (499c80df)
  • Remove unused media query and simplify Notifications position (8523777e)
  • BaseHostForm to use Autocomplete component (b1a2a0d2)
  • User hwid devices modal (ac2b9f3c)
  • User subscription requests modal (2305d769)
  • Replace date ranges with utility function for consistency (312e5439)
  • Rename publicKey to password in keypair generator (d183eec9)
  • Replace date formatting logic with formatTimeUtil in DetailedUserInfoDrawerWidget (295346da)
  • Restart node button (33631a4e)
  • Host modals (588f9adf)
  • Update reset user traffic logic (fc58e6b9)
  • Infra billing desktop view (9a45f1ee)
  • Restructure main layout and navigation components (f9f19c8a)
  • Simplify layout structure (cd1848f3)
  • Unsaved changes modal (5f732332)
  • Traffic limit inputs, traffic limit table column (0c98811d)
  • Replace Select with NativeSelect in traffic limit range filter (360ab21e)
  • Rename prettyBytesUtil to prettifyBytesUtil across the codebase (f82e7f8b)
  • Update UI components and improve styling in config profiles and dashboard drawers (a8438969)
  • Enhance API token management UI (f6551ada)
  • Hwid and srh inspector metrics (867b30cb)
  • Enhance UI components (ca25c4f2)
  • Improve UI layout for config profiles (4723b0a0)
  • Node metrics (7952429e)
  • Update dashboard layout and visual settings (a106d647)

🏡 Chore

  • Update @remnawave/node-plugins to version 0.4.5 in package.json and package-lock.json (44fbd1cd)
  • Simplify data usage translations and update monthly rolling label (5199aaaf)
  • i18n: Update translations (#339)
  • i18n: Update translations (#342)
  • i18n: Update translations (#343)
  • Bump version to 2.8.0 in package.json and package-lock.json, update @remnawave/backend-contract to 2.8.0 (26e488af)
  • Update monaco-yaml dependency to version 5.5.0 (d8cf3dfb)
  • i18n: Update translations (#346)
  • i18n: Update translations (#347)
  • Remove tsconfig references to tsconfig.node.json (9da0267e)
  • Update package dependencies to latest versions (2851ec36)
  • i18n: Update translations (#349)
  • i18n: Update translations (#350)
  • i18n: Update translations (#351)
  • i18n: Update translations (#355)
  • i18n: Update translations (#359)
  • i18n: Update translations (#361)
  • i18n: Update translations (#362)
  • i18n: Update translations (#364)
  • i18n: Update translations (#365)
  • i18n: Update translations (#366)
  • i18n: Update translations (#367)
  • i18n: Update translations (#368)
  • i18n: Update translations (#369)
  • i18n: Update translations (#370)
  • i18n: Update translations (#372)
  • i18n: Update translations (#373)
  • i18n: Update translations (#374)
  • i18n: Update translations (#375)
  • i18n: Update translations (#376)
  • Update issue template links for bug reports and feature requests (6c20774e)
  • i18n: Update translations (#377)
  • Update dependencies (7f89161d)
  • Update nodes datatable cache key to version 4 (11617263)
  • i18n: Update translations (#378)
  • i18n: Update translations (#379)
  • i18n: Update translations (#380)
  • Update dependencies (60fa6175)
  • Update package dependencies and refactor router imports to use 'react-router' (762c0b7f)
  • Update lock file (445a8f4d)
  • i18n: Update translations (#381)
  • i18n: Update translations (#382)
  • i18n: Update translations (#383)
  • i18n: Update translations (#384)
  • Update package dependencies (53cf1c49)
  • i18n: Update translations (#385)
  • Update package dependencies and improve table column formatting (19e378b3)
  • Remove unused global script from index.html (3231121c)
  • Update brand logo URL description (ddf35bbd)
  • i18n: Update translations (#386)
  • Import Lottie setup utility in main entry file (12adc891)
  • i18n: Update translations (#388)
  • i18n: Update translations (#389)
  • i18n: Update translations (#390)
  • i18n: Update translations (#391)
  • i18n: Update translations (#392)
  • i18n: Update translations (#393)
  • i18n: Update translations (#394)
  • Update package dependencies to latest versions (45724b54)
  • i18n: Update translations (#395)
  • i18n: Update translations (#396)
  • Migrate to oxlint (f049cb5a)
  • Format (1d9d26a1)
  • Add import-reformat commit to blame ignore list (da6c339d)
  • Update ignore patterns in oxfmtrc to exclude additional locale directories (a3adec73)
  • i18n: Update translations (#397)
  • i18n: Update translations (#398)
  • i18n: Update translations (#399)
  • i18n: Update translations (#400)
  • i18n: Update translations (#401)
  • Update @remnawave/backend-contract (940218b6)
  • i18n: Update translations (#402)
  • i18n: Update translations (#403)
  • Update dependencies (293e24de)
  • Release v2.8.0 (f1a4b1be)

🎨 Styles

  • Update ActionIcon variants and colors in user action group and card title components (ca9dbbcb)

📦 Artifacts

  • remnawave-frontend.zip - archive with built frontend

🔍 Details

  • Commit: f1a4b1b
  • Branch: 2.8.0
  • Build time: 2026-06-29T19:02:00+03:00

What's Changed

  • chore(i18n): update translations by @github-actions[bot] in #339
  • chore(i18n): update translations by @github-actions[bot] in #342
  • chore(i18n): update translations by @github-actions[bot] in #343
  • fix: label traffic units as GiB by @Katze-942 in #345
  • chore(i18n): update translations by @github-actions[bot] in #346
  • chore(i18n): update translations by @github-actions[bot] in #347
  • chore(i18n): update translations by @github-actions[bot] in #349
  • chore(i18n): update translations by @github-actions[bot] in #350
  • chore(i18n): update translations by @github-actions[bot] in #351
  • chore(i18n): update translations by @github-actions[bot] in #355
  • fix(infra-billing): keep date-only picks in UTC so 1st-of-month records count by @TopPro104 in #354
  • chore(i18n): update translations by @github-actions[bot] in #359
  • chore(i18n): update translations by @github-actions[bot] in #361
  • chore(i18n): update translations by @github-actions[bot] in #362
  • chore(i18n): update translations by @github-actions[bot] in #364
  • chore(i18n): update translations by @github-actions[bot] in #365
  • chore(i18n): update translations by @github-actions[bot] in #366
  • chore(i18n): update translations by @github-actions[bot] in #367
  • chore(i18n): update translations by @github-actions[bot] in #368
  • chore(i18n): update translations by @github-actions[bot] in #369
  • chore(i18n): update translations by @github-actions[bot] in #370
  • chore(i18n): update translations by @github-actions[bot] in #372
  • chore(i18n): update translations by @github-actions[bot] in #373
  • chore(i18n): update translations by @github-actions[bot] in #374
  • chore(i18n): update translations by @github-actions[bot] in #375
  • chore(i18n): update translations by @github-actions[bot] in #376
  • chore(i18n): update translations by @github-actions[bot] in #377
  • chore(i18n): update translations by @github-actions[bot] in #378
  • chore(i18n): update translations by @github-actions[bot] in #379
  • chore(i18n): update translations by @github-actions[bot] in #380
  • chore(i18n): update translations by @github-actions[bot] in #381
  • chore(i18n): update translations by @github-actions[bot] in #382
  • chore(i18n): update translations by @github-actions[bot] in #383
  • chore(i18n): update translations by @github-actions[bot] in #384
  • chore(i18n): update translations by @github-actions[bot] in #385
  • chore(i18n): update translations by @github-actions[bot] in #386
  • chore(i18n): update translations by @github-actions[bot] in #388
  • chore(i18n): update translations by @github-actions[bot] in #389
  • chore(i18n): update translations by @github-actions[bot] in #390
  • chore(i18n): update translations by @github-actions[bot] in #391
  • chore(i18n): update translations by @github-actions[bot] in #392
  • chore(i18n): update translations by @github-actions[bot] in #393
  • chore(i18n): update translations by @github-actions[bot] in #394
  • chore(i18n): update translations by @github-actions[bot] in #395
  • chore(i18n): update translations by @github-actions[bot] in #396
  • chore(i18n): update translations by @github-actions[bot] in #397
  • chore(i18n): update translations by @github-actions[bot] in #398
  • chore(i18n): update translations by @github-actions[bot] in #399
  • chore(i18n): update translations by @github-actions[bot] in #400
  • chore(i18n): update translations by @github-actions[bot] in #401
  • chore(i18n): update translations by @github-actions[bot] in #402
  • chore(i18n): update translations by @github-actions[bot] in #403

New Contributors

Full Changelog: 2.7.4...2.8.0

Don't miss a new frontend release

NewReleases is sending notifications on new releases.