v2.0.8
Database Schema (Migration 069)
- Added original_currency VARCHAR(3) column (default 'USD')
- Added exchange_rate DECIMAL(20, 10) column (default 1.0)
- Added original value columns for entry price, exit price, P&L, commission, and fees in source currency
Backend - Finnhub API
- Added getForexRate() method to fetch historical exchange rates
- 24-hour caching for forex rates
- Supports any currency pair with automatic fallback
Backend - Currency Converter Utility
- convertToUSD() - Converts single monetary values
- convertTradeToUSD() - Converts entire trade objects with all monetary fields
- userHasProAccess() - Validates Pro tier requirement
Backend - CSV Parser
- Added detectCurrencyColumn() for case-insensitive currency field detection
- Pro tier enforcement with "CURRENCY_REQUIRES_PRO:" error prefix
- Stores currency context for broker-specific parsers
Backend - Trade Controller
- Currency conversion logic runs after CSV parsing
- Maps each trade to its currency from original CSV records
- Converts all trades before database insertion
- Works with all broker formats
Backend - Trade Model
- Updated Trade.create() to accept and store currency fields
- Saves both original currency values and USD conversions
Full Changelog: v2.0.7...v2.0.8