{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/Termix-SSH/Termix/main/packages/plugin-sdk/schema/changelog.schema.json", "title": "Termix plugin changelog", "description": "Every release of a plugin, newest first. The newest release must match the manifest version.", "type": "object", "additionalProperties": false, "required": ["releases"], "properties": { "$schema": { "type": "string" }, "unreleased": { "description": "Changes that are merged but not released yet.", "type": "array", "items": { "$ref": "#/$defs/change" } }, "releases": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/release" } } }, "$defs": { "release": { "type": "object", "additionalProperties": false, "required": ["version", "changes"], "properties": { "version": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$" }, "date": { "description": "When the version was released. Leave it out until it ships.", "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "notes": { "description": "A short line shown above the list of changes.", "type": "string" }, "changes": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/change" } } } }, "change": { "type": "object", "additionalProperties": false, "required": ["type", "text"], "properties": { "type": { "enum": [ "added", "changed", "fixed", "removed", "deprecated", "security" ] }, "text": { "type": "string", "minLength": 1 } } } } }