Public Product Changelog Page
Public Product Changelog Page
Every product built and managed by SaaS Factory ships with a public changelog page that automatically publishes release notes as the autonomous pipeline delivers updates. No manual publishing. No human bottleneck.
Overview
The changelog page is a subdomain-hosted, SEO-indexed web page that reads directly from the releases table — the same table written to by the platform's release and marketing agents. It gives end-users of managed products continuous visibility into improvements, and serves as external proof that the product is actively and autonomously maintained.
URL Structure
Each managed product gets its own changelog subdomain:
https://changelog.<your-product-domain>.com
For example, a product at acme.com would expose:
https://changelog.acme.com
Data Source: The releases Table
The changelog page is backed entirely by the releases table, which is populated automatically by the release pipeline agents.
SELECT
version,
title,
release_notes,
blog_post,
social_posts,
created_at
FROM releases
ORDER BY created_at DESC;
No manual data entry is required. Every time the pipeline ships a release, the changelog updates.
Page Features
Auto-Publishing
Release notes written by the AI release agent are published to the changelog page the moment a release row is inserted. There is no approval step — the pipeline owns the full publishing lifecycle.
Versioned Entries
Each changelog entry displays:
- Semantic version number
- Release title
- Publication date
- Full markdown-rendered release notes
SEO Indexing
Every release entry is a crawlable, server-rendered page fragment. Search engines index the full history, creating an organic record of continuous delivery over time.
ISR (Incremental Static Regeneration)
The page uses Next.js ISR so it is statically served for performance while staying fresh as new releases are added — no full rebuilds required.
Relationship to changelog-modal.tsx
Generated app templates already include a changelog-modal.tsx component that surfaces recent releases inside the product UI. The public changelog page is the external counterpart to this component — same data source (releases table), different surface (public subdomain vs. in-app modal).
| Surface | Component | Audience | Auth Required |
|---|---|---|---|
| In-app modal | changelog-modal.tsx | Logged-in users | Yes |
| Public subdomain | Changelog page | Anyone | No |
Why This Matters
- Proof of velocity — visitors and prospects can verify the product ships continuously.
- End-user trust — customers see what changed and when, reducing uncertainty and support inquiries.
- SEO content — each release creates indexed content demonstrating active development.
- Zero-ops publishing — no human writes, schedules, or approves changelog posts.
Configuration
The changelog subdomain is provisioned automatically when a managed product is created. No additional configuration is required by default.
To customise the subdomain or disable public publishing for a specific product, update the product's settings in the SaaS Factory dashboard under Operations → Product Settings → Changelog.
Accessing the Raw Data via API
The releases table is also accessible via the internal API for custom integrations:
GET /api/releases?product_id=<id>&limit=20
Response:
[
{
"version": "1.0.127",
"title": "Structured Product Changelog & Release Notes Public Page",
"release_notes": "...",
"blog_post": "...",
"social_posts": { "twitter": "...", "linkedin": "..." },
"created_at": "2025-01-27T00:00:00Z"
}
]