Skip to content

Releases: cdgriffith/puremagic

Version 2.2.0

08 Apr 01:39
57bed56

Choose a tag to compare

  • 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].xml content 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

23 Mar 19:08
5fac25f

Choose a tag to compare

  • 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

13 Mar 22:14
22a17be

Choose a tag to compare

  • Adding #6 from_extension() and magic_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/--extension CLI flag for extension-based MIME type lookup
  • Fixing #104 WAV MIME type changed from audio/wave to audio/wav (thanks to Simon Willison and Andy - NebularNerd)

Version 2.0.2

09 Mar 19:27
a1bc5b4

Choose a tag to compare

  • Fixing #137 passing non-existent filename to from_string()/from_stream() no longer raises FileNotFoundError (thanks to denisw)

Version 2.0.1

09 Mar 13:41
79ff296

Choose a tag to compare

  • 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

20 Feb 13:37
b2e2df1

Choose a tag to compare

  • 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

05 Jul 14:39
47b0a5b

Choose a tag to compare

Version 2.0.0b4 Pre-release
Pre-release
  • Fix #112 command line tool behavior (thanks to Sandro)

Version 2.0.0b3

04 Jul 19:30
5f555c1

Choose a tag to compare

Version 2.0.0b3 Pre-release
Pre-release
  • 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

04 Jul 18:48

Choose a tag to compare

  • Adding #109 Halt on non-regular files like /dev/zero and /dev/random (thanks to Yuri Schaeffer)

Version 2.0.0b2

05 May 01:28
55db71a

Choose a tag to compare

Version 2.0.0b2 Pre-release
Pre-release
  • Adding python and json scanners
  • Fixing operation order for deep scan
  • Typo fixes