Releases: milad-nikpendar/initMemory
Releases · milad-nikpendar/initMemory
v3.0.0
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_tsubclass 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/.cppmodules; moved internal pointers into private scope. - Switched all path arguments to
const char*for minimal RAM footprint. - Improved debug output using
Serial.printfunderDebug_Serial_Memory. - Added
initTransport.halongsideinitMemory.hfor 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
Changelog
[2.0.0] – 2024-12-10
🚀 Added
memoryAccess_tclass with a constructor that accepts anfs::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 ofStringfor lower overhead - Renamed debug macro to
Debug_Serial_Memory
✨ Changed
- Renamed
memory_t→memoryAccess_t - Moved
fs::FS* typeMemorypointer 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);
- Before (v1.x):
- Path parameters
- Changed from
listDir(String path, …)tolistDir(const char* path, …)
- Changed from
- Debug macro
- Before:
#define MemorydebugSerial - Now:
#define Debug_Serial_Memory
- Before:
🐞 Fixed
- No critical bug fixes; v1.0.0 was stable.
v1.0.0
[1.0.0] – 2023-12-19
🚀 Added
- Initial release of the
memory_tutility struct init(fs::FS* fs)– bind to a SPIFFS, LittleFS or SD instance- Directory APIs:
listDir(String path, uint8_t levels)– recursive listingcreateDir(String path)removeDir(String path)
- File APIs:
read(String path)write(String path, String message)– overwrite or createappend(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)