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.