meshcore-go

meshcore-go · Releases

from GitHub · updated 2026-07-03

10 releases

  1. v1.0.9 # 22 days ago · 2026-06-28 23:14 UTC

    Highlights

    CayenneLPP Polyline (type 240)

    Full Polyline codec, byte-compatible with ElectronicCats/CayenneLPP:

    • AddPolyline / AddPolylineFactor encoders — Douglas-Peucker & perpendicular-distance simplification, error-feedback delta quantization, signed-nibble packing.
    • Variable-length polyline decoding in LPPDecode, new LPPCoordinate / LPPPolylineValue types and LPPPrecision / LPPSimplification enums.
    • NewLPPEncoderSize to match a specific CayenneLPP(size) buffer.
    • Output verified byte-identical to the C++ reference on every input it can encode; also handles two inputs that crash the upstream library.

    Routing fix

    • node: 0-hop direct neighbours now route direct instead of flooding — a non-nil zero-length path is a known route, so we test path != nil rather than len(path) > 0.

    Other

    • Decode end-marker aligned to MeshCore's LPPReader (stop on channel == 0, any type).
    • go.work.sum cleanup; submodule deps bumped to v1.0.9.

    Full Changelog: https://github.com/meshcore-go/meshcore-go/compare/v1.0.8...v1.0.9

  2. v1.0.8 # 1 month ago · 2026-06-12 01:39 UTC

    meshcore-go — v1.0.8

    Mostly about getting us in line with MeshCore 1.16. There's one breaking change (SNR is now float32), so callers will need a small update.

    1.16 protocol

    • Companion serial protocol updated for 1.16: added CMD_SEND_RAW_PACKET (65), default flood scope get/set (63/64, RESP 28) and the unscoped-flood sub-type, and new push codes for LoginFail, ContactDeleted and ContactsFull.
    • Bumped MaxFrameSize 172 → 176 and now advertise protocol v3 so the firmware sends V3 message-recv frames.
    • Renamed a few Companion constants to match firmware: CmdSetRadioTxPower, CmdGetBattAndStorage, CmdSetFloodScopeKey, RespBattAndStorage.
    • ACKs now dedup by packet hash like everything else (1.16 dropped the separate ACK-CRC table). Retransmitted ACKs get forwarded again instead of being silently dropped.
    • KISS: treat a TX_DONE result of 0x00 as a failed transmit. Firmware 1.16 sends that on radio-busy / airtime timeout. Baseline is now 1.16+.
    • Text retransmits are recomposed per attempt (attempt encoded in the flags byte, plus a [0x00][attempt] tail past attempt 3) so each retry has a unique hash and survives dedup. ACK CRC is recomputed each attempt. Added BuildTextPlaintextWithAttempt.

    Other changes

    • SNR is now real dB (float32) everywhere instead of raw quarter-dB int8. RSSI is unchanged and the raw path-SNR bytes are still preserved. This is breaking — see below.
    • Added TX stats: Node.TxStats() returns a TxStats struct, plumbed through the transport/modem/tx-engine layers.
    • Added HasSignalInfo through the modem/transport/peer path so we only apply SNR/RSSI when the source actually has it (helps the TCP transport).
    • Peers can now carry multi-byte path hashes via OutPathHashSize (1, 2 or 4; 0 means default of 1); SetOutPath takes an optional hash size.
    • New WithLearnedPathsOnly() option to restrict advert paths to learned ones.
    • Name truncation now respects UTF-8 boundaries.

    Breaking

    • SNR fields went int8float32 (real dB). PeerTable.Update is now Update(adv, snr float32, rssi int8, hasSignalInfo bool, pathHashes []byte) — update the call sites and stop treating SNR as raw quarter-dB.
  3. v1.0.7 # 1 month ago · 2026-06-12 01:21 UTC

    What's Changed

    DO NOT USE, Use 1.0.8 instead

    Full Changelog: https://github.com/meshcore-go/meshcore-go/compare/v1.0.6...v1.0.7

  4. v1.0.6 # 2 months ago · 2026-05-10 23:40 UTC

    What's Changed

    Full Changelog: https://github.com/meshcore-go/meshcore-go/compare/v1.0.5...v1.0.6

  5. v1.0.5 # 3 months ago · 2026-05-06 23:49 UTC

    What's Changed

    Full Changelog: https://github.com/meshcore-go/meshcore-go/compare/v1.0.4...v1.0.5

  6. v1.0.4 # 3 months ago · 2026-05-04 01:13 UTC

    What's Changed

    Full Changelog: https://github.com/meshcore-go/meshcore-go/compare/v1.0.3...v1.0.4

  7. v1.0.3 # 3 months ago · 2026-04-30 23:24 UTC
  8. v1.0.2 # 3 months ago · 2026-04-29 23:43 UTC
  9. v1.0.1 # 3 months ago · 2026-04-29 09:46 UTC

    What's Changed

    New Contributors

    Full Changelog: https://github.com/meshcore-go/meshcore-go/compare/v1.0.0...v1.0.1

  10. v1.0.0 # 3 months ago · 2026-04-28 03:11 UTC