Releases: cdgriffith/puremagic
Releases · cdgriffith/puremagic
Version 2.2.0
- Adding Ogg scanner to distinguish Vorbis, Opus, Theora, FLAC, Speex, and OGM codecs
- Adding ASF scanner to distinguish WMV (video) from WMA (audio) files
- Adding EBML scanner to distinguish Matroska (.mkv) from WebM (.webm) files
- Adding MSI (Windows Installer) and MPP (Microsoft Project) detection to CFBF scanner
- Fixing #146 OOXML detection now uses
[Content_Types].xmlcontent types as primary method, correctly identifying docx/xlsx/pptx files from LibreOffice, Google Docs, and other non-Microsoft tools (thanks to jonasdeboeck79) - Fixing ZIP deep scan now inspects all ZIP files instead of short-circuiting on .zip extension
- Fixing text scanner now treats files containing NUL bytes as binary data instead of misidentifying them as text
- Fixing mz5 HDF5 scanner typo in chromatogram dataset name
Version 2.1.1
- Fixing #141 deep scan no longer overrides valid binary format matches (e.g. JPEG) for files without extensions (thanks to marph91)
Version 2.1.0
- Adding #6
from_extension()andmagic_extension()to look up MIME types by file extension - Adding #119 CFBF/OLE2 scanner to distinguish Word, Excel, PowerPoint, Outlook MSG, Visio, and Publisher files (thanks to Simeon Stoykov and Andy - NebularNerd)
- Adding #139 codespell check (thanks to Christian Clauss)
- Adding
-e/--extensionCLI flag for extension-based MIME type lookup - Fixing #104 WAV MIME type changed from
audio/wavetoaudio/wav(thanks to Simon Willison and Andy - NebularNerd)
Version 2.0.2
- Fixing #137 passing non-existent filename to from_string()/from_stream() no longer raises FileNotFoundError (thanks to denisw)
Version 2.0.1
- Fixing #126 Python scanner false positives — now uses AST node walking instead of regex to verify real Python constructs (thanks to ahobson)
- Fixing #134 UTF-16 LE BOM (FF FE) no longer misidentified as .mp1 audio, added UTF-16 BOM detection to text scanner (thanks to tomazfs)
- Fixing #135 from_string(), from_stream(), magic_string(), and magic_stream() now perform deep scan when filename is provided (thanks to denisw)
Version 2.0.0
- Adding deep scan for improved accuracy #102 #94 #85 #70 #69 #12 #3
- Changing to full semantic versioning to be able to denote bugfixes vs minor features
- Changing to use uv instead of requirements
- Removing support for python 3.7, 3.8, 3.9, 3.10 and 3.11 please stick to 1.x release chain to support older versions
Version 2.0.0b4
- Fix #112 command line tool behavior (thanks to Sandro)
Version 2.0.0b3
- Adding #109 Halt on non-regular files like /dev/zero and /dev/random (thanks to Yuri Schaeffer)
- Migrating to pyproject.toml from setup.py
- Migrating to uv, and using only ruff instead of black and flake8
Version 1.30
- Adding #109 Halt on non-regular files like /dev/zero and /dev/random (thanks to Yuri Schaeffer)
Version 2.0.0b2
- Adding python and json scanners
- Fixing operation order for deep scan
- Typo fixes