APRSGo v1.3.2 (Ampere)
APRSGo v1.3.2 (Ampere) Download
APRSGo v1.3.2 (Ampere)
Improved
- Traffic rates hold still. Every rate in APRSGo is now the average over the
last minute — on the status page, in the listener and client tables, and in
the charts. The numbers used to be a one-second sample, which for ordinary
APRS traffic is an integer count bouncing between zero and a handful, and the
page never agreed with the chart. Rates are reported as fractional values, so
a link carrying 25 packets a minute reads 0.42/s rather than rounding to zero.
A newly connected client shows its rate within seconds instead of after a
full minute.
- Charts stop lying about missing data. A sample the server could not
measure — the uplink was down for the whole minute, a counter reset, the
sampler fell behind — is now sent as null and the chart breaks the line
there. Previously all of these drew a zero, indistinguishable from a healthy
link with no traffic. Reloading the configuration with SIGHUP no longer
silently drops the minute the reload happened in.
- Clock changes cannot corrupt the history. Samples are timestamped on the
monotonic clock and converted to wall-clock time when they are served, so an
NTP step no longer shifts or reorders data that is already recorded.
- Lighter statistics storage. The time series moved from a map that was
swept for expired keys every minute to a fixed-size ring buffer sized to the
72-hour retention: expiry is implicit, there is no periodic sweep, and reads
need no sort.
- The processor is always identified. When the CPU model cannot be detected
(common on Loongson, MIPS and some embedded platforms) and no server.model
is configured, the dashboard shows a generic name derived from the build
architecture — "Loong64 Processor", "AMD64 Processor", "RISC-V 64 Processor"
and so on — instead of leaving the field blank. Detected models come first,
then server.model, then this default.
Notes for API consumers
- The
*_rate fields in /api/status and /api/clients are now fractional
numbers (they were integers) and mean "average per second over the last
minute".
/api/stats series may contain null values, meaning "not measured". Charts
should break their line rather than plot a zero.
server.model is unchanged: consulted only when detection fails, and it
still takes precedence over the architecture-based default.