Changelog

View Source

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.0.0 - 2026-01-26

Added

  • Initial release of iommap
  • Dirty NIF I/O schedulers for all I/O operations
  • Cross-platform memory-mapped file I/O for Erlang/OTP
  • Support for Linux, macOS, FreeBSD, and OpenBSD
  • Core operations: open/2,3, close/1, pread/3, pwrite/3
  • Synchronization: sync/1,2 with sync/async modes
  • File management: truncate/2, position/1
  • Memory advice: advise/4 with madvise hints
  • Thread-safe implementation using pthread rwlocks
  • SIGBUS protection for external file truncation
  • Platform-specific optimizations:
    • MAP_POPULATE support on Linux
    • MAP_NOCACHE support on macOS
    • fallocate on Linux, posix_fallocate on BSD
  • Comprehensive test suite with 20 tests
  • CI pipeline for all supported platforms