CHANGES

in progress

2024-03-31 0.14.0

  • Add support for Python 3.11 and 3.12

  • Replace appdirs with platformdirs

2022-08-05 0.13.1

  • Add support for Python 3.10. Thank you, @brainsik.

2022-08-03 0.13.0

  • Upgrade software test framework to nose2

  • Add proof of concept for timeout-based reassembly machinery

  • Disable publishing Bencode messages to MQTT by default

  • Update project dependencies across the board

  • Add support for Python 3, drop support for Python 2

  • Add CI configuration for GHA

  • Improve documentation

  • CI: Add code and prose linters

2018-07-11 0.12.3

  • Documentation cosmetics

2018-07-11 0.12.2

  • Simplify README.rst to make it render on PyPI

2018-07-11 0.12.1

  • Fix build and PyPI upload

2018-07-11 0.12.0

  • Add old-style init script for OpenWrt/LEDE

  • Upgrade to paho-mqtt==1.3.1

  • Improve logging

  • Increase publishing interval for “func:sine” to 0.5 seconds

  • Improve MQTT broker connection handling and logging

  • Publish block message to “data.json” suffix before publishing discrete values

  • After connecting, publish “alive” message to MQTT bus

  • Compute appropriate “client_id” before connecting

  • Disable publishing all measurements as discrete values for the time being

  • Adapt MQTT topic to new-style discrete-value convention: Use /data/{fieldname} instead of /measure/{fieldname}

  • Add --log command line parameter to control log target

  • Don’t hardcode realm / topic prefix, get rid of specifics like beradio or hiveeyes there

  • Heartbeat mechanism: Publish status information to status.json each 5 minutes

  • Heartbeat mechanism: Publish status information before shutdown

  • Clean ups, naming things, tests

2017-07-15 0.11.0

  • Also accept payload data from STDIN for JobeeMonitor environment

2017-07-15 0.10.0

  • Tweaks for operating on a LinkIt Smart 7688 Duo

  • Add daemonization scripts for systemd and procd

  • Remove “hello world” message on startup

  • Update documentation

  • Add decoder for JobeeMonitor UART line format

2017-04-03 0.9.0

  • Update MQTT topic suffix message-json to data.json

  • Enable specifying MQTT authentication credentials from the command line

2017-04-02 0.8.1

Thank you, Richard and Martin.

2016-09-30 0.8.0

  • Add ad hoc CSV payload decoding for making things work with Open Hive firmwares

2016-07-10 0.7.0

  • Move from mosquitto library to paho-mqtt

2016-07-10 0.6.0

  • Revert scaling factors, Update tests

  • List continuations: If digits follow family identifiers, decode index offset

  • Add “rssi” family identifier (again) and “loop” (new)

2016-03-07 0.5.0

beradio-python

  • Add BERadioMessage as a convenient message builder, with api docs and doctests

  • Improve mqtt broker reconnect behavior

  • Add nanosecond timestamp to json mqtt message

  • Use shorter unique id as gateway id

  • Improve commandline publisher: single measurements, multiple measurements, some math functions (triangle, square, sawtooth, sine)

  • Add some lines about how to Receive MQTT messages using the new command bemqtt

  • Add document Serialization efficiency as a shootout between BERadio vs. Bencode vs. Binary vs. CSV vs. JSON vs. YAML

  • Wording: rename “topic_domain” to “realm”

  • Add software testing framework “nose”

  • Add some doctests for protocol.py

  • Improve logging

  • Refactor Makefile targets re. mqtt publishing

  • Improve convenient releasing and installing

libberadio

  • add c++ spike using variadic arguments and stl vectors based on avr-stl, works in SimulAVR

  • add varargs.h, improve variadic argument reading

  • improve vararg handling, introduce more convenient data type name aliases “FloatList” and “IntegerList”, make “dump_vector” work generic

  • add simple message encoding on top of Bencode

  • switch from avr-stl to StandardCplusplus, which runs out-of-the-box and even produces smaller binaries

  • use “-mcall-prologues” for producing smaller binaries (~400 bytes)

common

  • Improve documentation significantly

2015-10-27 0.4.4

  • fully automatic package building and publishing

  • releases 0.4.2 and 0.4.3 were spent on getting things right

2015-10-27 0.4.1

  • improve automatic release management

2015-10-27 0.4.0

  • nail name to “BERadio”

  • reflect “BERadio” in class naming, make beradio-1.0 work again

  • large refactoring, many improvements

  • central entrypoint scripts beradio and bdecode

  • implement BERadio specification version 2

  • add Sphinx document generator

  • add bemqtt, a basic but convenient MQTT subscriber for debugging purposes

  • in the intermediary message format, all identifiers (network, gateway, node) are strings

  • add unique identifier generation based on uuid4 and Snowflake, see also beradio info

  • don’t pretend on nodeid=2, neither use it for documentation, use nodeid=999 instead

2015-10-19 0.0.3

  • improve documentation, cleanups

2015-10-18 0.0.2

  • production improvements

  • be more graceful when receiving invalid Bencode payloads

  • fix mqtt publisher in forwardings scenario

  • properly sanitize serial input data

  • pretending dry-run publisher using random data

2015-10-17 0.0.1

  • initial commit of “serial-to-mqtt” proof-of-concept prototype