Skip to content

Releases: ddavis83864/stratux

v2.0.0-rc2 — Release Candidate 2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Sep 20:19
b8699d9

Stratux fork v2.0.0-rc2 — Release Candidate 2

This is a release candidate, not a stable release. It has passed the full automated
gate and real-hardware validation described below but has not yet completed its
acceptance/soak period — see docs/release-process.md
for exactly what separates an RC from stable and the promotion plan.

Experimental / Non-Certified Aviation System. Stratux — the upstream baseline and
every capability this fork adds — provides supplemental situational-awareness
information only. It does not replace required aircraft instruments, certified
navigation/traffic/weather equipment, or official aviation weather/NOTAM sources, and its
use never relieves the pilot in command of their own see-and-avoid and situational-awareness
responsibilities. See the README's full disclaimer,
which controls over any statement here.

Hardware / architecture

Raspberry Pi (per upstream's own supported-board list), ARM64 (arm64) only. No new
hardware requirement beyond the existing upstream baseline — see
docs/hardware-compatibility.md.

What's new since the last upstream tag (v2.0-pre5)

Readiness/health model with trusted GNSS time and persistent-storage certification;
AHRS/barometer/fan health reporting; named aircraft calibration profiles; a preflight
readiness workflow; traffic and system-health alerting including closure-rate/CPA trend
detection; Configuration Backup and Restore; power/thermal health and a controlled-shutdown
workflow; a Storage Lifecycle inventory foundation; Automatic Flight Recording (disabled
by default
); a hardened OTA StageFailed recovery path with a supported /resetOTA
reset; and Wi-Fi Administration Hardening, replacing the previous unguarded Wi-Fi settings
path entirely. Full per-feature source/docs/validation mapping:
CHANGELOG.md.

Excluded from this release entirely (not merely disabled): the FIS-B weather cache
(PR #15), which remains open, draft, and unmerged — its field validation is blocked on
FIS-B ground-station reception this fork has not yet obtained. No fisbcache code,
settings, dashboard page, or documentation is present in this release.

Installation and upgrade

  • New install: write stratux-2.0.0-rc2.img.xz to a microSD card — see
    docs/clean-install-guide.md.
  • Upgrading an existing install of this fork: upload stratux-2.0.0-rc2-arm64.deb
    through the dashboard's own OTA update page only — never dpkg -i manually. See
    docs/upgrade-guide.md.
  • Verify before installing: see "Verification" below.

Backup and recovery recommendations

Download a Configuration Backup (radio enablement, alert thresholds, calibration profiles —
never credentials) before experimenting with settings, and keep your own separate image
backup of a working card before any card-level changes. See
docs/rollback-recovery.md
for the supported OTA-failure recovery path, /resetOTA, and full re-flash recovery.

Known limitations

  • No OTA version-ordering enforcement — the daemon records whatever version an uploaded
    package declares; it does not itself refuse an older/unrelated package based on version
    comparison (the package version itself is still built to compare correctly under Debian
    semantics).
  • Shared SSH host keys across every image built from this exact process
    (regenerate_ssh_host_keys is deliberately disabled to minimize first-boot SD-card
    writes) — regenerate them yourself after first boot if this matters for your deployment.
    Default pi-gen SSH credentials ship on the public image; change them before trusting the
    device on an untrusted network.
  • Browser/app audio-alert path has documented limitations (not every alert type is
    supported identically across the browser, iPad, and Bose A30 audio paths) — see
    docs/alerting.md.
  • No fan tachometer — this hardware has no rotation-feedback sensor, so fan operation is
    never electronically confirmed, only inferred; the dashboard states this plainly rather
    than implying a confirmation that doesn't exist. See
    docs/ahrs-baro-fan-health.md.
  • Build reproducibility is functional, not bit-for-bit — two independent builds from the
    same commit were content-identical except for one deliberately timestamped cache-busting
    file (stratux.appcache); container-level hashes differ only in incidental build-time
    metadata.
  • Full list: docs/known-limitations.md.

Verification

Download SHA256SUMS alongside the other assets and verify:

sha256sum -c SHA256SUMS

Full guide, including .deb/image inspection commands and the tag-vs-package-version
naming note: docs/artifact-verification.md.
Not cryptographically signed — verification is by checksum and provenance comparison
only.

Validation performed

Full production Go test suite green under -race; native ARM64 CI build; independent
artifact verification (.deb metadata/embedded-commit, image partition layout and full
read-only sanitization sweep, SBOM, provenance); a real OTA upgrade of a configured,
in-service device with persistent data (Wi-Fi configuration, AHRS calibration profile)
confirmed preserved exactly and a 30-minute stability window with zero anomalies; a
separate clean-install boot test on a third, independently-flashed microSD card (correct
first-boot defaults, honest NOT_READY readiness reporting on uncalibrated hardware, one
clean reboot, one owner-witnessed controlled shutdown and power restoration). One genuine,
previously-undetected data race (in the Storage Lifecycle status reporting path) was found
running this release's own test suite and fixed before this build. Full evidence:
docs/releases/v2.0.0-rc2.md.

Rollback

See docs/rollback-recovery.md.

Reporting issues

Open an issue against this repository (not upstream stratux/stratux), with your exact
version/commit (dashboard footer or /getStatus) and hardware in use.