github attermann/microReticulum 0.2.7

latest release: 0.2.8
9 hours ago

Add announce table culling, fix use-after-free, and refactor build/log

  • Add cull_announce_table() with OOM-safe min_element fallback, matching pattern from cull_path_table() and cull_known_destinations()
  • Call cull immediately after every announce/path/known-destination insert
  • Fix use-after-free: guard announce_entry access with announce_erased flag
  • remove_path() now also deletes cached packet files
  • Path table insert now removes existing entry first to prevent duplicates
  • Rename env:mcu -> env:embedded; add env:native_debug and heltec_wifi_lora_32_V4
  • Make TLSF buffer size configurable via RNS_TLSF_BUFFER_SIZE macro
  • Refactor log macros to unified RNS::log() path; add doHeadLog with callback support
  • Prefix all bad_alloc error messages with "bad_alloc -" for easier grepping

Replace string-concatenation logging with printf-style F-variants
Converted log calls across src/, examples/, and test/ to use DEBUGF/TRACEF/ERRORF/etc. macros instead of std::string + operator+. This eliminates temporary heap allocations on every log call, which matters on memory-constrained MCUs.

Fixed link compatibility with Reticulum python implementation courtesy of @O11v3r .

Don't miss a new microReticulum release

NewReleases is sending notifications on new releases.