Skip to content

v7.7.0: FillEventsManager production + logging improvements

Choose a tag to compare

@enarjord enarjord released this 26 Jan 15:12
· 741 commits to master since this release

Highlights

FillEventsManager Production Transition

  • PnL tracking now uses FillEventsManager exclusively - Legacy update_pnls path removed
  • Fill events include psize/pprice - Each fill annotated with position size and VWAP entry price
  • Support for all exchanges: Binance, Bybit, Bitget, GateIO, Hyperliquid, KuCoin, OKX

Comprehensive Logging Improvements (7 rounds of refinement)

Tag Standardization:

  • [memory], [warmup], [hourly], [fills], [mapping], [candle], [ranking], [mode]

Level Adjustments:

  • Routine API/cache messages: INFO → DEBUG
  • CCXT API payloads: DEBUG → TRACE
  • Strict mode gaps: WARNING → DEBUG
  • Persistent gaps: WARNING → INFO

Throttling:

  • EMA ranking logs: every 5 minutes
  • Mode changes: 2 minutes per symbol
  • KucoinFetcher PnL discrepancy: 1 hour with delta-based deduplication

New Features:

  • WebSocket reconnection logs explicit [ws] reconnecting... messages
  • Health summary includes realized PnL when fills > 0

Bug Fixes

  • Bybit: Fixed missing PnL on some close fills - Pagination bug in _fetch_positions_history() caused records to be skipped when >100 existed

Documentation

  • New docs/ai/log_analysis_prompt.md - comprehensive logging guidelines
  • New docs/ai/exchange_api_quirks.md - exchange-specific limitations
  • New docs/ai/debugging_case_studies.md - debugging reference

Removed

  • --shadow-mode CLI flag
  • live.pnls_manager_shadow_mode config option
  • Legacy pnls methods

Migration Notes

  • No action required - FillEventsManager automatically fetches and caches fill data
  • Old {user}_pnls.json cache files can be safely deleted after upgrading

Full Changelog: v7.6.2...v7.7.0