Skip to content

Latest commit

 

History

History
25 lines (22 loc) · 1.27 KB

VERSIONING.md

File metadata and controls

25 lines (22 loc) · 1.27 KB

In order to support backwards and forwards compatibility, SBP messages are versioned and follow a small number of conventions, enabling devices to indicate understood message formats, capabilities and features.

SBP uses a major, minor numbering scheme to indicate versions, where major and minor are represented by 8-bit values:

  • Major version. The major number is incremented when the format of a stable message is changed, or the addition or deprecation of stable messages. Message ID's are not guaranteed to be unique between major versions. Stable messages are guaranteed to be available for all minor versions in a major version.
  • Minor version. The minor number is incremented by each non-stable message addition and deprecation. Changes to a message in a major version are manifest by incrementing the minor version, adding a new message with the changes, and deprecating the old message.

By convention, we refer to messages as stable and draft. Stable messages are intended for broad use, like MsgBaselineECEF, while draft ones are intended for internal development. Stable messages are guaranteed to be available for all minor versions in a major version. The addition or deprecation of stable messages results in the incrementing of the major version.