Release 4.17.0 - Storage Management & Financial Data Fixes
Major Features
🗄️ Storage Management Dashboard (FEAT-436)
Comprehensive tools for local storage visibility, analytics, and optimization:
- Storage Analytics: New
storage_info()function with Rich Panel display - Filing Availability:
check_filing()andcheck_filings_batch()for offline detection - Storage Analysis:
analyze_storage()provides optimization recommendations - Optimization Operations:
optimize_storage(),cleanup_storage(),clear_cache() - Safety Features: All destructive operations default to dry-run mode
- Coverage: 12 comprehensive tests
from edgar import storage_info, analyze_storage, optimize_storage
# View storage statistics
info = storage_info() # Beautiful Rich panel display
# Get optimization recommendations
analysis = analyze_storage()
# Compress files to save space (dry-run first)
result = optimize_storage(dry_run=True)
result = optimize_storage(dry_run=False)Fixed Issues
📊 Duplicate Quarterly Periods
Eliminated duplicate fiscal periods in quarterly balance sheets:
- Problem: Quarterly statements showed duplicate periods (e.g., "Q3 2025" twice with different values: $331.2B and $365.0B)
- Root Cause: SEC Facts API tags ALL facts with filing's fiscal_year/fiscal_period, including comparative data from prior periods
- Solution: Enhanced quarterly period selection logic with fiscal year-end validation
- Added
validate_quarterly_period_end()to verify period_end matches expected month - Added
detect_fiscal_year_end()to automatically detect company's fiscal year end - ±1 month tolerance for 52/53-week calendars
- Added
- Impact: Clean, accurate quarterly financial statements for all companies
- Coverage: 10 regression tests across Apple, Microsoft, Google, Amazon
# Before: ['Q3 2025', 'Q2 2025', 'Q3 2025', 'Q1 2025'] ❌ Duplicate!
# After: ['Q3 2025', 'Q2 2025', 'Q1 2025', 'Q3 2024'] ✅ Unique!
Company("AAPL").balance_sheet(annual=False)💰 Issue #452: DNUT Fiscal Year Fix
Fixed incorrect revenue for companies with fiscal year-end changes:
- Problem: DNUT FY 2023 revenue showed $1.530B instead of correct $1.686B
- Root Cause: SEC API provides duplicate periods with inconsistent fiscal_year values during FY-end transitions
- Solution: Added fiscal year validation to filter invalid fiscal_year/period_end combinations
- Impact: Accurate financial values for companies during fiscal year-end transitions
- Testing: Regression test verifies DNUT FY 2023 revenue
Installation
pip install --upgrade edgartoolsFull Changelog
See CHANGELOG.md for complete details.