# MESH-API Changelog All notable changes to MESH-API, newest first. For the project overview and setup, see [README.md](README.md). For the built-in extension reference, see [EXTENSIONS.md](EXTENSIONS.md). --- ## Release Summaries (v0.6.0 → present) - **v0.7.5.3 Beta** — 📡 **Extension channel-filter fix (`send_all` works out of the box, GitHub [#59](https://github.com/mr-tbot/mesh-api/issues/59)) + MeshCore unified companion/repeater support.** MeshCore BLE discovery now works with **unified companion+repeater units** and current firmware: such units advertise their **node name** (not `MeshCore-*`) and can come up on a new MAC after a firmware change, so `meshcore.ble_address` now accepts an **address or a node-name fragment** (blank = auto-scan matching MeshCore names *or* the Nordic UART companion service, while ignoring Meshtastic radios). When the configured node isn't seen, the log and WebUI now list nearby MeshCore-capable devices and explain the one-BLE-client rule (a node connected to a phone app stops advertising). On connect the device model/firmware/role is logged. The bundled `meshcore` Python lib is bumped to **2.3.8** (2.2.x predates v1.15 firmware's binary GROUP_DATA packets). Every bridge/notification extension (Telegram, Discord, Slack, Matrix, Signal, Mattermost, MQTT, ntfy, Pushover, Apprise, WhatsApp, Zello, generic Webhook, IMAP) gated **all** traffic on `inbound_channel_index` being set — but the shipped default is `null`, so with the default config `send_all: true` silently forwarded **nothing**, and inbound platform→mesh relay was silently dropped too. `null`/absent now means **no filter**: every mesh channel is forwarded outbound, and inbound relays on channel 0 (set an index to pin both directions to one channel, exactly as before). Extensions also now skip re-forwarding their **own relay tag** (`[TG:…]`, `[Slack:…]`, …), so an MQTT/bridge echo can't loop a message back to its source platform. **Discord** inbound (webhook + bot polling) now routes through the shared `send_to_mesh` helper, so it finally honors `default_send_network` and reaches MeshCore. **EXTENSIONS.md** config tables were rewritten to match the real config keys — several tables documented keys that don't exist (`forward_to_mesh`, `broadcast_channel_index`, …) while omitting the ones that do (`send_all`, `send_ai`, `inbound_channel_index`), which is how this misconfiguration happened in the field. All touched extensions bumped to v1.1.0. - **v0.7.5.2 Beta** — 🚑 **Hotfix: dashboard broken in v0.7.5.0/v0.7.5.1.** A Python string-escaping bug in the v0.7.5.0 node-map hardening emitted an invalid JS regex (`/\/g`), which threw a `SyntaxError` that crashed the **entire** dashboard `