Revision history for OpenMPT::Bindings

0.0.3  2026-06-29T23:49:04+03:00
    - [INTERNAL] Module: rename private !-raw methods to !-impl to
      disambiguate from the genuinely zero-copy read-interleaved-stereo-raw
    - [DOCS] README: document read-interleaved-stereo-raw and the
      performance trade-off between Blob and raw rendering
    - [BUGFIX] Util: fix posix-write return type declaration (int64 → long)
      for correctness on 32-bit platforms
    - [FEATURE] Module: add read-interleaved-float-stereo-raw for zero-copy
      float32 interleaved rendering
    - [INTERNAL] Module: cache library-string and supported-extensions
      results to avoid redundant C string allocations
    - [BUGFIX] Module: fix write-interleaved-stereo-s16-to-handle writing
      stale data from oversized internal buffer on partial frames
    - [DOCS] Module: document allocation cost of Blob-based render methods
      and thread-safety caveat
    - [INTERNAL] Native: fix misleading comment in build-error about
      string ownership

0.0.2  2026-06-15T20:10:13+03:00
    - [BUGFIX] NativeLib: replace bare `return` inside `state $lib =
      do {…}` that bypassed the state cache, causing repeated stat()
      on LIBOPENMPT_DIR
    - [BUGFIX] Util: add `$data-size >= 0` guard to `wav-header` to
      prevent silent corrupt WAV headers from negative data-size
      arguments
    - [IMPROVEMENT] convert-module: pass ffmpeg stderr through to
      $*ERR instead of dropping it with `:err(Nil)`
    - [BUGFIX] convert-module: ffmpeg-args returned a Seq but declared
      --> List, causing a type check crash on all ffmpeg-based formats
    - [INTERNAL] Module: document cache-invalidation invariant in
      select-subsong

0.0.1  2026-06-15T16:58:35+03:00
    - Initial version
