Skip to content

Add multi-product changelog (CLI, MCP, Desktop, Connect, References) - #469

Merged
nicksinas merged 5 commits into
mainfrom
nsinas/multi-prod-changelog
Jul 28, 2026
Merged

Add multi-product changelog (CLI, MCP, Desktop, Connect, References)#469
nicksinas merged 5 commits into
mainfrom
nsinas/multi-prod-changelog

Conversation

@nicksinas

@nicksinas nicksinas commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Turns the changelog into a product-aware changelog and backfills each product's history. The infinite-scroll feed gains product tabs + filtering (All / CLI / Desktop / MCP / Connect / References), per-entry product badges, and a ?product= deep link.

The hardware target/board model, supported-hardware updates, and config-schema work that previously lived here have been split out into #470. This PR is changelog-only.

The product-tab UX originated from the multiproduct-changelog-ux branch; this PR builds on it, reconciles the naming, and backfills real content.

Changes

  • CLI — back-catalog titles retagged CLI: <version> (titles only).
  • MCP — real entries 5.0.0, 5.1.0.
  • Desktop0.4.0 (consolidated 0.x line) and 1.0.0-rc.6.
  • References — monthly digests 2026.052026.07.
  • Connect — monthly highlights 2026.032026.07 (user-facing only).
  • Point /changelog/latest at the newest entry.
  • Restyle the reference "View source on GitHub" links (primary color + underline).

Review fixes (Copilot)

  • aria-pressed toggle buttons for the product filters.
  • Exclude /changelog/latest from the infinite-scroll override so its redirect fires.
  • Bump section scroll-margin-top for the sticky tabs.
  • Unique section id (permalink slug) so shared version labels don't collide.

SEO / indexing

Product tags are display-only. No changelog files were renamed and no slugs changed — every existing /changelog/... URL is preserved.

Testing

scripts/checks.sh passes locally (redocly, eslint, prettier --check ., build).

Introduce a product-aware changelog and backfill each product's history.

- Product tabs + filtering on the infinite-scroll feed (All / CLI / Desktop /
  MCP / Connect / References), with per-entry product badges and a ?product=
  deep link. Existing changelog URLs are unchanged.
- Retag the CLI back-catalog titles as "CLI: <version>" — titles only, no file
  renames and no URL changes.
- Backfill real entries from each product's own history:
  - MCP: 5.0.0, 5.1.0
  - Desktop: 0.4.0 (the 0.x line) and 1.0.0-rc.6
  - References: 2026.05-2026.07 (monthly digests)
  - Connect: 2026.03-2026.07 (monthly highlights)
- Style the reference "View source on GitHub" links as primary-color +
  underline so they read as links.
- Point /changelog/latest at the newest entry.
Copilot AI review requested due to automatic review settings July 25, 2026 02:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR converts the changelog experience into a product-aware feed (All / CLI / Desktop / MCP / Connect / References) by adding product filtering UI, per-entry product badges, and a ?product= deep link, while backfilling historical entries for each product and keeping existing changelog URLs stable.

Changes:

  • Add product tabs/filtering + product badges to the infinite-scroll changelog feed (and filter the sidebar accordingly).
  • Backfill changelog content for MCP/Desktop/Connect/References and retag existing CLI entries via title updates.
  • Restyle reference “View source on GitHub” links and update /changelog/latest to the newest entry.

Reviewed changes

