{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://designsystemdocspec.org/v0.15.2/common/status.schema.json", "title": "Status definition", "description": "Shared status vocabulary. `statusValue` is the lifecycle string (draft, experimental, stable, deprecated, or custom). `platformStatus` captures one platform's readiness, and requires a `deprecationNotice` when that platform is deprecated.", "$defs": { "statusValue": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$", "description": "A lifecycle status value. MUST be lowercase kebab-case. Standard values: 'draft' (in development), 'experimental' (available; API may change), 'stable' (production-ready, semver), 'deprecated' (scheduled for removal). Custom values (ex: 'sunset', 'beta') are allowed and MUST follow the same pattern." }, "deprecationNotice": { "type": "string", "minLength": 1, "description": "A non-empty notice for a deprecated artifact. MUST say what to use instead and, where one exists, give a migration path." }, "platformStatus": { "type": "object", "description": "Readiness of an artifact on one platform: lifecycle stage, the version it landed in, and an optional deprecation notice.", "required": [ "status" ], "properties": { "status": { "$ref": "#/$defs/statusValue", "description": "Lifecycle status on this platform. Same vocabulary as overall status; custom values allowed." }, "since": { "type": "string", "description": "The version this entity became available on this platform." }, "deprecationNotice": { "$ref": "#/$defs/deprecationNotice", "description": "Required when status is 'deprecated'; says what to use instead on this platform." }, "note": { "$ref": "dated-note.schema.json#/$defs/plainNote", "description": "Free-text notes on this platform's status (ex: 'Web Component wrapper; native implementation planned for v4')." } }, "if": { "properties": { "status": { "const": "deprecated" } } }, "then": { "required": [ "deprecationNotice" ] }, "additionalProperties": false } } } Lifecycle status on this platform. Same vocabulary as overall status; custom values allowed. The version this entity became available on this platform. Required when status is 'deprecated'; says what to use instead on this platform. Free-text notes on this platform's status (ex: 'Web Component wrapper; native implementation planned for v4'). When status is "deprecated", then deprecationNotice is required. References: statusValue, deprecationNotice, plainNote [ { "status": "stable", "since": "1.0.0" }, { "status": "experimental", "since": "3.2.0", "note": "Available as a Web Component wrapper. Native shadow DOM implementation planned for v4." }, { "status": "draft", "note": "Compose implementation in progress. Expected in v4.0." }, { "status": "deprecated", "since": "1.5.0", "deprecationNotice": "The Vue wrapper is deprecated. Use the Web Component directly in Vue applications." } ]