Skip to content

Releases: attermann/microStore

0.1.7

Choose a tag to compare

@attermann attermann released this 27 Jun 16:55

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_LOG to 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 FileStore with 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 basepath support to:
    • LittleFSFileSystem
    • StdioFileSystem
  • Improved filesystem adapter consistency

API Enhancements

New functionality

  • Added close() support to:
    • FileStore
    • HeapStore

API refinements

  • size() methods are now const
  • TypedStore::iterator::operator*() now returns Entry&

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 unless LIBRARY_TEST is 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

0.1.6

Choose a tag to compare

@attermann attermann released this 09 May 14:53
  • Enhanced FlashFSFileSystem adapter
  • Added SDFileSystem adapter
  • Optimized FileStore compaction to conserve heap memory

0.1.5

Choose a tag to compare

@attermann attermann released this 24 Mar 07:19

Initial release.