Skip to content

Commit 275e86a

Browse files
committed
docs: changelog for 0.34.3 desktop release
1 parent fa04282 commit 275e86a

3 files changed

Lines changed: 127 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,130 @@ All notable changes to ADOS Mission Control are recorded here.
44
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/);
55
the project follows [Semantic Versioning](https://semver.org/).
66

7+
## [0.34.3] - 2026-06-19
8+
9+
This desktop build is a patch over 0.34.2 (same 0.10.6 through 0.34.x feature
10+
set) that fixes bundled-asset loading in the installed app. Highlights below,
11+
grouped by area.
12+
13+
### Added
14+
15+
- **Mission planning, reworked.** The Plan tab now drives every map tool from a
16+
single interaction mode with one labeled toolbar, so select, waypoint, draw,
17+
measure, geofence, and rally no longer fight each other. A persistent hint
18+
reminds you that a select-click drops a waypoint. Search patterns get an
19+
explicit Set Datum tool. Rally placement is a sticky tool. Undo is unified
20+
across waypoints, geofence, rally, and drawn shapes. Each waypoint keeps its
21+
own altitude reference frame through upload, export, and import. Missions
22+
export losslessly to `.altmission` and `.kmz`. Offline tile download follows
23+
wherever you have panned the map. A Center Map Here action and working
24+
geofence-clear and rally-clear buttons round it out.
25+
- **Mission upload feedback.** Uploading a mission to the flight controller now
26+
reports success or failure instead of finishing silently, and each waypoint's
27+
altitude frame is sent exactly as drawn.
28+
- **Simulation playback.** The simulator runs from a single clock, shows only
29+
the values it actually models, labels its HUD as a preview rather than live
30+
telemetry, and preserves the flight duration when you rewind.
31+
- **Fleet dashboard, one card per agent.** Each agent renders as a single card
32+
derived from its device id, so an agent and the flight controller behind it
33+
collapse into one entry instead of duplicating. The detail panel adapts to
34+
the node's profile (drone, ground station, or compute) through a surface
35+
registry that shows only the tabs that node supports. A new node grid view
36+
puts live video tiles side by side, with a grid or overview toggle. Stale
37+
local nodes show a clear re-pair or remove prompt.
38+
- **Black Box log viewer.** Read the agent's durable on-device log and
39+
telemetry store straight from the GCS, including history that survives an
40+
agent restart, with an option to push it to the cloud backend.
41+
- **Software Update card.** The System tab shows live over-the-air update
42+
progress through each phase as the agent updates itself.
43+
- **Radio and pairing visibility.** The radio panel shows the rendezvous and
44+
current channel and band, whether the drone is transmitting, the peer-link
45+
and hop state, and the regulatory domain when set. It adds link tuning
46+
controls with auto-calibration, the live FEC ratio and adaptive mode, a
47+
warning when the radio adapter enumerated on a slow USB port (advancing its
48+
transmit counter while emitting no usable RF), a power-floor (muted PHY)
49+
badge, a coarse radio-stack rollup that names why a link is not
50+
transmitting, a video transmitter stall indicator, and bind
51+
injection-adapter readiness on the pairing card.
52+
- **Camera and video health.** The fleet card surfaces a missing or recovering
53+
air-side camera, including a USB power-contention diagnostic, even for a
54+
drone paired only over the LAN. Local-node video plays from the agent IP that
55+
is actually reachable.
56+
- **Per-drone plugins.** Plugins install against a specific drone, with the
57+
drone detail panel carrying a Plugins tab scoped to that drone (install,
58+
enable, disable, configure, uninstall). The list now shows each plugin's
59+
service readiness and per-plugin model-delivery status. Plugins can
60+
contribute a per-drone tab through a `drone.detail.tab` UI slot.
61+
- **Vision navigation surface.** Drones running the vision navigation plugin
62+
gain a Navigation tab with live optical flow rate and quality, rangefinder
63+
reading and health, the active EKF source set, and an arm-readiness summary.
64+
Backed by new `OPTICAL_FLOW_RAD`, `VISION_POSITION_ESTIMATE`, and `ODOMETRY`
65+
decoders, a `MAV_CMD_SET_EKF_SOURCE_SET` encoder, and a pre-arm parameter
66+
batch. The detection overlay carries lock-state and association confidence.
67+
- **One connect modal.** A single dialog connects a flight controller or a
68+
companion agent, and the Pair New Node dialog shows the exact agent install
69+
command. Pair-by-code resolves over the LAN with no cloud round-trip.
70+
- **Firmware flashing.** A complete in-app firmware flashing workflow.
71+
- **Ground station surfaces.** The uplink card shows cloud-relay forwarding
72+
state and surfaces a failed share-uplink apply, and you can trigger on-device
73+
touch calibration from the ground-station panel.
74+
- **Agent reach-back visibility.** The GCS surfaces agent management-link
75+
health, the management-link reach-back mode, and the USB-rehome self-heal
76+
state.
77+
78+
### Changed
79+
80+
- **Native desktop title bar** on macOS and Linux.
81+
- **Authenticated MAVLink link.** The MAVLink WebSocket proxy is ticket
82+
authenticated, and the GCS prefers the authenticated endpoint whenever the
83+
agent advertises it.
84+
- **Nodes, not drones.** Sidebar terminology moved from "drone" to "node",
85+
since an agent can run as a drone, ground, compute, relay, or receiver, with
86+
each row labeling its specific type.
87+
- **Local-first pairing throughout.** Pair flow (probe, claim, unpair) routes
88+
through the Mission Control proxy so `.local` hostnames resolve even in
89+
browsers without mDNS, an unreachable LAN probe explains itself instead of
90+
returning a bare 502, and a pairing code the cloud does not know returns a
91+
calm "pair on this network" prompt instead of a console error.
92+
- **Cloud relay hardening.** The relay forwards radio fields generically and
93+
records transmit-rate and churn counters, and its auth, retention, and
94+
heartbeat contract are tightened. Agent polling is bounded with clean aborts,
95+
and failed cloud command acknowledgements surface in the UI.
96+
- **Tooling.** Continuous integration now gates on lint and type-check,
97+
enforces a test-coverage floor, adds dependency scanning, and the codebase
98+
gained protocol and pairing state-machine test coverage.
99+
100+
### Fixed
101+
102+
- **Desktop fonts and map icons load.** The packaged app now serves its bundled
103+
fonts, and the Leaflet map control icons, from the correct asset path instead
104+
of 404ing, so the interface renders in its intended typefaces.
105+
- **Desktop app no longer crashes on launch.** The Convex client provider is
106+
always mounted, so a build with no cloud backend configured, and any screen
107+
that uses Convex, renders normally instead of dropping into the global error
108+
screen.
109+
- **Cloud features in the desktop app.** The desktop build now includes the
110+
cloud backend, so the community pages, sign-in, and cloud relay for remote
111+
drones work in the installed app, matching the web version.
112+
- **Geofence data loss.** The geofence editor is bound to the geofence store,
113+
so an edited fence is no longer dropped.
114+
- **Stuck and mis-gated panels.** Fleet video gating, bounded diagnostics, and
115+
recovery for stuck panels, plus corrected MAVLink routing, command
116+
correlation, and mission and mode handling.
117+
- **Local pairing edge cases.** A locally-paired node routes through one
118+
LAN-versus-cloud connect path, deleting a local drone purges its stored
119+
entry, and local-first mode no longer wipes pair state on sign-in.
120+
- **Desktop release pipeline builds the Windows installer.** The packaging
121+
step no longer rebuilds native node modules that the desktop wrapper never
122+
ships, so the Windows build no longer needs a C toolchain on the runner.
123+
All three platforms (macOS, Windows, Linux) package again.
124+
125+
### Removed
126+
127+
- **ROS tab.** The ROS sub-tab, its store, API client, types, and the related
128+
capability and heartbeat fields are gone, since the agent no longer ships a
129+
ROS environment.
130+
7131
## [0.34.2] - 2026-06-19
8132

9133
This desktop build re-ships the 0.34.1 feature set (rolled up from web versions

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "altnautica-command",
3-
"version": "0.34.2",
3+
"version": "0.34.3",
44
"private": false,
55
"license": "GPL-3.0-only",
66
"description": "Altnautica Command — Open-source Ground Control Station for autonomous drones",

0 commit comments

Comments
 (0)