▸ ROOT / CHANGELOG

Changelog

What's new and what's changed in these docs, newest first.

A running log of edits to these docs, newest first. The docs are under active construction — this page is where to see what's fresh, what's been revised, and what's worth re-reading. (Release history for cheetah-service and the SDKs lives in each repo's own CHANGELOG and will be surfaced here later.)

Tags: NEW — a page or section that didn't exist before · IMPROVED — existing content expanded or clarified · CHANGED — renames and restructures (terms or URLs may have moved) · FIXED — corrections to inaccurate content.

2026-07-06#

  • FIXEDAPI Reference: the seven file-download operations (frame files, CL-sweep CSV, run files) no longer claim to return a JSON object — each now shows its real download content type (application/x-ply, image/png, text/csv, application/octet-stream). The underlying OpenAPI spec was corrected in cheetah-service; response bytes were always files.

2026-07-02#

  • IMPROVEDAPI Reference: regenerated from the run-files spec — now 27 operations. New Run files group documents GET /runs/{run_id}/files and GET /runs/{run_id}/files/{name}, with the new FileMetadata schema; ProgramRunResponse gains the files array, and ProgramStep now shows its group_*/section_* fields.
  • NEWOpen REST API and Event reference: consolidated run-file access. Every file a program run produces is now reachable through two endpoints — GET /runs/{run_id}/files (list all files with metadata: type, content_type, size_in_bytes, step_index, frame_id, download href, and deleted_at for retention-expired entries) and GET /runs/{run_id}/files/{name} (download a single file; 410 Gone when bytes were removed by retention — the metadata entry remains). The ProgramCompleted webhook payload and the run-detail response (GET /runs/{run_id}) both carry the same files array. This is an additive change; schema_version stays 2. SDK: list_run_files / download_run_file (Python), listRunFiles / downloadRunFile (TypeScript). Runs predating this release are backfilled on upgrade (best-effort — files already removed by retention are not listed, so older manifests may be partial).

