Releases: notgate/Ironbullet
Release list
Ironbullet v0.6.2-rc.4
Ironbullet v0.6.2-rc.4
Hotfix RC for encrypted-proxy Xray lifecycle cleanup after job completion.
Fixed
- Fixed
xray.exeremaining visible in Task Manager after a GUI job completes while Ironbullet stays open. - Added job-scoped leases for managed Xray adapters so encrypted proxy processes are ref-counted and torn down when the last owning job drains.
- Covered both config jobs and proxy-check jobs that resolve VMess/VLESS/Trojan URIs through bundled Xray Core.
- Kept concurrent jobs safe: shared encrypted proxy adapters stay alive until every active owner releases its lease.
- Removed an external
httpbin.orgdependency from a unit test by replacing it with a local HTTP fixture.
Verification
cargo test --lib --no-default-features— 91 passed.cargo test --test config_speed_fixture_test --no-default-features— 1 passed.scripts/build-windows-native.cmd— passed.tools/config-speed-test/test-xray-cleanup.ps1— passed against the packaged RC4 bundle.- Packaged cleanup smoke observed an
xray.exechild during execution and reported zero leaked Xray PIDs and zero leaked generated configs after exit.
Artifact
- Asset:
ironbullet-v0.6.2-rc.4-windows-x64.zip - SHA-256:
41c29657775b87feb855a24f532f96a6e937e540ec1f68855cb65e10d31b70b7 - Size:
35,359,290 bytes
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.
Ironbullet v0.6.2-rc.2
Job-runner accounting hotfix.
- Workers now drain late retry/error work before completing.
- Done/Total and progress now reflect unique inputs attempted, not retryable outcome counters.
SHA-256 (ironbullet-v0.6.2-rc.2-windows-x64.zip):
57176371ab6c7eef51ef9bb70b192f97dfe8bb418d268923fa050acfe25341df
Ironbullet v0.6.2-rc.1
Windows hotfix RC: managed Xray proxy adapters now launch without visible console windows.
SHA-256 (ironbullet-v0.6.2-rc.1-windows-x64.zip):
dca82b86d86456947f0cf7d92e877b0298749a091140106a34ff0027c6ffc4a3
Ironbullet v0.6.2
Stable release
- Bundles Xray Core v26.3.27 for managed VMess, VLESS, and Trojan URI sources.
- Resolves encrypted proxy URIs into isolated local SOCKS5 listeners for the existing request engines.
- Includes VLESS TLS/Reality, VMess, and Trojan stream settings.
- Adds interactive HTTP Request, Translate, and Get DOM documentation playgrounds.
Verification
- 77/77 Rust library tests passed.
- Native Windows release build passed.
- Controlled loopback VLESS SOCKS5 tunnel passed an HTTP fixture request.
- VMess and Trojan configurations validated with the bundled Xray binary.
Windows x64 bundle
ironbullet-v0.6.2-windows-x64.zip
SHA-256: dd584c6bb0ee70ec0ec7a6695163a40518ff9558333dec6247ce2e91a1232788
v0.6.1
IronBullet v0.6.1
This release fixes the currently open user-reported bugs and refreshes the packaged binaries.
Included fixes
- Issue #67: fixed the proxy mode regression so Sticky and No Proxies selections no longer collapse back to Rotate.
- Issue #68: fixed single-tab dirty-state tracking so config edits are detected immediately.
- Issue #12: hardened proxy settings persistence so saved settings survive reloads.
- Issue #69: added startup crash protection for missing or legacy config fields.
Release assets
- Windows x64 zip with ironbullet.exe and reqflow-sidecar.exe
- Linux x64 zip with ironbullet, reqflow-sidecar, and start.sh
Validation
- cargo test --workspace --all-targets passed
- Release archives were rebuilt with sidecar included
- Release notes and packaged text were kept free of emojis
v0.6.0
v0.6.0 — Kind of a big update
Bug Fixes
- #64 — Errored credentials requeued for final pass. Accounts that exhaust max_retries due to transient network/proxy errors are stashed and replayed once after the main pool drains with fresh proxies. Valid hits are no longer silently lost.
- #58/#59 — Sticky proxy mode auto-elevation. Selecting a Sticky proxy group in the Job dialog or loading a Saved Config now correctly activates Sticky mode. Both
build_proxy_pool()and job creation resolve the group's own mode when the top-level mode is None. - #63 — Proxy mode and active group preserved per saved config. Loading an
.rfxfile no longer overwrites its proxy_mode/active_group — only group definitions are synced from globals.
New Features
- #62 — Custom user input variables. Configs can define
custom_inputs(name, description, type, default). The Job dialog shows input fields, and values are injected into theglobalsnamespace accessible via<globals.KEY>. - #51 — Drag-and-drop file import. Drop
.txt/.csvfiles onto the Data/Proxy panel to auto-add them as proxy sources. Visual ring highlight during drag.
Download
Extract the zip and place both ironbullet.exe and reqflow-sidecar.exe in the same directory.
v0.5.5 — Bug Fix Release
Bug Fixes
- #57 Startup restore regression: After v0.5.4, the dedup check caused the startup-restored tab (empty content, correct filePath) to be reused when opening the same file from Collections, discarding the real pipeline data. Fixed: `AppState::new()` now loads the last-opened pipeline from disk at startup.
- #58 SOCKS5 proxies ignored in Saved Config jobs: `create_job` inherited `proxy_groups` from GuiConfig but not `proxy_mode` or `proxy_sources`, so in-session SOCKS5 config was not applied to Saved Config jobs. Fixed: proxy_mode and proxy_sources are now inherited from the active in-memory pipeline.
- #59 Sticky mode group override ignored: Auto-elevating `proxy_mode` from None hardcoded `ProxyMode::Rotate` instead of reading `ProxyGroup.mode`, so Sticky groups always ran in Rotate mode. Fixed: uses the selected group's own mode when elevating.
v0.5.4 — Bug Fix Release
Bug Fixes
- #57 Duplicate tabs: Opening the same config file now switches to the existing tab instead of creating a duplicate.
- #58 SOCKS5 proxy groups ignored in Saved Config jobs: Global proxy groups were not restored when loading via config_path. Fixed
create_jobto applyproxy_groupsfrom GuiConfig. - #59 Job dialog proxy group override ignored when pipeline proxy_mode=None: Selecting a proxy group in New Job had no effect if proxy mode wasn't already set. Now auto-elevates to Rotate.
- #60 Output file named "New_Config_1" for Current Tab jobs: Fixed
create_jobto rename from the file stem usingpipeline_pathwhen the pipeline has a default name. - #61 CRITICAL WebView2 Out of Memory with SOCKS5 proxies: The
jobs_listIPC broadcast (every 500ms) was serializing up to 500ResultEntrystructs with fullblock_results— potentially MB of JSON per message.recent_resultsis now excluded fromjobs_listand only fetched on demand by the debug log dialog.
IronBullet v0.5.3 - Critical Bug Fixes
IronBullet v0.5.3
Release Date: 2026-04-05
Type: Stable Release
Key Fixes
SOCKS5 Proxies in Jobs Mode (Issue #56)
SOCKS5 proxies previously worked in Debugger mode but failed in Jobs mode unless manually configured.
What changed:
host:portentries are now auto-detected- Common SOCKS5 and Shadowsocks ports are recognized automatically
- Explicit proxy schemes still take priority
Result: SOCKS5 proxies now work in Jobs mode without extra configuration.
WebView2 Memory Leak with Shadowsocks
Long-running jobs with Shadowsocks caused CPU and memory usage to spike due to untracked background tasks.
What changed:
- All spawned tasks are now tracked and properly cleaned up
- Old or dead tasks are aborted before new ones start
- Prevents duplicate task buildup
Result: Stable performance during extended runs.
Improvements
- Added a proxy parsing test suite covering multiple formats and edge cases
- Improved internal documentation and code comments
Reminder: This is a release candidate. Test before using in production.