**Upgrade guide:** https://mavsdk.mavlink.io/develop/en/cpp/api_changes.html#v0250
Among many features and improvements, the main work has been on auto-generating the C++ plugin API as well as the backend/server code which means:- Better consistency between C++ and other languages for naming/docs/functionality.
- Features can be automatically propagated to language wrappers such as Python.
- Adding functionality should be a lot easier now.
Features:
* MissionRaw: add multiples features (1021).
* Upload mission raw (1016).
* Add mission set current item feature (1006).
* Implement source system and component ID handling via Configuration class (1001).
Bugfixes:
* fix to include the last byte in the uid2 in the hardware_uid string (1077).
* Fix ftp examples compile issues (1070).
* Don't respond to timesync until time known (1034).
* Update examples based on recent Action class renaming (1024).
* add pollin to serial connection read (1005).
* add compiler definition for Android (1002).
* telemetry: fix load of misaligned address (988).
* third_party: update gRPC (982).
* fixed SetTakeoffAltitude to include action result in response (958).
Enhancements:
* proto: point submodule properly to master (1087).
* Improve output in enum operator<< (1085).
* Several API cleanups after auto-generation (1084).
* Minor docs fixes (1083).
* Rename dc to mavsdk (1082).
* Add CI check for uncommitted proto changes, improved result descriptions (1080).
* Rename dc to mavsdk (1079).
* Build examples in CI (1078).
* Change callback type name (1076).
* Change remaining enums (1075).
* Remove two unneeded results from API (1074).
* logging: remove plugin as not really implemented (1073).
* Generate log_files plugin from proto (1072).
* Log file download improvements and fixes (1069).
* Improve cpp api (1068).
* Add tune plugin to backend (1067).
* Autogen tune (1066).
* Autogenerate FollowMe plugin from proto (1065).
* Auto-generate the Ftp plugin from proto (1064).
* Rename MAVLinkFTP to Ftp (mavlink_ftp to ftp) (1063).
* Autogen info (1062).
* mavlink_ftp: remove crc calls, add compare call (1059).
* Autogenerate mocap plugin from proto (1058).
* Autogenerate MissionRaw from proto (1057).
* shell: autogenerate plugin from proto (1054).
* Replace IN_PROGRESS and INSTRUCTION by NEXT in finite streams (1052).
* Autogenerate offboard plugin from proto (1051).
* Auto-generate gimbal plugin (1050).
* Auto-generate param plugin from proto file (1049).
* auto-generate calibration (1048).
* Auto-generate geofence plugin from proto (1047).
* tools: force usage of clang-format version 9 (1046).
* Auto-generation of camera plugin (1042).
* Stream callback may need to return a result (1041).
* Handle the enum prefix logic in the protoc plugin (1040).
* Autogenerate mission plugin (1036).
* Update proto files (1030).
* mission: flatten plugin, remove MissionItem class (1029).
* Autogenerate telemetry (1028).
* Telemetry link fixes (1020).
* Auto-generate action plugin (C++ and mavsdk_server) (1017).
* Rename example into examples (1013).
* Takeoff landed state (1012).
* Add api to stop `mavsdk_server` (1004).
* Fix fly_multiple_drone example comments (993).
* Adding address, undefined and leak sanitizers (991).
* Add lossy mission transfer test to CI (989).
* Update docker images (987).
* Move from travis-ci to GitHub workflows (985).
* Refactor mission transfer (964).
Contributors:
coderkalyan, DanielePettenuzzo, hamishwillee, Jaeyoung-Lim, jkflying, JonasVautherin, julianoes, Katawann, shrit, Siddharth1698, tomek-l