Public Changelog & Release Feed
Public Changelog & Release Feed
Every product built on SaaS Factory automatically gets a customer-facing public changelog and release feed. The AI marketing agent authors each entry and publishes it to a public URL on every release — no manual steps required.
Overview
SaaS Factory's internal release pipeline (release agent + releases table) already produces structured release data, blog posts, and social copy for every version shipped. The public changelog feature routes that content to a live public page and machine-readable feed, giving your customers a transparent, up-to-date record of product improvements.
How It Works
- Release agent fires — a new row is written to the
releasestable with version, notes, and metadata. - Marketing agent enriches —
releases.blogPostandreleases.socialPostsare populated with AI-authored narratives. - Changelog page updates — the public
/changelogroute re-renders with the new entry at the top, no deployment required. - Feed updates — the
/changelog/feedendpoint reflects the new release for any subscriber polling it.
Public Routes
| Route | Description |
|---|---|
/changelog | Human-readable changelog page, reverse-chronological |
/changelog/feed | Machine-readable release feed (RSS/JSON) |
Changelog Page
The /changelog page is auto-populated from the releases table. Each entry includes:
- Version number — e.g.
v1.0.164 - Release title — the human-readable title set by the release agent
- Release date — timestamp from the
releasesrow - AI-authored narrative — drawn from
releases.blogPost, written in customer-friendly language - Highlights — key changes surfaced as a scannable bullet list
No manual publishing step is needed. When the release agent creates a release, the changelog page reflects it automatically.
Release Feed
The /changelog/feed endpoint provides a machine-readable version of the changelog, suitable for RSS readers, internal tooling, or customer integrations that want to subscribe to product updates.
Supported formats:
- RSS 2.0 — for feed readers and aggregators
- JSON Feed — for programmatic consumption
Request the preferred format via the Accept header or a ?format= query parameter:
GET /changelog/feed → defaults to RSS 2.0
GET /changelog/feed?format=json → JSON Feed
Relationship to changelog-modal.tsx
The b2b-saas template includes a changelog-modal.tsx UI component — a modal widget surfaced inside the product UI (e.g. a "What's new" badge). The public changelog page and feed are separate from this widget:
changelog-modal.tsx | Public changelog page | |
|---|---|---|
| Audience | Logged-in users inside the app | Anyone — customers, prospects, search engines |
| Route | In-app modal, no public URL | /changelog (public) |
| Content source | Configured separately | releases table (automatic) |
| SEO indexed | No | Yes |
Both can be used together. The modal gives logged-in users an in-product nudge; the public page serves as a conversion and retention tool visible to the world.
Data Source
The changelog reads from the existing releases table. No schema changes are required. Relevant fields:
| Field | Used for |
|---|---|
version | Entry version label |
title | Entry heading |
createdAt | Publication date |
blogPost | AI-authored long-form narrative |
socialPosts | Short highlights / bullet points |
notes | Raw release notes (fallback if blogPost is empty) |
Competitive Context
Detailed public changelogs (as used by products like Cursor) function as both a retention tool for existing customers and a conversion signal for prospects evaluating the product. An automatically maintained, AI-authored changelog demonstrates that the product is actively improving — without requiring any human editorial effort.