Changelog
What actually changed, release by release — including the bugs, not just the features. Full technical changelog (internal detail level) lives in the source repo for Pro/Lifetime customers.
v1.2.3
2026-07-13
current
Fixed
- Dashboard: the portfolio "Total APR" figure could jump unexpectedly whenever a position closed, and disappeared entirely once no positions were open, because it was calculated from open positions' funding only. It's now a capital-time-weighted lifetime figure that also includes realized profit/loss from closed positions, so the number stays meaningful across the account's full history instead of resetting.
v1.2.2
2026-07-07
Fixed
- Bybit/Bitunix: the pre-entry capital check could approve a trade that the exchange then rejected for insufficient margin, because it read wallet equity instead of actual available margin — equity doesn't account for margin already locked by currently-open positions. The same stale figure also fed the dashboard's "Add Investment" preview. Both now read the exchange's real available-margin figure instead.
v1.2.1
2026-07-05
Added
- Periodic runtime hedge integrity check (every 15 min by default): continuously compares each open position's actual exchange legs against the tracked state and auto-corrects drift — previously this only ran once at startup.
Fixed
- Bitget: the futures leg could stay open after closing a position, due to a hedge-mode order parameter mismatch. Verified live against Bitget with a real position — Bitget is now promoted to fully tested & live.
- A rejected entry order could, in rare cases, be wrongly recorded as filled instead of retried — leaving a real unhedged position. Order status is now verified explicitly before assuming a fill.
- The runtime hedge check could previously react to a single, possibly transient exchange reading. It now requires the same imbalance to persist across two check cycles before acting.
- Post-funding cooldown timing corrected for exchanges that omit next-funding-time data in bulk ticker responses.
Known issues
- Dashboard: the "Add Investment" dialog can time out while the bot is still processing the request in the background. Fix in progress.
v1.1.0
2026-07-01
Added
- CCXT multi-exchange support: exchange selector, per-exchange field-mapping profiles, Bitget profile, regional endpoint support.
- Manual "Add Investment" for existing positions.
- Entry confirmation ticks — a funding rate must hold above threshold for several consecutive checks before entry, reducing reaction to noisy single-tick readings.
- Execution-time basis guard blocking inverted spot/futures entries, plus minimum open-interest and spot-volume filters.
- Offline license validation — replaces the previous phone-home check entirely. The bot no longer contacts a license server at runtime.
- Mobile-first dashboard redesign; customer self-service update script (
update.sh); multi-architecture Docker builds (amd64 + arm64).
Fixed
- Various Bitget integration issues (order polling, market buy, orphan sync, close diagnostics).
- A rare double spot-buy when a limit order filled during the price-chasing routine.
- Available-capital calculation for exchanges with separate spot/futures wallets.
- Funding history was being truncated after 7 days.
v1.0.0
2026-03
Initial release
- Delta-neutral funding arbitrage: simultaneous spot long + futures short.
- Funding rate scanner across all perpetuals, ranked by rate and filtered by volume.
- Fee-coverage filter, smart exit timing, liquidation buffer exit, orphan cleanup on startup.
- SQLite state persistence, dry-run simulation mode.
- Native Bybit and Bitunix clients; Docker + Docker Compose setup.
Versions between v1.0.0 and v1.1.0 were internal dashboard/UX iterations and are folded into the v1.1.0 entry above rather than listed individually.