# Versions & compatibility Choose the component you are changing. SDKs, canons, semantics, tools and document formats have distinct version boundaries; a single documentation version would hide them. ## Find the right contract | Your question | Canonical document | |---|---| | Which SDK and canon versions work together? | [SDK compatibility](/build/sdk/compatibility/) | | Which operations and environments does each SDK support? | [SDK capability and environment matrices](/build/sdk/compatibility/) | | What do schema and semantic versions mean? | [Protocol versions](/protocols/versions/) | | How do I upgrade an application? | [Application versioning](/build/application/versioning/) | | How do I upgrade or roll back my own service? | [Operate upgrades](/operate/upgrades-compatibility/), [rollback](/operate/rollback/) | | How do package versions and language lines interact? | [Corpus compatibility](/corpus/releases/compatibility/) | | How do I update a dependency and replay its consumers? | [Upgrades and replay](/corpus/releases/replay-and-upgrades/), [change impact](/corpus/changes/impact/) | | What boundaries apply to an agent integration? | [Agent compatibility](/agent-engineering/compatibility/) | Version numbers and detailed matrices stay in those documents. Follow their pinned editions and recorded probes rather than inferring compatibility from matching labels. ## Read the evidence separately from support The [deployment verification and support matrix](/operate/verification-support-matrix/) distinguishes performed checks from checks requiring another environment. [Agent evaluations](/agent-engineering/evaluations/) records the evaluation basis and review status. [Candidate acceptance](/handbook/accept-release/) records the verdict and limits of a particular model. A check for one component does not certify every SDK, model, service or deployment. Preserve the relevant version set and its evidence when you upgrade.