Files
Termix/packages/plugin-sdk/schema/changelog.schema.json
T

68 lines
1.9 KiB
JSON

{
"$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 }
}
}
}
}