{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "name": "Package",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "name",
        "description",
        "version",
        "update-type",
        "maintainer",
        "changelog",
        "filemapping"
    ],
    "properties": {
        "name": {
            "type": "string",
            "description": "Package name"
        },
        "description": {
            "type": "string",
            "description": "Short package description."
        },
        "version": {
            "type": "string",
            "description": "Package version, see http://semver.org for more info on valid schemes."
        },
        "update-type": {
            "description": "Package update type, either 'minor' for minor releases, 'security' for security issues etc. or a custom type ([a-z0-9-]+) defined by whatever this package applies to.",
            "type": "string"
        },
        "maintainer": {
            "type": "string",
            "description": "Package maintainer name."
        },
        "changelog": {
            "type": "array",
            "description": "List of all changes that will be applied (changelog).",
            "items": {
                "type": "string",
                "additionalProperties": false
            }
        },
        "filemapping": {
            "type": "array",
            "description": "List of all files that will be removed, modified or added when upgrading the app.",
            "items": {
                "type": "string",
                "additionalProperties": false
            }
        },
        "include": {
            "type": "string",
            "description": "A list of paths to include."
        },
        "time": {
            "type": "string",
            "description": "Package release date, in 'YYYY-MM-DD', 'YYYY-MM-DD HH:MM:SS' or 'YYYY-MM-DDTHH:MM:SSZ' format."
        }
    }
}