Diversification rev away from the 13-rev industry-templates cluster (rev 165-177 each added two templates) — new GET /api/v1/changelog/cadence endpoint closes the fourth axis on the v1 changelog read surface (listing rev 100/101 + per-rev detail rev 174 + latest rev 175 + cadence rev 178) so MCP hosts + AI-tooling release-roundup newsletters can render 'Loop Desk shipped N revs across M active days in the last 30' headlines without paginating + aggregating client-side + new /roadmap/rss.xml feed closes the third axis on the public-marketing RSS subscription cluster (changelog rev 37 + blog rev 105 + roadmap rev 178) so subscribers tracking what's planned (procurement teams, customer success, AI-tooling release-roundup newsletters) get a passive distribution channel without polling + date-grouped section headers + 'New' pill on the rev-170 server-rendered 'All revisions' appendix on /changelog closes the named rev-177 next-sprint candidate at the SSR axis so crawlers + JS-off readers see the same recency signal the rev-177 client list emits — closes the load-bearing rev-177 server-rendered SSR-axis gap + opens the per-day shipping cadence axis on the v1 changelog cluster + opens the third RSS subscription axis on the public marketing surface — 100th unbroken cadence rev (rev 178)
GET /api/v1/changelog/cadence — closes the fourth axis on the v1 changelog read surfaceCloses the fourth axis on the v1 changelog cluster (listing rev 100/101 + per-rev detail rev 174 + latest rev 175 + cadence rev 178). Returns trailing N days (1-365, default 90) of release activity bucketed by ISO date with revCount + sample rev labels per day. Empty days (no revs shipped) included with count=0 so calendar-style renders read correctly. Plus rollup stats (totalRevsAllTime, totalRevsInWindow, activeDaysInWindow, avgRevsPerActiveDay, peakDay) so MCP hosts + AI-tooling release-roundup newsletters can render 'Loop Desk shipped 45 revs across 12 active days in the last 30' headlines without paginating + aggregating client-side. Pure protocol-translation work for the upcoming MCP server — nothing left to design on the changelog read axis. The cadence pattern from rev 78 onward (every dashboard primitive gets typed in the OpenAPI 3.1 spec in the same cycle it ships) reaches its 91st unbroken rev with rev 178. Strategic significance: until rev 178 the v1 changelog cluster answered three questions (what shipped, what shipped at rev N, what shipped most recently) but the missing fourth — what's the workspace's shipping pace by day — required MCP hosts to fetch the full release list and aggregate client-side. Visible velocity is the cheapest possible trust signal for procurement teams evaluating governance-first AI tools, and a per-day cadence read makes it programmatically queryable.
/roadmap/rss.xml — closes the third axis on the public-marketing RSS subscription clusterCloses the third axis on the public-marketing RSS subscription cluster (rev-37 /changelog/rss.xml + rev-105 /blog/rss.xml + rev-178 /roadmap/rss.xml). Until rev 178 subscribers who wanted to track *what's planned* (not what shipped, not what we're writing about) had no passive distribution channel — they had to manually visit /roadmap. Rev 178 closes that. Each item carries the phase ('Now (Q2 2026)' / 'Next (Q3 2026)' / 'Later') as both the title prefix and the RSS category so feed readers can group + filter by phase. Per-item GUID is the stable rev-97 roadmap-item key (e.g. 'stripe-checkout') so a feed reader's deduplication works correctly when items move between phases. Link points at the rev-125 per-item permalink anchor on /roadmap so a click lands on the matching card with the rev-125 flash-highlight treatment. Items ordered by phase (Now → Next → Later) so subscribers see the most-imminent work first. Subscribe link added to the /roadmap page lede + alternate metadata for feed-reader auto-discovery. Sitemap entry added so crawlers + AI-tooling discovery systems find the feed. Strategic significance: procurement teams + early adopters tracking governance-first AI tools can now subscribe to the full cadence story across all three axes (shipped, brand voice, planned) without polling.
Date-grouped section headers + 'New' pill on the rev-170 server-rendered 'All revisions' appendixCloses the named rev-177 next-sprint candidate at the SSR axis. The rev-177 'New' pill ships on the rev-101 client list which lives in a 'use client' component — crawlers + JS-off readers couldn't see the recency signal. Rev 178 closes that with a server-rendered 'New' pill on the rev-170 'All revisions' appendix. Plus date-grouped section headers: with 168+ revs in the appendix, a flat scroll is increasingly painful; grouping by ISO release date (since most days ship 1-9 revs on a tight cadence) gives visitors a shipping-pace summary at the head of every section ('Thu, May 8: 4 revisions', 'Wed, May 7: 9 revisions'). Pure server-rendered <h3> + per-section <ol> so crawlers see the cadence structure in the SSR'd HTML body — same primitive Date.parse + cutoff logic the rev-177 client list uses, extracted into a helper function (mirrors the rev-176 isNewlyLaunched pattern on the templates page) so React 19's strict purity rule for component renders doesn't fire on Date.now(). Visual treatment: brand-color teal 'New' pill matches the rev-177 client-list pill so the recency vocabulary across both surfaces reads as one consistent visual story; the row picks up a soft brand-color tinted background gradient so the eye reads recency even before parsing the pill copy. Strategic significance: rev-101 keyword search + rev-177 New pill on the client list closed the recency-signal axis for visitors with JS; rev-178 closes the same axis for crawlers + AI-tooling discovery systems that don't fully render the React tree.
Cumulative visual polish — focus-visible ring + tactile hover lift on every appendix anchorCumulative micro-polish — every rev 22+ has carried at least one. The rev-170 appendix anchors had hover-lift since they shipped but the new rev-178 'is-new' modifier needs visual distinction without competing with the hover state. Rev 178 layers the brand-color tinted background under the existing hover treatment so a fresh rev's anchor reads as 'this is recent' on first glance and 'this is interactive' on hover — two reading horizons, one consistent visual hierarchy. Plus the gap between the rev label + the new pill bumped from 1px → 2px so the column layout reads cleanly when both elements are present. Anchored in the rev-22+ design language thread that has run since rev 22 — the rev-by-rev discipline of one targeted polish per rev is what keeps the public marketing surface from drifting toward the design-debt smell hand-rolled SaaS dashboards develop after 178 revs.
Start free — there are no metered credits to run out.