ProxiFyre 2.2.1 Release Notes
This is a maintenance release focused on stability, performance, and usability improvements over 2.2.0.
🐛 Bug Fixes
- Resolver queue & TCP mapper hardening (#136): Fixed potential races and leaks in the SOCKS local router by serializing lifecycle operations, gating resolver shutdown after
stop_filter(), and rolling back state onstart()failures. This makes startup/shutdown sequences more robust under load. - Immediate log output (
netlib/src/log/log.h): Added an explicitstream.flush()afterosyncstream::emit()so log messages appear on the console without buffering delays. The flush is wrapped intry/catchso I/O errors during logging cannot terminate the application. - Gateway MAC resolution hardening (
network_adapter_info.h): Rejects ARP/NDP cache entries inNlnsUnreachable/NlnsIncompletestates, requires an exactETH_ALENphysical-address length (preventing silent truncation), and verifies the MAC is not all zeros before use. This prevents invalid gateway MACs from being propagated into NDP/ARP programming.
⚡ Performance
- Faster tunnel startup: Gateway MAC resolution now uses a fast path via
GetIpNetEntry2()to consult the existing ARP/NDP cache before falling back to the slowerResolveIpNetEntry2(). Already-resolved gateways are skipped entirely. In typical scenarios this reduces tunnel startup time from ~8 seconds to near-instant.
🛠️ Service / CLI Improvements
- Cleaner install/uninstall output (#137,
ProxiFyre/Program.cs): Suppresses duplicate Topshelf installer messages and prints a single, unambiguous status line for serviceinstall/uninstalloperations. Failure output is now written tostderr, and a typo in the service description was corrected.
📖 Documentation
- README: Updated to reflect current UDP support and related enhancements.
📦 Commits Included
| Commit | Description |
|---|---|
| c8e77a6 | fix: harden resolver queue and tcp mapper cleanup (#136) |
| fc0ccfa | Print a single, unambiguous status line for service install/uninstall (#137) |
| 0e73673 | fix: optimize and harden gateway MAC address resolution |
| 79d9413 | fix(log): add stream flush with exception handling for immediate output |
| 2921939 | Enhance README with UDP support details |
Full Changelog: v2.2.0...v2.2.1