Ironbullet v0.6.2-rc.3
Ironbullet v0.6.2-rc.3
This release candidate fixes Xray adapter lifecycle and job-state races reported in #73 and adds a deterministic config-speed regression harness.
Fixed
- Single-flight startup for identical VMess, VLESS, and Trojan proxy URIs.
- Parallel startup remains available for different encrypted proxy URIs.
- Application shutdown now fences in-flight Xray initialization, rejects late resolutions, terminates every managed Xray child, and removes generated configs.
- Xray cleanup runs on CLI completion, confirmed GUI close, and event-loop destruction.
- Failed Xray startup removes temporary configuration files.
- CLI completion no longer waits forever on a hit channel whose sender was still owned by the runner.
- Stopped jobs are no longer overwritten as Completed when asynchronous work drains.
- Per-run generations prevent stale hit, stats, and completion tasks from mutating or detaching a restarted job.
- A distinct Stopping state prevents restart, edit, or removal until old workers drain; a cancellation latch also prevents stop-before-start from being undone.
- Paused Save & Resume now waits for the update acknowledgement and resumes the existing runner; stopped/completed jobs are labeled and handled as restarts.
- Running/paused progress no longer displays 100% before final completion, and stale deleted-job selections are cleared.
Verification
Windows x64 native build with the pinned NASM, LLVM, and Xray runtime:
- 90 Rust library tests passed.
- Binary, config fixture, proxy parsing, and Shadowsocks integration tests passed.
- Frontend production build passed.
- Packaged Xray smoke test observed an Xray child, then verified IronBullet exit code 0, zero leaked Xray processes, and zero leaked generated configs.
- Direct loopback benchmark: 1,000 processed, 1,000 successful HTTP-200 outcomes, 0 fails/errors/missing/duplicates, 331.6 successful requests/second, 100 peak concurrent requests.
- Local forwarding-proxy benchmark: 1,000 processed through the proxy, 1,000 successful HTTP-200 outcomes, 0 fails/errors/missing/duplicates, 326.1 successful requests/second, 100 peak concurrent proxy requests.
- A separate ten-candidate public HTTP-proxy sample found two reachable and eight failed/timed-out proxies, confirming public proxy volatility is not a valid deterministic performance baseline.
Windows x64 bundle
ironbullet-v0.6.2-rc.3-windows-x64.zip
SHA-256: 85356f67e314a9b0818b6c46e96d2f3fbe40c2b54daba7d19cd24a5109aa8655
The ZIP contains ironbullet.exe, reqflow-sidecar.exe, the pinned xray.exe, XRAY-LICENSE.txt, and release-manifest.sha256.