Skip to content

v2.6.6

Choose a tag to compare

@GeneBO98 GeneBO98 released this 14 May 03:22

Hotfix

iOS / mobile CSRF

  • Mobile clients (iOS URLSession and similar HTTP clients with default cookie jars) persist Set-Cookie headers returned from prior login responses. On a subsequent login the stale token cookie auto-sent, tripped the CSRF check, and returned 403 INVALID_CSRF_TOKEN. CSRF enforcement now bypasses requests that carry mobile headers (X-Device-ID, X-Platform, X-App-Version) — CORS preflight prevents browsers from forging these cross-origin, so the protection against real CSRF is preserved.

Stock Analyzer improvements

Fair value calculation

  • Switched to standard two-stage DCF: present value of the projected earnings/FCF stream plus the discounted terminal stock price. Fair values now align with textbook DCF calculators.
  • Current Price Return (IRR) inverts the same two-stage equation, so it stays consistent with the displayed fair value.

Historical metrics

  • Stock-split detection: historical share counts are normalized when a forward or reverse split is detected, keeping per-share metrics comparable across split years (NVDA-style adjustments).
  • Anomalous revenue filtering: historical periods whose revenue is implausibly small relative to the most recent year are dropped, preventing data-extraction errors from skewing 10Y CAGR and margin averages.
  • Expanded CapEx XBRL concept search to catch newer SEC naming variants (Amazon and others). Free Cash Flow is now left blank when CapEx truly can't be located, instead of silently substituting Operating Cash Flow.
  • Historical P/E and P/FCF use each year's year-end price for a true historical average, rather than today's price divided by average historical earnings.

UX

  • Bear / Base / Bull result cards now show the implied annual Current Price Return alongside the fair value and margin of safety.
  • Disclaimer added under the result cards stating the figures are estimates and not financial advice.
  • Auto-save duplicate detection now compares only user inputs, so re-running the same assumptions reuses the existing saved valuation row.
  • Symbol autocomplete restored on the screener search box.