Changelog Guide
Minolith's changelog service gives you a hosted, public-facing changelog page, an embeddable widget, and an RSS feed — all managed from your dashboard or API.
What you get:
- A hosted changelog page at
changelog.minolith.io/your-project-slug - An embeddable JavaScript widget that shows recent changes on your site
- An RSS feed for subscribers
- Draft/publish workflow so you can prepare entries before they go live
- Five themes to match your brand
Creating Entries
Entries are individual changes — a bug fix, a new feature, a breaking change. Each entry has a title, body (markdown), and category.
From the dashboard
- Go to your project and click Changelog in the sidebar
- Click Create Entry
- Fill in:
- Title — what changed (e.g. "Added dark mode support")
- Body — details, markdown supported
- Category — choose one:
feature,improvement,fix,breaking,deprecation,security,other - Version — optionally group this entry under a version (or leave as "Ungrouped")
- Click Create
The entry is created as a draft by default — it won't appear on the public page or widget until you publish it.
From the API or MCP
curl -X POST https://api.minolith.io/v1/changelog/entries \
-H "Authorization: Bearer mlth_yourkey" \
-H "Content-Type: application/json" \
-d '{
"title": "Added dark mode support",
"body": "Users can now toggle between light and dark themes in Settings.",
"category": "feature"
}'
Or via MCP: call create_changelog_entry with the same fields.
Creating Versions
Versions group entries together — think of them as releases. A version might be v2.1.0, March 2026, or Sprint 14.
From the dashboard
- Go to Changelog → Versions (tab at the top of the Changelog page)
- Click Create Version
- Fill in:
- Name — the version label (e.g.
v2.1.0) - Description — optional release summary (markdown supported)
- Release Date — optional, auto-set when you publish if left empty
- Name — the version label (e.g.
- Click Create
Once a version exists, you can assign entries to it when creating or editing them.
From the API or MCP
curl -X POST https://api.minolith.io/v1/changelog/versions \
-H "Authorization: Bearer mlth_yourkey" \
-H "Content-Type: application/json" \
-d '{
"name": "v2.1.0",
"description": "Dark mode, performance improvements, and three bug fixes."
}'
Or via MCP: call create_changelog_version.
The Draft → Published Workflow
Everything starts as a draft. Nothing is visible to the public until you explicitly publish it.
Publishing individual entries
From the dashboard, open an entry and click Publish. From the API, call POST /v1/changelog/entries/{id}/publish.
Publishing a version (and all its entries)
This is the most common workflow. When you publish a version:
- The version itself becomes published
- All draft entries grouped under that version are published automatically
- The release date is set to now (unless you specified one earlier)
From the dashboard, go to Versions, open the version, and click Publish. From the API, call POST /v1/changelog/versions/{id}/publish.
Unpublishing
You can unpublish individual entries or entire versions. Unpublishing a version reverts it to draft but does not unpublish its entries — you'd need to unpublish those individually if needed.
Typical workflow
- Create a version for your upcoming release (e.g.
v2.1.0) - As you complete work, create draft entries and assign them to that version
- When the release is ready, publish the version — all its entries go live at once
The Public Page
Your changelog is hosted at changelog.minolith.io/your-project-slug. It shows published versions and entries in reverse chronological order.
Enabling and disabling
The hosted page and RSS feed can each be toggled independently from Changelog → Settings:
- Hosted Page — toggle the Enabled/Disabled button next to "Hosted Changelog Page". When disabled, the URL returns a 404.
- RSS Feed — toggle the Enabled/Disabled button next to "RSS Feed". When disabled, the feed URL returns a 404.
Both are enabled by default. Disabling the hosted page does not affect the widget — they work independently.
Customising the page
In Changelog → Settings you can configure:
| Setting | What it does |
|---|---|
| Page Title | Custom heading (defaults to your project name) |
| Tagline | Short description shown in the header below the title (e.g. "Release notes and updates") |
| Custom Links | Navigation links shown in the header as nofollow links. Enter as JSON: [{"label": "Website", "url": "https://example.com"}] |
| Theme | Visual style — see below |
| Logo | Upload a PNG, JPG, SVG, or GIF (max 2 MB) — shown in the header |
| Brand Colour | Hex colour used by the Brand theme (e.g. #6366F1) |
| Custom CSS | Additional CSS rules applied on top of the theme |
| Allowed Domains | Restrict which domains can embed the widget (one per line, supports wildcards) |
Themes
Each theme has a distinct layout and personality:
| Theme | Description |
|---|---|
| Minimal | Centered single-column layout with generous whitespace — clean, blog-like reading experience |
| Developer | Dark background with a sticky sidebar for version navigation and monospace accents |
| Brand | Bold gradient hero header using your brand colour, with card-style version blocks |
| Docs | Fixed sidebar with version navigation links and a topbar — documentation-style layout |
| Bare | Semantic HTML with class names but no visual styling — designed for full customisation via Custom CSS |
All themes include: logo + tagline + custom links in the header, responsive mobile layout, collapsible version sections, and category-coloured badges.
RSS Feed
An RSS feed is available at changelog.minolith.io/your-project-slug/feed.xml. Toggle it from Settings using the Enabled/Disabled button next to "RSS Feed".
The Changelog Widget
The widget is a small floating button you embed on your site. When clicked, it slides open a panel showing your latest changelog entries with an unread badge.
Embedding the widget
Add this script tag to your HTML, before the closing </body> tag:
<script src="https://api.minolith.io/widget/changelog.js"
data-project="your-project-slug"
data-position="bottom-right">
</script>
Replace your-project-slug with your project's slug (visible in your project settings).
Configuration
| Attribute | Required | Default | Options |
|---|---|---|---|
data-project |
Yes | — | Your project slug |
data-position |
No | bottom-right |
bottom-right, bottom-left, top-right, top-left |
Enabling the widget
The widget must be enabled in your dashboard:
- Go to Changelog → Settings
- Toggle Widget on
- The widget will start loading on pages where the script is embedded
If the widget is disabled, the script loads silently without rendering anything.
How it works
- The widget shows a floating circular button with a changelog icon
- A red badge appears when there are unread entries (since the visitor last opened the widget)
- Clicking the button slides open a panel showing the latest 20 entries, grouped by version
- Each entry shows its category badge, date, title, and a truncated preview of the body
- A "View all changes" link at the bottom opens your full hosted changelog page
- The widget tracks the last-seen timestamp in the visitor's
localStorage
Domain restrictions
By default, the widget works on any domain. To restrict which sites can embed it:
- Go to Changelog → Settings
- Enter your Allowed Domains (one per line)
- Wildcard subdomains are supported:
*.example.com
If no domains are specified, the widget works everywhere.
Categories
Every entry must have a category. These determine the colour-coded badge shown on the public page and widget:
| Category | Colour | When to use |
|---|---|---|
feature |
Blue | New capabilities |
improvement |
Purple | Enhancements to existing features |
fix |
Green | Bug fixes |
breaking |
Red | Changes that require user action |
deprecation |
Amber | Features being phased out |
security |
Orange | Security patches |
other |
Grey | Everything else |
Working with Your Agent
Your AI agent can manage the changelog through MCP tools. Common workflows:
After completing a feature:
"Create a changelog entry for the dark mode feature we just shipped."
The agent calls create_changelog_entry with the appropriate title, body, and category.
Preparing a release:
"Create a version called v2.1.0 and publish it with all the draft entries."
The agent calls create_changelog_version, then publish_changelog_version to publish everything at once.
Reviewing what's pending:
"What changelog entries are still in draft?"
The agent calls list_changelog_entries filtered by status to show unpublished entries.
Pricing
- Creating a changelog entry costs 3 credits ($0.03)
- Creating a version costs 3 credits ($0.03)
- All reads, updates, publishes, unpublishes, and deletes are free
- The hosted page, widget, and RSS feed are included at no extra cost