Skip to content

Add guide to changelogs + subscribable RSS feeds #824

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 21 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion changelog.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
---
title: "Product Updates"
description: "New updates and improvements"
mode: "center"
---

<Update label="June 2025" rss={{ title: "June Product Updates", description: "Subscribable changelogs and more" }}>

Check warning on line 6 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L6

Did you really mean 'Subscribable'?
## Subscribable changelogs

Check warning on line 7 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L7

Did you really mean 'Subscribable'?
- Automatically generate an RSS feed from changelog pages
- Integrate RSS-enabled updates with Slack, email, and other tools

Learn more in our new [Changelog guide](/guides/changelogs)
</Update>

<Update label="May 2025">
## API playground stability updates
- Search to find an endpoint
Expand Down Expand Up @@ -83,7 +90,7 @@
- Improved styling nits for dashboard border for mobile-tablet-desktop responsiveness
- Show code examples even when in simple mode for API playground
- Support "command \+ k" shortcut for search in web editor
- Codeblocks within callouts expand to fill the width of the callout area

Check warning on line 93 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L93

Did you really mean 'Codeblocks'?

Check warning on line 93 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L93

Did you really mean 'callouts'?

Check warning on line 93 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L93

Did you really mean 'callout'?
</Update>

<Update label="February 2025">
Expand Down Expand Up @@ -114,9 +121,9 @@

Automatically lint your docs to find broken links, discover spelling and grammar issues, or enforce writing styles with your own Vale config. Learn more in our [docs](settings/ci).

## .md support for LLMs

Check warning on line 124 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L124

Did you really mean 'LLMs'?

All documentation pages are now automatically available as plain Markdown files—just append `.md` to the URL. This makes it easier for LLMs to ingest individual pages from your documentation.

Check warning on line 126 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L126

Did you really mean 'LLMs'?

## More Themes

