SDK Versioning

DropOnAir uses semantic versioning to ensure backward compatibility and smooth upgrades.

Version constants

import { SDK_VERSION, PROTOCOL_VERSION, PAYLOAD_FORMAT_VERSION } from '@droponair/sdk-js';

console.log(SDK_VERSION);            // e.g. "0.2.0"
console.log(PROTOCOL_VERSION);       // e.g. 1
console.log(PAYLOAD_FORMAT_VERSION); // e.g. 1
ConstantMeaningWhen it changes
SDK_VERSION / sdkVersionSemver of the SDK packageEvery release
PROTOCOL_VERSION / protocolVersionWire protocol version (WebSocket framing)Breaking proto changes only
PAYLOAD_FORMAT_VERSION / payloadFormatVersionEncrypted payload binary layoutEncryption format changes only

Server capability endpoint

GEThttps://sdk.droponair.com/api/info
{
  "protocolVersion": 1,
  "minSdkVersion": "0.1.0",
  "features": ["multi_device", "e2ee", "calls", "offline_messages", "cleartext", "broadcast"],
  "timestamp": "2026-03-08T..."
}

Backward compatibility: New proto fields are always additive. The server supports both legacy single-device and multi-device payloads. Check /api/infofeatures to detect capabilities at runtime.