Release Manifest Timeline

A lightweight view of manifest dates, pack counts, and schema changes. Use it as a quick pulse-check for release cadence and evolution.

Timeline

Click a point to inspect a release date. Uses the manifest index by default (or ?data=URL for a custom timeline JSON).

const allowedPrefixes = ["/release_manifest/", "/manifests/"]; function sanitizePath(value) { if (!value) { return null; } const trimmed = value.trim(); const lower = trimmed.toLowerCase(); if (lower.startsWith("http:") || lower.startsWith("https:")) { return null; } if (lower.startsWith("javascript:") || lower.startsWith("data:")) { return null; } if (trimmed.startsWith("//") || trimmed.includes("..") || trimmed.includes("\\")) { return null; } const path = trimmed.startsWith("/") ? trimmed : `/${trimmed}`; const allowed = allowedPrefixes.some((prefix) => path.startsWith(prefix)); return allowed ? path : null; } function setTimelineStatus(message) { timelineStatus.textContent = message; }