summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
blob: 782c862a9349dae5b1267805291384bc85c3238d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# 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) |
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com