Expand Down Expand Up @@ -198,7 +205,7 @@
<Frame>
![llms.txt support](/images/changelog/llms.jpg)
</Frame>
All docs instances are now automatically hosted at /llms.txt and /llms-full.txt so that LLMs can easily ingest your documentation. For more information, read the [docs on the new llms.txt standard.](https://llmstxt.org)

Check warning on line 208 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L208

Did you really mean 'LLMs'?

## Localization

Expand Down Expand Up @@ -270,7 +277,7 @@
## Dashboard Improvements

- Added ability to change custom domain to be /docs directly through dashboard settings.
- Consolidated the login and signup pages to decrease friction and confusion.

Check warning on line 280 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L280

Did you really mean 'signup'?
- Implemented the discovery login flow so that users that are members of multiple organizations can now switch between them.
- Added login with Google OAuth
- Added ability to add new deployment through dashboard settings.
Expand All @@ -284,7 +291,7 @@
- Don't allow search engines to crawl user-auth protected pages.
- Revalidate the cache when an org is deleted.
- We now use the Scalar OpenAPI parser to parse OpenAPI definitions which improves the performance, fixes parsing issues, and surfaces better error messages.
- Top-level descriptions are now supported in API reference pages autogenerated from OpenAPI definitions.

Check warning on line 294 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L294

Did you really mean 'autogenerated'?
- Add in-line-style support for icons
- Fixed the pop-in of custom CSS in docs.
- Properly show in-line code styling in conjunction with links.
Expand Down Expand Up @@ -317,7 +324,7 @@
<Frame>
![SEO Improvements](/images/changelog/seo-improvements.jpeg)
</Frame>
We've fixed both the mobile and desktop layout of our docs so that they are more SEO-friendly - including adding proper aria tags to navbar and toggle elements.

Check warning on line 327 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L327

Did you really mean 'navbar'?

## Dashboard Improvements

Expand Down Expand Up @@ -351,7 +358,7 @@

## File Uploads in API Playground

By default, API playground requests are proxied by Mintlify. Now you can use

Check warning on line 361 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L361

Did you really mean 'proxied'?
`disableProxy` to disable this behavior and support request types like file
uploads.

Expand Down Expand Up @@ -384,7 +391,7 @@
</Frame>
For `Pro` users, we introduced Mintlify Widget, an extension of your docs to
answer your users' questions when and where they asked. You can add this
AI-powered chatbot to any web page: your landing page, inside your product, or

Check warning on line 394 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L394

Did you really mean 'chatbot'?
on your existing documentation pages.

- [Read the blog announcement](https://mintlify.com/blog/widget)
Expand Down Expand Up @@ -419,7 +426,7 @@
<Update label="May 2024">
## Okta SSO

We now support sign-on via Okta SAML and OIDC.

Check warning on line 429 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L429

Did you really mean 'Okta'?

## Mintlify REST API

Expand All @@ -442,7 +449,7 @@
<Update label="March 2024">
## Mintlify MDX for VSCode

Call snippets of our pre-built components and callouts without leaving VSCode. [Install the extension here](https://marketplace.visualstudio.com/items?itemName=mintlify.mintlify-snippets).

Check warning on line 452 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L452

Did you really mean 'callouts'?
</Update>

<Update label="February 2024">
Expand All @@ -451,7 +458,7 @@
- Dashboard upgrades: view update logs to see what's changed and status of an update, toggle between Mintlify projects to manage deployments
- Versioning with tabs fully supported
- Wildcard redirects now supported
- CLI Error Detection: we now show the position of invalid frontmatter when there are parsing issues during local development

Check warning on line 461 in changelog.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

changelog.mdx#L461

Did you really mean 'frontmatter'?
</Update>

<Update label="January 2024">
Expand Down
78 changes: 42 additions & 36 deletions components/update.mdx
Original file line number Diff line number Diff line change
@@ -1,70 +1,76 @@
---
title: "Update"
description: "Keep track of changes and updates"
icon: 'list-collapse'
icon: "list-collapse"
---

The `Update` component is used to keep track of changes and updates.
Use the `Update` component to display changelog entries, version updates, and release notes with consistent formatting.

<Update label="2024-10-12" description="v0.1.1">
<Update label="Example" description="v0.1.1">
## Example update

You can add anything here, like a screenshot, a code snippet, or a list of changes.

<Frame>
<img
className="block"
src="https://mintlify-assets.b-cdn.net/hero-light.png"
alt=""
/>
</Frame>

## Changelog

You can add anything here, like a screenshot, a code snippet, or a list of changes.

#### Features
### Features
- Responsive design
- Sticky section for each changelog
- Anchor for each update
- Generated RSS feed entry for each update
</Update>

<Update label="2024-10-11" description="v0.1.0">
### How to use
```mdx
<Update label="2024-10-12" description="v0.1.1">
This is how you use a changelog with a label
and a description.
</Update>
<Update label="2024-10-11" description="v0.1.0">
This is how you use a changelog with a label
and a description.
</Update>
```
## How to use

You can use multiple `Update` components to create changelogs.
```mdx Update example
<Update label="2024-10-11" description="v0.1.0" tags={["Mintlify"]}>
This is how you use a changelog with a label, description,
and tags.
</Update>
```

<Tip>
Each `label` creates an anchor and also shows up on the table of contents on the right.
</Tip>
Use multiple `Update` components to create [changelogs](/guides/changelogs).

## Props

<ResponseField name="label" type="string" required>
The label give to the update, appears as sticky text to the left of the changelog.
Label for the update. Appears to the left of the update and creates an anchor link. For this reason, labels should be unique.
</ResponseField>

<ResponseField name="tags" type="string[]">
Tags for the changelog, will be shown as filters in the right side panel.
Tags for the update. Shown as filters in the right side panel.
</ResponseField>

<ResponseField name="description" type="string">
Description of the update, appears below the label and tag.
Description of the update. Appears below the label and tag.
</ResponseField>

<ResponseField name="rss" type="object">
Title and description that will appear in the RSS feed entry for the update.

```mdx wrap
<Update label="v1.0.1" rss={{ title: "v1.0.1 released", description: "Bug fixes and improvements" }}>
# What's New in v1.0.1

* Bug fixes
* Improvements
</Update>
```

<RequestExample>

```mdx Update Example
<Update label="2024-10-12" description="v0.1.1">
This is how you use a changelog with a label
and a description.
</Update>
```xml Example Update item in RSS feed
<item>
<title><![CDATA[v1.0.1 released]]></title>
<description><![CDATA[Bug fixes and improvements]]></description>
<link>https://mintlify.com/changelog#v101</link>
<guid isPermaLink="true">https://mintlify.com/changelog#v101</guid>
<pubDate>Fri, 20 Jun 2025 21:32:19 GMT</pubDate>
</item>
```

</RequestExample>
Learn more about [subscribable changelogs](/guides/changelogs#subscribable-changelogs).
</ResponseField>
6 changes: 5 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@
"react-components",
"settings/custom-scripts",
"settings/seo",
"guides/changelogs",
"guides/hidden-pages",
"settings/broken-links",
"guides/monorepo",
Expand Down Expand Up @@ -362,6 +363,9 @@
"claude"
]
},
"rss": {
"pages": ["changelog"]
},
"redirects": [
{
"source": "/content/components/accordions",
Expand Down Expand Up @@ -492,4 +496,4 @@
"destination": "authentication-personalization/personalization-setup"
}
]
}
}
152 changes: 152 additions & 0 deletions guides/changelogs.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
---
title: "Changelogs"
description: "Post product updates in your docs with a subscribable RSS feed"

Check warning on line 3 in guides/changelogs.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

guides/changelogs.mdx#L3

Did you really mean 'subscribable'?
icon: "newspaper"
---

Create a changelog for your docs by adding [Update components](/components/update) to a page.

Check out the [Mintlify changelog](/changelog) as an example: you can include links, images, text, and demos of your new features in each update.

## Setting up your changelog

<Steps>
<Step title="Create a page for your changelog">
1. Create a new page in your docs such as `changelog.mdx` or `updates.mdx`.
2. Add your changelog page to your navigation scheme in your `docs.json`.
</Step>
<Step title="Add Update components to your changelog">
Add an `Update` for each changelog entry.

Include relevant information like feature releases, bug fixes, or other announcements.
</Step>
</Steps>

```mdx Example changelog.mdx
---
title: "Changelog"
description: "Product updates and announcements"
---
<Update label="March 2025" description="v0.0.10">
Added a new Wintergreen flavor.

Released a new version of the Spearmint flavor, now with 10% more mint.
</Update>

<Update label="February 2025" description="v0.0.09">
Released a new version of the Spearmint flavor.
</Update>
```

## Customizing your changelog

Control how people navigate your changelog and stay up to date with your product information.

### Table of contents

Each `label` for an `Update` automatically creates an entry in the right sidebar's table of contents. This is the default navigation for your changelog:

<Frame>
<img
src="/images/changelog-toc-light.png"
alt="Changelog with table of contents displayed in light mode."
className="block dark:hidden"
/>
<img
src="/images/changelog-toc-dark.png"
alt="Changelog with table of contents displayed in dark mode."
className="hidden dark:block"
/>
</Frame>

### Tag filters

Add `tags` to your `Update` components to replace the table of contents with tag filters. Users can filter the changelog by selecting one or more tags:

```mdx Tag filters example wrap
<Update label="March 2025" description="v0.0.10" tags={["Wintergreen", "Spearmint"]}>
Added a new Wintergreen flavor.

Released a new version of the Spearmint flavor, now with 10% more mint.
</Update>

<Update label="February 2025" description="v0.0.09" tags={["Spearmint"]}>
Released a new version of the Spearmint flavor.
</Update>

<Update label="January 2025" description="v0.0.08" tags={["Peppermint", "Spearmint"]}>
Deprecated the Peppermint flavor.

Released a new version of the Spearmint flavor.
</Update>
```

<Frame>
<img
src="/images/changelog-filters-light.png"
alt="Changelog in light mode with the Peppermint tag filter selected."
className="block dark:hidden"
/>
<img
src="/images/changelog-filters-dark.png"
alt="Changelog in dark mode with the Peppermint tag filter selected."
className="hidden dark:block"
/>
</Frame>

<Tip>
The table of contents and changelog filters are hidden when using `custom`, `center`, or `wide` page modes. Learn more about [page modes](/pages#page-mode).
</Tip>

### Subscribable changelogs

Check warning on line 101 in guides/changelogs.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

guides/changelogs.mdx#L101

Did you really mean 'Subscribable'?

Using `Update` components creates a subscribable RSS feed at your page URL + `/rss.xml`. For example, `mintlify.com/docs/changelog/rss.xml`. New updates are automatically included in the feed when published.

Check warning on line 103 in guides/changelogs.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

guides/changelogs.mdx#L103

Did you really mean 'subscribable'?

```xml Example RSS feed
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
<title><![CDATA[Product Updates]]></title>
<description><![CDATA[New updates and improvements]]></description>
<link>https://mintlify-changelogs-guide.mintlify.app</link>
<generator>RSS for Node</generator>
<lastBuildDate>Fri, 20 Jun 2025 21:36:14 GMT</lastBuildDate>
<atom:link href="https://mintlify-changelogs-guide.mintlify.app/changelog/rss.xml" rel="self" type="application/rss+xml"/>
<copyright><![CDATA[Mintlify]]></copyright>
<docs>https://mintlify-changelogs-guide.mintlify.app</docs>
<item>
<title><![CDATA[Subscribable changelogs]]></title>
<description><![CDATA[Post product updates in your docs with a subscribable RSS feed]]></description>
<link>https://mintlify-changelogs-guide.mintlify.app/changelog#june-20-2025</link>
<guid isPermaLink="true">https://mintlify-changelogs-guide.mintlify.app/changelog#june-20-2025</guid>
<pubDate>Fri, 20 Jun 2025 21:04:47 GMT</pubDate>
</item>
</channel>
</rss>
```

RSS feeds can integrate with Slack, email, or other subscription tools to notify users of product changes. Some options include:

* [Slack](https://slack.com/help/articles/218688467-Add-RSS-feeds-to-Slack)
* [Email](https://zapier.com/apps/email/integrations/rss/1441/send-new-rss-feed-entries-via-email) via Zapier

Check warning on line 130 in guides/changelogs.mdx

View check run for this annotation

Mintlify / Mintlify Validation - vale-spellcheck

guides/changelogs.mdx#L130

Did you really mean 'Zapier'?
* Discord bots like [Readybot](https://readybot.io) or [RSS Feeds to Discord Bot](https://rss.app/en/bots/rssfeeds-discord-bot)

To add RSS feed links to your page's [contextual menu](/ai-ingestion#contextual-menu), add the `rss` property to your `docs.json`:

```json
"rss": {
"pages": ["changelog", "status"]
}
```

<Frame>
<img
src="/images/changelog-rss-ctx-light.png"
alt="Changelog page in light mode with RSS feed in context menu enabled."
className="block dark:hidden"
/>
<img
src="/images/changelog-rss-ctx-dark.png"
alt="Changelog page in dark mode with RSS feed in context menu enabled."
className="hidden dark:block"
/>
</Frame>
Binary file added images/changelog-filters-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/changelog-filters-light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/changelog-rss-ctx-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/changelog-rss-ctx-light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/changelog-toc-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/changelog-toc-light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.