Releases
v1.3.0
v1.3.0 — Platform Hardening, Docs Rewrite, Paper Trading Fixes
Compare
Sorry, something went wrong.
No results found
What's New
Platform Hardening (Phases 1-3)
144 new tests : indicators (92), regimes (25), MCP server (27)
Walk-forward validation UI : fold count selector, IS/OOS Sharpe, overfit ratio, parameter stability
Backtest comparison view : checkbox selection in journal, side-by-side metrics diff table
Parity testing UI : PARITY TEST button on paper trading sessions
CEX live execution : LiveCCXTContext for Binance, OKX, Bybit via CCXT (20 tests)
Data staleness alerts : warns when market data >24h old
CSV export : trades CSV and equity CSV alongside JSON
Strategy leaderboard : ranked strategy table on Dashboard
MCP Server (11 → 17 tools)
Added: start_paper_trading, stop_paper_trading, get_paper_sessions, get_paper_status, list_journal_runs, compare_runs
Fixed: strategy count 15→20, funding venues 6→7, optimizer method name
flint://guide reads from docs/guides/quickstart.md (single source of truth)
Documentation Rewrite (2,955 lines)
Complete rewrite of all 8 guides + new MCP integration guide + Web UI guide
New tutorial: "Build Your First Strategy" (443 lines)
scripts/build_docs.py generates UI docs from markdown (single source of truth)
Docs now tracked in git (un-gitignored)
Single Source of Truth
Venues : venue_config.py → API /system/venues → UI (14 venues including Coinbase)
Regimes : regimes.py → API /system/regimes → UI (8 regimes)
Docs : docs/guides/*.md → UI Docs page, MCP guide resource, CLAUDE.md
Strategy Registry
New strategies table tracking lifecycle: draft → backtested → optimized → paper → live
Auto-registers on backtest/paper deploy
API: GET/POST/DELETE /api/v1/system/strategies with lifecycle stats
Data Model Improvements
Journal equity curves stored (no re-runs to see charts)
sync_metadata prevents redundant downloads
Database indexes on hot query paths
Live sessions marked "interrupted" on restart
Paper start unified with deploy (all sessions get persistence + replay)
paper_funding_payments PK fix (was allowing duplicates)
Async Downloads
POST /download-async returns immediately, downloads in background
GET /download-async/{id}/status for per-market progress polling
Setup wizard and Data Explorer both use async (no more timeouts)
Per-market UPDATE button + REFRESH ALL in inventory table
Paper Trading Bug Fixes
Critical : equity history restored from DB on resume (was resetting, breaking drawdown tracking)
Portfolio PnL calculation fixed (initial_capital was never accumulated)
Orphaned sessions cleaned up on replay failure
Missing venue field in PositionInfo
Missing mark_price initialization
Dead code removed (60 lines of unused _run_session())
UI Fixes
RUN_BACKTEST button no longer disappears after regime backtest
Old results clear when switching between normal and regime mode
Duplicate venue selector removed from BacktestLab
Unified MARKETS config panel shows all 4 strategy types
Data check relaxed (7-day tolerance instead of 1-day)
Regime presets in DataExplorer and Setup wizard
Increased font sizes and click targets in Data Explorer
122 UI tests passing
Bug Fixes
Empty strategy code fallback (treats "" as built-in)
Optimizer parameters() works with both classmethod and instance methods
DataExplorer missing closing brace (build failure)
Integration test timeout (fireEvent instead of userEvent.type)
Stats
30 commits
122 UI tests, 164 backend tests passing
17 MCP tools, 20 built-in strategies, 14 execution venues
You can’t perform that action at this time.