Skip to content

Release v5.11.2

Choose a tag to compare

@dgunning dgunning released this 22 Jan 17:58
· 1384 commits to main since this release

Critical Bug Fixes

EntityFacts Revenue Extraction

  • Fixed get_revenue() and other financial methods returning None for companies like TSLA
  • Root cause: Abstract header rows matched label patterns before actual data rows
  • Solution: Added concept-based search using standardization mappings, filters abstract rows
  • Now uses XBRL concept names instead of fragile label matching

Amended Filing Handling

  • Fixed latest_tenk and latest_tenq returning amended filings (10-K/A, 10-Q/A) which often lack complete XBRL data
  • Solution: Added amendments=False filter to exclude amended filings

Dependency Fix

  • Pinned pyrate-limiter to version 3.9.0 to avoid API breakage in 4.0

Behavioral Improvement

EntityFacts Default Period Selection

⚠️ EntityFacts financial methods now default to annual (FY) periods instead of most recent

  • Affected methods: get_revenue(), get_net_income(), get_total_assets(), get_total_liabilities(), get_shareholders_equity(), get_operating_income(), get_gross_profit(), and their _detailed() variants
  • Before: facts.get_revenue() returned most recent fact (could be quarterly Q3 data)
  • After: facts.get_revenue() returns most recent annual FY data (falls back to most recent if no annual available)
  • Migration:
    • To get the old behavior (most recent regardless of period): facts.get_revenue(annual=False)
    • To explicitly request quarterly: facts.get_revenue(period="2024-Q3")
    • To explicitly request annual: facts.get_revenue(period="2024-FY") or facts.get_revenue(annual=True) (default)
  • Rationale: Annual facts are more meaningful for financial analysis and consistent with get_financials() behavior

Test Coverage

  • Added comprehensive test suite (18 tests) covering all fixes

Installation

pip install --upgrade edgartools