{"schemaVersion":"1.1","project":"CommissionSalesJobs.com","projectUrl":"http://localhost:3000","releases":[{"version":"1.4.0","date":"2026-08-30","type":"minor","title":"Developer surface + versioned schemas + SBOM","changes":[{"kind":"added","description":"/developers hub: quick start, MCP tool reference, auth, feeds, policies"},{"kind":"added","description":"/changelog + /changelog.json (Keep a Changelog 1.1)"},{"kind":"added","description":"/schemas/job/v1.json — versioned JSON Schema of the public job object"},{"kind":"added","description":"/.well-known/sbom — CycloneDX 1.5, generated from package-lock at build time"},{"kind":"added","description":"CSP_ENFORCE switch: flip Content-Security-Policy from Report-Only to enforcing without code changes"},{"kind":"changed","description":"sitemap lastmod now derives from real listing dates instead of build time"},{"kind":"changed","description":"/jobs emits CollectionPage + ItemList @graph with stable @ids"}]},{"version":"1.3.0","date":"2026-08-30","type":"minor","title":"Infrastructure audit cycle","changes":[{"kind":"security","description":"Security headers: nosniff, Referrer-Policy, Permissions-Policy, X-Frame-Options, COOP, HSTS, CSP Report-Only"},{"kind":"added","description":"/version.json, /health (Docker healthcheck target), /ready data-layer probe"},{"kind":"added","description":"/openapi.json 3.1 catalog of the real machine surface"},{"kind":"added","description":"JSON Feed 1.1 + RSS 2.0 from one shared source with autodiscovery"},{"kind":"added","description":"CI: build → boot → 110-check infrastructure audit on every push"},{"kind":"fixed","description":"404 page returns proper status with branded recovery experience"},{"kind":"changed","description":"Entity graph: stable @id identifiers on Organization and WebSite"}]},{"version":"1.2.0","date":"2026-08-30","type":"minor","title":"Brand identity, PWA, discovery suite, analytics","changes":[{"kind":"added","description":"Pay Tile brand mark across navbar, favicon, icons, OG images"},{"kind":"added","description":"Installable PWA: manifest, offline service worker, maskable icons"},{"kind":"added","description":".well-known suite: security.txt, mcp, agent, vectrx, assetlinks, AASA, change-password, mta-sts"},{"kind":"added","description":"GA4 conversion analytics (Consent Mode v2) + WebMCP token authentication on /mcp"},{"kind":"fixed","description":"SERP-perfect ≤60-char titles on all money pages"}]},{"version":"1.1.0","date":"2026-08-29","type":"minor","title":"SEO/AEO/GEO integration layer","changes":[{"kind":"added","description":"Live Convex inventory on all crawlable pages with ISR (900s)"},{"kind":"added","description":"Programmatic market hubs /jobs/in/[location] (inventory-guardrailed)"},{"kind":"added","description":"RSS feed, llms.txt + llms-full.txt, WebMCP tools (list_locations, get_stats)"},{"kind":"fixed","description":"Live Convex listings previously 404ing now render with full compensation disclosure"}]},{"version":"1.0.0","date":"2026-08-29","type":"major","title":"Platform overhaul — Industrial Proof","changes":[{"kind":"added","description":"Industrial Proof design system (Saira Condensed, Public Sans, hazard language)"},{"kind":"added","description":"Live Convex marketplace: public reads, verified staffing pipeline E2E"},{"kind":"added","description":"Deployment doctrine: Coolify compose, shared-Convex contract (ADR-0002)"}]}]}