Repository navigation
release: prep v26.10.1 — controls that work or say why not, a CTR2 relay, Qt 6.12 - #6159
Conversation
…lay, Qt 6.12. Principle VIII. Bumps the six release files to 26.10.1 (2026-10-04) and writes the CHANGELOG section from the 95 PR bodies in v26.9.5..18c5245, mapped through the commit-to-PR API. Refreshes README and ROADMAP: In flight advanced for aetherd, Icom, ANAN-G2, RTL-SDR and the Hermes-Lite 2, a CTR2 relay entry, the Open RFCs list re-diffed, and Recently shipped trimmed to the v26.10.x cycle at the month rollover. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
ten9876
left a comment
There was a problem hiding this comment.
This fulfills the stated six-file v26.10.1 release-prep scope at 0fd897ac7. There is no linked closing issue; documentation additions/corrections do not require an RFC under GOVERNANCE.md. The version, date, release range, contributor counts, and complete PR citation coverage check out. No blocking defect found. The disclosed September-highlight trim remains an editorial decision for Jeremy, and two wording clarifications below are non-blocking.
Scope
| File/group | Change | Claimed in body? | Verdict |
|---|---|---|---|
CMakeLists.txt, AGENTS.md, AppStream metainfo |
Version/date metadata | Yes | In scope; consistent 26.10.1 / 2026-10-04 |
CHANGELOG.md |
93-line release section and contributor credits | Yes | In scope; 95/95 PRs cited, older history byte-identical |
README.md |
Version, hardware coverage and roadmap refresh | Yes | In scope; maturity labels preserved |
ROADMAP.md |
Backend progress, CTR2, RFC status and October highlights | Yes, including removal of September highlights | In scope; editorial trim needs maintainer disposition |
The six-file/no-source/no-tests/no-CI claims hold. The sole commit is release prep, authored 2026-10-04, and GitHub verifies its signature. No unrelated commit, runtime preference change, public API addition, or enforcement-baseline change is bundled here.
At ROADMAP.md:316, replacing September's Recently shipped list causes the validator's disclosed historical-version failure. I reproduced exactly 29 checks: 1 FAIL, 0 WARN; the failure concerns the removed September markers, not corruption of the preserved CHANGELOG history. Jeremy: accept the explicitly disclosed rollover trim or retain those highlights. This is an editorial disposition, not evidence of a code regression.
Blockers
None.
Nits — non-blocking
-
Clarify which CTR2 firmware milestone is pending —
README.md:252,ROADMAP.md:172, andCHANGELOG.md:29. “Waits on the CTR2's USB firmware” is underspecified relative to the cutoff evidence: #6155 records a live CTR2 relay and successful USB Start → install rule → relay starts; #6091's closure already records development firmware receiving radio status. Neither establishes a public firmware release or complete qualification. Name the remaining dependency (public release, completion, or qualification) and acknowledge the development-firmware result so the docs distinguish availability from implementation. This is a source-document comparison; I did not independently exercise CTR2 hardware. -
Carry forward the known old-bookmark exception —
CHANGELOG.md:55. The upgrade sentence says selecting DIGU/DIGL turns AGC off, but #6119 explicitly defers old DIGU/DIGL band-stack bookmarks restoring their saved AGC to #6142, which remains open. Add a short caveat such as “Existing DIGU/DIGL band-stack bookmarks can restore their saved AGC mode; see #6142.” This reports an accepted, documented limitation of the shipped change, not a newly reproduced runtime finding or a request to fix #6142 in release prep.
Verification and attacks that held
- Independently regenerated the commit-to-PR mapping for
v26.9.5..18c5245e5, including original PR bodies and prior-contribution queries: 95 commits, 95 PRs, zero direct commits, 12 human contributors, 2 AetherClaude changes, zero Dependabot changes, no first-time contributors. The citation/count checker passes; the four additional references resolve to the stated tracking issue/RFCs. - Ran release-prep validation with that independent mapping: all six versions and both dates agree, AppStream validates, 22 releases are uniquely versioned/date-descending, Unreleased is empty, historical CHANGELOG content is byte-identical, local links resolve, headings/fences are sound, and
git diff --checkpasses. Only the disclosed rollover failure remains. - Configured the exact PR head in a scratch worktree: configure/generate succeeds and
CMAKE_PROJECT_VERSION:STATIC=26.10.1. Ran the command-plane checker at v26.9.5 and at the PR head: 413 → 369, both at their baselines. - Cross-checked material upgrade claims against their original PR bodies, including Qt platform floors (#5842/#6055), Ulanzi defaults (#5964), RF gain (#5976/#6062), squelch calibration (#6127), AGC (#6119), authenticated accessories (#6008), and RTL M1 (#5924). Checked the changed RFC statuses and the retained experimental/receive-only qualifications. This verifies documentary provenance, not every shipped runtime behavior.
- Test-boundary preflight found no added/modified tests or socket-owning targets. No application build, CTest suite, mutation test, or GUI bridge session was run: this PR changes documentation/metadata only. No operator application or radio was touched. The separate model-invocable
code-reviewskill was unavailable; manual and parallel document audits were used instead.
CI and recommendation
Needs maintainer decision on the disclosed ROADMAP trim; otherwise the review is clean apart from the two non-blocking clarifications. At posting, Static checks and sanitizer configure pass; Linux build, Windows and macOS checks are still pending. This is not a merge-ready verdict. The pull-request runs were created at 17:59:25 UTC after main's unchanged 18c5245e5 cutoff (17:43:51 UTC), so there is no stale-base gap at review time; branch protection nevertheless has strict: false.
Resolve the editorial disposition, clarify the two caveats if desired, then require the remaining required checks and CODEOWNERS review before merging. Posted as COMMENT, with no inline threads, approval, or merge action.
ten9876
left a comment
There was a problem hiding this comment.
Review: v26.10.1 release prep
Issue fit. This is a release prep with no linked issue. Its job is defined by the release-prep skill, and I reviewed it against that: the six release files, a changelog that matches the commit-to-PR mapping, and README and ROADMAP prose refreshed to match the tree. It does that job. I reproduced every count and citation from my own mapping, I re-measured each numeric claim I could at both tags, and I found no blocker. There are two factual slips in prose that will ship (nits 1–2) and two calls for the maintainer.
Test-boundary preflight: the diff touches no test sources, tests.cmake, src/, third_party/ or workflows, so there is no socket test to flag.
Scope
| File | Change | Claimed in body | Verdict |
|---|---|---|---|
CMakeLists.txt:10 |
project(... VERSION 26.10.1) |
yes | ok |
AGENTS.md:211 |
Current version line | yes | ok |
README.md |
version line, CTR2 highlight, 4O3A auth, HL2/ANAN/RTL paragraphs, Roadmap lines | yes | ok (nit 2) |
CHANGELOG.md:22-113 |
new [v26.10.1] section; [Unreleased] stays empty; history byte-identical |
yes | ok (nits 1–2) |
ROADMAP.md |
cycle heading, In-flight advances, new CTR2 entry, Open RFCs diff, Recently shipped rewritten and trimmed | yes | ok (trim needs the maintainer's ruling, below) |
packaging/linux/...metainfo.xml:71 |
<release version="26.10.1" date="2026-10-04"/> |
yes | ok |
Everything in the diff is explained by the body. The branch is one commit, authored 2026-10-04. git diff --check 18c5245e5 0fd897ac7 is clean. The body's own scope and validation claims hold.
Blockers
None.
Nits (non-blocking)
-
CHANGELOG.md:107: "AGENTS.md is cut to a 301-line core".AGENTS.mdis 300 lines at #6072's merge commit, at the cutoff18c5245e5, and at this head.wc -landawk 'END{print NR}'agree. The 301 was copied from #6072's body. Say 300, or drop the count:- `AGENTS.md` is cut to a 300-line core with path-scoped `docs/agents/` sub-docs, long comment blocks are condensed, and the Constitution moves to 2.1.0 (#6072). `BUILD-OPTIONS.md` documents every compile-time switch, kept current by a static check (#6098). `/pr-land` merges on a clean green without chasing `main` (#6157).
-
The CTR2 relay is described as working "over Wi-Fi or USB" with no qualification in two headline places:
README.md:149(Highlights) andCHANGELOG.md:26(intro: "A CTR2-Max controller can now reach the radio through AetherSDR over Wi-Fi or USB"). The detail bullet (CHANGELOG.md:40), the README Roadmap line and the ROADMAP entry all say correctly that USB waits on the CTR2's USB firmware. One related point that operators will only learn from release notes: on hidapi builds the applet opens in USB mode on every launch, and nothing persists (src/models/Ctr2ProxyModel.h:26, #6155's design). So every operator on today's firmware has to switch to Wi-Fi each time. That is merged behaviour, not a prep defect, but the bullet could say so. Suggested intro sentence:A CTR2-Max controller can now reach the radio through AetherSDR over Wi-Fi, with a USB link whose host side is ready for the CTR2's upcoming USB firmware.
For the README highlight, end with "…and a relay that puts a CTR2-Max controller on the radio over Wi-Fi (USB pending CTR2 firmware)".
Needs a maintainer decision (@ten9876)
- Recently shipped trimmed to v26.10.x. The skill lists this as a maintainer gate ("the month-rollover text … the list is trimmed to it at the rollover"). The validator FAIL is the expected result of that trim, and I reproduced it: 29 checks, 1 FAIL, 0 WARN. The body does not mention one side effect. The trim also removes the last ROADMAP mentions of #5630 and #5684, two RFCs that are approved, shipped (v26.9.4) and still open (0 hits at the head). Both are still in CHANGELOG, so this only matters if ROADMAP is meant to account for every open approved RFC. Closing those two issues would also resolve it.
- The CTR2 In-flight entry, as the body already flags.
What I verified and what I tried to break
Verified by running:
- Mapping. I mapped all 95 commits in
v26.9.5..18c5245e5myself throughcommits/<sha>/pulls, separately from the PR's mapping. The result was 95 PRs, every one cited, and the four out-of-range numbers are #3849, #5262, #5468 and #6091 (issue/RFCs).release_contents.py --checkagrees: 95/12, 13 Contributors entries, first-time none. Per-author counts (36/31/5/5/3/3/3/2/2/2/1/1/1) match the Contributors paragraph, and I spot-checked each person's attributed items against the PR authors. check_release_prep.py --base 18c5245e5 --mapping: 29 checks, 1 FAIL (the trim).appstreamclivalidates.- Command plane 413 → 369. I ran
tools/check_command_plane.pyongit archiveextracts of v26.9.5 and of the cutoff: 413 and 369 (44, matching ROADMAP). - Frozen booleans 71 → 70.
FROZEN_BOOL_COUNTintools/check_capability_records.pyis 71 at v26.9.5 and 70 at the cutoff. - Icom "VOX and CW break-in" leaving Remaining is correct:
IcomCivBackend::setVoxandsetCwBreakInboth exist (IcomCivBackend.cpp:4568,:5167). - Open RFCs against
label:rfc. Every open rfc-labelled issue missing from the list isRFC Approved, and nothing in the list has lost the label. #5893 is closed; #6106 and #6079 are open and awaiting a decision. #6091 is closed withRFC Approved. - "Six backends":
src/core/backends/has anan, flex, hl2, icom, rtl and sim. - Figures against the source PR bodies: macOS 14.4 for DMGs vs 14.5 for source builds (#5842/#6055 really do differ), glibc 2.34/2.38, the 2 kHz split threshold, the 70 ms TX tail, ±9999 Hz RIT/XIT, AGC-off 4–64 dB with a 10 dB default, FFT AVG 10 ms/step, 31.3 MB, black point −60…−160, squelch +32 dB, CW onset 128 → 85 ms,
set_ts 0→RPRT -1on Flex too, pkexec udev install, USB as the default with hidapi, 36.6 Hz bins, and #6125 bisected to #5907 (so it is correctly not listed as a fix to a released regression). - The CTR2 files the changelog names exist at the cutoff (
docs/ctr2-usb-relay-design.md,tools/ctr2-firmware-reference/,packaging/linux/70-aethersdr-ctr2.rules).
Not verified:
- CMake configure /
CMAKE_PROJECT_VERSION. I did not run it; CIbuildcovers it. - The running app. The diff is metadata only, so there is no runtime surface to drive.
- CI is still running.
build,check-windowsandcheck-macoswere pending when I reviewed. Their runs were created at 17:59Z, aftermain's tip (17:43Z, the cutoff itself), so the merge base is current.
…, AGENTS.md line count. Principle VIII. - CTR2: the intro, README highlight and Roadmap line, and ROADMAP entries say Wi-Fi works today and USB's host side is ready, has carried the radio's status stream to development firmware, and waits on a CTR2 USB firmware release; the CHANGELOG bullet notes USB is the default and nothing persists, so current firmware needs Wi-Fi chosen each launch. - #6119's upgrade note carries the open #6142 bookmark exception. - AGENTS.md is 300 lines, not 301. - The 413 -> 369 command-plane drop credits #6049's and #6124's reroutes alongside the seam migration. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Review findings addressed in
Maintainer dispositions. The Recently-shipped trim and the CTR2 In-flight entry were both put to the maintainer before the PR opened, and both were chosen. The PR body now also notes the trim's side effect on #5630 and #5684. |
There was a problem hiding this comment.
Issue fit
No linked issue, and none is wanted: a release prep is the /release-prep skill's own deliverable, so I reviewed it against .claude/skills/release-prep/SKILL.md as the spec. It satisfies it — the six release files, a CHANGELOG section in house style, a real README/ROADMAP content refresh (not a version bump), the validation list run and printed, and every judgment call routed to the maintainer in the body rather than decided quietly. I re-derived the numbers from the tree rather than trusting the body, and they hold.
Scope
| File | Change | Claimed? | Verdict |
|---|---|---|---|
CMakeLists.txt:10 |
project(... VERSION 26.10.1) |
yes | in scope |
README.md:13 |
Current version line | yes | in scope |
README.md:39,78-82,94-120,239-250 |
Highlights + Supported Hardware + Roadmap prose refresh | yes | in scope — mandated by the skill §4 |
AGENTS.md:211 |
Current version line | yes | in scope |
CHANGELOG.md:11-103 |
New [v26.10.1] — 2026-10-04 section |
yes | in scope; [Unreleased] stays and stays empty, history below byte-identical |
ROADMAP.md |
Cycle heading, In flight, Open RFCs, Recently shipped | yes | in scope |
packaging/linux/…metainfo.xml:71 |
<release version="26.10.1" date="2026-10-04"/> |
yes | in scope |
Nothing beyond the six files; check_release_prep.py confirms the diff touches no src/, tests/, third_party/ or .github/workflows/ path. No new public surface, no deleted guard, no default changed, no UI or behavior change — there is no code here. Nothing smells like a smuggled preference: every ROADMAP and README sentence I spot-checked traces to a PR in the range.
Blockers
None.
The one validator FAIL is the skill's own month-rollover gate colliding with its "historical mentions stay" check, it is disclosed verbatim in the body, and it is routed to the maintainer. Same for the CTR2 In-flight entry, the zero-Dependabot intro wording and ready-vs-draft. Those are decisions the body correctly surfaces, not findings:
FAIL only the four current-version lines lose the `26.9.5` string outside CHANGELOG
- **The Glacier waterfall palette**. RFC #5670 (v26.9.5). [+8 more]
I reproduced that run myself: 29 checks, 1 FAIL, 0 WARN, and the nine lines it lists are exactly the trimmed (v26.9.5) Recently-shipped markers — no historical mention outside that list is lost. The trim is sanctioned (§4: "the list is trimmed to that cycle at the month rollover (gate)"), so the FAIL is the check being unable to tell a rollover trim from a find-and-replace. Worth considering whether check_release_prep.py should learn to exempt Recently-shipped markers at a rollover, so the next October prep does not ship a FAIL by construction — but that is a follow-up to the tool, not to this PR.
Nits
All non-blocking.
-
ROADMAP.md:68-73— "VOX and CW break-in" leaves Icom's Remaining, but both ship partially. The body justifies the removal with #4799/#5113, andsetVox/setCwBreakIndo exist. Butsrc/core/backends/icom/IcomCivBackend.cpp:4568-4570opens withvoid IcomCivBackend::setVox(bool on, int level, int delayMs) { Q_UNUSED(delayMs);
and the comment at
:519says so outright — "setVox implements enable/gain only". The capability record agrees:src/core/backends/RadioCapabilities.h:587-590carriesVoxControl::hasDelayprecisely because the hang time may not be applied. Break-in is the same shape —src/core/backends/icom/IcomControls.cpp:292-296notes "The existing boolean control selects OFF or semi break-in. Full break-in needs a future three-state UI." Suggest "VOX hang time and full break-in" stay in Remaining rather than the whole of VOX and break-in. -
ROADMAP.md:265-268, 297-299— the community backlog lists two features that already shipped. #3574 (NEXRAD/weather-radar overlay) is closed, and the radar overlay is in this very README's Highlights and in the v26.9.3 entry this PR trims out. #999 (IQ stream over TCI for skimmers) is closed, shipped as concurrent TCI DAX IQ skimming in v26.9.2. Both sit under "not yet scheduled — 👍 the issue to signal demand", which now invites votes on closed issues. The skill's §4 refresh list names Queued and Open RFCs but not this list, so this is convention, not a rule — and it is pre-existing. The prep is just the pass where it would normally get caught. -
CHANGELOG.md:93(Project and packaging) — the macOS 14.4 floor never reaches README. "Both macOS DMGs now require macOS 14.4" is upgrade-blocking for Intel Macs that cannot run Sonoma, butREADME.md's platform line still reads "macOS DMG (Apple Silicon + Intel)" with no floor. Worth one clause there; operators read the README, not the changelog, before downloading. -
CHANGELOG.md:49— the #6142 caveat understates itself. "A DIGU/DIGL band-stack bookmark saved before this change can still restore its saved AGC mode (#6142)." Per the issue, the stalemedalso re-saves itself, so it never ages out without a manualoff. "and saves it again" would say that.
What I tried to break
Everything below is reasoned from the checkout and from GitHub metadata; I ran the prep validator and the two ratchet tools, but no build and no tests (the PR is metadata-only, and CI's seven checks on 5153aea are all green).
- "All 95 PRs are cited." Re-derived instead of trusted.
v26.9.5..18c5245e5is 95 commits; 77 carry a trailing(#N); the new section cites 100 distinct numbers; the set difference is exactly 23 = the 18 subject-less PRs + the 5 non-PR refs the body enumerates (#3849, #5262, #5468, #6091, #6142), and every one of the 77 detectable PR numbers is cited. The arithmetic closes with nothing left over. - The contributor block.
git log --format=%anover the range gives 36 / 31 / 5 / 5 / 3 / 3 / 3 / 2 / 2 / 2 / 1 / 1 / 1 — byte-for-byte the counts inCHANGELOG.md:97, summing to 95, 12 humans plus one bot, 13 entries. No count drift of the kind #5464 and v26.8.1 hit. - The two quantitative claims that are easiest to fake.
python3 tools/check_command_plane.pyprints369 raw Flex command(s) above the seam; baseline 369 across 32 file(s), andgit show v26.9.5:tools/check_command_plane.pysums to 413 across 32 files — so 413 → 369 and ROADMAP's "44 raw Flex commands" are both real.FROZEN_BOOL_COUNTis 71 at v26.9.5 and 70 on this head, exactly asCHANGELOG.md:21claims.AGENTS.mdis exactly 300 lines, as the "300-line core" claim says. - The macOS version numbers, which look like a typo. The changelog says DMGs need 14.4 but source builders below 14.5 lose their path. That is not an inconsistency:
cmake/qt-pin.env:40pinsQT_MIN_MACOS=14.4for the binaries, andscripts/setup/setup-qt.sh:205says "Xcode $QT_MIN_XCODE needs macOS 14.5+" — two different floors for two different things. Claim survives. - Cross-file maturity contradictions, the #4872/#5026 failure mode. No maturity label moved; HL2 stays experimental with the "experimental → supported call itself is still open" paragraph intact; the ANAN-G2 and RTL-SDR stay receive-only in all three files; the ROADMAP's "the rest of panadapter/waterfall parity … remains" does not contradict the changelog. The README's "six backends" matches six directories under
src/core/backends/, and "seven NR" matches the seven method names inAetherRxProfiles.cpp. - Spot-checked the prose against source rather than against the PR bodies.
rfLevelToPanGain(src/core/RigctlProtocol.cpp:241-249) over the HL2's −12…+48 dB range does put 0.5 at +18 dB;Hl2RxDsp.cpp:355documents the "~85 ms group delay (4096 samples at 48 kHz)";RtlSdrDdc.h:22documents the continuous 65536-point FFT;SquelchLevelScale.hexists for the newsquelchLevelScalecapability; "6.12.0 LTS" is sourced indocs/BUILDING.md:25.README.md:159already says "Qt 6.12 is required", so the headline does not contradict it. - The Open RFCs edit. #5893 really is closed, so its removal is right; #6106 and #6079 are open and
rfc-labelled withoutRFC Approved, so they belong there and not up in the cycle. I did not re-check all 39 entries in that list againstlabel:rfc— I verified the three the diff moves plus #5468, so the body's "diffed againstlabel:rfc" claim is spot-checked, not exhaustively confirmed. - No socket tests, fake peers, or
tests.cmakechanges — the diff adds no test of any kind and the skill gates this PR to exactly six non-test files, so there is nothing to record under the socket-test reporting duty. Nothing to flag for removal either. - The odd
${PR_DIFF}strings in the diff I was handed (Serial ${PR_DIFF} Controllers,C${PR_DIFF}C bank,KK7GWY ${PR_DIFF} Claude) are a harness artifact, not content:grep -n 'PR_DIFF'acrossCHANGELOG.md,ROADMAP.md,README.mdandAGENTS.mdin the head checkout returns nothing. The files are clean; every one of those is an&. - CodeGuard and Copilot returned nothing, and the harness marked no security-sensitive change. I did not run a scan, so that is an absence of findings rather than a clean bill.
Recommendation
Approve with nits. This is the most thoroughly self-validated prep in the recent record: every number in it reconciles against the tree, the single validator FAIL is the skill's own documented rollover tension and is disclosed with the exact lines, and the five judgment calls are stated as the maintainer's rather than made quietly. The nits are all one-clause wording fixes — the Icom Remaining line at ROADMAP.md:68-73 is the one I would actually change before merging, since it claims two control gaps closed that the source says are closed only partway. Then merge and tag the resulting main commit, as the body already says.
Thanks for the citation-complete section and for running the validator honestly instead of trimming the trim to make it pass.
🤖 aethersdr-agent · cost: $7.8271 · model: claude-opus-5
Main gained the RTL M1 work (aethersdr#5924), receive-control routing (aethersdr#5919), the int16 cast guards (aethersdr#6089), BUILD-OPTIONS.md (aethersdr#6098) and the v26.10.1 release prep (aethersdr#6159). Seven files this branch touches merged without conflict. WdspChannel::Config now has a defaulted operator== (aethersdr#5924); this branch's txAmCarrierLevel and txFmDeviationHz take part in it. None of main's changes sits under AETHER_HL2_TX_TXA. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Six-file release prep for v26.10.1, metadata and docs only. No source, test or CI changes.
Cutoff:
origin/mainat18c5245e5(#6155, merged 2026-10-04). Anything that merges after it is folded in before the tag.95 merged changes (95 PRs, no direct commits) from 12 human contributors, plus AetherClaude (2) and Dependabot (0). There are no first-time contributors this cycle. That was checked for each login by looking for a merged PR before v26.9.5's tag, not from
author_association.Changelog
Built from
v26.9.5..18c5245e5mapped through the commit-to-PR API (repos/…/commits/<sha>/pulls), not from commit subjects. All 95 PRs are cited in the section. The notes lead with three things:The structural half covers Qt 6.12 for every binary and source build (#5842, #6055) and the slice receive controls moving behind the seam (#5892, #5907, #5919; raw Flex commands above the seam 413 → 369, confirmed with
check_command_plane.pyat the cutoff). Upgrade-visible changes are called out with On upgrading inline: the Ulanzi default and removed MOX/TUNE pills (#5964), auto RF gain arming and law (#5976, #6062), DIGU/DIGL opening with AGC off (#6119), HL2 squelch calibration and the Auto SQL fallback (#6127), and the macOS 14.4 floor (#5842).The previous tag v26.9.5 is an ancestor of
main, so nothing is excluded from the range.Docs refresh, not just version strings
src/core/backends/andAetherRxProfiles.cpp.IcomCivBackendhas implemented both since feat(icom): IC-705 bring-up — controls, UX, CI-V stall, audio transport, and transmit-meter staleness #4799/feat(icom): expose the CI-V CW text keyer as CWK #5113.label:rfc. RFC; TGXL: infer PTT trigger mode from PTT activity and hide source label permanently #5893 leaves (closed). [RFC] Backend-owned hardware profiles for openHPSDR Protocol 2 radios #6106 and [RFC] Optional Digital FM reception and program metadata #6079 join under Radios, protocol and devices.(v26.10.1)entries. The list is trimmed to the v26.10.x cycle at the month rollover, and its intro names v26.10.x. Everything trimmed is still in CHANGELOG.Judgment calls flagged for the maintainer
26.9.5" check FAIL. The lines it lists are exactly the trimmed(v26.9.5)entry markers, and there is no historical mention elsewhere. That is the one FAIL below. One side effect: the trim removes ROADMAP's last mentions of [RFC] Global precipitation with regional radar backups and optional coverage shading #5630 and [RFC] WDSP 2.10 refresh and Neural Noise Reduction (NNR) as a seventh ADSP method #5684, approved RFCs that shipped in v26.9.4. Both are now closed as completed, and both remain in CHANGELOG.RadioModel::isConnected().Scope
CMakeLists.txtproject(AetherSDR VERSION 26.10.1)README.mdAGENTS.mdCHANGELOG.md[v26.10.1] — 2026-10-04section;[Unreleased]stays and stays empty; history below byte-identicalpackaging/linux/io.github.aethersdr.aethersdr.metainfo.xml<release version="26.10.1" date="2026-10-04"/>first in<releases>ROADMAP.mdValidation
check_release_prep.py --mapping mapping.json: 29 checks, 1 FAIL (explained above), 0 WARN.appstreamcli validatepassed. The<release>list is date-descending with unique versions (22 entries).[Unreleased]stays empty,[v26.10.1]sits directly under it, and the CHANGELOG diff is exactly the inserted section, with history byte-identical toorigin/main.(vX)markers lead with v26.10.1. Every local link in README and ROADMAP resolves. No removed heading is linked elsewhere. Code fences balance, with no duplicated table headers or doubled---.26.9.5". The lines are the trimmed Recently-shipped markers; see the judgment calls above.git diff --checkis clean. The diff touches nosrc/,tests/,third_party/or.github/workflows/path.cmake -S . -B <scratch>reportsCMAKE_PROJECT_VERSION=26.10.1. No build or test was run, because this is metadata only; CI builds it.mainCI at the cutoff:CIpassed on18c5245e5.After merge: tag the resulting main commit, not this branch.
🤖 Generated with Claude Code