Skip to content

v0.3.1 - Critical Bug Fixes (Hotfix)

Latest

Choose a tag to compare

@kolkov kolkov released this 25 Nov 20:21

Critical Bug Fixes

This hotfix release addresses three critical bugs that prevented reading most real-world MATLAB v5 files.

Bug Fixes

1. Compressed Data Support (Critical)

  • Issue: Files with zlib-compressed data (miCOMPRESSED) returned 0 variables
  • Impact: Most real-world MATLAB files use compression - they were unreadable
  • Fix: Implemented full zlib decompression with compression bomb protection

2. Endianness Interpretation (Critical)

  • Issue: 'MI'/'IM' endian indicators were interpreted incorrectly (swapped)
  • Impact: Wrong byte order caused garbage data or parse failures
  • Fix: Corrected to match MATLAB specification ('IM' = little-endian, 'MI' = big-endian)

3. Small Format Tag Data (Critical)

  • Issue: Small format tags (1-4 bytes) lost their embedded data
  • Impact: Variable names and small arrays were corrupted
  • Fix: Added proper handling for data embedded in tag bytes

Verification

  • All 298+ existing tests pass
  • Tested with real scientific data files (12 and 34 variables)
  • CI passed on all platforms (Ubuntu, macOS, Windows)

Upgrade

go get github.com/scigolib/[email protected]

Full Changelog: v0.3.0...v0.3.1