# io.agent.release

> Published by [agent.io](https://lexicon.garden/identity/did:plc:bnr33h7nafe5nk4zzlshvana)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:bnr33h7nafe5nk4zzlshvana/io.agent.release)
- [Documentation](https://lexicon.garden/lexicon/did:plc:bnr33h7nafe5nk4zzlshvana/io.agent.release/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:bnr33h7nafe5nk4zzlshvana/io.agent.release/examples)

## Definitions

### `io.agent.release`

**Type**: `record`

A record representing a software release.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | The name or identifier of the software. |
| `notes` | `string` (markdown) | No | Release notes. |
| `assets` | `array` | No | List of download links associated with this release. |
| `changes` | `ref` → `#changes` | No | Changelog entries for this release. |
| `version` | `string` | Yes | The semantic version string, e.g., v1.2.0-beta.1 |
| `createdAt` | `string` (datetime) | Yes | Date and time the release was published. |
| `dependencies` | `array` | No | The software dependencies of this release. |

### `io.agent.release#asset`

**Type**: `object`

A link to a downloadable asset associated with a release.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | Yes | Direct download link. |
| `name` | `string` | Yes | Name of the asset (e.g., macos-x64, source-code). |
| `sha256` | `string` | No | SHA-256 checksum. |

### `io.agent.release#changes`

**Type**: `object`

Changelog entries for a release, informed by https://keepachangelog.com/en/1.1.0/.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `added` | `array` | No | New features. |
| `fixed` | `array` | No | Fixed bugs. |
| `removed` | `array` | No | Removed features. |
| `modified` | `array` | No | Modifications of existing features. |
| `security` | `array` | No | Security updates. |
| `deprecated` | `array` | No | Deprecations. |

### `io.agent.release#dependency`

**Type**: `object`

A software dependency of the release

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | The name of the dependency |
| `version` | `string` | Yes | The version of the dependency |

## Raw Schema

```json
{
  "id": "io.agent.release",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "version",
          "createdAt"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 100,
            "description": "The name or identifier of the software."
          },
          "notes": {
            "type": "string",
            "format": "markdown",
            "maxLength": 3000,
            "description": "Release notes."
          },
          "assets": {
            "type": "array",
            "items": {
              "ref": "#asset",
              "type": "ref"
            },
            "description": "List of download links associated with this release."
          },
          "changes": {
            "ref": "#changes",
            "type": "ref",
            "description": "Changelog entries for this release."
          },
          "version": {
            "type": "string",
            "maxLength": 50,
            "description": "The semantic version string, e.g., v1.2.0-beta.1"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Date and time the release was published."
          },
          "dependencies": {
            "type": "array",
            "items": {
              "ref": "#dependency",
              "type": "ref"
            },
            "description": "The software dependencies of this release."
          }
        }
      },
      "description": "A record representing a software release."
    },
    "asset": {
      "type": "object",
      "required": [
        "name",
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Direct download link."
        },
        "name": {
          "type": "string",
          "description": "Name of the asset (e.g., macos-x64, source-code)."
        },
        "sha256": {
          "type": "string",
          "description": "SHA-256 checksum."
        }
      },
      "description": "A link to a downloadable asset associated with a release."
    },
    "changes": {
      "type": "object",
      "properties": {
        "added": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "markdown",
            "maxLength": 1000
          },
          "description": "New features."
        },
        "fixed": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "markdown",
            "maxLength": 1000
          },
          "description": "Fixed bugs."
        },
        "removed": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "markdown",
            "maxLength": 1000
          },
          "description": "Removed features."
        },
        "modified": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "markdown",
            "maxLength": 1000
          },
          "description": "Modifications of existing features."
        },
        "security": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "markdown",
            "maxLength": 1000
          },
          "description": "Security updates."
        },
        "deprecated": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "markdown",
            "maxLength": 1000
          },
          "description": "Deprecations."
        }
      },
      "description": "Changelog entries for a release, informed by https://keepachangelog.com/en/1.1.0/."
    },
    "dependency": {
      "type": "object",
      "required": [
        "name",
        "version"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the dependency"
        },
        "version": {
          "type": "string",
          "description": "The version of the dependency"
        }
      },
      "description": "A software dependency of the release"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
