Synchronized with the 8.4 update of Freeflight8, Anafi UKR firmware and Skycontroller 8.4 firmware, we are pleased to announce the release of version 8.4 of the Parrot Drones SDK, containing the following items:
- AirSDK
- GroundSDK for iOS and Android
- GroundSDK Tools for Linux
- Olympe
- Sphinx
The full documentation is available on the Parrot for Developers website.
Please note: As intermediate versions (8.0 to 8.3) were not released publicly, the following release notes represent the cumulative major changes between version 7.7 and version 8.4. This list is therefore a non-exhaustive summary of all developments during this period.
Release Notes
Air SDK
Features
- Implement Anafi UKR support
- Implement Mission UI functionality with FastAPI integration
- Implement Live Resource Selector functionality and corresponding mission samples
- Implement User Metadata functionality and corresponding mission samples
- Implement Olympe on drone via AirSDK sample
- Implement Serial Peripheral Mission (Arduino LED Blink)
- Add mdns service publisher and republisher
Improvements
- Update, fix, and rework mission samples
- Update, fix, and rework documentation
- Add Noble compatibility (Ubuntu 24.04)
Bugfixes
- Fix various warnings, signatures, and logging issues
Ground SDK
Rework
- Migration of the major part of the SDK from Java to Kotlin (engines, peripherals, settings)
- Full support for Android 15 and Apple Silicon Macs
- Rework of the Thermal API. Warning: The introduction of the ThermalControl2 API breaks backward compatibility with the legacy Thermal 1 API. You must migrate your applications to Thermal 2 to continue using thermal features.
Features
- Support for new drone models (Anafi 3 series, Chuck 3)
- Implementation of various new peripherals (MarsMaster, BackupLink, ThermalControl2, ESim, NightVision, UsbPower, RemoteAntenna, SecureElement for remote controls, etc.)
- Implementation of new piloting interface (ManualPlane)
- Implementation of new instrument (Anemometer)
- Implementation of stream sharing, stream recording, and encrypted storage features
- Implementation of mission assets management for Mission UI
Bugfixes
- Fix some crashes in core modules
- Fix connectivity issues
- Fix various inconsistencies in peripheral states and camera commands
- Fix flight log download
Ground SDK Tools
Features
- PDrAW: Add Jfif, Dng and Png RecordMuxers
- PDrAW: Add RtspStreamMuxer with RTSPS and credentials support
- PDrAW: Add playback mode OFFLINE for faster-than-real-time decoding
- PDrAW: Support for name resolution, hostname and interleaved RTSP
- PDrAW: Support for dynamic change of media ID in ExternalSinks
- libvideo-decode: Added FFMPEG HW decoding for NVIDIA Jetson
- libvideo-encode: Added encoding to a surface (mediacodec), PBO (ffmpeg), CVpixelBuffer (videotoolbox)
- libvideo-encode: Added FFMPEG implementation with NVENC hardware encoding
- libvideo-scale: Added format conversion (I420, NV12, NV21, RGB)
- libvideo-metadata: Added support for user-defined timed metadata
- librtsp: Added name resolution, RTSPS, credentials, and RTSP interleaved support
- libphoto-metadata-defs: New library added as dependency of libvideo-metadata
Improvements
- PDrAW: Added drain support, frame-by-frame support, vertical mirror option, and requestKeyFrame API
- PDrAW: Improved thread naming and code quality
- libvideo-streaming: Support for H.264 slice aggregation
- libvideo-streaming: Added ancillary data for video stats and MB status
- libvideo-streaming: Improved reference picture list management and updated video stats to v2
- Add compatibility with Ubuntu 24.04 (Noble Numbat)
- Improved overall code quality across all libraries
Bugfixes
- Fixed MediaCodec decoder crashes
- Fixed video renderer glitches
- Fixed pause stuck in VipcSource when stopping
- Numerous minor bug fixes and stability improvements
Olympe
Rework
- Rework of Olympe full architecture and tree structure. Most of the old architecture is retro supported. Warning: If you use an object by its full path but don’t import it using its file path before use, you may encounter an ImportError. In that case, check its new path in the source code and correct it.
- Rework of the Thermal API. Warning: The introduction of Thermal 2 breaks backward compatibility with the legacy Thermal 1 API. You must migrate your scripts to Thermal 2 to continue using thermal features.
- Rework of Olympe full documentation
- Rework of examples (media, photo, cellular, streaming, mission, …)
- Rework of the discovery, mission, and streaming sections (with retrocompat)
- Rework of the whole connection and disconnection procedures (with retrocompat)
- Rework of the protobuf parsing
Bugfixes
- Fix double free corruption while getting all media
- Fix proxy hostname setting while media connection
- Fix video recording and replay
- Fix streaming cornercases and practicality
- Fix mux discovery port non-useness
- Fix unhandled coroutine while connecting to a closed websocket
- Fix mixins fd leaks
- Fix expectations various misbehaviours
- Fix subscribing and subscriber notification
- Clean disconnection processes and coroutines shutdown
Features
- Implement AnafiUKR, SkyControllerUKR, Chuck and 5G SkyController support
- Implement pdraw features (seek and other frame-related features)
- Implement thermal streaming features and multistreaming
- Implement a specific discovery port for embedded Olympe use
- Implement more typings and docstrings
- Implement expectations matching patterns and tolerances
- Implement connection handling in backup link
- Implement flightplan and update modules
- Removal of Python 3.8 support
Sphinx
Features
- [system] Support of Ubuntu 24.04 (Noble Numbat) added
- [system] Support multiple drones in the same scene
- [system] Display a message when Sphinx does not support a drone model
- [system] New JSON-RPC to send Unreal Engine console command
- [system] Add “pose_offset” and “initial_pose_offset” machine parameters
- [system] Debian 11 is no longer supported
- [world] Add first Unreal Engine 5 world: parrot-ue5-mediterranean-coast
- [world] sphx-tests: new map: rth_tests
- [world] Planet: full support of custom objects (in FBX format)
- [world] Planet: ability to use CesiumIon account with multiple extra objects
- [physics] Add the “reset_temperature_models” JSON-RPC parameter
- [hmi] Add menu option to display started cameras, about modal, and Focus button
- [hmi] Add Parrot Sphinx launcher, progress bar, and indicator icons for network/GPS
- [hmi] Upon fatal error, display a popup window before terminating
- [launcher] Add default presets, import/export settings, and external config file support
- [motors] Simulate motor and esc temperatures
- [drone] Add “with_xlr” option
- [unreal] Add twilight sky preset
- [config] Add option to specify the coordinate system
- [magnetometer] Add a “visualize” parameter to show the sensor frame
- [anafi_ukr] New drone model “ANAFI UKR” and HIL mode supported
- [ulog] New kernel module version to be compatible with 6.4+ kernels
- [actors] Ability for characters to make ample movements with their arms
- [cmdline] Option –json-rpc-port removed
- [cameras] Send exposure/luminance with video frame, handle “too_dark” event, and modify timeouts
- [battery] Ability to put the smartbattery out of order
- [pysphinx] Allow saving frames as numpy arrays
- [web dashboard] Show tooltip on hover for parameters and actions
Improvements
- [unreal] Migration from PhysX to Chaos physics engine
- [unreal] Low quality: enable sky atmosphere and ignore vehicle/sky actors for draw distance
- [unreal] Support -j option to leverage multiple drones across multiple processes
- [unreal] Improve rendering speed of fisheye cameras
- [sensors] Improved temperature evolution models and reset for barometer, IMU, magnetometer, and battery
- [propulsion] Improve motor power consumption realism and accept ExprTk expressions
- [hmi] Better support of 4K screens and “shift + left-click” for object selection
- [web dashboard] Numerous fixes and improvements (flight time display, versions, etc.)
- [world] landscape-mountains: fix “lake” spawn point altitude
- [actors] Improve vehicles steering attitude and collisions
- [doc] Add section on atmosphere
- [config] Removed the ability to change GPS coordinates of the scene at runtime
- [system] Better support of Wayland and XWayland, adapt collision tile size to drone size
- [camera] Better realism for shot noise of Anafi UKR’s stereo cameras and fix near clipping
- [motherboard] Electrical intensity is provided to the firmware
- [performance] Real-time performance significantly improved when CPU-bound
Bugfixes
- [debug] Fix frame rate string conversion, version checks, thread handling, and freeze on shutdown
- [debug] Fix noninteractive installation on Ubuntu 24.04
- [debug] Fix heating power computation for sensors and crash on trajectory display
- [unreal] Fix propellers assets rotation axis and ignore vehicle/sky actors for draw distance in low quality
- [world] Fix “indoor” area size, default spawnpoints, artifacts on flat surfaces, and GPS elevation
- [actors] Fix stability of characters on soft slopes
- [hmi] Fix crash when adjusting camera pawn rotation and various display issues
- [aerodynamics] Fix CoG update and inertial parameters reset
- [battery] Fix battery capacity
Additional Tools & PC Firmwares
Updates
- Logan-lite updated to version 1.22.2 (parrot-tools-logan-lite).
- PC simulation firmwares updated: anafi2-pc updated to version 7.7.3 (with Ubuntu 24.04 Noble support).
Best regards,
The Parrot Drones SDK team