Skip to content

MDF4.3

Latest

Choose a tag to compare

@ratal ratal released this 06 Apr 22:04
· 6 commits to master since this release

What's New in v4.2

New MDF 4.x Features

  • MDF 4.3 support: new compression algorithms (ZstdSD, LZMA, LZ4) introduced in MDF 4.3
  • VLSC (Variable Length Signal Channel): initial support for variable-length signal data
  • New block types: CL, DS, CU, CV block parsing
  • BOM reading and VD (Value Definition) block support
  • SD block reading fixes

MFX / Compressed File Support

  • MFXZ decompression no longer requires a temporary file on disk

File Finalization

  • Finalization feature: cycle count and block size recalculation for unfinished recordings
  • DL (Data List) block updates for finalization

Bug Fixes

  • Unsorted data groups: bit masking now applied for non-byte-aligned channels
  • Signed integer initialization: fixed stale high-byte bug for 24-bit signed integers in dataRead
  • Integrity checks: multiple fixes for compressed (DZ) and empty data blocks with wrong size calculations
  • Unfinalized DZ blocks: fixed wrong block length calculation
  • Complex data types: fixes for f16 complex, general complex type bugs, and BOM+complex value handling
  • MDF 2: bug fix for MDF 2 file reading
  • Export: various export bug fixes
  • resample(): discard intermediate arrays to reduce memory usage
  • Null timestamp (1970-01-01T00:00:00) no longer raises an exception
  • DG/CG keys changed from sequential integer to file position
  • channel class attribute casing fixed (camelCase)
  • Improved channel extraction in masterChannelList
  • Native endianness check added
  • Byte order handling fixed when returning a DataFrame
  • copy() bug fix
  • KeyError and overflow warning fixes

Python & NumPy Compatibility

  • Python 3.13: Cython dataRead extension updated
  • NumPy 2.x: backwards-compatible fromstring/fromarrays imports
  • Minimum Python version raised to 3.9
  • distutils dependency removed

Resample

  • resample() now accepts interpolation options from scipy.interp1d

Performance

  • Various read-path optimisations
  • Memory usage reduced during large file reads

Packaging & CI

  • GitHub Actions workflows for automated PyPI publishing (Linux x86_64/aarch64, Windows x86_64, macOS x86_64/arm64)
  • pyproject.toml added for PEP 517 build support

Community Contributions

  • Byte order fix when returning DataFrame (#220 — LaurentBlanc73)
  • Data storage fix (#212 — LaurentBlanc73)
  • Improved masterChannelList channel extraction (#213 — LaurentBlanc73)
  • NumPy 2.x import compatibility + camelCase attribute fix (#215 — Pzdrs)
  • Native endianness check and null timestamp fix (cyclichertz)