Skip to content

v5.22.0

Choose a tag to compare

@dgunning dgunning released this 09 Mar 01:45
· 966 commits to main since this release

What's New in 5.22.0

Added

  • Data-Driven Concept Mappings — Replaced hand-maintained gaap_mappings.json (2,077 tags, 96 concepts) with a data-driven concept_mappings.json built from analysis of 32,240 real SEC filings (2,770 tags, 234 concepts). Each entry carries embedded metadata: display name, section, is_total flag, confidence, company count, temporal consistency, and industry overrides.

  • Industry-Aware XBRL Standardization — 769 industry overrides mapped across Fama-French 48 industries automatically resolve 42 ambiguous tags and correct 725 is_total signals per industry.

  • 150 IFRS Tag Mappings — Added 150 ifrs-full_ prefixed tag mappings for international filer standardization, improving coverage for 20-F filers.

  • Standardization Integrated into Stitching — Industry-aware standardization is now threaded through the multi-filing stitching system.

Fixed

  • XBRL Stitching: Same-Label Row Merging — Merges duplicate rows with complementary period values when companies switch XBRL concepts between fiscal years (#572)

  • XBRL Stitching: Concept Alias Merging — Pairwise matching with two guards (substring containment + value agreement) correctly coalesces aliased totals without merging unrelated sub-items (#642)

  • XBRL Stitching: Equivalent Standard Concepts — Unifies rows where companies changed between economically identical concepts (e.g., CashAndCashEquivalents vs CashAndMarketableSecurities) that map to different standard concepts (#610)

  • XBRL Stitching: Missing Statement Handling — Stitching no longer aborts when a filing lacks the requested statement type (e.g., VALE 20-F without cash flow) (#683)

  • Dimensional Total Synthesis — Computes correct aggregates when a concept has only dimensional facts with no non-dimensional total (#646)

  • IFRS Statement Misclassification — Fixed income_statement() and comprehensive_income() resolving to the same statement for IFRS filers (#673)

  • Preferred Sign Applied in to_dataframe() — Statement.to_dataframe() now defaults to presentation=True, matching Rich rendering sign conventions (#669)

  • Document.to_markdown() Import Error (#684)

  • Document.to_json() AttributeError (#685)

  • 5 Standardization Correctness Bugs — Coal SIC overlap, ambiguity flag, O(n²) scan, dual singleton, mutation fix

Full Changelog: https://github.com/dgunning/edgartools/blob/main/CHANGELOG.md