[1.47.0] - 2026-03-30
- FIXED: Routing breaks when VPN/WireGuard restarts — B4 now automatically detects when a network interface changes and refreshes routing rules. Previously, restarting WireGuard (or any VPN) while B4 was running would silently break routing until B4 was restarted.
- IMPROVED: Discovery no longer interrupts normal traffic — discovery now runs on its own isolated flow, so your internet connection stays unaffected while discovery is testing strategies.
- IMPROVED: Stopping discovery is now reliable — cancelling a running discovery now properly cleans up all firewall rules and stops immediately.
- IMPROVED: Discovery results grouped by strategy — when multiple domains share the same bypass strategy, they are shown as one group instead of separate cards. One click applies the config to all domains at once.
- IMPROVED: Discovery UI redesigned — cleaner layout with responsive grid for large screens, simplified logs (button + modal instead of inline panel), and expandable per-domain details during live testing.
- IMPROVED: Removed confusing speed numbers from discovery — raw MB/s values that users mistook for browsing speed are replaced with ranked preset lists and improvement percentages.
- FIXED: Discovery history always showed "just now" — timestamps were not saved correctly, so all history entries appeared as "just now" regardless of when they ran.
- CHANGED: Swagger UI moved to documentation site — the embedded Swagger UI has been removed from the binary to reduce its size (~27MB → ~13MB). API documentation is now available at daniellavrushin.github.io/b4/swagger with the ability to connect to a live B4 instance for testing. The
/swagger/endpoint now redirects to the documentation site. - ADDED: System diagnostics in UI — new "System Info" button in Settings shows full system diagnostics: OS, kernel, memory, network interfaces, firewall status with NFQUEUE test, kernel modules, installed tools, geodata status, storage, and all B4 paths. Copy as JSON for easy sharing.
- REMOVED: Config reset button — the "Reset to defaults" function has been removed from Settings.
- CHANGED: Empty configuration sets allowed — B4 no longer forces a default empty set to exist. You can now delete all sets, and the Sets page shows a clean empty state with a "Create Set" button.
- IMPROVED: Config file is now compact — only settings you changed are saved to the config file. Default values are no longer written, making the file much shorter and easier to read.
What's Changed
- Enhance routing documentation: improve clarity and detail in DNS redi… by @DanielLavrushin in #162
- Refactor discovery runtime isolation by @chizhanov in #164
- refactor(services): replace command -v with which for nohup checks by @DanielLavrushin in #166
- refactor(sock): streamline IPv4 fragmentation logic and remove unused… by @DanielLavrushin in #167
- discovery ui rework by @DanielLavrushin in #168
Full Changelog: v1.46.6...v1.47.0