Skip to content

v1.3.0 - #36

Merged
tuzzmaniandevil merged 20 commits into
mainfrom
dev
Oct 9, 2026
Merged

tuzzmaniandevil merged 20 commits into
mainfrom
dev

Conversation

@tuzzmaniandevil

Copy link
Copy Markdown
Contributor

Release v1.3.0, the first as OwlBot: renamed from meshcore-bot (config and identities carry over; Docker image and download names change), meshcore-go v1.7.0, now/date template functions and a path separator, floodScope region-scoped posts, per-broker MQTT topic templates, MQTT drop logging, and online published again after a broker reconnect. Full notes in CHANGELOG.md under ## v1.3.0 - 2026-10-09.

Merge with a merge commit (not a squash); the annotated v1.3.0 tag goes on that commit.

tuzzmaniandevil and others added 20 commits October 9, 2026 11:40
A test restoring probeInterval in its cleanup could race a probe goroutine
that had not read it yet (about 1 run in 14 under -race). Read it in watch()
and pass it in.
The meshcore-bot name is taken. The module, binary, release assets and
Docker image are now OwlBot, and MQTT status reports model OwlBot and
client_version OwlBot/<version>. Stored state is untouched: the config
file and mqtt_identity.key keep their names, and mesh identities still
come from bot names.

meshcore-go v1.7.0 moved to github.com/OwlShack/meshcore-go. Adapt to
Seed() and the sx12xx NoiseFloor() returning an ok flag, use
hardware.PreambleForSF, and correct the KISS ordering comments now that
the library matches each reply to its request.
Rename to OwlBot and move to meshcore-go v1.7.0
Ported from OwlShack. date formats a time.Time or the wire's unix seconds
in a Go layout, optionally in a named IANA zone; zero stays zero rather
than becoming 1970. time/tzdata is embedded so named zones resolve on
every release target, and a test guards the import.
Ported from OwlShack. {{formatPathBytes .PathHashes " > "}} joins with the
given separator; the default stays ", ", an empty path is still Direct,
and a second separator is an error rather than silently dropped. The pipe
form keeps working without a separator.
Template functions for dates and times
Optional separator for formatPathBytes
Optional separator for formatPathBytes (reland #28)
Updating needs a manual step: the old Docker image stops at v1.2.0 with
no error, latest-release download names change, and MQTT model and
client_version say OwlBot. Put that in a warning box the release notes
open with.
Packets are still not buffered, but a warning now marks when a broker
starts dropping them and the count is logged once publishing resumes.

Two silent paths: a job reaching a nil or never-connected client, and a
QoS 0 publish while paho auto-reconnects, where IsConnected stays true
and paho completes the token without sending or storing it. Drop and
count both in doPublish. QoS 1 status publishes still go to paho, which
stores them across a reconnect.
Log MQTT packets dropped while a broker is down
Ported from OwlShack, same values: region:<name>, everywhere, inherit.
A bot-level floodScope scopes all its posts and a trigger can override
it; unset stays unscoped. Values are checked when the config loads, so
a bad one is refused at startup and a SIGHUP reload keeps the running
config. Sends go through SendGroupTextScoped.
Scope posts to a MeshCore region (floodScope)
Ported from OwlShack: packetTopic and statusTopic take {iata} {pubkey}
{name} and meshcoretomqtt's uppercase tokens. Unset keeps the
topicPrefix layout, so existing configs publish where they did. One
resolver now serves the packet topic, the status topic and the offline
will, which used to build the status topic separately. Unknown
placeholders and wildcards are refused when the config loads.
When the link drops the broker publishes our will (offline), and paho's
auto-reconnect brought the connection back without a new status, so the
bot read as offline until the next status tick, up to statusInterval
(300 s by default). An OnConnect handler now publishes online on every
connect after the first; the first is still published by the caller.
Publish online again when a broker reconnects
@tuzzmaniandevil
tuzzmaniandevil merged commit 7de9636 into main Oct 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant