Skip to content

Releases: milad-nikpendar/initMemory

v3.0.0

21 Jun 15:49
b2fc74d

Choose a tag to compare

Changelog

[3.0.0] – 2025-06-19

🚀 Added

  • Runtime backend switching: bind to SPIFFS, LittleFS, SD (or any fs::FS*) and swap on the fly.
  • Unified file & directory API: single interface for open, size, exists, recursive list, create, clear, remove, rename.
  • Streaming I/O support: line-limited reads, cursor movement by lines, plus a UI-callback hook to keep interfaces responsive.
  • Full filesystem formatting: wipe entire volume or clear just one directory.
  • Transport layer: new transportAccess_t subclass for one-call copy/move of files or folders between any two FS backends, with automatic naming conflict resolution and optional cut semantics.
  • Enhanced benchmarks: I/O speed tests report bytes per millisecond with progress dots.

✨ Changed

  • Refactored into .h/.cpp modules; moved internal pointers into private scope.
  • Switched all path arguments to const char* for minimal RAM footprint.
  • Improved debug output using Serial.printf under Debug_Serial_Memory.
  • Added initTransport.h alongside initMemory.h for transport utilities.

🔄 Breaking Changes

  • None for existing v2.0.0 code—your sketches will compile unmodified under v3.0.0.
  • To use file-transfer features, include the new transport header and instantiate transportAccess_t.

v2.0.0

21 Jun 13:42
b66542c

Choose a tag to compare

Changelog

[2.0.0] – 2024-12-10

🚀 Added

  • memoryAccess_t class with a constructor that accepts an fs::FS* instance:
    memoryAccess_t storage(&SPIFFS);
  • type(uint8_t cardType) method to detect SD card type (MMC / SDSC / SDHC)
  • testIO(const char* path) method for read/write benchmark (I/O speed)
  • All path parameters now use const char* instead of String for lower overhead
  • Renamed debug macro to Debug_Serial_Memory

✨ Changed

  • Renamed memory_tmemoryAccess_t
  • Moved fs::FS* typeMemory pointer into private class scope
  • Split implementation into header (.h) and source (.cpp) files
  • Improved Serial debug output using Serial.printf()

🔥 Breaking Changes

  • Initialization
    • Before (v1.x):
      memory_t mem;
      mem.init(&SPIFFS);
    • Now (v2.x):
      memoryAccess_t mem(&SPIFFS);
  • Path parameters
    • Changed from listDir(String path, …) to listDir(const char* path, …)
  • Debug macro
    • Before: #define MemorydebugSerial
    • Now: #define Debug_Serial_Memory

🐞 Fixed

  • No critical bug fixes; v1.0.0 was stable.

v1.0.0

21 Jun 13:04
564d047

Choose a tag to compare

[1.0.0] – 2023-12-19

🚀 Added

  • Initial release of the memory_t utility struct
  • init(fs::FS* fs) – bind to a SPIFFS, LittleFS or SD instance
  • Directory APIs:
    • listDir(String path, uint8_t levels) – recursive listing
    • createDir(String path)
    • removeDir(String path)
  • File APIs:
    • read(String path)
    • write(String path, String message) – overwrite or create
    • append(String path, String message)
    • rename(String oldPath, String newPath)
    • remove(String path)
  • Optional serial debugging via #define MemorydebugSerial

✨ Changed

  • — (first public release)

🔥 Breaking Changes

  • — (no prior versions)

🐞 Fixed

  • — (N/A)