Skip to content

v9.0.0

Choose a tag to compare

@mathieucarbou mathieucarbou released this 14 Nov 18:58
· 77 commits to main since this release
72aa4f5

Breaking Changes

  • callbacks signatures are changed: the value is now a const char* newValue
  • class renames: Config::Result => Config::Status, Config::SetResult => Config::Result
  • Renamed Status enums to differentiate successful status and errors
  • updated Result::bool() operator logic which now returns true on any successful status

Additions

  • Added Result::isStorageUpdated()
  • Added Config::stored(key) to check if a key is stored
  • unset(key) now returns a Result too
  • backup() now allows to backup all the keys (including defaulted ones) or only the keys stored by the user

Improvements

  • Considerable memory (heap) improvements. In an app with over 120 settings, I measured a gain of several Kb of heap.

Fixes

  • restore code was buggy
  • setting an empty string was not working
  • calling get() on a unknown key was returning blank instead of nullptr. Blank is a valid value and does not indicate that the key is not supported, like nullptr does

⚠️

  • remember to never hold a returned const char* pointer returned by config.get(). If you need to, copy it to a String or std::string

Full Changelog: v8.0.2...v9.0.0