2026-06-12#

  • FIXEDHardware Platform and glossary: the Rack-Mounted description had the name backwards — it describes the parts, not the scanner. The RMH Scanner inspects rack-mounted data-center hardware (server and networking modules), with magnetic quick-change trays, ball-transfer loading, and per-application scanning and vision hardware; it is not a "scanner fixed in a rack."
  • NEWSupport: one channel for everything — support@cheetahengineering.com — plus what to include with a report (serial number or run_id, X-Trace-ID for API problems) and how remote diagnostics work.
  • NEWOperator: the application page, with a screen recording of a real inspection end to end — prepare, enter the serial number, run, read the QC outcome — plus run history and how the operator's screen relates to what your systems receive.
  • NEWApplications: what ships on every cell and which screen is for which job. The five per-app stub pages are removed until there's real content for each (old URLs redirect here); Start Here's operator path now points at the two real pages.
  • NEWHardware Platform: the three inspection-cell configurations — Cobot Scanner, Gantry, and Rack-Mounted — with photos, and the point that matters to integrators: the configuration decides how the scanner moves and nothing else; the software stack and integration surface are identical on every one.
  • CHANGED — Hardware consolidated onto one page: the Overview and Supported Models stubs are gone (hardware selection is application-driven — there is no fixed model matrix to publish). The Errors stub folded into Errors and retries, which already documents every error code reachable on the public surface. Old URLs redirect.
  • FIXEDGlossary: the 3D scanner and Cobot entries no longer name specific component vendors — scanner and robot selection depends on the application. Hardware Platform and Platform Concepts now say it the right way around: the three configurations are bases that are modified and configured per client, not fixed off-the-shelf units.
  • NEWClient Libraries: the Python SDK and TypeScript SDK pages, written for real — install (git tag pin / GitHub Packages), connecting, sync-and-async patterns, a method-to-endpoint map of the public surface, typed responses, and the SDK exception hierarchy. Verified against the clients shipped in cheetah-service v0.0.132.
  • CHANGED — The Rate Limits and Sandbox stub pages are removed: these docs describe what ships, and neither feature exists today. Old URLs redirect to Developers.
  • NEWAPI Quickstart: from a blank terminal to a quality report in four curl commands — no SDK required.
  • IMPROVEDWebhooks: new "Verify the sender" section — the request-header table now documents X-Cheetah-Signature (sent when the webhook has a secret), with constant-time verification code in Python and TypeScript and replay-rejection via the signed timestamp.
  • CHANGED — Developer pages' applies_to banners now pin to cheetah-service v0.0.132 — the first release that serves /openapi-public.json and the public quality-report path.
  • NEWAPI Reference: every operation on the public integration surface — parameters, responses, and schemas. Generated from cheetah-service's /openapi-public.json, so the page cannot drift from the served API: 25 operations across program runs, programs, the quality report, raw capture data, webhooks, and system health.
  • IMPROVED — The quality report now has a public path: GET /runs/{run_id}/quality-report is printed in the Open REST API pull-surface table and the resource model. Requires cheetah-service ≥ v0.0.132.
  • CHANGED — System Architecture is no longer part of the public docs for now; its deep-dive content has moved to our internal documentation. The Platform Concepts overview and Data Model remain the public account of how the platform fits together.
  • NEWOpen REST API: the pull half of an integration, written for real — where the API lives, the observe-only posture for program runs, what you can pull, polling one program run, the updated_since incremental-sync loop (with a runnable reconciliation example), and downloading raw capture data per frame.
  • NEWAPI concepts: four reference pages on the conventions every endpoint shares — resource model (resources, UUIDv7 ids, summary-vs-detail, representation conventions), pagination (the limit/offset envelope, newest-first ordering, why page drift gives duplicates not gaps), idempotency (no idempotency keys — what's safe to repeat and where deduplication is your job), and errors and retries (the error envelope, status codes, retry guidance, X-Trace-ID). All verified against cheetah-service v0.0.131.
  • NEWData Model: the model as your systems see it — program, program run (with the polled status sequence including finalizing), part identity via serial number and revision, the quality report, and lifecycle events as data. Deliberately scoped to client-facing entities.

2026-06-11#

  • IMPROVED — Verified against cheetah-service source: glossary Session and Frame entries (sessions group one capture step's frames; frames carry the robot's pose at capture), and System Architecture now says where analysis lives — cheetah-service's coprocessor subsystem.

  • CHANGED — Developer URLs flattened one level: event dispatch and the open REST API are now direct children of Developers, whose landing page absorbed "Integrating with Cheetah." Old /developers/integrate/... links 301-redirect permanently.

  • IMPROVED — Site-wide concision pass across every written page (−10–26% prose, no facts removed): one home per concept with links elsewhere, figure-narrating sentences cut, per-page beta reminders consolidated into the banner and versioning policy.

  • IMPROVEDProgram Lifecycle Events: new event-timing diagram showing where each event fires in the life of a program run — and that the steps in between emit nothing. Also sharpened the distinction between a failed program run (ProgramFailed, no QC outcome) and a failed inspection (ProgramCompleted with passed: false).

  • FIXEDFAIL_PROGRAM delivery failure fails the program run without emitting a further event (verified against cheetah-service source) — terminal events are strictly mutually exclusive. Corrected in Program Lifecycle Events, webhooks, and the event reference, whose example payloads now show revision: 2.

  • CHANGED — The developer integration surface moved from alpha to beta: first external partners are starting to build against it. Banner, page badges, Start Here, and the versioning policy all updated.

  • IMPROVEDIntegrating with Cheetah: new "Data is the boundary" section — the design principle behind every integration, why the webhook receiver belongs on your side of the line, and a figure of the boundary with its two crossings.

  • CHANGED — The "Pull-Based Integration" page is now Open REST API (same URL), matching the canonical name used everywhere else.

  • IMPROVEDDevelopers: the landing page now says what's ready to read today (Integrating with Cheetah, event dispatch) and what's still stubbed.

  • Site: every heading is now directly linkable — hover one for its anchor link.

  • Site: the under-construction banner now links to this changelog.

2026-06-10#

  • NEW — System Architecture: the hardware block diagram of an inspection cell, the four-layer software structure, and the software block architecture of the kiosk — three annotated figures with prose.
  • NEWGlossary: the canonical vocabulary in four sections (core concepts, hardware, software integration, support) with a linked term index. When a page and the glossary disagree, the glossary wins.
  • NEWPlatform Concepts: a real introduction — what Cheetah is, the platform-overview figure, and the program / program run / quality-artifact vocabulary — replacing the scaffold placeholder.
  • CHANGED — Terminology made canonical across all pages: program run (never "run" or "execution"), QC outcome (was "verdict"), open REST API (was "REST API"). The page formerly titled "Lifecycle events" is now Program Lifecycle Events (same URL).
  • FIXEDEvent reference: the revision payload field is the per-serial-number inspection counter (it increments when the same part is re-inspected), not a program version.
  • Site: every page now carries a persistent under-construction banner with the last-updated date.

2026-06-08#

2026-06-04#

  • IMPROVEDStart Here: added a "choose a path" table of contents.

2026-05-25#

  • CHANGED — "Webhook" terminology renamed to event terminology across the docs.
  • IMPROVED — SDK install instructions moved from versioning into the client libraries pages.
  • Site: syntax highlighting for code samples.

2026-05-24#

  • NEW — Docs site launched at docs.cheetahengineering.com: every section scaffolded — Start Here, Platform Concepts, Hardware, Applications, Developers, Support — with most pages stubbed and marked STUB until they're written.
▸ LAST VERIFIED Wed Jun 10 2026 00:00:00 GMT+0000 (Coordinated Universal Time) ▸▸ /content/changelog.md
▸ DOCS UNDER CONSTRUCTION LAST UPDATED 2026-07-25 ▸ CHANGELOG