Releases
v0.5.6
Compare
Sorry, something went wrong.
No results found
Performance Improvements
Lazy loading throughout : Startup time significantly reduced by deferring heavy imports until first use:
PDF parser now lazily loads pdfminer only when parsing PDFs
NES parser lazily loads PIL/Pillow only when rendering CHR graphics
Kaitai parsers load on-demand per format instead of all at once
Caching optimizations : descendants(), mimetypes(), and all_extensions() now return cached tuples instead of regenerating on each call
Bug Fixes
PDF parser robustness : Fixed crashes on malformed PDF files:
Empty lists now return safe zero-length wrappers instead of raising ValueError
Malformed dictionary values are now logged and skipped rather than causing crashes
Python 3.14 compatibility : Fixed forward reference handling for PEP 649 compliance
New Features
Magic test strength scoring : Implemented libmagic-compatible test strength calculation for better match prioritization
UTF-16 string support : Extended lestring16/bestring16 to support byte-length modifiers
Endianness flip infrastructure : Added foundation for flipped endianness matching (partial implementation)
Magic Definitions
Major update : Synced with upstream libmagic definitions
New formats : Added detection for bgcode, creativeassembly, keyman, lauterbach, R language, sf3, syd, tapebackup, uxn, and more
Expanded coverage : Significant additions to DOS/Windows (+1300 lines), archive (+500 lines), console (+500 lines), images (+680 lines), and Linux (+500 lines) format detection
Breaking Changes
Python 3.9 no longer supported : Minimum Python version is now 3.10
pdfminer.six version : Now requires version 20251230 or newer
Dependencies
Added filelock>=3.20.3
Added packaging>=21.0 (replacing deprecated pkg_resources)
Updated pdfminer.six requirement to >=20251230
You can’t perform that action at this time.