Repository navigation
v0.2.1
Release Notes - v0.2.1
Adds remote script execution management, hardens API
startup/shutdown, and
overhauls logging. Includes one breaking CLI change — see below.
Breaking changes
- Log component token
API→UVICORN. The--log_consoleand
--debug
flags no longer acceptAPI; useUVICORNfor the HTTP-server
logs.
Update launch scripts:--log_console API→--log_console UVICORN.
Available components are now:VEHICLE,UVICORN,GRADYS_GS,
SCRIPT.
New features
- Script execution management — run Python scripts on the
drone's companion
computer and control their lifecycle over HTTP:POST /mission/execute-scriptruns an uploaded script in its
own tmux
session (UAV_API_<sysid>-<name>-<timestamp>), capturing
stdout/stderr to
timestamped log files.GET /mission/running-scriptslists currently running scripts.POST /mission/stop-scriptstops a script gracefully (Ctrl+C →
kill) so it
can run cleanup/landing logic first.- A background watcher polls tmux (~2s) and marks scripts
stoppedwhen their
session ends. - New
SCRIPTlog component surfaces script lifecycle messages.
Bug fixes
GET /movement/set_yaw_rate: fixed an incorrect
position-target typemask
that prevented the command from taking effect. Continuous yaw at a
given
deg/s now works as documented.- Shutdown cleanup: script tmux sessions are now stopped when
the API shuts
down, preventing orphaned sessions.
Robustness & internals
- Hardened startup: SITL liveness is verified after spawn, and any
partially-started resources (SITL processes, tmux sessions) are
torn down if
startup fails — no more half-initialized API. - Lifespan logic extracted from
api_app.pyinto a dedicated
uav_api/lifespan.py. - Logging overhaul:
printstatements replaced with structured
per-component
loggers; clearer logger names; loggers configured beforesetup()
so early
messages surface.
Housekeeping
- Removed stray ArduPilot SITL artifacts committed to the repo
(mav.tlog,
mav.tlog.raw,mav.parm,eeprom.bin, terrain data). - Documentation refreshed across
README.md,CLAUDE.md, and
.claude/docs/.
Full changelog: v0.2.0...v0.2.1