Skip to main content
Introducing packages.sweber.dev
Documentation menuFeed format

Feed format

The changelog.json schema.

changelog.json is plain JSON you can also write by hand or generate from a CMS.

{
  "version": 1,
  "title": "Acme changelog",
  "link": "https://acme.ch/changelog",
  "generatedAt": "2026-10-05T10:00:00.000Z",
  "releases": [
    {
      "id": "2.4.0",
      "version": "2.4.0",
      "date": "2026-10-02",
      "title": "Dark mode is here",
      "summary": "Switch it on under **Settings → Appearance**.",
      "entries": [
        { "type": "feature", "text": "Dark mode for the dashboard" },
        { "type": "fix", "text": "Rounding of Swiss francs", "scope": "billing", "link": "https://…" }
      ]
    }
  ]
}
FieldRequiredNotes
versionyesAlways 1
releasesyesNewest first
releases[].idyesStable key for the unread state, usually the version
releases[].entriesyesMay be empty when a title or summary is set
releases[].dateISO 8601 date or date-time
releases[].packagePackage name in monorepo feeds
entries[].typeyesfeature, improvement, fix, breaking, security, deprecated, removed or other
entries[].textyesOne line, inline Markdown
entries[].detailsMore paragraphs or a - list
entries[].scope, entries[].link

The widget validates the file with parseFeed and ignores unknown fields.