Copilot reviewed 54 out of 54 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/src/css/custom.css Restyles reference GitHub links to look more like links (color + underline).
src/src/components/ChangelogInfiniteScroll/styles.module.css Adds styles for product tabs, entry header layout, and product badge.
src/src/components/ChangelogInfiniteScroll/index.js Implements product tabs, URL query handling, sidebar filtering, and badge rendering.
src/src/components/ChangelogInfiniteScroll/changelogEntries.js Introduces product metadata (PRODUCTS) and assigns products to entries (defaulting to CLI).
src/sidebars-changelog.js Updates changelog sidebar ordering to include new product-specific docs.
src/docs-changelog/latest.mdx Redirects “latest” to the newest changelog entry and broadens description.
src/docs-changelog/july-2026/reference-2026.07.md Adds References monthly digest entry for 2026.07.
src/docs-changelog/july-2026/desktop-1.0.0-rc.6.md Adds Desktop 1.0.0-rc.6 release-candidate changelog entry.
src/docs-changelog/july-2026/connect-2026.07.md Adds Connect monthly highlights entry for 2026.07.
src/docs-changelog/july-2026/1.0.0-rc.1.mdx Retags CLI entry title with “CLI: …”.
src/docs-changelog/june-2026/mcp-5.1.0.md Adds MCP 5.1.0 changelog entry.
src/docs-changelog/june-2026/reference-2026.06.md Adds References monthly digest entry for 2026.06.
src/docs-changelog/june-2026/connect-2026.06.md Adds Connect monthly highlights entry for 2026.06.
src/docs-changelog/june-2026/0.41.1.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/june-2026/0.41.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/may-2026/desktop-0.4.0.md Adds Desktop 0.4.0 historical consolidated entry.
src/docs-changelog/may-2026/mcp-5.0.0.md Adds MCP 5.0.0 changelog entry.
src/docs-changelog/may-2026/reference-2026.05.md Adds References monthly digest entry for 2026.05.
src/docs-changelog/may-2026/connect-2026.05.md Adds Connect monthly highlights entry for 2026.05.
src/docs-changelog/may-2026/0.40.2.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/may-2026/0.39.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/may-2026/0.38.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/may-2026/0.37.1.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/april-2026/connect-2026.04.md Adds Connect monthly highlights entry for 2026.04.
src/docs-changelog/april-2026/0.36.2.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/april-2026/0.35.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/april-2026/0.34.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/march-2026/connect-2026.03.md Adds Connect monthly highlights entry for 2026.03.
src/docs-changelog/march-2026/0.33.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/march-2026/0.32.1.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/march-2026/0.31.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/march-2026/0.30.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/march-2026/0.29.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/march-2026/0.28.1.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/march-2026/0.27.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/march-2026/0.26.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/february-2026/0.25.1.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/february-2026/0.24.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/january-2026/0.23.1.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/january-2026/0.22.1.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/january-2026/0.21.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/december-2025/0.20.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/december-2025/0.19.1.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/december-2025/0.18.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/december-2025/0.17.2.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/december-2025/0.16.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/november-2025/0.15.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/november-2025/0.14.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/november-2025/0.13.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/october-2025/0.12.1.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/september-2025/0.11.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/september-2025/0.10.2.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/september-2025/0.9.0.md Retags CLI entry title with “CLI: …”.
src/docs-changelog/september-2025/0.8.0.md Retags CLI entry title with “CLI: …”.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/src/components/ChangelogInfiniteScroll/index.js Outdated
The product filter buttons were marked up as ARIA tabs (role=tablist/tab)
but don't control tabpanels — they filter the feed and change the URL.
Switch to a role=group of aria-pressed toggle buttons, which is simpler and
semantically accurate. Addresses Copilot review feedback on #469.
Copilot AI review requested due to automatic review settings July 25, 2026 02:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 54 out of 54 changed files in this pull request and generated 2 comments.

Comment thread src/docs-changelog/latest.mdx
Comment thread src/src/components/ChangelogInfiniteScroll/index.js
Addresses Copilot review feedback on #469:
- Exclude /changelog/latest from the infinite-scroll DocItem override so its
  MDX <Redirect> to the newest entry fires (correct title, sidebar highlight,
  and a real entry URL) instead of rendering the feed at a non-entry permalink.
- Bump .section scroll-margin-top to clear the sticky product tabs, so jumping
  to an entry no longer hides its heading under them.
Copilot AI review requested due to automatic review settings July 27, 2026 16:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 55 out of 55 changed files in this pull request and generated 1 comment.

