π Rolling Dev Channel, Logs Viewer Overhaul, Leaner Memory & Client Bulk Ops
- π§ͺ Rolling Dev update channel β opt into per-commit builds from the panel, node updates, the
x-ui.shmenu, and the installer (dev-latest); the dev build version is surfaced in the UI, bot, and CLI, and dev nodes reportdev+<commit>so they aren't flagged stale. - π§Ύ Logs & Access Logs viewer overhaul β the Xray access-log viewer is now labeled Access Logs across all languages, with an auto-update toggle, a 1000-row option, and verbatim rendering of plain log notices.
- π Leaner memory & tiered metrics history β real process RSS reporting plus a smaller footprint via GOGC + periodic release, and a tiered rollup that keeps 7 days of metrics history at ~1.5 MB.
- π₯ Client bulk operations β bulk enable/disable and bulk-set XTLS flow from the Adjust dialog, with selection actions tidied into a More menu.
- 𧬠VLESS encryption modes & tunnel health β new VLESS encryption modes plus an Xray tunnel health monitor.
- π Subscription engine upgrades β new
PROTOCOL/TRANSPORT/SECURITYremark variables, Incy client integration + routing tab, template-driven display remarks, and recovery of{{TRAFFIC_USED}}for orphaned traffic rows. - π°οΈ Node traffic history β import per-client traffic history on a node-hosted inbound's first sync so totals don't start from zero.
- π§Ή Uninstall & deploy cleanup β the uninstaller now offers to purge PostgreSQL, and the legacy AWS golden-image build stack was dropped.
βΉοΈ Heads-up: The new Dev update channel ships rolling per-commit builds for testers β stable deployments stay on the release channel unless you switch. The uninstaller now also offers to purge PostgreSQL when removing the panel; decline if you share that database with other apps.
π New
- feat(update): add rolling dev update channel for per-commit builds
- feat(nodes): add Dev channel option to node panel updates
- feat(install): add dev-latest install option and sync README translations
- feat(x-ui.sh): add Dev channel update option to the management menu
- feat(panel): surface dev-build version in UI, bot, and CLI
- feat(web): vless encryption new modes (#5517) @FunLay123
- feat(xray): add tunnel health monitor (#5480) @m4tinbeigi-official
- feat(clients): add bulk enable/disable and move selection actions into More menu
- feat(clients): bulk-set XTLS flow from the Adjust dialog (#5524) @rqzbeh
- feat(logs): add auto-update toggle to Access Logs and Logs viewers
- feat(logs): label the Xray access-log viewer 'Access Logs' across all languages
- feat(logs): add 1000 rows option and drop 10 from log row count selectors
- feat(sub): add PROTOCOL, TRANSPORT, SECURITY remark template variables
- feat(sub): add Incy client integration and routing tab
- feat(uninstall): offer to purge PostgreSQL when removing the panel
β‘ Update & improvement
- perf(memory): report real RSS and cut footprint via GOGC + periodic release
- perf(metrics): tiered rollup history (7d at ~1.5MB) and cleaner ranges
- chore: bump deps and modernize test loops
- chore(deploy): drop the AWS golden-image build stack
π Bug fixed
- fix(web): remove deleted multi-inbound client from runtime regardless of shared email (#5543)
- fix(web): show subscription outbounds in dialer proxy dropdown (#5540)
- fix(web): serve panel SPA routes from NoRoute (#5536) @w3struk
- fix(node): import per-client traffic history on first sync of a node-hosted inbound
- fix(nodes): report dev builds as dev+ so updated nodes aren't flagged stale
- fix(flow): restore XTLS Vision when an inbound becomes flow-eligible (#5520) @rqzbeh
- fix(inbounds): accept null rewritePort in tunnel settings (#5516, #5525) @rqzbeh
- fix(sub): recover {{TRAFFIC_USED}} for clients with orphaned traffic rows
- fix(sub): drive display remarks from the template and split multi-host subpage links
- fix(sub): restore client email in panel copy/QR link remark (#5532)
- fix(outbound): preserve custom headers for HTTP outbounds (#5519)
- fix(clients): use new email after rename and de-duplicate save toast
- fix(tgbot): reload bot on settings save so a new token takes effect without a panel restart
- fix(backup): name Telegram backups after webDomain/IP instead of x-ui
- fix(update): read setUpdateChannel body as form field, not JSON
- fix(hosts): show proper page title instead of falling back to 3X-UI
- fix(logs): render plain log notices verbatim instead of mangling them as timestamps
Reports
New Contributors
- @FunLay123 made their first contribution in #5517
Full Changelog: v3.4.0...v3.4.1