v0.115.0: version-aware Supports (agent header channel) + DSM-validated NFS guidance — MinAgent: 0.81.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
This commit is contained in:
@@ -1,5 +1,34 @@
|
||||
## Changelog
|
||||
|
||||
### v0.115.0 — version-aware Supports (agent version channel) + DSM-validated guidance (2026-07-11) — MinAgent: 0.81.0
|
||||
|
||||
Capability detection upgrades from route-probing to explicit version comparison, riding agent
|
||||
v0.82.0's `X-Felhom-Agent-Version` response header. **The probe FALLS BACK cleanly — agent 0.82 is
|
||||
NOT required** (MinAgent stays 0.81.0: the coupled NAS semantics; Peti's 0.81.0 box exercises the
|
||||
fallback in production).
|
||||
|
||||
- **agentapi**: every response path passively captures the header (`noteAgentVersion` on all four
|
||||
`Do` sites — even on 404s/errors); STRICT bare-semver validation at capture (the publish-agent.sh
|
||||
shape; garbage never overwrites); `Client.AgentVersion()` exposes the last-seen value.
|
||||
- **features.go**: per-feature `featureMinAgent` table (`netstorage_verify: 0.81.0`) + optional
|
||||
`AgentVersionReporter` on the prober. `Supports` order: version known → semver compare →
|
||||
Yes/No with ZERO probe traffic; version unknown/garbage/table-gap → the v0.114.0 probe path
|
||||
byte-identical (SupportCache stays probe-only). Gate/banner/UI unchanged — same three verdicts,
|
||||
better source.
|
||||
- **THE one comparator**: `selfupdate.ParseVersion/Version.Compare` moved verbatim to
|
||||
`internal/util/version.go` (selfupdate keeps type aliases — call sites + tests byte-unchanged);
|
||||
agentapi shares it (no import cycle, no second comparator).
|
||||
- **DSM-validated NAS guidance** (SPIKE-nas-dsm-2026-07-11, real DSM 7.2 via virtual-dsm): the NFS
|
||||
guidance gains the verified Synology steps — File Services → NFS → enable + **Maximum NFS
|
||||
protocol: NFSv4.1** (the v3 default refuses our mount), NFS Permissions rule with Squash
|
||||
„Map all users to admin”, the `/volume1/<mappa>` path hint; the "útmutató készül" caveat narrows
|
||||
to **QNAP only** (Synology now validated end-to-end incl. SMB hardlink).
|
||||
- Tests + red-proofs: version-known compares without probing (mutant: short-circuit dropped →
|
||||
probes=1); garbage/absent header → exactly-one-probe fallback + cached (mutant: trusting an
|
||||
unparseable header as "too old" → fails); non-reporter probers byte-unchanged; comparator table
|
||||
incl. pre-release rejection + numeric-vs-lexicographic; wire-level: header wins over a routeless
|
||||
agent through the real pinned client, garbage header ignored at capture.
|
||||
|
||||
### v0.114.0 — agent-capability gate for coupled features (2026-07-11) — MinAgent: —
|
||||
|
||||
Box-level backstop for the publish-train ordering discipline (incident: the 0.81/0.113 train's
|
||||
|
||||
Reference in New Issue
Block a user