Skip to content

v5.16.0

Choose a tag to compare

@dgunning dgunning released this 14 Feb 15:53
· 1155 commits to main since this release

Highlights

CompanyNotFoundError - Company("INVALID") now raises CompanyNotFoundError with intelligent suggestions instead of silently returning a broken sentinel entity. This change makes the API more predictable and user-friendly. Import with from edgar import CompanyNotFoundError.

Truststore SSL Support - Added use_system_certs() function for OS-native certificate store integration via truststore. This dramatically improves SSL handling in corporate and VPN environments where custom certificate chains are common. Users no longer need to disable SSL verification.

Datamule Storage Integration - Added datamule as an alternative filing source, providing faster access to frequently-used filings (addresses #212). The system automatically falls back to SEC EDGAR when needed.

New Features

  • CompanyNotFoundError exception - Eager validation with intelligent suggestions when company lookups fail instead of returning sentinel entity
  • Truststore SSL support - use_system_certs() for OS-native certificate store via truststore library
  • Datamule storage adapter - Alternative filing source with automatic fallback to SEC EDGAR
  • FundCensus data object - New structured object for N-CEN annual fund census filings
  • MoneyMarketFund data object - New structured object for N-MFP2 and N-MFP3 money market fund filings
  • Enhanced attachment descriptions - Automatic lookup of standard exhibit types for better filing attachment context

Bug Fixes

  • Fix Entity.latest() returning incomplete results for large n values
  • Fix disclosure note dataframes returning NaN for instant-type notes (#635)
  • Fix local storage skipping pagination files for older filings (#639)
  • Fix IFRS regression tests producing confusing AttributeError on cassette miss
  • Fix configure_http state bugs and remove dead code
  • Fix flaky BDC test with relaxed assertion
  • Fix datamule adapter for real tar format with kebab-case nested metadata

Improvements

Documentation & Examples

  • 25+ new SEO-optimized notebooks covering core workflows:
    • SEC EDGAR API overview
    • 10-K annual report analysis
    • 10-Q quarterly earnings
    • 8-K earnings releases
    • Financial statements extraction
    • XBRL financial data parsing
    • Revenue and earnings extraction
    • Company financials comparison
    • Executive compensation analysis
    • Insider trading and Form 4 analysis
    • Beneficial ownership (Schedule 13D)
    • 13F institutional holdings
    • ETF/fund holdings (N-PORT)
    • Proxy statements (DEF 14A)
    • Filing exhibits and attachments
    • Industry and SIC code filtering
    • Text extraction for NLP
    • Bulk filing downloads
    • Today's filings feed
  • Updated SSL documentation to recommend use_system_certs() over verify_ssl=False

Testing & Quality

  • Boost funds test coverage: N-MFP3 34%→99%, 13F 0%→87%, data package +42%
  • Improved regression test reliability

Internal

  • Reorganize storage modules into storage package for better organization
  • Add zstandard to data optional dependencies for datamule tar decompression
  • Clean up notebooks and clear stale outputs

Full Changelog: v5.15.3...v5.16.0