Releases: attermann/microStore
Releases · attermann/microStore
Release list
0.1.7
microStore v0.1.7 Release Notes
Highlights
- Added support for using directories in
FileStore, enabling cleaner organization of stored files. - Improved filesystem directory handling and propagation of subdirectory names during directory listing.
- Introduced a first-draft user guide to improve onboarding and usage documentation.
- Added configurable logging via
USTORE_ENABLE_LOGto reduce overhead when logging is not needed. - Improved filesystem compatibility and iterator behavior across embedded and POSIX environments.
New Features
FileStore directory support
FileStore now supports operating within specific directories.
New behavior includes:
- Initializing
FileStorewith a path ending in/now treats that path as a directory prefix for stored files. - Better handling of directory existence checks in POSIX and stdio adapters.
- Directory names are now passed through correctly in
listDirectory().
This enables more natural file organization and simplifies use cases involving grouped or nested data.
Documentation
Added an initial draft of the user guide:
- New
microstore_user_guide.md - Provides introductory usage guidance and foundational documentation
Improvements
Logging enhancements
Logging is now gated behind the USTORE_ENABLE_LOG preprocessor definition.
Benefits include:
- Reduced code and runtime overhead when logging is disabled
- Cleaner control over debug output
- More predictable behavior across embedded targets
Additional improvements include:
- Better logging messages when stores are used before initialization
Filesystem and portability improvements
Several updates improve behavior across embedded and desktop environments:
- Refactored paths to use
./relative naming for improved cross-platform compatibility - Added optional
basepathsupport to:LittleFSFileSystemStdioFileSystem
- Improved filesystem adapter consistency
API Enhancements
New functionality
- Added
close()support to:FileStoreHeapStore
API refinements
size()methods are nowconstTypedStore::iterator::operator*()now returnsEntry&
The iterator change fixes issues with range-based iteration:
for (auto& entry : typedStore) {
// Entry can now be modified directly
}Build and test improvements
main()is now disabled unlessLIBRARY_TESTis defined- Expanded test coverage for
FileStore - Additional test improvements across storage and iterator components
Fixes
- Fixed POSIX and stdio directory existence handling
- Corrected directory propagation in filesystem listings
- Fixed iterator behavior for reference-based iteration
- Various compatibility and cleanup improvements across filesystem adapters