Skip to content

feat(changelog): group entries by day on the index#11482

Open
jd wants to merge 1 commit into
mainfrom
devs/jd/worktree-MRGFY-7274/group-entries-day-index--9d610f63
Open

feat(changelog): group entries by day on the index#11482
jd wants to merge 1 commit into
mainfrom
devs/jd/worktree-MRGFY-7274/group-entries-day-index--9d610f63

Conversation

@jd
Copy link
Copy Markdown
Member

@jd jd commented May 13, 2026

Same-day entries now share a single date heading instead of each
carrying its own date pill, so days with many releases (e.g. 6 on
2026-05-06) read as one batch rather than a stack of disconnected
cards. Individual entries keep their permalinks.

Closes MRGFY-7274

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Copilot AI review requested due to automatic review settings May 13, 2026 16:43
@mergify mergify Bot had a problem deploying to Mergify Merge Protections May 13, 2026 16:43 Failure
@jd jd marked this pull request as ready for review May 13, 2026 16:44
@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented May 13, 2026

Merge Protections

Your pull request matches the following merge protections and will not be merged until they are valid.

🔴 👀 Review Requirements

Waiting for

  • #approved-reviews-by >= 2
This rule is failing.
  • any of:
    • #approved-reviews-by >= 2
    • author = dependabot[bot]
    • author = mergify-ci-bot

🔴 🔎 Reviews

Waiting for

  • #review-requested = 0
  • #review-threads-unresolved = 0
This rule is failing.
  • #review-requested = 0
  • #review-threads-unresolved = 0
  • #changes-requested-reviews-by = 0

🟢 🤖 Continuous Integration

Wonderful, this rule succeeded.
  • all of:
    • check-success = build
    • check-success = lint
    • check-success = test
    • any of:
      • check-success = test-broken-links
      • label = ignore-broken-links
    • any of:
      • check-success=Cloudflare Pages
      • -head-repo-full-name~=^Mergifyio/

🟢 Enforce conventional commit

Wonderful, this rule succeeded.

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?:

🟢 📕 PR description

Wonderful, this rule succeeded.
  • body ~= (?ms:.{48,})

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Refactors the changelog index so same-day entries share a single date heading. A new groupTimelineByYearMonthDay utility plus formatDayLabel helper drive a new day-level grouping in index.astro, and the per-card/per-marquee/per-release date pills (and their CSS) are removed since the day heading now carries the date.

Changes:

  • Add groupTimelineByYearMonthDay and formatDayLabel helpers in src/util/changelog.ts.
  • Restructure src/pages/changelog/index.astro to render a cl-day-group per day, drop the per-release date, and extend the tag/search filter script to hide empty day groups.
  • Remove date rendering and related styles from ChangelogCard.astro and ChangelogMarquee.astro.

Reviewed changes

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

File Description
src/util/changelog.ts Adds day-level grouping helper and a short day-label formatter.
src/pages/changelog/index.astro Renders day groups under each month, removes release-date pill, updates filter logic and styles.
src/components/changelog/ChangelogCard.astro Drops per-card date and card-date styles; simplifies aside markup.
src/components/changelog/ChangelogMarquee.astro Drops per-marquee date, related grid layout and marquee-date styles.

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

Comment thread src/util/changelog.ts
Comment on lines +128 to +131
const date = new Date(entry.date);
const year = date.getFullYear().toString();
const month = date.toLocaleDateString('en-US', { month: 'long' });
const day = formatDate(entry.date);
Comment thread src/util/changelog.ts
Comment on lines +145 to +148
*/
export function formatDayLabel(date: Date | string): string {
const d = typeof date === 'string' ? new Date(date) : date;
return d.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
Comment thread src/util/changelog.ts Outdated
Comment on lines +123 to +141
export function groupTimelineByYearMonthDay(
entries: TimelineEntry[]
): Record<string, Record<string, Record<string, TimelineEntry[]>>> {
return entries.reduce(
(acc, entry) => {
const date = new Date(entry.date);
const year = date.getFullYear().toString();
const month = date.toLocaleDateString('en-US', { month: 'long' });
const day = formatDate(entry.date);

if (!acc[year]) acc[year] = {};
if (!acc[year][month]) acc[year][month] = {};
if (!acc[year][month][day]) acc[year][month][day] = [];
acc[year][month][day].push(entry);
return acc;
},
{} as Record<string, Record<string, Record<string, TimelineEntry[]>>>
);
}
@mergify mergify Bot requested a review from a team May 13, 2026 16:46
Same-day entries now share a single date heading instead of each
carrying its own date pill, so days with many releases (e.g. 6 on
2026-05-06) read as one batch rather than a stack of disconnected
cards. Individual entries keep their permalinks.

Closes MRGFY-7274

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Change-Id: I9d610f63923ae5e8206bff0011234f31f48a8149
@jd jd force-pushed the devs/jd/worktree-MRGFY-7274/group-entries-day-index--9d610f63 branch from d5a2d78 to 6d05e20 Compare May 13, 2026 17:37
@jd
Copy link
Copy Markdown
Member Author

jd commented May 13, 2026

Revision history

# Type Changes Reason Date
1 initial d5a2d78 2026-05-13 17:37 UTC
2 content d5a2d78 → 6d05e20 (raw) 2026-05-13 17:37 UTC

@mergify mergify Bot had a problem deploying to Mergify Merge Protections May 13, 2026 17:37 Failure
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants