---
id: portfolio.ds.project-changelog-entry
name: "Project Changelog Entry"
type: component
status: active
relations: [{"type":"composes","target":"portfolio.ds.caption"},{"type":"composes","target":"portfolio.ds.heading"},{"type":"composes","target":"portfolio.ds.paragraph"},{"type":"related_to","target":"portfolio.ds.project-changelog-list"}]
sources: ["apps/portfolio-site/src/design-system/docs/project-changelog-entry.astro","apps/portfolio-site/src/lib/designSystemRegistry.ts","packages/design-system/src/components/ProjectChangelogEntry.astro"]
catalog: ["apps/portfolio-site/src/design-system/docs/project-changelog-entry.astro"]
previews: ["apps/portfolio-site/src/design-system/docs/project-changelog-entry.astro"]
---
# Project Changelog Entry

## Purpose

Present one public Project release as compact metadata and a single factual description paragraph.

## Contract

- Receives one version, ISO release date, and reader-facing change text rendered as one paragraph.
- Formats the visible date with the shared `dd.mm.yyyy` utility.
- Uses the same two-column proportions, row gap, and vertical spacing as `Agent Ready Project Brief`, then collapses to one column on mobile.
- Limits the description paragraph to the same `72ch` reading width as `Agent Ready Project Brief`.
- Remains cardless and uses `Color Line` to separate releases.
- Does not sort, validate, or infer release data.

## Props

| Prop | Values | Purpose |
| --- | --- | --- |
| `version` | string | Stable release identifier, rendered with a visible `v` prefix. |
| `releasedAt` | ISO date string | Source release date. |
| `changes` | non-empty string[] | Factual release statements combined into one description paragraph. |
| `labels` | object | Localized release and accessible labels. |

## Use

- Inside `Project Changelog List` for one validated public release.

## Do Not Use

- For raw Git commits, roadmap items, internal Development Log entries, or unverified changes.

## Accessibility

- The release version is a semantic heading.
- The date uses a `time` element with its source ISO value.
- The release description is rendered as one semantic paragraph.

## Verification

- Verify long changes at mobile, tablet, desktop, and ultra-wide widths.
- Run `scripts/design-system-graph --check --no-write`.
