generated: '2026-09-06'
method: searched
source: >-
GitHub release metadata for mavlink/MAVSDK and PX4/PX4-Autopilot (read 2026-09-06), the MAVLink XML
schema guide at https://mavlink.io/en/guide/xml_schema.html and
https://mavlink.io/en/guide/define_xml_element.html (both HTTP 200), and the deprecation elements
counted directly in the published dialect XML at
https://raw.githubusercontent.com/mavlink/mavlink/master/message_definitions/v1.0/.
provider: Dronecode Foundation
providerId: dronecode
versioning:
scheme: semver
in_band: false
detail: >-
Versions live on the artifacts, not in the contract. MAVSDK ships MAJOR.MINOR.PATCH tags
(v3.17.4, 2026-08-25) and the protobuf packages are unversioned — mavsdk.rpc.action, not
mavsdk.rpc.action.v1 — so a client cannot negotiate a contract version over the wire. MAVSDK-Proto
carries its own tag line (latest 2.0.0) that no longer tracks the MAVSDK release number, which is
a discoverability trap for anyone pinning the contract rather than the SDK.
px4_scheme: >-
PX4 firmware runs a separate semver line with published alpha/beta/rc prereleases — v1.17.0 stable
(2026-05-13), v1.18.0-beta2 (2026-08-09).
deprecation:
policy_published: true
machine_readable: true
mechanism: >-
MAVLink's dialect XML carries a first-class
element on messages, enums and enum entries, and a element marking definitions still under
test. This is a genuinely machine-readable deprecation signal on the standard itself — a code
generator or an agent reading the dialect can see, per symbol, that it is deprecated, when it was
deprecated, and what replaced it. Very few providers in this catalog publish anything equivalent.
counts_observed:
- dialect: common.xml
deprecated: 17
wip: 15
- dialect: standard.xml
deprecated: 1
- dialect: minimal.xml
deprecated: 2
- dialect: development.xml
deprecated: 0
example: >-
Using MAV_MODE to set modes is less
predictable than using standard modes (MAV_STANDARD_MODE) or custom modes
(MAV_MODE_FLAG_CUSTOM_MODE_ENABLED). — from common.xml, verbatim.
docs: https://mavlink.io/en/guide/define_xml_element.html
gaps:
- >-
No sunset window. The guide says definitions "may be marked as deprecated" but states no period
after which a deprecated message is removed, and no removal has a date attached. A consumer
learns THAT a symbol is deprecated and what replaces it, never by when they must move.
- >-
No RFC 8594 Sunset or Deprecation HTTP headers anywhere — there is no HTTP surface to carry them.
- >-
MAVSDK's own protobuf contract carries no deprecation annotation at all. The 39 protos use
neither `[deprecated = true]` nor `option deprecated`, so an RPC removed between MAVSDK majors
gives a client no in-contract warning.
sla:
published: false
detail: >-
No SLA, no uptime commitment, no support tier. There is nothing to commit to: the API is a binary
the consumer runs on their own hardware, and the Foundation hosts no endpoint. Membership tiers
buy flight testing and consulting hours, not availability — see plans/dronecode-plans-pricing.yml.
status_page:
published: false
probes:
- url: https://status.dronecode.org/
status: 0
note: DNS does not resolve
detail: >-
No status page exists and none is warranted for a self-hosted contract. The one Dronecode-operated
surface that could have one — dronecode.org, whose /.well-known/api-catalog points its `status`
member at https://dronecode.org itself — points at the site root rather than at any status resource.
support:
forum: https://discuss.px4.io/
discord: http://discord.gg/Dronecode
mailing_lists: https://lists.dronecode.org/groups
issues: https://github.com/mavlink/MAVSDK/issues
deprecated_operations: []
deprecated_operations_note: >-
Derived from the contract: zero of the 387 MAVSDK RPCs carry a deprecation marker. The only
deprecation signal in the estate is on the MAVLink dialect XML, recorded above.