Releases: altnautica/ADOSMissionControl
Release list
0.57.3
Altnautica Command v0.57.3
A third follow-up patch to 0.57.0, shipping three hotfixes that landed the
day after 0.57.2. Everything below is otherwise unchanged from 0.57.2,
repeated here so an update from before that release carries the full picture.
Added
- Four-firmware flight controller configuration. ArduPilot, PX4, Betaflight
and iNav each gain deep configuration surfaces. ArduPilot adds rover steering
and speed tuning, an EKF3 estimator panel, telemetry stream rates, QuadPlane
and VTOL, plane energy and navigation tuning, ArduSub, traditional
helicopter, non-GPS positioning, multi-instance rangefinders, airspeed,
harmonic notch, sailboat, gripper and ADS-b. PX4 adds flight behavior,
fixed-wing tuning, autotune for multicopter and fixed wing, VTOL transition,
GPS, control allocation, live actuator test and thermal calibration.
Betaflight adds serial ports, OSD with font upload, LED strip with a 16-colour
palette and mode-colour editor, receiver configuration, DShot special
commands, blackbox download and a CLI terminal with live output. iNav adds
per-index logic conditions, live global variables, OSD font upload and
editable landing datums. - Parameter metadata registry with bitmask and enum editors. Parameter
metadata now ships bundled with the app, so full names, ranges, units,
defaults and per-bit flag descriptions are available offline for every
firmware rather than only when an external site is reachable. A Set Bitmask
modal gives you labelled per-bit checkboxes with search, raw decimal and hex,
and preservation of bits it does not recognise, so an undocumented flag is
never silently cleared. Enum parameters get a real dropdown. An Options column
shows the decoded value at a glance, and the write confirmation shows the flag
difference before you commit. - A hosted parameter registry overlay. On top of the bundled floor, the app
can pull versioned metadata snapshots so parameter help matches the firmware
version actually on the board. iNav gains its full named-settings registry of
677 settings. - A JavaScript expression compiler for iNav logic conditions. Write a plain
expression and it compiles down to the underlying logic-condition slots
instead of hand-assembling them one row at a time. - Onboard Lua scripting for ArduPilot. A Scripts section under Setup manages
the scripts on the board over MAVLink file transfer, with upload by drag and
drop, download, delete, engine configuration and a filtered script console.
A starter catalog of first-party applets is one click to install. - MAVLink file transfer, structured events and native sockets. The file
transfer client now writes, lists and removes as well as reads, and is
hardened against a lossy or hostile server. PX4 structured events (message
410) decode into a readable feed backed by the vehicle's own event metadata,
so prearm, mode and failsafe messages are finally visible. Parameter metadata
can be served by the flight controller itself. The desktop app connects over
native UDP and TCP in addition to serial. - Mission planning, rebuilt. The Plan tab gains a survey solver that works
backwards from the ground sample distance you want to an altitude and a
motion-blur-safe speed, wind-optimised line orientation, fixed-wing turnaround
geometry, keep-out polygon skipping, a coverage footprint overlay, a quick
builder from the map bounds, and a change-detection resurvey planner. Landing
patterns cover fixed wing and VTOL. - A per-waypoint action timeline. Actions attach to the waypoint they belong
to, edited inline with reordering and a jump-target picker, and flatten and
re-nest correctly across upload, download, export and import. The command
palette filters to what your firmware actually supports. - Mission checks before you fly. Upload is blocked while validation errors
stand. Inclusion and exclusion zones, rally points and terrain clearance are
enforced, with a soft-buffer warning short of a hard breach. Terrain conflicts
are flagged along each leg and on the return-to-launch leg. There is an
advisory item-count check against the flight controller, a keyless airport
proximity gate, a flight energy model, sun times with a golden-hour card and a
pre-flight checklist. - Weather, import, export and sharing in the planner. A keyless go/no-go
weather card, boundary import from KML, KMZ and shapefiles, GeoTIFF orthophoto
overlay, a flight-brief PDF export, a built-in mission template library, plan
folders, points of interest, and shareable plan links that encode the plan in
the URL fragment so nothing leaves your machine. - A copilot for mission intent. Describe what you want in plain words and a
deterministic parser sets up the matching pattern. No key and no external
service. - Coordinates and units throughout. Live cursor coordinate and elevation
readout, a display-format preference across decimal degrees, degrees minutes
seconds, UTM and MGRS, forward geocoding search on the map, and one shared
units formatter behind the stats bar, pattern stats and altitude profile. - The Cockpit. The old Fly Mode is now the Cockpit, split into a Flight tab
and an immersive Cockpit tab. Flight behaviors are skills bound to hotkeys and
gamepad buttons on a shared skill bar, contributed by built-in commands and
extensions through the same registry. Widgets are arrangeable by zone and
persist with your loadout, information density is a per-loadout setting, and a
command palette on Ctrl or Cmd plus K searches and runs any drone command
through the same pipeline. The safety band showing arm state, battery, GPS and
link never hides. - Target designation in the Cockpit. Click a detection to designate it. A
what-is-locked chip names the current target, an aim-ahead lead reticle tracks
a moving one, and extensions contribute their own target actions into the
click popup with their own hotkeys. Detection boxes ease between batches so
they follow motion instead of stepping. - Multi-camera video with picture-in-picture. A node exposing more than one
camera gets stream tabs at the top left, switched by the number keys or by
cycling. A second stream can be pinned as a picture-in-picture inset whose
position persists per loadout. Concurrent streams flip instantly by
re-pointing at each leg's own address, switching is debounced so a rapid flip
cannot stack encoder restarts, and a dead leg is disabled rather than shown
as live. - Camera roster management. A Cameras surface on the node detail reads the
roster from the agent and round-trips per-leg bitrate and calibration. - A Nodes fleet board. A third dashboard view mode renders a dense live
table ordered live, then stale, then offline. Each row carries reach, link,
battery, mode and role, with per-row controls that act on that node over the
LAN or the cloud queue. Rows support selection, bulk apply-one-change and
search, and flight controls are gated on the same liveness the board shows. - A unified per-profile node console. One console adapts to the node in
front of you across drone, flight controller, ground station and workstation,
with a profile-aware hero header, sidebar and overview. The agent dashboard is
folded into Overview, the last tab you used is restored per node, and a
per-node feature framework lets you opt a drone into World Model capture. - A node Settings tab with thirteen configuration pages. Network uplink,
Wi-Fi scan and join, cellular APN, MAC pinning and adapter stability,
self-heal and link guardian, MAVLink routing, security, vision and
perception, world model, discovery and reach names, video and cameras, and
cloud, organised behind two-tier grouped navigation and reachable over the
LAN or the cloud.
Security downgrades and link-affecting toggles ask for confirmation first. - Relayed enrollment and a live mesh map. A drone linked to a paired ground
node over the radio enrolls as its own node, nested under the ground node that
carries it, with per-bearer reach provenance rather than a bare label. A live
node-to-node mesh and reach map names each relay funnel. - Extensions. What were called plugins are now Extensions, on a contribution
platform. One manifest block contributes tabs, settings sections, parameters,
models, mission templates, map overlays, skills, target actions and tools, all
resolved through one registry so a built-in surface and an extension surface
are the same shape. Parameters are described by JSON Schema and rendered
natively. Install works from the registry, from a URL pinned to the bytes the
agent reviewed, and local-first from a paired agent over the LAN with no cloud
round trip. The install dialog was rebuilt around trust signals, capability
chips and a contributions summary. - An MCP tab. Connect an AI client to your fleet through the Model Context
Protocol. A guided local-first setup wizard takes you from nothing to a
connected client in five steps with a live connection check, including a
one-command option that covers every drone on your LAN with no file and no
login. Machine credentials are scoped by capability and by node with an
expiry, and there is a searchable tool catalog, an audit log and a live panel
that shows calls as they happen. - Perception. The Vision tab is now Perception, grouped into engine,
execution, feed health, inputs and models. A drone without an accelerator can
offload detection to a paired workstation, configured per node, with the tier
and target surfaced honestly in the Cockpit beside streaming-session health.
Detections carry lock state and association confidence, are keyed by model and
camera stream, and reach the app over the cloud relay as well as the LAN. - ADOS Workstation. The compute profile is now the Workstation, with a
...
0.57.2
Altnautica Command v0.57.2
A second follow-up patch, released the same day as 0.57.1. Everything below
is otherwise unchanged from 0.57.1, repeated here so an update from before
that release carries the full picture.
Added
- Four-firmware flight controller configuration. ArduPilot, PX4, Betaflight
and iNav each gain deep configuration surfaces. ArduPilot adds rover steering
and speed tuning, an EKF3 estimator panel, telemetry stream rates, QuadPlane
and VTOL, plane energy and navigation tuning, ArduSub, traditional
helicopter, non-GPS positioning, multi-instance rangefinders, airspeed,
harmonic notch, sailboat, gripper and ADS-B. PX4 adds flight behavior,
fixed-wing tuning, autotune for multicopter and fixed wing, VTOL transition,
GPS, control allocation, live actuator test and thermal calibration.
Betaflight adds serial ports, OSD with font upload, LED strip with a 16-colour
palette and mode-colour editor, receiver configuration, DShot special
commands, blackbox download and a CLI terminal with live output. iNav adds
per-index logic conditions, live global variables, OSD font upload and
editable landing datums. - Parameter metadata registry with bitmask and enum editors. Parameter
metadata now ships bundled with the app, so full names, ranges, units,
defaults and per-bit flag descriptions are available offline for every
firmware rather than only when an external site is reachable. A Set Bitmask
modal gives you labelled per-bit checkboxes with search, raw decimal and hex,
and preservation of bits it does not recognise, so an undocumented flag is
never silently cleared. Enum parameters get a real dropdown. An Options column
shows the decoded value at a glance, and the write confirmation shows the flag
difference before you commit. - A hosted parameter registry overlay. On top of the bundled floor, the app
can pull versioned metadata snapshots so parameter help matches the firmware
version actually on the board. iNav gains its full named-settings registry of
677 settings. - A JavaScript expression compiler for iNav logic conditions. Write a plain
expression and it compiles down to the underlying logic-condition slots
instead of hand-assembling them one row at a time. - Onboard Lua scripting for ArduPilot. A Scripts section under Setup manages
the scripts on the board over MAVLink file transfer, with upload by drag and
drop, download, delete, engine configuration and a filtered script console.
A starter catalog of first-party applets is one click to install. - MAVLink file transfer, structured events and native sockets. The file
transfer client now writes, lists and removes as well as reads, and is
hardened against a lossy or hostile server. PX4 structured events (message
410) decode into a readable feed backed by the vehicle's own event metadata,
so prearm, mode and failsafe messages are finally visible. Parameter metadata
can be served by the flight controller itself. The desktop app connects over
native UDP and TCP in addition to serial. - Mission planning, rebuilt. The Plan tab gains a survey solver that works
backwards from the ground sample distance you want to an altitude and a
motion-blur-safe speed, wind-optimised line orientation, fixed-wing turnaround
geometry, keep-out polygon skipping, a coverage footprint overlay, a quick
builder from the map bounds, and a change-detection resurvey planner. Landing
patterns cover fixed wing and VTOL. - A per-waypoint action timeline. Actions attach to the waypoint they belong
to, edited inline with reordering and a jump-target picker, and flatten and
re-nest correctly across upload, download, export and import. The command
palette filters to what your firmware actually supports. - Mission checks before you fly. Upload is blocked while validation errors
stand. Inclusion and exclusion zones, rally points and terrain clearance are
enforced, with a soft-buffer warning short of a hard breach. Terrain conflicts
are flagged along each leg and on the return-to-launch leg. There is an
advisory item-count check against the flight controller, a keyless airport
proximity gate, a flight energy model, sun times with a golden-hour card and a
pre-flight checklist. - Weather, import, export and sharing in the planner. A keyless go/no-go
weather card, boundary import from KML, KMZ and shapefiles, GeoTIFF orthophoto
overlay, a flight-brief PDF export, a built-in mission template library, plan
folders, points of interest, and shareable plan links that encode the plan in
the URL fragment so nothing leaves your machine. - A copilot for mission intent. Describe what you want in plain words and a
deterministic parser sets up the matching pattern. No key and no external
service. - Coordinates and units throughout. Live cursor coordinate and elevation
readout, a display-format preference across decimal degrees, degrees minutes
seconds, UTM and MGRS, forward geocoding search on the map, and one shared
units formatter behind the stats bar, pattern stats and altitude profile. - The Cockpit. The old Fly Mode is now the Cockpit, split into a Flight tab
and an immersive Cockpit tab. Flight behaviors are skills bound to hotkeys and
gamepad buttons on a shared skill bar, contributed by built-in commands and
extensions through the same registry. Widgets are arrangeable by zone and
persist with your loadout, information density is a per-loadout setting, and a
command palette on Ctrl or Cmd plus K searches and runs any drone command
through the same pipeline. The safety band showing arm state, battery, GPS and
link never hides. - Target designation in the Cockpit. Click a detection to designate it. A
what-is-locked chip names the current target, an aim-ahead lead reticle tracks
a moving one, and extensions contribute their own target actions into the
click popup with their own hotkeys. Detection boxes ease between batches so
they follow motion instead of stepping. - Multi-camera video with picture-in-picture. A node exposing more than one
camera gets stream tabs at the top left, switched by the number keys or by
cycling. A second stream can be pinned as a picture-in-picture inset whose
position persists per loadout. Concurrent streams flip instantly by
re-pointing at each leg's own address, switching is debounced so a rapid flip
cannot stack encoder restarts, and a dead leg is disabled rather than shown
as live. - Camera roster management. A Cameras surface on the node detail reads the
roster from the agent and round-trips per-leg bitrate and calibration. - A Nodes fleet board. A third dashboard view mode renders a dense live
table ordered live, then stale, then offline. Each row carries reach, link,
battery, mode and role, with per-row controls that act on that node over the
LAN or the cloud queue. Rows support selection, bulk apply-one-change and
search, and flight controls are gated on the same liveness the board shows. - A unified per-profile node console. One console adapts to the node in
front of you across drone, flight controller, ground station and workstation,
with a profile-aware hero header, sidebar and overview. The agent dashboard is
folded into Overview, the last tab you used is restored per node, and a
per-node feature framework lets you opt a drone into World Model capture. - A node Settings tab with thirteen configuration pages. Network uplink,
Wi-Fi scan and join, cellular APN, MAC pinning and adapter stability,
self-heal and link guardian, MAVLink routing, security, vision and
perception, world model, discovery and reach names, video and cameras, and
cloud, organised behind two-tier grouped navigation and reachable over the
LAN or the cloud.
Security downgrades and link-affecting toggles ask for confirmation first. - Relayed enrollment and a live mesh map. A drone linked to a paired ground
node over the radio enrolls as its own node, nested under the ground node that
carries it, with per-bearer reach provenance rather than a bare label. A live
node-to-node mesh and reach map names each relay funnel. - Extensions. What were called plugins are now Extensions, on a contribution
platform. One manifest block contributes tabs, settings sections, parameters,
models, mission templates, map overlays, skills, target actions and tools, all
resolved through one registry so a built-in surface and an extension surface
are the same shape. Parameters are described by JSON Schema and rendered
natively. Install works from the registry, from a URL pinned to the bytes the
agent reviewed, and local-first from a paired agent over the LAN with no cloud
round trip. The install dialog was rebuilt around trust signals, capability
chips and a contributions summary. - An MCP tab. Connect an AI client to your fleet through the Model Context
Protocol. A guided local-first setup wizard takes you from nothing to a
connected client in five steps with a live connection check, including a
one-command option that covers every drone on your LAN with no file and no
login. Machine credentials are scoped by capability and by node with an
expiry, and there is a searchable tool catalog, an audit log and a live panel
that shows calls as they happen. - Perception. The Vision tab is now Perception, grouped into engine,
execution, feed health, inputs and models. A drone without an accelerator can
offload detection to a paired workstation, configured per node, with the tier
and target surfaced honestly in the Cockpit beside streaming-session health.
Detections carry lock state and association confidence, are keyed by model and
camera stream, and reach the app over the cloud relay as well as the LAN. - ADOS Workstation. The compute profile is now the Workstation, with a
branded dashboard showing real G...
0.57.1
Altnautica Command v0.57.1
A follow-up patch to 0.57.0, closing a gap that surfaced immediately after
that release. Everything below is otherwise unchanged from 0.57.0, repeated
here so an update from before that release carries the full picture.
Added
- Four-firmware flight controller configuration. ArduPilot, PX4, Betaflight
and iNav each gain deep configuration surfaces. ArduPilot adds rover steering
and speed tuning, an EKF3 estimator panel, telemetry stream rates, QuadPlane
and VTOL, plane energy and navigation tuning, ArduSub, traditional
helicopter, non-GPS positioning, multi-instance rangefinders, airspeed,
harmonic notch, sailboat, gripper and ADS-B. PX4 adds flight behavior,
fixed-wing tuning, autotune for multicopter and fixed wing, VTOL transition,
GPS, control allocation, live actuator test and thermal calibration.
Betaflight adds serial ports, OSD with font upload, LED strip with a 16-colour
palette and mode-colour editor, receiver configuration, DShot special
commands, blackbox download and a CLI terminal with live output. iNav adds
per-index logic conditions, live global variables, OSD font upload and
editable landing datums. - Parameter metadata registry with bitmask and enum editors. Parameter
metadata now ships bundled with the app, so full names, ranges, units,
defaults and per-bit flag descriptions are available offline for every
firmware rather than only when an external site is reachable. A Set Bitmask
modal gives you labelled per-bit checkboxes with search, raw decimal and hex,
and preservation of bits it does not recognise, so an undocumented flag is
never silently cleared. Enum parameters get a real dropdown. An Options column
shows the decoded value at a glance, and the write confirmation shows the flag
difference before you commit. - A hosted parameter registry overlay. On top of the bundled floor, the app
can pull versioned metadata snapshots so parameter help matches the firmware
version actually on the board. iNav gains its full named-settings registry of
677 settings. - A JavaScript expression compiler for iNav logic conditions. Write a plain
expression and it compiles down to the underlying logic-condition slots
instead of hand-assembling them one row at a time. - Onboard Lua scripting for ArduPilot. A Scripts section under Setup manages
the scripts on the board over MAVLink file transfer, with upload by drag and
drop, download, delete, engine configuration and a filtered script console.
A starter catalog of first-party applets is one click to install. - MAVLink file transfer, structured events and native sockets. The file
transfer client now writes, lists and removes as well as reads, and is
hardened against a lossy or hostile server. PX4 structured events (message
410) decode into a readable feed backed by the vehicle's own event metadata,
so prearm, mode and failsafe messages are finally visible. Parameter metadata
can be served by the flight controller itself. The desktop app connects over
native UDP and TCP in addition to serial. - Mission planning, rebuilt. The Plan tab gains a survey solver that works
backwards from the ground sample distance you want to an altitude and a
motion-blur-safe speed, wind-optimised line orientation, fixed-wing turnaround
geometry, keep-out polygon skipping, a coverage footprint overlay, a quick
builder from the map bounds, and a change-detection resurvey planner. Landing
patterns cover fixed wing and VTOL. - A per-waypoint action timeline. Actions attach to the waypoint they belong
to, edited inline with reordering and a jump-target picker, and flatten and
re-nest correctly across upload, download, export and import. The command
palette filters to what your firmware actually supports. - Mission checks before you fly. Upload is blocked while validation errors
stand. Inclusion and exclusion zones, rally points and terrain clearance are
enforced, with a soft-buffer warning short of a hard breach. Terrain conflicts
are flagged along each leg and on the return-to-launch leg. There is an
advisory item-count check against the flight controller, a keyless airport
proximity gate, a flight energy model, sun times with a golden-hour card and a
pre-flight checklist. - Weather, import, export and sharing in the planner. A keyless go/no-go
weather card, boundary import from KML, KMZ and shapefiles, GeoTIFF orthophoto
overlay, a flight-brief PDF export, a built-in mission template library, plan
folders, points of interest, and shareable plan links that encode the plan in
the URL fragment so nothing leaves your machine. - A copilot for mission intent. Describe what you want in plain words and a
deterministic parser sets up the matching pattern. No key and no external
service. - Coordinates and units throughout. Live cursor coordinate and elevation
readout, a display-format preference across decimal degrees, degrees minutes
seconds, UTM and MGRS, forward geocoding search on the map, and one shared
units formatter behind the stats bar, pattern stats and altitude profile. - The Cockpit. The old Fly Mode is now the Cockpit, split into a Flight tab
and an immersive Cockpit tab. Flight behaviors are skills bound to hotkeys and
gamepad buttons on a shared skill bar, contributed by built-in commands and
extensions through the same registry. Widgets are arrangeable by zone and
persist with your loadout, information density is a per-loadout setting, and a
command palette on Ctrl or Cmd plus K searches and runs any drone command
through the same pipeline. The safety band showing arm state, battery, GPS and
link never hides. - Target designation in the Cockpit. Click a detection to designate it. A
what-is-locked chip names the current target, an aim-ahead lead reticle tracks
a moving one, and extensions contribute their own target actions into the
click popup with their own hotkeys. Detection boxes ease between batches so
they follow motion instead of stepping. - Multi-camera video with picture-in-picture. A node exposing more than one
camera gets stream tabs at the top left, switched by the number keys or by
cycling. A second stream can be pinned as a picture-in-picture inset whose
position persists per loadout. Concurrent streams flip instantly by
re-pointing at each leg's own address, switching is debounced so a rapid flip
cannot stack encoder restarts, and a dead leg is disabled rather than shown
as live. - Camera roster management. A Cameras surface on the node detail reads the
roster from the agent and round-trips per-leg bitrate and calibration. - A Nodes fleet board. A third dashboard view mode renders a dense live
table ordered live, then stale, then offline. Each row carries reach, link,
battery, mode and role, with per-row controls that act on that node over the
LAN or the cloud queue. Rows support selection, bulk apply-one-change and
search, and flight controls are gated on the same liveness the board shows. - A unified per-profile node console. One console adapts to the node in
front of you across drone, flight controller, ground station and workstation,
with a profile-aware hero header, sidebar and overview. The agent dashboard is
folded into Overview, the last tab you used is restored per node, and a
per-node feature framework lets you opt a drone into World Model capture. - A node Settings tab with thirteen configuration pages. Network uplink,
Wi-Fi scan and join, cellular APN, MAC pinning and adapter stability,
self-heal and link guardian, MAVLink routing, security, vision and
perception, world model, discovery and reach names, video and cameras, and
cloud, organised behind two-tier grouped navigation and reachable over the
LAN or the cloud.
Security downgrades and link-affecting toggles ask for confirmation first. - Relayed enrollment and a live mesh map. A drone linked to a paired ground
node over the radio enrolls as its own node, nested under the ground node that
carries it, with per-bearer reach provenance rather than a bare label. A live
node-to-node mesh and reach map names each relay funnel. - Extensions. What were called plugins are now Extensions, on a contribution
platform. One manifest block contributes tabs, settings sections, parameters,
models, mission templates, map overlays, skills, target actions and tools, all
resolved through one registry so a built-in surface and an extension surface
are the same shape. Parameters are described by JSON Schema and rendered
natively. Install works from the registry, from a URL pinned to the bytes the
agent reviewed, and local-first from a paired agent over the LAN with no cloud
round trip. The install dialog was rebuilt around trust signals, capability
chips and a contributions summary. - An MCP tab. Connect an AI client to your fleet through the Model Context
Protocol. A guided local-first setup wizard takes you from nothing to a
connected client in five steps with a live connection check, including a
one-command option that covers every drone on your LAN with no file and no
login. Machine credentials are scoped by capability and by node with an
expiry, and there is a searchable tool catalog, an audit log and a live panel
that shows calls as they happen. - Perception. The Vision tab is now Perception, grouped into engine,
execution, feed health, inputs and models. A drone without an accelerator can
offload detection to a paired workstation, configured per node, with the tier
and target surfaced honestly in the Cockpit beside streaming-session health.
Detections carry lock state and association confidence, are keyed by model and
camera stream, and reach the app over the cloud relay as well as the LAN. - ADOS Workstation. The compute profile is now the Workstation, with a
br...
0.57.0
Altnautica Command v0.57.0
This release rolls up everything since 0.34.4, covering versions 0.35.0 through
0.57.0 and roughly five weeks of work. Highlights below, grouped by area.
The thread running through it is breadth. Mission Control now configures four
flight-controller firmwares at the depth their own configurators do, plans and
checks a mission against terrain, airspace, energy and weather before you fly
it, and treats every node in a fleet as a first-class object with its own
console, settings and reach provenance.
Added
- Four-firmware flight controller configuration. ArduPilot, PX4, Betaflight
and iNav each gain deep configuration surfaces. ArduPilot adds rover steering
and speed tuning, an EKF3 estimator panel, telemetry stream rates, QuadPlane
and VTOL, plane energy and navigation tuning, ArduSub, traditional
helicopter, non-GPS positioning, multi-instance rangefinders, airspeed,
harmonic notch, sailboat, gripper and ADS-B. PX4 adds flight behavior,
fixed-wing tuning, autotune for multicopter and fixed wing, VTOL transition,
GPS, control allocation, live actuator test and thermal calibration.
Betaflight adds serial ports, OSD with font upload, LED strip with a 16-colour
palette and mode-colour editor, receiver configuration, DShot special
commands, blackbox download and a CLI terminal with live output. iNav adds
per-index logic conditions, live global variables, OSD font upload and
editable landing datums. - Parameter metadata registry with bitmask and enum editors. Parameter
metadata now ships bundled with the app, so full names, ranges, units,
defaults and per-bit flag descriptions are available offline for every
firmware rather than only when an external site is reachable. A Set Bitmask
modal gives you labelled per-bit checkboxes with search, raw decimal and hex,
and preservation of bits it does not recognise, so an undocumented flag is
never silently cleared. Enum parameters get a real dropdown. An Options column
shows the decoded value at a glance, and the write confirmation shows the flag
difference before you commit. - A hosted parameter registry overlay. On top of the bundled floor, the app
can pull versioned metadata snapshots so parameter help matches the firmware
version actually on the board. iNav gains its full named-settings registry of
677 settings. - A JavaScript expression compiler for iNav logic conditions. Write a plain
expression and it compiles down to the underlying logic-condition slots
instead of hand-assembling them one row at a time. - Onboard Lua scripting for ArduPilot. A Scripts section under Setup manages
the scripts on the board over MAVLink file transfer, with upload by drag and
drop, download, delete, engine configuration and a filtered script console.
A starter catalog of first-party applets is one click to install. - MAVLink file transfer, structured events and native sockets. The file
transfer client now writes, lists and removes as well as reads, and is
hardened against a lossy or hostile server. PX4 structured events (message
410) decode into a readable feed backed by the vehicle's own event metadata,
so prearm, mode and failsafe messages are finally visible. Parameter metadata
can be served by the flight controller itself. The desktop app connects over
native UDP and TCP in addition to serial. - Mission planning, rebuilt. The Plan tab gains a survey solver that works
backwards from the ground sample distance you want to an altitude and a
motion-blur-safe speed, wind-optimised line orientation, fixed-wing turnaround
geometry, keep-out polygon skipping, a coverage footprint overlay, a quick
builder from the map bounds, and a change-detection resurvey planner. Landing
patterns cover fixed wing and VTOL. - A per-waypoint action timeline. Actions attach to the waypoint they belong
to, edited inline with reordering and a jump-target picker, and flatten and
re-nest correctly across upload, download, export and import. The command
palette filters to what your firmware actually supports. - Mission checks before you fly. Upload is blocked while validation errors
stand. Inclusion and exclusion zones, rally points and terrain clearance are
enforced, with a soft-buffer warning short of a hard breach. Terrain conflicts
are flagged along each leg and on the return-to-launch leg. There is an
advisory item-count check against the flight controller, a keyless airport
proximity gate, a flight energy model, sun times with a golden-hour card and a
pre-flight checklist. - Weather, import, export and sharing in the planner. A keyless go/no-go
weather card, boundary import from KML, KMZ and shapefiles, GeoTIFF orthophoto
overlay, a flight-brief PDF export, a built-in mission template library, plan
folders, points of interest, and shareable plan links that encode the plan in
the URL fragment so nothing leaves your machine. - A copilot for mission intent. Describe what you want in plain words and a
deterministic parser sets up the matching pattern. No key and no external
service. - Coordinates and units throughout. Live cursor coordinate and elevation
readout, a display-format preference across decimal degrees, degrees minutes
seconds, UTM and MGRS, forward geocoding search on the map, and one shared
units formatter behind the stats bar, pattern stats and altitude profile. - The Cockpit. The old Fly Mode is now the Cockpit, split into a Flight tab
and an immersive Cockpit tab. Flight behaviors are skills bound to hotkeys and
gamepad buttons on a shared skill bar, contributed by built-in commands and
extensions through the same registry. Widgets are arrangeable by zone and
persist with your loadout, information density is a per-loadout setting, and a
command palette on Ctrl or Cmd plus K searches and runs any drone command
through the same pipeline. The safety band showing arm state, battery, GPS and
link never hides. - Target designation in the Cockpit. Click a detection to designate it. A
what-is-locked chip names the current target, an aim-ahead lead reticle tracks
a moving one, and extensions contribute their own target actions into the
click popup with their own hotkeys. Detection boxes ease between batches so
they follow motion instead of stepping. - Multi-camera video with picture-in-picture. A node exposing more than one
camera gets stream tabs at the top left, switched by the number keys or by
cycling. A second stream can be pinned as a picture-in-picture inset whose
position persists per loadout. Concurrent streams flip instantly by
re-pointing at each leg's own address, switching is debounced so a rapid flip
cannot stack encoder restarts, and a dead leg is disabled rather than shown
as live. - Camera roster management. A Cameras surface on the node detail reads the
roster from the agent and round-trips per-leg bitrate and calibration. - A Nodes fleet board. A third dashboard view mode renders a dense live
table ordered live, then stale, then offline. Each row carries reach, link,
battery, mode and role, with per-row controls that act on that node over the
LAN or the cloud queue. Rows support selection, bulk apply-one-change and
search, and flight controls are gated on the same liveness the board shows. - A unified per-profile node console. One console adapts to the node in
front of you across drone, flight controller, ground station and workstation,
with a profile-aware hero header, sidebar and overview. The agent dashboard is
folded into Overview, the last tab you used is restored per node, and a
per-node feature framework lets you opt a drone into World Model capture. - A node Settings tab with thirteen configuration pages. Network uplink,
Wi-Fi scan and join, cellular APN, MAC pinning and adapter stability,
self-heal and link guardian, MAVLink routing, security, vision and
perception, world model, discovery and reach names, video and cameras, and
cloud, organised behind two-tier grouped navigation and reachable over the
LAN or the cloud.
Security downgrades and link-affecting toggles ask for confirmation first. - Relayed enrollment and a live mesh map. A drone linked to a paired ground
node over the radio enrolls as its own node, nested under the ground node that
carries it, with per-bearer reach provenance rather than a bare label. A live
node-to-node mesh and reach map names each relay funnel. - Extensions. What were called plugins are now Extensions, on a contribution
platform. One manifest block contributes tabs, settings sections, parameters,
models, mission templates, map overlays, skills, target actions and tools, all
resolved through one registry so a built-in surface and an extension surface
are the same shape. Parameters are described by JSON Schema and rendered
natively. Install works from the registry, from a URL pinned to the bytes the
agent reviewed, and local-first from a paired agent over the LAN with no cloud
round trip. The install dialog was rebuilt around trust signals, capability
chips and a contributions summary. - An MCP tab. Connect an AI client to your fleet through the Model Context
Protocol. A guided local-first setup wizard takes you from nothing to a
connected client in five steps with a live connection check, including a
one-command option that covers every drone on your LAN with no file and no
login. Machine credentials are scoped by capability and by node with an
expiry, and there is a searchable tool catalog, an audit log and a live panel
that shows calls as they happen. - Perception. The Vision tab is now Perception, grouped into engine,
execution, feed health, inputs and models. A drone without an accelerator can
offload detection to a paired workstation, configured per node, with the tier
and target surfaced honestly ...
0.34.4
Altnautica Command v0.34.4
A patch over 0.34.3 that makes flight-controller link health honest: the GCS now
tells you when a flight controller is plugged in but is not actually speaking
MAVLink, instead of showing a connected badge over stale telemetry.
Added
- Flight-controller link diagnostics. When a flight controller's port is
open but no MAVLink heartbeat is decoding, the agent status reads "Port open ·
no MAVLink" (amber) instead of a false "Connected", with an actionable message
telling you what to fix — for example, set the flight controller's serial
protocol to MAVLink (on ArduPilot,SERIAL0_PROTOCOL=2on the USB port; on
iNav, enable MAVLink on the port). A board that is speaking MSP instead of
MAVLink is called out specifically. - Fleet-card flight-controller pill. The per-drone fleet card surfaces a
silent flight controller ("FC: no MAVLink" / "FC: MSP") so you can spot it at a
glance without opening the detail panel, whether the drone is paired over the
LAN or over the cloud relay.
Fixed
- No more stale telemetry shown as live. When the flight-controller link goes
silent, the Flight Data card, the telemetry readout, and the drone-detail
health metrics blank attitude, GPS, and battery to placeholders instead of
freezing the last sample as if it were live. GPS fields stay gated on a real
fix. - Link health reaches both connection paths. The gated link state (transport
open, heartbeat alive, heartbeat age) and the diagnostic hint now flow through
both the LAN-direct and cloud-relay views, so a remotely connected operator
sees the same honest state a locally connected one does.
Downloads
- macOS:
.dmg(Intel and Apple Silicon) - Windows:
.exeinstaller - Linux:
.AppImage
For the latest web version, visit command.altnautica.com.
0.34.3
Altnautica Command v0.34.3
This desktop build is a patch over 0.34.2 (same 0.10.6 through 0.34.x feature
set) that fixes bundled-asset loading in the installed app. Highlights below,
grouped by area.
Added
- Mission planning, reworked. The Plan tab now drives every map tool from a
single interaction mode with one labeled toolbar, so select, waypoint, draw,
measure, geofence, and rally no longer fight each other. A persistent hint
reminds you that a select-click drops a waypoint. Search patterns get an
explicit Set Datum tool. Rally placement is a sticky tool. Undo is unified
across waypoints, geofence, rally, and drawn shapes. Each waypoint keeps its
own altitude reference frame through upload, export, and import. Missions
export losslessly to.altmissionand.kmz. Offline tile download follows
wherever you have panned the map. A Center Map Here action and working
geofence-clear and rally-clear buttons round it out. - Mission upload feedback. Uploading a mission to the flight controller now
reports success or failure instead of finishing silently, and each waypoint's
altitude frame is sent exactly as drawn. - Simulation playback. The simulator runs from a single clock, shows only
the values it actually models, labels its HUD as a preview rather than live
telemetry, and preserves the flight duration when you rewind. - Fleet dashboard, one card per agent. Each agent renders as a single card
derived from its device id, so an agent and the flight controller behind it
collapse into one entry instead of duplicating. The detail panel adapts to
the node's profile (drone, ground station, or compute) through a surface
registry that shows only the tabs that node supports. A new node grid view
puts live video tiles side by side, with a grid or overview toggle. Stale
local nodes show a clear re-pair or remove prompt. - Black Box log viewer. Read the agent's durable on-device log and
telemetry store straight from the GCS, including history that survives an
agent restart, with an option to push it to the cloud backend. - Software Update card. The System tab shows live over-the-air update
progress through each phase as the agent updates itself. - Radio and pairing visibility. The radio panel shows the rendezvous and
current channel and band, whether the drone is transmitting, the peer-link
and hop state, and the regulatory domain when set. It adds link tuning
controls with auto-calibration, the live FEC ratio and adaptive mode, a
warning when the radio adapter enumerated on a slow USB port (advancing its
transmit counter while emitting no usable RF), a power-floor (muted PHY)
badge, a coarse radio-stack rollup that names why a link is not
transmitting, a video transmitter stall indicator, and bind
injection-adapter readiness on the pairing card. - Camera and video health. The fleet card surfaces a missing or recovering
air-side camera, including a USB power-contention diagnostic, even for a
drone paired only over the LAN. Local-node video plays from the agent IP that
is actually reachable. - Per-drone plugins. Plugins install against a specific drone, with the
drone detail panel carrying a Plugins tab scoped to that drone (install,
enable, disable, configure, uninstall). The list now shows each plugin's
service readiness and per-plugin model-delivery status. Plugins can
contribute a per-drone tab through adrone.detail.tabUI slot. - Vision navigation surface. Drones running the vision navigation plugin
gain a Navigation tab with live optical flow rate and quality, rangefinder
reading and health, the active EKF source set, and an arm-readiness summary.
Backed by newOPTICAL_FLOW_RAD,VISION_POSITION_ESTIMATE, andODOMETRY
decoders, aMAV_CMD_SET_EKF_SOURCE_SETencoder, and a pre-arm parameter
batch. The detection overlay carries lock-state and association confidence. - One connect modal. A single dialog connects a flight controller or a
companion agent, and the Pair New Node dialog shows the exact agent install
command. Pair-by-code resolves over the LAN with no cloud round-trip. - Firmware flashing. A complete in-app firmware flashing workflow.
- Ground station surfaces. The uplink card shows cloud-relay forwarding
state and surfaces a failed share-uplink apply, and you can trigger on-device
touch calibration from the ground-station panel. - Agent reach-back visibility. The GCS surfaces agent management-link
health, the management-link reach-back mode, and the USB-rehome self-heal
state.
Changed
- Native desktop title bar on macOS and Linux.
- Authenticated MAVLink link. The MAVLink WebSocket proxy is ticket
authenticated, and the GCS prefers the authenticated endpoint whenever the
agent advertises it. - Nodes, not drones. Sidebar terminology moved from "drone" to "node",
since an agent can run as a drone, ground, compute, relay, or receiver, with
each row labeling its specific type. - Local-first pairing throughout. Pair flow (probe, claim, unpair) routes
through the Mission Control proxy so.localhostnames resolve even in
browsers without mDNS, an unreachable LAN probe explains itself instead of
returning a bare 502, and a pairing code the cloud does not know returns a
calm "pair on this network" prompt instead of a console error. - Cloud relay hardening. The relay forwards radio fields generically and
records transmit-rate and churn counters, and its auth, retention, and
heartbeat contract are tightened. Agent polling is bounded with clean aborts,
and failed cloud command acknowledgements surface in the UI. - Tooling. Continuous integration now gates on lint and type-check,
enforces a test-coverage floor, adds dependency scanning, and the codebase
gained protocol and pairing state-machine test coverage.
Fixed
- Desktop fonts and map icons load. The packaged app now serves its bundled
fonts, and the Leaflet map control icons, from the correct asset path instead
of 404ing, so the interface renders in its intended typefaces. - Desktop app no longer crashes on launch. The Convex client provider is
always mounted, so a build with no cloud backend configured, and any screen
that uses Convex, renders normally instead of dropping into the global error
screen. - Cloud features in the desktop app. The desktop build now includes the
cloud backend, so the community pages, sign-in, and cloud relay for remote
drones work in the installed app, matching the web version. - Geofence data loss. The geofence editor is bound to the geofence store,
so an edited fence is no longer dropped. - Stuck and mis-gated panels. Fleet video gating, bounded diagnostics, and
recovery for stuck panels, plus corrected MAVLink routing, command
correlation, and mission and mode handling. - Local pairing edge cases. A locally-paired node routes through one
LAN-versus-cloud connect path, deleting a local drone purges its stored
entry, and local-first mode no longer wipes pair state on sign-in. - Desktop release pipeline builds the Windows installer. The packaging
step no longer rebuilds native node modules that the desktop wrapper never
ships, so the Windows build no longer needs a C toolchain on the runner.
All three platforms (macOS, Windows, Linux) package again.
Removed
- ROS tab. The ROS sub-tab, its store, API client, types, and the related
capability and heartbeat fields are gone, since the agent no longer ships a
ROS environment.
Downloads
- macOS:
.dmg(Intel and Apple Silicon) - Windows:
.exeinstaller - Linux:
.AppImage
For the latest web version, visit command.altnautica.com.
0.10.5
Altnautica Command v0.10.5
[0.10.5] - 2026-05-06
Fixed
- Desktop release pipeline now builds the macOS DMG. The
@xmldom/xmldom
override pinned the package to^0.9.10, whose strict-mode parser
rejectsparseFromString(content)calls without a mime type. That
brokeelectron-builder's plist parser end ofapp-builder-lib,
which relies on the older lenient API. Override relaxed to^0.8.10
so the security-patched0.8.xline ships and the build pipeline
succeeds. No source code imports@xmldom/xmldomdirectly; this
override only affected transitive consumers.
[0.10.4] - 2026-05-06
Headline fix: the desktop app no longer hangs as a hidden process when the
embedded server fails to start. Plus a wide pass on the firmware tab, plugin
host foundation, fleet overview, and the Hardware tab.
Fixed
- Desktop app now opens its window reliably on macOS and Windows. Previously,
if the embedded Next.js standalone server failed to start within the
startup timeout, the window-creation path was never reached and the app
sat as a hidden process with no way to recover. Three changes close this:app.whenReady()is wrapped so any startup failure surfaces an error
dialog and the app exits cleanly instead of leaving a windowless process.- The window force-shows on
did-finish-loadanddid-fail-loadso a
renderer that loads but never emitsready-to-show, or a page that
fails to load, no longer leaves the user staring at a dock icon. - Server-startup wait reduced from 30s to 15s so genuine failures surface
quickly instead of feeling like the app is frozen.
- Single-instance lock now hard-exits the secondary process instead of
letting initialization continue pastapp.quit(). - Windows installer events (
--squirrel-install,--squirrel-updated,
--squirrel-uninstall,--squirrel-obsolete) exit the app immediately
so installer-spawned processes do not linger as windowless background apps.
Added
- ADOS agent stack support in the firmware tab. Flash the agent
software stack alongside flight-controller firmware, with a Rockchip
bootrom flasher for ADOS-class companion computers. The agent manifest
is signed with minisign and verified at install time; an offline catalog
UI lets operators pick a build without a live network connection. Schema
versioning on the manifest keeps older clients compatible. - Fleet overview with live video and telemetry on the Command page.
Multiple drones at a glance, with each card pulling its own status,
battery, GPS fix, runtime mode, and live preview. - Plugin host foundation for ADOS plugins. Settings page exposes a
Plugins tab with an installed-plugins list and a registry browser. The
slot orchestrator mounts each plugin contribution into a sandboxed
iframe gated on aui.slot.*capability. Two-stage install dialog
parses the manifest and shows the permission set before commit, with
partial-grant failure surfaces and pinned required permissions. - Hardware tab surfaces attached SPI displays at the fleet level and
on individual drone cards. The tab populates from the agent's
profileandhardware-checkpayloads, andruntimeModepropagates
through the capability inference fallback path so older agents without
an explicit field still gate features correctly. - Setup-and-access integration end-to-end with the agent. The Command
page consumes the universal setup contract (status, access URLs,
remote-access state) and surfaces it with cloud-relay enhancements. - CLI service-management and production-deployment wizard for
self-hosted Convex backends. /pairdeep link now accepts a pre-filled pairing code, simplifying
field setup from a printed sticker or QR.- Camera-trigger toggle on simulation drones, with sync-performance
improvements while the toggle runs. - Conditional planner UI render based on whether a plan is active, idle,
loaded, or dirty.
Changed
- Capability inference now covers BCM2710A1 (Pi Zero 2 W), BCM2711
(Pi 4B), BCM2712 (Pi 5), RV1106G3 (Luckfox class), and RV1103 SoCs,
with NPU TOPS lookup for each. - Runtime-mode propagation:
runtimeModeflows from the agent
heartbeat throughcmd_droneStatusandcmd_dronesinto the
capability store. The fleet card renders a small "Lite" pill for
drones running the constrained backend; Smart Modes, ROS, and Scripts
tabs hide on lite-mode drones. - Cloud-relay HTTP routes moved behind internal Convex functions,
with input validation, response size limits, and safety overrides on
every command-path entry. - Cloud-command gating: the GCS no longer enqueues cloud commands
when the user is not authenticated. - Convex skip-guards added across the Command page so reactive
queries no longer crash when auth or runtime context is absent. - Locale-aware number rendering for currency, percent, and decimal
values; telemetry freshness now flags stale data older than 45s. - Zustand store hardening: added version + migrate handlers across
persisted stores; previouslyany-typed surfaces now use Zod schemas
for runtime validation. - iNav mock protocol corrections and roadmap-copy refresh in locales.
Downloads
- macOS:
.dmg(Intel and Apple Silicon) - Windows:
.exeinstaller - Linux:
.AppImage
For the latest web version, visit command.altnautica.com.
0.8.19
Altnautica Command v0.8.19
Two weeks of work since 0.3.0. Polish, decomposition, a stronger type story across the agent boundary, and some real user-facing wins.
Agent connection and cloud resilience
- Capability negotiation at handshake. The GCS reads version and feature flags from the agent on connect and adapts the UI to what the agent actually supports. Older agents stay usable.
- Cloud relay paths bound their upstream proxy fetches with abort controllers, surface MQTT broker errors, and log reconnect attempts.
- Agent connection state reorganized into per-concern slices for cleaner separation of local vs cloud state.
Flight history and replay
- Cloud-backed flight log pagination. The history pane fetches in pages instead of pulling all logs at once, which keeps load fast even after a long ops season.
- Locale-aware number rendering across history and stats surfaces using
Intl.NumberFormatfor currency, percent, and decimal.
Telemetry and HUD
- TopBar tree memoized through a dedicated hook that subscribes only to telemetry version and ring-buffer references. Removes per-tick re-renders during flight data updates.
- Stale-data badges on system resource gauges, sparklines, and service tables when data is older than 45 seconds.
Video pipeline
- Video store reads slimmed via selector slicing.
- WebRTC peer cleanup stops both receiver and sender tracks before closing the connection. No more leaked tracks on disconnect.
- Single timer replaces the 1-second retry countdown for streaming reconnect.
Flight controller panels
- Six FC panels (Rate Profile, Power, VTX, Ports, GPS, LED) now use a shared
useParamPanelActionshook with one canonical save / flash / revert path. Less drift between panels. - iNav configuration panels and the Drone Configure tab decomposed via re-export aggregators. Imports unchanged for callers.
- Mock protocol corrections for iNav: MSP command IDs, decoder entry sizes, and settings marshaling now match real hardware.
Type safety
- Seventeen new Zod schemas validate agent API responses at the boundary.
- Fifty-plus
anycasts removed from the agent client manager. Thirteen endpoints are now safely parsed. - New
npm run generate:agent-typesproduces a typed agent API client from the OpenAPI spec.
UI polish
- Three-group visual layout for Command sub-tabs with keyboard navigation.
- Fleet sidebar virtualizes when more than twelve drones are connected.
- Persisted Zustand stores carry version numbers and migration handlers, so future schema changes do not strand existing user data.
Bug fixes
- Cloud sync auto-walks paginated flight logs.
- Panel params hook accepts
readonly string[]forparamNames, preventing inline-spread arrays from triggering refetch loops. - MQTT subscription failures surface broker rejections in the UI.
- Changelog timeline query skips when Convex is unavailable instead of crashing.
- WebRTC track lifecycle hardened.
Downloads
- macOS:
.dmg(Intel and Apple Silicon) - Windows:
.exeinstaller - Linux:
.AppImage
Desktop builds may lag behind the web version.
For the latest, use command.altnautica.com
or clone the repo and run locally (npm install && npm run dev).
0.3.0
Altnautica Command 0.3.0
Ground Station + Flight History. 224 commits since 0.1.8. The ground agent now has a first-class home in the GCS, every flight is captured and auditable end-to-end, and the video pipeline is more robust on real networks.
Hardware tab (new)
A new top-level Hardware section for the ground station half of the radio pair. Ground station overview, network config, physical UI (OLED + buttons) pairing, HDMI kiosk mode with HUD + gamepad + PIC arbitration, uplink management with 4G modem support, peripheral manager, and RC controller stubs.
Flight History + Compliance
- Full flight lifecycle capture to IndexedDB with cloud sync
- Multi-select, search, favorites, stats bar, resizable/collapsible list
- Detail panel with overview, map, notes, export tabs
- Flight analyzer with charts, phase segmentation, event markers, wind estimation, mission adherence
- Flight replay with keyboard shortcuts and event markers
- Side-by-side flight comparison
- Soft-delete, backup/restore from the toolbar
- Media attachments on flight records
- Environmental snapshots at launch: weather, sun/moon, airspace intersection
- Pre-flight checklist + pre-arm failure capture
- Suite KPIs, fleet coverage map, overlay comparison
- Advanced charting + analytics panels
- Geofence breach detection with flight forensics
- Operator profile, aircraft registry, loadout selector, equipment + battery registries
- Onboard dataflash log import
- PX4 ULog and MAVLink tlog import
- Compliance exports: DGCA India PDF (jurisdiction-aware), generic PDF template, CSV, JSON, XML, ICS calendar, AI flight summary, sign-and-lock workflow with bulk export
Video transport
- Interactive 4-mode switcher: Auto / LAN Direct / P2P MQTT / Off
- P2P WebRTC across WAN via MQTT-relayed SDP signaling (new fallback when the GCS cannot reach the drone on LAN)
- Per-mode health indicators and error taxonomy in the dropdown
- Frame timeout + native WebRTC disconnect detection, exponential backoff, abortable streaming
- HMR-safe video stats, ontrack handler set before setRemoteDescription
- Snapshot, record, PiP, and fullscreen action buttons wired
Smart Modes + Vision + Agent capabilities
- Feature system with capabilities store and smart-mode visibility gating
- Smart mode runtime + setup wizard
- Vision overlay in the Command tab
- Initial model registry with 8 pre-trained models
- Agent capability normalizer with SoC + peripheral fallback inference when the agent API is unavailable
Agent freshness + status
- Centralized 1Hz freshness clock
- Stale banners on the agent overview, resource gauges, sparklines, and service table
- Tightened staleness detection and polling for CPU-constrained boards
- Atomic store updates to prevent stale UI state
Connect + Protocol
- Multi-link support (concurrent transports per drone)
- BLE transport and board pinout view
- DroneCAN monitor panel with CAN frame support, DroneCAN simulation, armed-write confirmation
- SCALED_IMU2, SCALED_IMU3, HIGHRES_IMU MAVLink messages
Scripting
- Blockly visual editor and YAML mission editor in the Command tab
- Built-in sample scripts for onboarding
- Console autocomplete and history navigation
Internationalization
- 10+ new UI languages including Japanese, Korean, Portuguese, Indonesian
- Onboarding, disclaimers, flight history, compliance exports, and secondary UI strings localized
- Indic script fixes and diacritic restoration
Fixes + polish
- Firmware bootloader transition with retry polling
- Calibration page scroll isolation
- Service CPU metrics, restart-all button, hydration fixes
- MAVLink connection persistence across tab navigation
- Agent overview telemetry cards + video feed
- Agent architecture tab: node graph replaced with a cleaner card layout
Disclaimers
- Open-source, GPL-3.0. Provided as-is, no warranty.
- Not a replacement for a certified GCS. Use at your own risk.
- Do not fly without understanding your local drone regulations (DGCA, FAA, CASA, or your national aviation authority).
- Mac builds are unsigned. On first launch right-click the app and choose Open, or run
xattr -cr /Applications/Altnautica\ Command.appif Gatekeeper blocks it. - This release ships macOS desktop builds only (arm64 + x64). No Windows or Linux desktop builds. The web app at
command.altnautica.comworks on all platforms. - Report bugs and feedback at
command.altnautica.com/communityor on the GitHub repo.
0.1.8
Altnautica Command v0.1.8
133 commits. The biggest release yet. Follow-me mode, guided flight, flight replay, offline maps, video recording, a customizable telemetry deck, spline waypoints, a full airspace overhaul, 13 new languages, and a lot more.
Follow-Me Mode
Stream your GCS position (laptop or phone GPS) to the drone for autonomous follow. One button in the flight actions panel. Handles GPS loss gracefully and prevents accidental double-starts.
Guided Mode with Safety Confirmation
Click anywhere on the map to send a fly-to command. A hold-to-confirm dialog prevents accidental taps. Target overlay shows the destination on the map before you commit.
Flight Replay
Full telemetry playback from saved flights. Map visualization with the flight path, a timeline scrubber, and synchronized telemetry readouts. Export flight data as CSV, KML, or KMZ from the history panel.
Offline Maps
Download and cache map tiles for field operations without internet. Select a region, pick zoom levels, and the tiles are stored locally. Works in the planner and flight views.
Customizable Telemetry Deck
Drag-and-drop telemetry panels across multiple pages. Layouts persist across sessions. Per-cell battery voltage thresholds (not hardcoded 4S). Detachable panels for multi-monitor setups. Pop-up blocker detection with toast feedback.
Video Streaming and Recording
WHEP (WebRTC) video streaming from the drone agent. Direct WebRTC support across all connection types with smart fallbacks. Record live video and take screenshots with elapsed time display and playback controls.
Spline Waypoints
Catmull-Rom spline interpolation for SPLINE_WAYPOINT commands. The planner now shows smooth curve previews between waypoints. Dedicated spline waypoint icon on the map.
Airspace Tab Overhaul
Renamed from "Air Traffic" to "Airspace." ADS-B plane tracking removed entirely. The tab now focuses on what drone pilots actually need: airspace zones (FAA, DGCA, CASA, ICAO), flyability assessment, NOTAMs, and TFRs. Real zone polygons via OpenAIP. Free Esri satellite imagery (no Cesium Ion key required). Server-side zone caching with daily sync. Airport data fetched from GitHub at runtime.
Mission Planner Additions
- KML/KMZ overlay layers on the map for reference data (boundaries, no-fly zones, survey areas)
- Insert waypoints between existing ones with dedicated buttons
- DO_JUMP validation warnings in the planner
- Jump arrow overlay for waypoint navigation visualization
- Fixed-wing and VTOL landing patterns added to the pattern generator
- POI markers via extended map context menu
Cloud MAVLink Relay
MAVLink data now flows over MQTT as a fallback for cloud connections. Auto-connects via the agent WebSocket proxy when on the same LAN. Video state and WHEP port added to the drone status schema for cloud video routing.
Multi-Drone SITL and Gazebo
Docker-based multi-drone SITL with configurable scenarios. Gazebo simulation with a real-world Bangalore terrain scenario, GPS origin axes, and filtered extra args. RNGFND1 disabled in SITL presets for Copter and Rover.
13 New Languages
Japanese, Korean, Portuguese, Indonesian, and 6 more. Total: 20 languages supported. Added in the onboarding flow and settings page.
Theme Expansion
Solarized Light and Dark themes. NVG (night vision) mode for defense builds. Multi-mode theme selector. Accent color picker with dock-style animation in onboarding. Theme persistence across sessions.
Onboarding Redesign
New steps: theme selection with live preview, legal disclaimer, desktop app download prompt. Geolocation-based location initialization. Language selection expanded to all 20 supported languages.
UI Improvements
- Agent overview redesigned with telemetry cards, video feed, and scan progress animation
- Architecture tab replaced node graph with card-based layout
- Guidance line visualization with GPS status badge and home marker icon
- Right column redesigned: video stats overlay, compact FlightDataCard, collapsible RC panel
- Tab styling standardized across the application
- Attitude card enhanced with visual indicators, battery card repositioned
- Parameter grid switched from table to CSS grid for better column layout
- Auth status indicator moved to far right of header
Bug Fixes
- Video: frame timeout auto-reconnect, dead WebRTC connection detection, streaming guard refs stabilized,
ontrackhandler set beforesetRemoteDescription - MAVLink connection persists across tab navigation (no more disconnects when switching tabs)
- Hydration errors fixed (AgentMavlinkBridge ordering, DemoProvider waits for hydration)
- Telemetry deck: per-cell battery thresholds replace hardcoded 4S values, flight time estimation guards against early instability, drag visual feedback actually renders now
- Agent status uses atomic store updates to prevent stale UI
- KMZ parsing fixed with proper error state handling
- Map: tile loading timeout and default satellite view, context menu propagation fixed, armed state navigation check corrected
- Spline waypoint command letter corrected (W to S)
- Airspace zone caching issues and stale TFR clearing fixed
- Service CPU metrics and restart-all button fixed
- GPS position null check uses loose equality to catch both null and undefined
Downloads
- macOS:
.dmg(Intel and Apple Silicon) - Windows:
.exeinstaller - Linux:
.AppImage
Desktop builds may lag behind the web version.
For the latest, use command.altnautica.com
or clone the repo and run locally (npm install && npm run dev).