Skip to content

v5.14.0

Choose a tag to compare

@dgunning dgunning released this 04 Feb 01:20
· 1284 commits to main since this release

Performance

  • SGML Parser 10x Faster — Rewrote SGML parser from line-by-line to offset scanning with lazy content references. Parse times drop from 52ms to 5.5ms for large filings (Apple 10-K, 9.3MB). Peak memory reduced 275x (23.4MB to 0.1MB). Form 4 parsing is 71x faster (96ms to 1.3ms) by removing a network call from header parsing.

  • SGML Max File Size — Raised max content size from 200MB to 500MB to handle large filings with embedded images.

Improved

  • Entity Classification — `is_individual` / `is_company` now uses a 9-signal priority chain for more accurate classification of SEC entities. Catches holding companies, old/inactive companies, and institutional investors that were previously misclassified as individuals. (#624)
    • Insider transaction flags (`insiderTransactionForIssuerExists`) used as the strongest company signal
    • Name-based heuristics detect company keywords (INC, CORP, LLC, FUND, etc.) with word-boundary matching to avoid false positives on personal names
    • Ampersand (`&`) in entity names detected as a company/partnership signal
    • Expanded recognized company forms from ~50 to 94 (adds small business, amendments, investment company, and proxy forms)

Fixed

  • XBRL API Docs — Corrected financials API examples in StatementType quick reference and quickstart docs. (#580, #619)

  • Facts Query — Added `is_dimensioned` column to facts query DataFrame output. (#612)