New
- feat(frontend): TanStack Query + React Router migration & in-panel API docs (#4541)
- Migrate frontend models/api/utils to TypeScript and modernize AntD theming (#4563)
- feat: complete Zod migration of frontend + bulk client batching (#4599)
- feat(inbound): Advanced XHTTP and external TLS proxy settings (#4491) @beehunt9r
- feat(clients,groups): client groups + sub-links export + dedicated groups page
- feat(clients): advanced filter drawer with multi-select state/protocol/inbound + expiry/usage ranges + auto-renew/tg/comment
- feat(clients): selective bulk attach + new bulk detach
- feat(inbounds): bulk-attach & assign-group client actions + form defaults
- feat(inbounds): row action to delete all clients of an inbound
- feat(clients,inbound): Auto Renew in Bulk Add + cleaner inbound wire payload
- feat(settings): panel network proxy for the panel's own outbound requests
- feat(tls): surface pinnedPeerCertSha256 in panel, share links, and subs
- Random PostgreSQL role + post-install credentials display (#4608)
- feat(inbound-form): salamander auto-seed for Hysteria + modernize random buttons
- feat(inbounds): expose Vision testseed field with sensible default
- feat(inbounds): restore "Set Cert from Panel" / Clear buttons in TLS certs
- feat(settings): include email in default remarkModel pattern
- feat(clients): tidier bulk action toolbar + toolbar sort selector
- feat(clients): restore Auto Renew field in client form
- feat(fallbacks): add per-rule dest override
Update & improvement
- refactor(clients): coherent group management — rename, split, extract
- refactor(inbounds): cleaner network tags and cover Mixed/Tunnel + client form select polish
- refactor(inbound-tag): node-prefixed + transport-suffixed canonical shape
- refactor(outbound): probe via xray burstObservatory instead of SOCKS round-trip
- Client/inbound resilience + Postgres pool tuning + schema fixes (#4607)
- feat(port-conflict): include offending inbound + L4 in the error, cover quic and tunnel.allowedNetwork
- i18n(panel): migrate hardcoded panel strings to en-US and translate all locales
- refactor(forms): modernize random buttons in client + outbound modals
- refactor(metrics-modal): mark min/max on chart + improve grid contrast
- change tg message when send qrCode (#4623) @sb15551
Bug fixed
- Fix REALITY share links missing SNI (#4621) @pooyaww
- fix(groups): fetch full client list for Add/Remove/SubLinks modals
- fix(clients): backfill missing subId on startup and guard create/update
- fix(inbounds): heal legacy client data and TLS cert form hydration
- fix(links): include TCP HTTP host header in share links
- fix(clients): avoid duplicate ClientRecord when email is changed on edit
- fix(sub): preserve userinfo encoding in trojan/shadowsocks/hysteria links
- fix(remote-traffic): handle tag collisions + readable warning format
- fix: address open bug reports (#4539, #4538, #4535, #4531, #4515) (#4545)
- fix(ui): polish across routing, groups, inbounds, mobile sidebar
- fix(sub): stop external-proxy dest from clobbering TLS SNI
- fix(inbounds): restore xHTTP Headers editor in form
Reports
Full Changelog: v3.1.0...v3.2.0