Skip to content

feat(changelog): host the canonical changelog on docs.trunk.io#27

Open
samgutentag wants to merge 3 commits into
mainfrom
docs/native-changelog-nav
Open

feat(changelog): host the canonical changelog on docs.trunk.io#27
samgutentag wants to merge 3 commits into
mainfrom
docs/native-changelog-nav

Conversation

@samgutentag
Copy link
Copy Markdown
Member

@samgutentag samgutentag commented May 18, 2026

Summary

Hosts the canonical Trunk changelog on docs.trunk.io instead of trunk.io/changelog. Imports the full historical changelog (~200 entries, 2023-present), adds a landing page under the docs sidebar, and consolidates the three new flaky-tests drafts that were originally split into #25.

Supersedes #25 — that branch is fully contained in this one (shared commit 26f779c). Close #25 when merging this.

Changes

  • changelog/ — imports the full historical changelog as Mintlify <Update> entries, from 2023-08-01-plugins-1-1-0.mdx through 2026-05-18-flaky-tests-test-labels.mdx (the three latest entries originally drafted in [close - superseded by #27] docs: draft weekly changelog for flaky tests updates #25).
  • changelog/index.mdx — new landing page listing the most recent entries.
  • assets/changelog/ — imports the ~70 image assets referenced by historical entries.
  • flaky-tests/changelog.mdx and merge-queue/changelog.mdx — per-product changelog routes.
  • docs.jsonChangelog anchor + footer link href swapped from https://trunk.io/changelog/changelog. New hidden Changelog tab claims /changelog/* routes so the top-bar tab indicator stays correct on changelog pages.
  • .mintignorechangelog/ line removed so the entries build and route locally.

Trade-offs to discuss with the team

  • Discoverability vs duplication. Putting the changelog on the docs site means it lives where engineers already read docs. But it duplicates content that also belongs on trunk.io/changelog (marketing). The team needs to decide on a single source of truth.
  • SEO. trunk.io/changelog currently gets marketing-site SEO. Moving to docs.trunk.io could change inbound traffic patterns.
  • Audience. Marketing-site changelog is broader-audience (prospects + customers); docs-site changelog skews toward existing customers. Same content can read differently in each context.
  • Authoring workflow. Mintlify auto-generates new entries here; the current trunk.io/changelog has a separate workflow. The team needs to align on which one drives.

Test plan

  • mint dev and click "Changelog" in the sidebar. Confirm it lands on /changelog.
  • Confirm the three latest entries render with the right date pill and tags.
  • Click into a handful of historical entries from the landing page; confirm assets render.
  • Confirm visiting /changelog/* does NOT activate the Code Quality tab in the top bar.
  • Confirm the new hidden Changelog tab does NOT appear in the top tab row.

mintlify Bot and others added 2 commits May 18, 2026 18:15
…r nav

Switch the "Changelog" anchor in the sidebar (and footer) from
https://trunk.io/changelog to a local /changelog landing page that
surfaces the auto-generated changelog drafts produced by the Mintlify
changelog feature (added in #25).

- `changelog/index.mdx` — landing page listing the 3 May 18 entries as
  Mintlify `<Update>` blocks, each linking to its full draft.
- `docs.json` — anchor + footer href swapped from external trunk.io URL
  to `/changelog`. New hidden `Changelog` tab claims ownership of
  `/changelog/*` routes so the top-bar tab indicator stays correct
  (without the tab, Mintlify falls back to the last visible tab —
  Code Quality — when on changelog pages).
- `.mintignore` — `changelog/` is commented out so the auto-generated
  drafts build and route locally.

Staged for team buy-in on moving the changelog from the marketing site
to the docs site. Stacked on #25 — needs that PR's 3 changelog drafts
to render correctly.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Expand the changelog work from a minimal nav swap to a full migration
of every historical changelog entry from the marketing site to the
docs site, using Mintlify's native <Update> component.

Content:
- 150 historical entries imported from the closed marketing-site
  PR #609 (trunk-io/marketing-site) into `changelog/*.mdx`. Combined
  with the 3 May 2026 bot drafts already on this branch, the docs
  site now hosts 153 entries spanning 2023-08-01 → 2026-05-18.
- 68 image assets copied into `assets/changelog/` (221 MB). Image
  paths in MDX rewritten from `/changelog-assets/<file>` (marketing
  convention) → `/assets/changelog/<file>` (Mintlify convention).
- Every entry has a `description:` frontmatter field — auto-extracted
  from the first prose paragraph (announcement-style entries) or the
  first 1-2 bullets (release-note-style entries like Plugins X.Y.Z),
  stripped of markdown and YAML-escaped. The 3 bot drafts keep their
  hand-written descriptions.

Nav and rendering:
- `changelog/index.mdx` is the canonical unified changelog at
  `/changelog`. Year + month nested headings (`## 2026` → `### May 2026`)
  with unique anchor IDs, Mintlify's built-in `<Update>` tag filter
  pills for per-category filtering, and `rss: true` for an automatic
  feed.
- `merge-queue/changelog.mdx` and `flaky-tests/changelog.mdx` are
  per-product changelog pages (only the entries tagged for that
  product), embedded in their respective product tabs. Same
  generator, scoped to one category. RSS feed per product.
- `docs.json` — hidden `Changelog` tab now claims `/changelog/*`
  routes with a year-grouped sidebar (2026/2025/2024/2023). The
  `Merge Queue` and `Flaky Tests` tabs each get a "Changelog" page
  at the end of their main group.
- `.mintignore` — `changelog/` line commented out so the directory
  builds.

Category rename:
- The "Merge" category is renamed to "Merge Queue" across all 34
  affected entries so the tag-filter UI shows the full product name.

Cross-repo dependency:
- trunk-io/marketing-site#613 (draft) sets up 150 per-slug 301
  redirects from trunk.io/changelog/<slug> to the new
  docs.trunk.io/changelog/<date>-<slug> locations, plus `/changelog`
  → `docs.trunk.io/changelog`. That PR is held until this one ships.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@samgutentag samgutentag force-pushed the docs/native-changelog-nav branch from 468eb23 to a3a03a3 Compare May 19, 2026 17:33
@samgutentag samgutentag changed the title docs(changelog): surface auto-generated changelog under native sidebar nav [ready to merge] docs(changelog): surface auto-generated changelog under native sidebar nav May 19, 2026
@samgutentag
Copy link
Copy Markdown
Member Author

samgutentag commented May 19, 2026

Verification status (2026-05-19): live

Verified: pure docs change with no eng dependency. Ready to publish.

  • Eng PR: none (docs-only)
  • Flag: none
  • Signals: PR adds canonical changelog hosting on docs.trunk.io and nav updates. No customer-facing eng work gated.

Self-sufficient against main (the now-closed #25 was folded in earlier this session).

Labels: ready to merge, changelog.

@samgutentag samgutentag changed the title [ready to merge] docs(changelog): surface auto-generated changelog under native sidebar nav feat(changelog): host the canonical changelog on docs.trunk.io May 19, 2026
@samgutentag samgutentag changed the base branch from mintlify/6e28f1f7 to main May 19, 2026 17:51
@samgutentag samgutentag changed the title feat(changelog): host the canonical changelog on docs.trunk.io [ready to merge] feat(changelog): host the canonical changelog on docs.trunk.io May 19, 2026
@samgutentag
Copy link
Copy Markdown
Member Author

Consolidation (2026-05-19): folded #25's content in.

This PR's branch already contains all of #25 (shared commit 26f779c) plus the canonical-changelog import and nav changes. PR #27 is fully self-contained against main — no need to merge #25 first. PR body and title updated to reflect the broader scope. #25 flagged for closure.

@samgutentag samgutentag added the ready to merge Verify docs PR: customers can use this. Ready to publish. label May 19, 2026
@samgutentag samgutentag changed the title [ready to merge] feat(changelog): host the canonical changelog on docs.trunk.io feat(changelog): host the canonical changelog on docs.trunk.io May 19, 2026
@samgutentag samgutentag added the changelog PR touches the changelog (auto-generated drafts, hosting, formatting, indexing). label May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog PR touches the changelog (auto-generated drafts, hosting, formatting, indexing). ready to merge Verify docs PR: customers can use this. Ready to publish.

Development

Successfully merging this pull request may close these issues.

1 participant