Skip to content

feat(changelog): source /changelog from the Mintlify docs changelog - #1871

Merged
AriaEdo merged 1 commit into
mainfrom
feat/changelog-from-docs-mdx
Nov 12, 2026
Merged

AriaEdo merged 1 commit into
mainfrom
feat/changelog-from-docs-mdx

Conversation

@AriaEdo

@AriaEdo AriaEdo commented Nov 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

The Mintlify changelog (datum-cloud/docs changelog.mdx, served at /docs/changelog) is now the single source of truth. The marketing /changelog page reads the same file instead of GitHub Discussions, so the two pages can no longer drift apart. Before this change /changelog showed different entries than /docs/changelog (24 entries, updated weekly).

Changes

  • New parser (src/libs/changelogMdx.ts) for the <Update> blocks:
    • the ## heading becomes the title and description becomes the product
    • tags become labels and the label date becomes createdAt (noon UTC, so the date is the same in every timezone)
    • docs-relative links (/alb/...) are rewritten to /docs/alb/...
    • "View on GitHub" points to the entry's discussion when it has a [Read the announcement] link, otherwise to the changelog discussions category
    • Fails loudly: throws if any block cannot be parsed, or if the parsed count differs from the number of <Update> tags, so a format change in the docs repo never silently drops entries
  • changelogs() (src/libs/datum.ts) fetches raw.githubusercontent.com/datum-cloud/docs/main/changelog.mdx and caches the result for 20 minutes. Failures are logged and not cached, so the next request retries.
  • /changelog.md renders from the same source per request.
  • UI (Card.astro, components-changelog.css):
    • the product name is shown as an eyebrow above the title
    • tags moved from the card to under the date, styled like .roadmap-backlog-badge
    • tag class names are slugified, since tags like AX/DX/UX produced invalid classes
    • the "View on GitHub" position from the Development - revamp Releases / Roadmap / Changelog #1849 redesign is unchanged
  • Removed the three stale 2025 entries in src/content/changelog/. index.md stays for page title/meta.
  • Tests: parser unit tests (npm run test:changelog). The comment in the changelog-search e2e spec now describes the new source.

Notes for reviewers

  • New docs entries reach /changelog within about 20 minutes of merging in the docs repo. /changelog.md can take up to about 25 minutes because it adds a 5-minute Cache-Control.
  • Each pod keeps its own file cache in .cache/, as roadmaps and stars already do.
  • If GitHub is unreachable when the cache expires, the list renders empty until the next successful fetch. This matches the existing roadmap/stars behavior.
  • The tag style is copied from .roadmap-backlog-badge because components-roadmap.css is not loaded on this page. Merging the two into a shared class is a follow-up.

Test plan

  • npm run test:changelog: 8/8 pass
  • npx playwright test tests/e2e/changelog-search.spec.ts: 3/3 pass (ran, not skipped)
  • ESLint, Prettier, astro check: 0 errors
  • Parsed the live changelog.mdx: 24/24 entries, unique ids, no leftover relative links
  • Dev server: /changelog renders all 24 entries with eyebrow, tags and card link; checked at 1280px and 390px
  • /changelog.md returns 200 with the docs entries
  • Verify on the branch preview after deploy

The docs changelog (datum-cloud/docs changelog.mdx, served at
/docs/changelog) is the source of truth. /changelog now reads the same
file instead of GitHub Discussions, so both pages always show the same
entries.

- Parse <Update> blocks into entries: the ## heading is the title, the
  description is the product, tags become labels, and docs-relative
  links are rewritten to /docs/...
- Throw on any block that cannot be parsed so a format change in the
  docs repo surfaces as an error instead of silently dropped entries.
- Cache the parsed entries for 20 minutes; failures are logged and not
  cached.
- /changelog.md renders from the same source.
- Show the product as an eyebrow above the title and move tags under
  the date, styled like the roadmap backlog badge.
- Remove the stale 2025 markdown entries (index.md keeps page meta).
- Add parser unit tests (npm run test:changelog).
@github-actions

Copy link
Copy Markdown
Contributor

🔎 SEO & Meta Review

Skipped (mode: skipped-no-match).

No built pages matched the changed slugs.

@AriaEdo
AriaEdo merged commit 168375b into main Nov 12, 2026
8 checks passed
@AriaEdo
AriaEdo deleted the feat/changelog-from-docs-mdx branch November 12, 2026 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants