Skip to content

Release 5.3.1

Choose a tag to compare

@dgunning dgunning released this 16 Dec 15:44
· 1628 commits to main since this release

EdgarTools 5.3.1 - Bug Fixes and Code Quality Release

This patch release focuses on bug fixes and code quality improvements.

Fixed

  • Empty Document Handling in Filing.text() and Filing.markdown() (#3d576d0e)

    • Fixed handling of filings with HTML content but no extractable body text
    • Methods now return empty string ('') instead of raising errors for empty documents
    • Prevents errors when processing filings with minimal or no text content
  • Filing List Cache for New Filings (#a3e94c23)

    • Removed lru_cache decorator from get_current_entries_on_page() function
    • Allows newly submitted filings to appear in listings without restart
    • Real-time visibility of latest filings in current filing lists
  • Schedule 13D/G Joint Filer Aggregation (#fd69921a)

    • Implemented member_of_group field to fix joint filer aggregation (Phase 1)
    • Ensures correct ownership calculations for joint filing groups
    • Accurate beneficial ownership aggregation for joint filers

Added

  • Schedule 13D/G P1 Fields from SEC Technical Specification (#f5d1f749)
    • Added is_aggregate_exclude_shares boolean field to ReportingPerson for shares excluded from aggregate count
    • Added no_cik boolean field to ReportingPerson for reporting persons without CIK numbers
    • Added amendment_number field to Schedule13D and Schedule13G classes for tracking amendment sequence
    • Added extract_amendment_number() helper function to parse amendment numbers from form names
    • Complete SEC specification compliance for Schedule 13D/G beneficial ownership reporting

Changed

  • Schedule 13D/G Aggregation Logic Enhanced (#f5d1f749)
    • Updated total_shares and total_percent properties to exclude shares flagged with is_aggregate_exclude_shares == True
    • Works correctly with Phase 1 joint filer logic using member_of_group field
    • Returns 0 when all shares are excluded (edge case handling)
    • More accurate ownership calculations per SEC specification

Code Quality

  • Type System Improvements (#529b622d, #0e40e7e6, #29a2f11f, #9fac257e, #ed9f599d, #89000171, #08bd83fe, #0910553e)
    • Added Optional[] wrappers to 130+ parameters and return types with None defaults
    • Fixed TYPE MISMATCH errors in ownershipforms.py
    • Fixed invalid-return-type and invalid-parameter-default errors across core modules
    • Improved type safety and IDE support

Documentation

  • Schedule 13D/G Documentation Updates (#06840198, #a06dda55, #d6f257e1)
    • Updated Schedule 13D/G documentation per SEC specification
    • Entity API guide improvements
    • General documentation enhancements

This release maintains full backward compatibility with v5.3.0.

Installation

pip install --upgrade edgartools

Full Changelog: https://github.com/dgunning/edgartools/blob/main/CHANGELOG.md#531---2025-12-16

🤖 Generated with Claude Code