Releases: bluerobotics/cockpit
Release list
v1.19.0-beta.6
What's Changed
- Add global helper for logging user interactions by @rafaellehmkuhl in #2814
- Add 90º re-fly option to surveys (photogrammetry crosshatch) by @ArturoManzoli in #2748
- Mission Planning: Add angle and heading to path segments by @ArturoManzoli in #2785
- Improve map overlay controls by @ArturoManzoli in #2703
- Add logging to all user interactions by @rafaellehmkuhl in #2763
- fix: open external links in the OS browser on Standalone by @rafaellehmkuhl in #2816
- feat: add "Copy coordinates" to the map context menu by @rafaellehmkuhl in #2817
- Fix settings sync logic for key-value pairs that never stop updating by @rafaellehmkuhl in #2818
Full Changelog: v1.19.0-beta.5...v1.19.0-beta.6
v1.19.0-beta.5
What's Changed
- Add agent rules around long strings and user interaction logging by @rafaellehmkuhl in #2813
- Add support for GeoTiff overlays by @rafaellehmkuhl in #2783
- Add agent rule requiring business logic to live in framework-agnostic .ts modules by @rafaellehmkuhl in #2806
- Introduce Data Lake Raw Logs (a.k.a CSV and JSON logs) by @rafaellehmkuhl in #2777
Full Changelog: v1.19.0-beta.4...v1.19.0-beta.5
v1.19.0-beta.4
What's Changed
- Settings Manager: Fix layout deformation caused by long setting values by @ArturoManzoli in #2773
- agents: expand AGENTS.md rules and add on-demand PR re-review by @rafaellehmkuhl in #2772
- .github: claude-pr-review-continue.yml: stop tagging old issues by @ES-Alexander in #2779
- .github: ci.yml: remove snapcraft by @ES-Alexander in #2781
- .github: claude-pr-review.yml: stop allowing delayed reviews by @ES-Alexander in #2782
- Mission planning: Show max distance on a mission by @ArturoManzoli in #2787
- .github: ci.yml: add AWS uploads for stable releases by @ES-Alexander in #2778
- Map: Stop following the vehicle when the user drags the map by @ArturoManzoli in #2786
- Add download size to tile downloading by @rafaellehmkuhl in #2581
- Fix download progress bar detatching from top bar by @ArturoManzoli in #2791
- Mission Planning: Fix mission area being smaller than survey area by @ArturoManzoli in #2790
- Map: Refine wheel/pinch zoom to single zoom-level steps by @ArturoManzoli in #2794
- Fix map import problems by @rafaellehmkuhl in #2796
- Fix "video file not growing" dialog not being dismissable by @rafaellehmkuhl in #2800
- Fix startup fallback confirmation buttons by @rafaellehmkuhl in #2803
- Cap excessive long log messages and fix hotspots by @rafaellehmkuhl in #2789
- Map: Add north indicator to map by @ArturoManzoli in #2780
Full Changelog: v1.19.0-beta.3...v1.19.0-beta.4
v1.19.0-beta.3
What's Changed
- Fix some of the issues surfacing in the logs by @rafaellehmkuhl in #2759
- Fix 'center on' speed dial menu location on non-fullscreen maps by @ArturoManzoli in #2765
- Improve system logger performance by @rafaellehmkuhl in #2760
- Remove vehicle position history from the BlueOS sync by @rafaellehmkuhl in #2766
- Add floating wrapper component by @rafaellehmkuhl in #2761
- Add console viewer by @rafaellehmkuhl in #2762
- Widget Manager: Fix repeated onMounted warnings on window resize by @ArturoManzoli in #2769
- Fix cruise speed control on mission runtime by @ArturoManzoli in #2770
- Add home marker reference to Compass-HUD by @ArturoManzoli in #2502
- Widgets: Fix framerate drop on dragging components by @ArturoManzoli in #2742
- Fix filename creation for non-integer UTC timezones offsets by @ArturoManzoli in #2771
Full Changelog: v1.19.0-beta.2...v1.19.0-beta.3
v1.19.0-beta.2
What's Changed
- Add persistent option for user-dismissed snackbars by @ArturoManzoli in #2673
- Prevent duplicated mission download calls on multiple map instances setups by @ArturoManzoli in #2726
- Fix: Mission Control Panel 'Clear mission on map' button not working reliably by @ArturoManzoli in #2741
- Fix home waypoint being placed on a survey creation by @ArturoManzoli in #2747
- Fix Snapshots system not allowing more than 1000 captures per session by @rafaellehmkuhl in #2749
- Allow timed snapshots above 1Hz frequency and block 0s interval by @rafaellehmkuhl in #2750
- Improve feedbacks of the snapshot system by @rafaellehmkuhl in #2751
- Widgets: Add scaling controls to the iframe widget by @ArturoManzoli in #2754
- Add live data-lake values on monaco editor tooltips by @ArturoManzoli in #2755
Full Changelog: v1.19.0-beta.1...v1.19.0-beta.2
v1.19.0-beta.1
What's Changed
- Maps: keep last selected map provider by @ArturoManzoli in #2684
- Fix main menu not opening on some situations by @rafaellehmkuhl in #2714
- Fix list of usernames not always showing the correct values by @rafaellehmkuhl in #2716
- Mission runtime: Fix current waypoint mismatch between mission control panel and map by @ArturoManzoli in #2680
- Mission runtime: Reduce performance loss on large missions by @ArturoManzoli in #2679
- AGENTS.md: encourage shorter comments and less redundancy by @ES-Alexander in #2723
- Fix mission planning load button by @rafaellehmkuhl in #2722
- Improve map background when satellite tiles are unavailable by @ArturoManzoli in #2685
- Mission control panel: Fix mission ending on play state by @ArturoManzoli in #2730
- map: use dedicated renderer for vehicle path history by @ArturoManzoli in #2727
- Fix external features modal auto-opening on an empty state by @rafaellehmkuhl in #2732
- vehicle-discovery: scan SD-WAN / VPN overlay interfaces by @rafaellehmkuhl in #2733
- defaults: Remove bar toggling functions from the default joystick mappings by @rafaellehmkuhl in #2737
- Harden vehicle reconnection routine by @rafaellehmkuhl in #2729
- Add MAVLink messages dumper and Live Plotter for debugging (a.k.a JSON Tlogs) by @rafaellehmkuhl in #2655
- Fix automatic creation of views and mapping defaults and allow later importing by @rafaellehmkuhl in #2719
Full Changelog: v1.18.0...v1.19.0-beta.1
v1.18.2
What's Changed
- Fix automatic creation of views and mapping defaults and allow later importing by @rafaellehmkuhl in #2719
- Fix mission planning load button by @rafaellehmkuhl in #2722
- map: use dedicated renderer for vehicle path history by @ArturoManzoli in #2727
- Fix external features modal auto-opening on an empty state by @rafaellehmkuhl in #2732
Full Changelog: v1.18.0...v1.19.0-beta.1
v1.18.1
What's Changed
- Fix main menu not opening on some situations by @rafaellehmkuhl in #2714
- Fix list of usernames not always showing the correct values by @rafaellehmkuhl in #2716
- Mission runtime: Fix current waypoint mismatch between mission control panel and map by @ArturoManzoli in #2680
- Mission runtime: Reduce performance loss on large missions by @ArturoManzoli in #2679
Full Changelog: v1.18.0...v1.18.1
v1.18.0
After 174 PRs, 403 commits and more than 15k lines changed in the codebase, this is the biggest Cockpit release so far and, as always, I believe this is also the best one 😄
✨ New features
1.18 brings several new functionalities to the table:
Direct RTSP support
You can now directly consume RTSP streams from Cockpit. This means you're not limited anymore to only using WebRTC streams. It also means you can consume the video stream directly from the camera, without it passing through the vehicle, which reduces resource usage in the companion computer and allows for other types of integrations.
Map and Mission Planning improved
Many new features were introduced in the Map widget and Mission Planning view. We now have a Mission Control Panel, which allows you to pause missions, jump waypoints and return to home whenever you want.
We also added support for setting the survey height, for those doing aerial or subaquatic missions, as well as the turnaround distance, specially useful for those working with photogrammetry and bathymetry.
Extended external integrations
External integrations were deeply extended in this release. Users can now send data to Cockpit directly without having to use MAVLink or pass through the vehicle, which can drastically reduce the complexity of integrations.
This is thanks to the new support for Generic WebSocket Connections. This data can come from anywhere — be it a service running on the topside, a backend on the internet or an extension in the vehicle.
We have also added a lot of new functionality to the External Features support. It now accepts joystick mapping suggestions and many more external widget options, which means integrators can more easily guide their users on configuring Cockpit with their extensions.
🛠️ Bug fixes
But the most important thing in 1.18 was not what we added, but what we fixed. This release was truly focused on making Cockpit much more stable and reliable.
It has a total of 139 issues closed, with almost 70% of them being bug fixes. The most annoying bugs are now gone, and there is one specifically that I want to talk more about: the settings sync between BlueOS and Cockpit.
Automatic settings sync
For a long time, one of the most loved — and at the same time most hated — features in Cockpit was its settings synchronization with BlueOS.
It exists so you can change between different topside devices without having to redo or manually port your Cockpit settings whenever you switch devices. And it worked well, with one big catch: that annoying modal that appeared every time you opened Cockpit. It asked you which version you wanted to keep for every setting that had changed.
This is now gone. 🎉
The settings sync feature was completely refactored in Cockpit, and synchronization is now done automatically, with all changes carrying timestamps. This means your most recent change is always kept automatically.
You don't have to worry about this kind of decision anymore, and opening Cockpit should now feel like a much more streamlined process.
🚀 What's coming next
For 1.19, we are planning to put a lot of work into the Map and Mission Planning systems, with the goal of supporting the full set of functionalities needed to operate boat missions.
We also plan to further extend the usage of the data-lake architecture in the system, making it the de-facto pipeline for data sharing inside Cockpit, enabling easier customizations, recording and replay capabilities.
Stay tuned.
With all that said, we really hope you have a wonderful experience with this new release.
Enjoy and happy piloting!
What's Changed
Media
- Direct RTSP streams, Cockpit can now connect to RTSP sources and shows richer stream information in the video UI (#2417, #2522, by @rafaellehmkuhl)
- Camera replacement helper, Cockpit can prompt you to migrate widgets when a camera changes, and it now handles snapshot widgets too (#2577, #2590, #2600, by @rafaellehmkuhl)
- Snapshot reliability, snapshot timing, error reporting, and work-area capture were fixed so captures are more dependable (#2452, #2510, #2511, #2559, by @rafaellehmkuhl)
- Video library cleanup, the snapshot library now shows the right items and offers a button to open the storage folder (#2453, #2571, by @rafaellehmkuhl)
- Video playback polish, the loading state was redesigned and the stats overlay now stays upright when video is flipped (#2397, #2485, by @rafaellehmkuhl)
- Recording and chunk handling, Cockpit can now process multiple Lite chunk ZIPs together and better handles overlay generation for video chunks (#2555, #2658, by @rafaellehmkuhl)
Vehicle control
- Boat mode actions, boat and rover mode changes can now be assigned to joystick buttons (#2313, by @rafaellehmkuhl)
- Joystick profile clarity, vehicle-type mappings and default profiles were simplified so joystick behavior is easier to understand and manage (#1824, #2491, #2519, by @rafaellehmkuhl and @ArturoManzoli)
- Controller calibration fix, raw joystick axes are now shown correctly while calibrated values are kept separate for control logic (#2663, by @rafaellehmkuhl)
- Multiple-controller handling, Cockpit no longer disables joystick forwarding just because multiple controllers appear together (#2351, #2346, by @rafaellehmkuhl)
- Joystick UI fixes, long mapping labels, extra buttons, and touch interactions on the configuration screen were improved (#2306, #2302, #2656, by @ArturoManzoli and @rafaellehmkuhl)
- Input mapping polish, the joystick assignment dialog spacing and menu behavior were cleaned up (#2564, #2402, by @rafaellehmkuhl and @ArturoManzoli)
Performance and reliability
- Settings sync robustness, the new settings backend preserves the newest value and avoids repeated manual conflict handling (#2027, by @rafaellehmkuhl)
- Data-lake listener safety, one failing listener no longer stops the rest from running (#2488, by @rafaellehmkuhl)
- Data-lake update batching, variable-list updates are debounced so widgets do far less work during startup and reconnects (#2379, by @rafaellehmkuhl)
- Monaco editor reuse, Cockpit now reuses a single Monaco instance instead of spinning up many copies (#2380, by @rafaellehmkuhl)
- Vehicle discovery speed, discovered vehicles now appear as they are found, and scans are more resilient to virtual interfaces (#2474, #2636, by @rafaellehmkuhl)
- Build safeguards, CI now fails loudly when native joystick modules are missing, preventing broken binaries (#2521, by @rafaellehmkuhl)
Settings, data-lake, and external features
- Settings V2 migration, settings now sync with timestamps and support user-plus-vehicle scoped storage across reconnects (#2027, by @rafaellehmkuhl)
- Data-lake variables sync, user-created data-lake values and persistent variables now survive syncs and reboots correctly (#2001, #2668, by @rafaellehmkuhl)
- WebSocket ingestion, Cockpit can receive data-lake values over generic WebSocket connections (#2383, by @rafaellehmkuhl)
- Telemetry integration, data-lake variables can now be recorded in telemetry and overlays, and more system details can be reported with telemetry opt-out support (#2406, #2430, #2567, #2568, #2622, by @ArturoManzoli and @rafaellehmkuhl)
- Extension features workflow, suggested actions, joystick mappings, and external widgets got a full review-and-restore flow with clearer dialogs (#1962, #2574, #2584, #2603, #2651, by @rafaellehmkuhl)
- Settings manager update, the manager UI now understands the new backend structure and can browse user/vehicle combinations cleanly (#2412, #2409, by @rafaellehmkuhl)
- RadCam extension support, external widgets and HTTP actions from BlueOS extensions now work more reliably (#2529, #2589, by @rafaellehmkuhl)
Map and mission planning
- Mission control panel, Cockpit now has mission play, pause, stop, skip, and return-home controls (#2240, #2490, by @ArturoManzoli)
- Survey editing, survey polygons can be edited more fully, including turnaround distance, height, entry/exit handling, and vertex coordinate edits (#2319, #2508, #2536, #2541, by @ArturoManzoli and @rafaellehmkuhl)
- Waypoint workflow, view reordering, adaptive waypoint sizing, and reached-waypoint highlighting make missions easier to follow (#2343, #2349, #2499, by @ArturoManzoli)
- Map persistence, missions, POIs, vehicle track history, and selected map state now survive mode switches and reconnects much better (#2261, #2403, #2469, #2482, #2541, by @ArturoManzoli and @rafaellehmkuhl)
- Map navigation, you can jump between flight mode and mission planning more easily and center the map on mission content or POIs (#2294, #2400, #2611, #2644, by @ArturoManzoli)
- Tile and marker fixes, map tiles no longer go white as often, OSM tiles load correctly again, and marker layering/background issues were fixed (#2606, #2626, #2484, #2493, by @ArturoManzoli and @rafaellehmkuhl)
Widgets
- Battery status colors, the battery indicator now reflects voltage levels more clearly and has better configuration controls (#2273, #2372, #2492, by @ArturoManzoli and @ES-Alexander)
- Alerter improvements, warning alerts are highlighted, lock state persists, and the panel behaves better in tight layouts (#2483, #2464, by @rafaellehmkuhl)
- Compass HUD POIs, the compass widget can now show POI direction and distance, with a steadier distance card (#2401, #2432, by @ArturoManzoli)
- Plotter upgrades, the plotter gained fixed Y bounds, extra stats, better configuration UI, and better handling of repeated values (#2347, #2348, #2377, #2451, by @rafaellehmkuhl)
- Iframe widget fixes, co...
v1.18.0-beta.19
What's Changed
- Telemetry: Add application telemetry settings dialog by @ArturoManzoli in #2622
Full Changelog: v1.18.0-beta.18...v1.18.0-beta.19