Skip to content

v5.24.0

Choose a tag to compare

@dgunning dgunning released this 17 Mar 15:24
· 886 commits to main since this release

What's New

AI-Native Data Objects — to_context() on all filing types

Every filing.obj() class now has a to_context(detail='minimal'|'standard'|'full') method that produces LLM-optimized plain-text context. This is the foundation for agentic SEC analysis workflows.

  • 25 data object classes — TenK, TenQ, EightK, TwentyF, Form4, ThirteenF, ProxyStatement, Schedule13D/G, FormD, Form144, Statement, and all remaining types
  • compose_context() — combine multiple objects into a single token-budgeted string with automatic detail downgrading
  • HasContext Protocol — structural typing for any object with to_context()
  • format_currency_short() — compact currency formatting ($394.3B, $18.6M) for context output
  • Financials.get_currency_symbol() — detects reporting currency from XBRL units

MCP Server Overhaul

  • Renamed tools for clarity: edgar_context → edgar_filing (primary filing examination), edgar_filing → edgar_read (section reader)
  • edgar_filing now supports two paths: company+form (identifier="AAPL", form="10-K") or accession number/URL
  • Server instructions (~340 tokens) with DISCOVER/EXAMINE/ANALYZE tool grouping and workflow recipes
  • Output schema wired to all 12 tools for client-side validation
  • All tool descriptions rewritten with routing hints for better AI tool selection
  • Prefers original filings over amendments for 10-K/10-Q/20-F/40-F

Earnings Quality (GH-694, GH-695)

  • EarningsRelease.get_key_metrics(quarterly=True) — extracts EPS, revenue, net income using concept-level identification (unit='USD/shares' for EPS) with quarterly period preference
  • EPS classification fix — parent-context carry-forward for bare EPS labels; positional row_types list fixes duplicate label collision

Bug Fixes

  • Fix streaming parser crash on text_content() for raw etree elements
  • Fix prospectus pricing extraction: whitespace, keywords, currency, and column-header fallback
  • Fix prospectus TOC contamination, missing underwriters, and SEPA misclassification
  • Fix incomplete StructuredNoteTerms: whitespace in keys, layout tables, multi-table merge
  • Fix missing StructuredNoteTerms: cascade priority, median ncols, bullet stripping

Full Changelog: v5.23.4...v5.24.0