Upgrade Notes
Configs are migrated to the sing-box 1.14 shapes automatically on first start, once. Two cases are not migrated because rewriting them would change how names resolve — they are logged with the upstream migration link so you can handle them yourself:
- DNS rules using legacy address filters (
ip_cidr,ip_is_private,ip_accept_any) — still working in 1.14, removed in 1.16, migrate them tomatch_response - the deprecated
strategyDNS rule action option
What's Changed
- Notifications: an event bus with Telegram, webhook and SMTP channels, each on its own queue #131
- Node, core, client and login events published to it #131
- Notifications settings page #131
- An interactive Telegram bot #131
- Clients can look up their own usage #131
- The bot's own interface translated #131
- Warn clients directly about their own account, and name them in the operator's report #128
- The bot answers strangers, searches clients, and reports inbounds, traffic and bans #129
- Individual share links and their QR codes #130
- The whole subscription offered as a link and a code, with pickers laid out as a grid #130
- Bind a client by picking the contact #130
- Sing-Box v1.14.0 #135
- Go v1.26.7 #135
- New protocols of sing-box 1.14: Snell (in/out), Cloudflared inbound, Bridge outbound, OpenConnect and OpenVPN endpoints, API and OOM-Killer services #135
- Endpoints can reference a TLS config #135
- Certificate providers instead of inline ACME, and shared HTTP clients #135
- Shared QUIC options replacing Hysteria's own, and deprecated options no longer emitted #135
- Automatic migration of the options deprecated in 1.14 #135
- Client remark in subscriptions, UDP option for Clash, and whitespace trimmed from settings #135
- Backup includes the service, token and node tables #131
- Update Go packages #136
- Update frontend packages #134
Bug Fixes
- Fix IPv6 in links and subscriptions — a bare literal reached sing-box and mihomo as a domain, so those nodes were dead #135
- Preserve user identity across hot updates: inbound user tables are keyed by name, not list position #135
- Abort loudly when an upgrade cannot unpack or install, and put the old binary back #135
- Survive a panic while closing the core, and log what it was #135
- Download rule-sets through the default outbound rather than directly #135
- Strip what a client config cannot carry, including the new
certificate_provider#135 - Give Snell clients a user key, from the panel and from the bot #135
- Resolve a rule-set detour against the outbound it names, not the literal tag
direct#135 - Keep listen options off the types that do not listen #135
- Stop Chrome filling panel credentials into the new certificate and service forms #135
- Bound every SMTP send with a timeout #131
- Sample CPU over the job's own window #131
- Let a disabled client still see its own usage #131
- Insert in batches so large tables do not break the backup export #131
- Warn about the limit that actually tripped #128
- Revoke the admin command menu when an admin is removed #129
Full Changelog: v1.7.2...v1.8.0