Skip to content

more 4.3 features, bug fixes and performance improvements#34

Merged
ratal merged 47 commits intomainfrom
development
Apr 2, 2026
Merged

more 4.3 features, bug fixes and performance improvements#34
ratal merged 47 commits intomainfrom
development

Conversation

@ratal
Copy link
Copy Markdown
Owner

@ratal ratal commented Apr 2, 2026

New Features

  • MDF4 writing: CA block, CH block, DS/CL and CV/CU compositions, SR blocks, and Data Stream channels
  • Unfinalised MDF4 file reading
  • Channel Variants and Union array parsing
  • Frequency sync channel type support
  • Data stream mode for large files
  • Schema-based typed metadata (MdComment) for HD, FH, CN, CG, CC, SI, EV, AT, CH, DG blocks
  • Python: PyErr exposed for conversion into Python exceptions

Bug Fixes

  • Fixed VLSD reading regression
  • Fixed value range conversion not matching MDF spec
  • Fixed DL/HL/DZ block handling for VLSC channels
  • Fixed UTF-16 wrong endianness
  • Fixed half-float (f16) reading
  • Fixed critical safety issues in the C API

Performance

  • ~28% faster read on simple files
  • Optimised performance for files with many channels
  • Optimised VLSC sorted/unsorted data parsing
  • Optimised CV and CU channel handling

Refactoring

  • Split mdfinfo4 into per-block-type sub-modules
  • Endianness representation made less ambiguous
  • Replaced expect()/unwrap() calls with proper error propagation
  • ChannelData::Display made fault-tolerant (logs errors instead of panicking)

Testing & CI

  • Added tests for BigEndian channels (via LD blocks), Complex32, and ArrayDFloat64
  • Increased overall test coverage
  • Switched CI from nightly to stable Rust toolchain
  • Added more Python version targets for wheel generation
  • Updated all Cargo dependencies

«ratal» added 30 commits January 25, 2026 13:26
…per block type. Implemented further writing
@ratal ratal changed the title more 4.3 features, bug fixes and preformance improvements more 4.3 features, bug fixes and performance improvements Apr 2, 2026
Incorporated dependabot bumps (lz4_flex, rustls-webpki, quinn-proto)
and PyPI publishing workflow fix from main. Kept development versions
for all refactored/new files (mdfinfo4 sub-modules, datastream, writer,
metadata) and our updated Cargo dependencies.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ratal ratal merged commit 51f04d2 into main Apr 2, 2026
2 checks passed
@ratal ratal deleted the development branch April 2, 2026 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant