Skip to content

feat: add PR-wise changelog#2833

Merged
somewherelostt merged 3 commits into
landing-page-close-to-finalfrom
agent/changelog
Jul 19, 2026
Merged

feat: add PR-wise changelog#2833
somewherelostt merged 3 commits into
landing-page-close-to-finalfrom
agent/changelog

Conversation

@somewherelostt

Copy link
Copy Markdown
Collaborator

What changed

  • adds a branded /changelog route based on the Magic UI changelog template
  • adds the changelog link to the landing-page navbar
  • groups 610 merged pull requests into 72 product stories and 50 complete date groups
  • paginates five date groups per page without splitting a date across pages
  • includes expandable related-PR details and the repository's real first commit
  • adds a reproducible changelog data generator and the required MIT attribution

Why

A public, product-focused changelog gives landing-page visitors a clear history of shipped work while preserving links to every underlying pull request for deeper technical detail.

Impact

Visitors can browse the project history in ten readable pages using the same colors, typography, navigation, and interaction language as the landing page. Every included story and source link is derived from real repository data.

Validation

  • npm run build in frontend/src/landing
  • verified 72 stories reference all 610 pull requests exactly once
  • verified 50 date groups produce ten pages at five groups per page
  • verified /changelog and /changelog?page=10 return HTTP 200 locally

@github-actions

github-actions Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

React Doctor found 5 issues in 3 files · 5 warnings · score 81 / 100 (Needs work) · vs landing-page-close-to-final

5 warnings

app/changelog/page.tsx

  • ⚠️ L160 Chained array iterations js-combine-iterations

components/LandingNav.tsx

  • ⚠️ L156 Plain anchor reloads internal Next.js links nextjs-no-a-element
  • ⚠️ L199 Plain anchor reloads internal Next.js links nextjs-no-a-element
  • ⚠️ L227 Plain anchor reloads internal Next.js links nextjs-no-a-element

components/changelog/ChangelogDetails.tsx

  • ⚠️ L17 Intl formatter rebuilt each call js-hoist-intl
⚠️ Warning: .github/workflows/react-doctor.yml is configured incorrectly. See below to fix.

React Doctor compares against landing-page-close-to-final to report only the issues this pull request introduces. This run couldn't complete that comparison (usually a shallow CI checkout with no merge base), so it listed every issue in the changed files, including ones that already existed on landing-page-close-to-final.

Add fetch-depth: 0 to the actions/checkout step in .github/workflows/react-doctor.yml so the checkout includes the history React Doctor needs:

 jobs:
   react-doctor:
     steps:
       - uses: actions/checkout@v5
+        with:
+          fetch-depth: 0

       - uses: millionco/react-doctor@v2

To silence this warning, set silence-missing-baseline-warning: true on the React Doctor action.

Reviewed by React Doctor for commit a06a4af. See inline comments for fixes.


<div className="space-y-14">
{dateGroup.entries.map(({ story, leadPullRequest, pullRequests }) => {
const relatedPullRequests = pullRequests

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.

React Doctor · react-doctor/js-combine-iterations (warning)

This loops over your list twice because .filter().map() makes two passes, so do it in one pass with .reduce() or a for...of loop

Fix → Combine .map().filter() style chains into one pass with .reduce() or a for...of loop, so you only loop over the list once

Docs

};

function formatPullRequestDate(date: string) {
return new Intl.DateTimeFormat("en-US", {

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.

React Doctor · react-doctor/js-hoist-intl (warning)

This is slow because new Intl.DateTimeFormat() rebuilds on every call inside a function, so move it to the top of the file, or wrap it in useMemo

Fix → Move new Intl.NumberFormat(...) to the top of the file or wrap it in useMemo. Building one is slow, so don't redo it on every call

Docs

@somewherelostt
somewherelostt marked this pull request as ready for review July 19, 2026 13:57
@somewherelostt
somewherelostt merged commit a01054c into landing-page-close-to-final Jul 19, 2026
5 checks passed
@somewherelostt

Copy link
Copy Markdown
Collaborator Author

@codebanditssss

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.

1 participant