Skip to content

Miniconf v0.10.0

Compare
Choose a tag to compare
@ryan-summers ryan-summers released this 22 Apr 14:50
· 536 commits to main since this release
412fbeb

Changed

  • [breaking] Python lib signatures have changed (Miniconf.create(), discover())
  • Python lib discovery timeout has been optimized to work well for both slow
    connections (high RTT) and fast ones
  • [breaking] The MQTT client does not own the miniconf settings struct anymore.
  • [breaking] handled_update() has been removed from the MQTT client in favor of validator/getter/setter callbacks.
  • [breaking] The MQTT client has been split into its own miniconf_mqtt crate.
  • [breaking] The attribute syntax has changed from #[tree(depth(1))] to #[tree(depth=1)].
  • [breaking] The default depth is 0, also in the case where a #[tree()] without depth has been specified.
  • [breaking] The traverse_by_key callback also receives the number of indices at the given level.
  • The trait methods are now generic over Keys and not over Iterator<Item: Key>.
    A blanket implementation has been provided.
  • JsonCoreSlash::{set,get}_json_by_indices() removed in favor of {get,set}_json_by_key().
  • [breaking] Error::PostDeserialization renamed to Error::Finalization.
  • [breaking] json-core removed from default features.
  • [breaking] Bumped MSRV to 1.70.0

Added

  • Python MQTT lib: Support for clearing a retained setting
  • Python MQTT CLI: get() support
  • TreeKey::iter_indices() and iter_indices_unchecked()
  • Derive macros: Support for fallible getter/setter/validation callbacks
  • Support for bit-packed keys Packed and iter_packed()/iter_packed_unchecked()
  • A postcard feature and Postcard trait and blanket implementation
  • TreeKey::len()
  • The typ derive macro attribute

Full Changelog: v0.9.0...v0.10.0