# Changelog · MAX25-Stack All notable changes to MainAX25-Stack (MAX25-Stack) are documented here. ## [MAX25-Stack 1.8.0] Version file `1.8.0`. BayCom/based default ON. Stale "not usable" strings removed. | Change | Detail | |--------|--------| | **Software TOT** | Time-on-target policy for max25-bcpr via `max25d.ini` (host-keyed, burst limits, trip pause/reset) | | **1.5 s TX gap** | Minimum gap between RF/KISS frame sends to prevent keying overlap | | **WebSocket polish** | Terminal WebSocket hardening, device list fixes | | **HyBBX KISS PTY release** | Release KISS PTY slave_fd after HyBBX baycom attach fix | | **max25-bcpr rename** | BayCom/based stack renamed to `max25-bcpr` throughout (betriebsform paths, INI, HyBBX host) | | **tmodem device** | New `tmodem` device entry for T-Modem-c1224 USB KISS half-TNC | | **privilege_drop install** | `privilege_drop.py` installed with max25d on `PREFIX/bin` | | **BayCom default ON** | `MAX25_BUILD_MAX25_BCPR` default changed from OFF to ON; "not usable" strings purged | ## [MAX25-Stack 1.8.5-fallback_untested-upcoming#3-2] Version file . | Change | Detail | |--------|--------| | Docs | Move → (development material home) | ## [MAX25-Stack 1.8.5-fallback_untested-upcoming#3] Version file `1.8.5-fallback_untested-upcoming#3` (after `#2-workhard-session_night`). | Change | Detail | |--------|--------| | Release mark | **fallback_untested** · upcoming **#3** | | CI | `max25_web_smoke` offline — `--no-stack --no-serial`, ephemeral ports, no UART | | Docs | Ship [TNC-MODEM-DEV.md](TNC-MODEM-DEV.md) (TNC/modem bring-up) | | Tests | Dual-device protocol smoke uses allowlisted `baycom-kiss`/`pccom-kiss` (not legacy `baycom-a`) | | Carry-forward | Live RF fallback path not fully re-certified under this tag | ## [MAX25-Stack 1.8.5-fallback_untested-upcoming#2-workhard-session_night] Version file `1.8.5-fallback_untested-upcoming#2-workhard-session_night` (operator night-session mark after `1.8.5-fallback_untested-upcoming#1`). | Change | Detail | |--------|--------| | Release mark | **fallback_untested** · upcoming **#2** · **workhard-session_night** | | Carry-forward | Same consistency gate posture as `1.8.5-fallback_untested-upcoming#1` — live RF fallback path not fully re-certified under this tag | | Device face | BayCom/based SER12 → **`max25e0`** (internal `stacks/max25-bcpr/`) | | TX/RX | Live TX gated on RX (`scripts/tx-rx-test.sh`, §0.20) | ## [MAX25-Stack 1.8.5-fallback_untested-upcoming#1] Version file `1.8.5-fallback_untested-upcoming#1` (operator override of prior `1.8.0-upcoming#1` marking). | Change | Detail | |--------|--------| | Release mark | **fallback_untested** — consistency gate green; live RF fallback path not fully re-certified under this tag | | Device face | BayCom/based SER12 → **`max25e0`** (internal `stacks/max25-bcpr/`; never `bcpr-bc0` as product id) | | Kernel baycom | Product path removed; vault legacy archive only | | Start | `scripts/run-max25d.sh` — root only when ttyS/USB/SER12 needs it | | TX/RX test | `scripts/tx-rx-test.sh` — live TX gated on RX (§0.20) | ## [MAX25-Stack 1.5.0] Version file `1.5.0`. Product label **MAX25-Stack-v1.5.0**. ### HyBBX boundary matrix | Change | Detail | |--------|--------| | `[features] baycom=no` | Default in max25d INI examples | | `[features] pccom=no` | Default in max25d INI examples | | Device filter | BayCom/PC-COM entries filtered unless features enabled | | CMake | BayCom tools still built; runtime opt-in via INI | ### Platform and topology matrix | Change | Detail | |--------|--------| | One RF device per Linux host | Design rule in INI examples | | FreeBSD scaffold | `max25_platform.py`, OSS sound-proxy, FreeBSD INI | | Modular TCP/IP server | `modular_tcp_server.py` for Main/Secondary split | | New INI templates | `max25d.main.ini.example`, `max25d.secondary-linux.ini.example`, `max25d.freebsd.ini.example` | ### Docs matrix | Item | Detail | |------|--------| | Operator docs | Updated for v1.5 boundary | | New | `V2.0.0-SCOPE.md`, `MODULAR-TCPIP-SERVER.md`, `MASTER-GUIDE.md` | ## [MAX25-Stack 1.0.0] — 2026-07-13 Version file `1.0.0`. Product label **MAX25-Stack-v1.0.0**. ### Active devices matrix | Device | Standalone | HyBBX | |--------|------------|-------| | **tnc2c** | `max25-ctl start --hardware tncs --device tnc2c` | `packet_radio` | | **baycom-ser12** (superseded → **`max25e0`**/bcpr) | legacy kernel path removed | `baycom` via MAX25 | | **soft-crdop** | `max25-ctl start --hardware soft-modems` | `crdop` | ### Architecture matrix | Item | Value | |------|-------| | AX.25 codec | In-tree `ax25_codec.py` via `kiss_bridge.py` | | `MAX25_BUNDLE_AX25` | OFF default | | `MAX25_BUILD_CRDOP` | ON default | | Daemon | `max25d` — Linux supervisor, M25/1 | | Client | `max25-terminal` / `max25-client` — sole official operator client | ### Deferred to v1.1+ matrix | Item | Status | |------|--------| | `pktnc2`, `baycom-par96`, `baycom-kiss` | deferred | | CRDOP amateur / dual workflows | INI templates ship | ## Related | Goal | Doc | |------|-----| | Release gates | [RELEASE-READINESS.md](RELEASE-READINESS.md) | | v1 scope | [docs/V1.0.0-SCOPE.md](docs/V1.0.0-SCOPE.md) |