List published release notes with the viewer's last-viewed floor.
GET
/api/changelog/releases
const url = 'https://api.tradr.cloud/api/changelog/releases';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.tradr.cloud/api/changelog/releasesUser-scoped, side-effect-free. Returns the cached GitHub releases (newest first) plus fetchedAt, a stale flag (cache older than its TTL but still served), and the per-viewer lastViewedAt floor (changelog_viewed_at ?? created_at). Never mutates viewer state — marking viewed is the dedicated POST. When the cache is empty and the upstream fetch fails, returns a coded 503 CHANGELOG_UNAVAILABLE.
Responses
Section titled “Responses”{ releases, fetchedAt, stale, lastViewedAt }.
Not authenticated.
CHANGELOG_UNAVAILABLE (empty cache