v4.21.2 - Critical Point Release
v4.21.2 - Critical Point Release (2025-10-22)
Fixed
Issue #466: Dimension column always False in XBRL statements (REGRESSION)
Fixed critical regression where the dimension column in statement DataFrames incorrectly showed False for all line items, including dimensional data (Revenue by Product/Geography).
Root Cause: Key name mismatch introduced in Issue #463 DataFrame refactoring (v4.21.0). Code looked for 'dimension' key but XBRL parser uses 'is_dimension'.
Solution: Changed item.get('dimension', False) to item.get('is_dimension', False) in edgar/xbrl/statements.py:318
Impact:
- Dimensional data (Revenue by Product/Geography/Segment) now correctly tagged with
dimension=True - Users can filter and analyze segment-specific financial data
- Regression from v4.21.0 fully resolved
Tests: 6 regression tests pass (Issue #416 tests un-skipped + 3 new Issue #466 tests)
Timeline: Fixed within 5 hours of classification
Installation
pip install --upgrade edgartoolsOr install specific version:
pip install edgartools==4.21.2Verification
Verify the fix works:
from edgar import Company
# Dimensional data should now show dimension=True
filing = Company("AAPL").get_filings(form="10-K", year=2024).latest()
df = filing.xbrl().statements.income_statement().to_dataframe()
# Check dimensional rows exist
dimensional_rows = df[df['dimension'] == True]
print(f"Found {len(dimensional_rows)} dimensional rows") # Should be > 0Closes #466