Skip to content

v4.21.1 - Technical Debt & Documentation Cleanup

Choose a tag to compare

@dgunning dgunning released this 21 Oct 16:59
· 1989 commits to main since this release

Release 4.21.1 - Technical Debt & Documentation Cleanup

This point release contains technical debt cleanup and documentation improvements with zero user impact.

Documentation

  • Issue #462: 8-K Items Metadata Documentation - Added documentation clarifying items field data source
    • Added comprehensive docstring to EntityFiling.items attribute explaining it sources from SEC metadata
    • Documented that legacy SGML filings (1999-2001) may have incorrect SEC metadata
    • Noted that modern XML filings (2005+) have accurate item metadata
    • Provided workaround guidance for extracting items from legacy filing text
    • User Value: Clarifies common misunderstanding, prevents confusion about legacy filing data
    • Impact: Documentation only - zero code changes, zero risk

Technical Debt

  • XBRL Parser Dead Code Cleanup - Removed ~1,988 lines of unreachable dead code from XBRL parsing subsystem

    • Removed: Legacy monolithic parser (edgar/xbrl/parser.py, 1,903 lines) - completely replaced by modular parser architecture in edgar/xbrl/parsers/
    • Removed: Dead method apply_calculation_weights() from edgar/xbrl/parsers/calculation.py (85 lines) - unused after Issue #463 removed weight application during parsing
    • Impact: Zero user impact - purely internal cleanup. All 846 tests passing (338 fast + 307 network + 201 regression)
    • Benefits: Clearer codebase architecture, reduced maintenance burden, eliminated parser confusion
  • XBRL Package Code Quality Improvements - Fixed 38 linting issues in edgar/xbrl package

    • Auto-fixed (31 issues): Import ordering, unused imports, missing newlines at end of files
    • Manual fixes (7 issues): Renamed unused loop variables to underscore-prefixed, fixed bare except: clause, removed unused variable
    • Remaining (24 issues): Acceptable patterns (exception naming, intentional caching, constants naming)
    • Impact: Improved code maintainability and consistency. All tests passing (338 fast + 31 XBRL network tests)

Installation:

pip install --upgrade edgartools

User Impact: None - documentation improvements and internal cleanup only
Breaking Changes: None
Release Type: Point release (housekeeping)