0.8.9
0.8.9 (Tested on real hardware)
• "Outdated" version check fixed - the update card no longer lies
Some servers return the GitHub release info as a single minified line, and the
old parser then read the release URL instead of the version number - so the UI
always said "outdated", "update" failed, and even a clean reinstall didn't
help. The latest version is now parsed robustly (jq), regardless of response
format. This fixes both the version badge and the self-update.
✅ tested on real hardware - 0.8.x now correctly reports "latest"
• Universal subscription grouping - not just by country
The "Group by countries" toggle is now a "Subscription grouping" mode:
Off / By country flag / By name prefix. "By name prefix" groups proxies into
URLTest groups by the first N characters of their name (N is configurable,
default 2), so any naming scheme can be clustered, not only flag-emoji ones.
✅ tested on real hardware - per-prefix URLTest groups built, config valid
• gzip subscription bodies are now handled
Some panels return a gzip-compressed body. NetShift used to parse the binary
as text, so every node was skipped with "No subscription User-Agent candidate
produced valid outbounds". The body is now transparently decompressed before
parsing; a truly binary/undecodable body is rejected with a clear message
instead of silently failing.
✅ tested on real hardware - gzip feed decompressed and parsed