JSON API

Every version published here is also served as JSON, so an application can read the changelog directly. All responses are static files sent with Access-Control-Allow-Origin: *, so they can be fetched from a browser without a proxy, and are cached for ten minutes.

Endpoints

/api/index.json Every version with its date and title, newest first. No release bodies, so it stays small.
/api/latest.json The newest stable release, in full. Prereleases are skipped unless nothing else exists.
/api/v1.1.15.json One specific version, in full.
/api/changelog.json Every version in full, in a single request.

Entry shape

A single version carries three renderings of the same release notes, so a consumer can use whichever fits without needing its own Markdown parser or HTML stripper: markdown is the source as authored, text is plain text with no markup at all, and html is the rendered and sanitized body.

{
  "schemaVersion": 1,
  "version": "1.2.3",
  "tag": "v1.2.3",
  "date": "2026-07-28",
  "title": "Faster search",
  "prerelease": false,
  "url": "…/v1.2.3/",
  "apiUrl": "…/api/v1.2.3.json",
  "markdown": "## Added\n- Thing\n",
  "text": "Added\n\n- Thing",
  "html": "<h2>Added</h2>\n<ul>\n<li>Thing</li>\n</ul>"
}

schemaVersion ships in every document. It changes only if the field names change, so a consumer can detect that rather than guess. latest.json is the JSON literal null when no versions have been published.

Example

curl -s https://changelog.dialogicaai.com/api/latest.json | jq -r .text