Comment thread src/src/components/ChangelogInfiniteScroll/index.js
Copilot AI review requested due to automatic review settings July 27, 2026 23:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 79 out of 80 changed files in this pull request and generated 4 comments.

Comment thread src/schemas/avocado-config.json Outdated
Comment thread src/docs-hardware/nxp/frdm-imx-95/index.mdx Outdated
Comment thread src/docs-guides/getting-started/jetson.md Outdated
Comment thread src/src/data/hardware/supported.json Outdated
Copilot AI review requested due to automatic review settings July 28, 2026 15:34

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 81 out of 84 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

src/src/data/hardware/targets.json:214

  • The Jetson target slugs are renamed here (e.g. jetson-orin-nano-devkitjetson-orin-nano), but the committed dropdown snapshot src/src/data/hardware/generated-targets.json (used by src/src/components/TargetSelector/index.js to render targets and to collectAnchor(target.target)) still contains the old *-devkit slugs. That means local/offline builds (docusaurus start without running the build refresh step) won’t show the new slugs and hash deep-links like #jetson-orin-nano / #jetson-agx-orin won’t resolve.

Shared version labels (e.g. Connect and References both 2026.07) produced
duplicate HTML ids from id={entry.version}; derive the id from the unique
permalink slug instead. (Copilot review.)
Copilot AI review requested due to automatic review settings July 28, 2026 18:07
@nicksinas
nicksinas force-pushed the nsinas/multi-prod-changelog branch from 43d0f28 to 6440023 Compare July 28, 2026 18:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 55 out of 55 changed files in this pull request and generated no new comments.

Comment thread src/src/components/ChangelogInfiniteScroll/index.js Outdated
Comment thread src/src/components/ChangelogInfiniteScroll/index.js
Comment thread src/docs-changelog/july-2026/connect-2026.07.md Outdated
Comment thread src/docs-changelog/june-2026/reference-2026.06.md Outdated
Comment thread src/docs-changelog/may-2026/desktop-0.4.0.md Outdated
Comment thread src/docs-changelog/june-2026/mcp-5.1.0.md Outdated
…entry accuracy

- index.js: start the feed at the landing entry within the active product's
  filtered set (fixes ?product= deep links), and carry the active filter through
  sidebar navigation so a doc-to-doc click no longer resets it.
- Drop the CI-only deploy-approval bullet from Connect 2026.07.
- References 2026.06: list only browsable references (drop the four unpublished
  NPU/Zephyr entries and the internal "not browsable yet" note).
- Retitle/rename Desktop 0.4.0 -> 0.4.4 (title, version, sidebar id, filename).
- MCP: move the July security/license bullets out of 5.1.0 into a new 5.2.0 July
  entry (headline: Docker->Avocado package-coverage report + multi-release feeds).
Copilot AI review requested due to automatic review settings July 28, 2026 19:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 56 out of 56 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (2)

src/src/components/ChangelogInfiniteScroll/index.js:145

  • selectProduct() always sets activePermalink (and the URL) to the newest entry for the selected product (nextEntries[0]). When hydrating from a deep link like /changelog/.../desktop-0.4.4?product=desktop, this jumps away from the requested entry, contradicting the intent described in the comment above startIndex.

Consider selecting the current pathname if it exists within the chosen product’s entries, and only falling back to the newest entry when it doesn’t.
src/src/components/ChangelogInfiniteScroll/index.js:75

  • The sidebar filter rewrites entry hrefs to include ?product=..., but highlightActiveLink() still searches for an exact href match without the query string. With a product filter active, this prevents the active entry link from being highlighted.

Adjust highlightActiveLink() to match links by comparing href.split('?')[0] to the active permalink.

This issue also appears on line 141 of the same file.

@nicksinas
nicksinas merged commit 363d04f into main Jul 28, 2026
6 checks passed
@nicksinas
nicksinas deleted the nsinas/multi-prod-changelog branch July 28, 2026 20:13
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.

3 participants