Skip to content

A changelog that names what changed, not the git log - #2

Merged
capazme merged 1 commit into
mainfrom
claude/changelog-informativity-6cdc09
Aug 29, 2026
Merged

A changelog that names what changed, not the git log#2
capazme merged 1 commit into
mainfrom
claude/changelog-informativity-6cdc09

Conversation

@capazme

@capazme capazme commented Aug 29, 2026

Copy link
Copy Markdown
Owner

The problem

GET /version handed the UI a raw git log -10. Around a release the first
entry is chore: bump version to X, followed by reverts and one line per
development step. Nothing in it told a reader what changed for them.

What this does

Reads the first-parent log, so each entry is a branch that landed rather
than a step inside one — and in this repo those merge subjects are already
written as summaries of the whole branch.

  • A revert cancels the work it undid. On main today that removes the entire
    case-law body of work: a filter by commit type would have kept ~25
    feat(case-law) commits and advertised a feature the product no longer has.
  • Housekeeping types (build/chore/ci/docs/refactor/style/test) and toolchain
    scopes are dropped; the list is capped at 20.
  • The window is the current version, found from the commits that touch
    version.txt, so "Novità in vX" names the content of X.

The rules live in visualex_api/tools/changelog.py, pure and tested without a
repository. The technical panel in Impostazioni is unchanged — message is
still the raw subject.

Before / after, on main as it stands

chore: bump version to 1.3.0                                  →  CORREZIONE  keep two findings the case-law revert would have thrown away
Revert "merge: live case law from four courts…"               →              accessible names for the sidebar controls
Revert "merge: the case-law panel on the reading surface"     →              malformed bodies answer 400 instead of 500
fix(dateUtils): reject an out-of-range month in formatDate…   →  NOVITÀ      show what the system already recognises, alongside your own

Carried along

The component's primary-<number> classes generated nothing:
frontend/tailwind.config.js is a v3-style config and Tailwind v4 never loads
it (no @config directive). Fixed in the file this PR touches, using blue-*
— the same palette the config meant. 563 occurrences remain across 59 other
files
, including the focus-visible:ring-primary-500 that CLAUDE.md
prescribes for accessibility. Worth its own change.

Verification

  • pytest tests/ — 400 passed, 1 deselected (14 new, written before the code)
  • cd frontend && npm run test — 192 passed (5 new); npm run build and
    npm run lint clean
  • cd backend && npm test — 35 passed (untouched by this change)
  • GET /version smoke-tested against the real repo: 200, 20 entries
  • Visual pass in both themes, by mounting the component against the built CSS

🤖 Generated with Claude Code

The user-facing changelog was a raw `git log -10`: the bump commit on top,
reverts below it, one line per development step. None of it told a reader
what changed for them.

Read the first-parent log instead, so each entry is a branch that landed
rather than a step inside one, and its subject already summarises the whole
branch. A revert cancels the work it undid — on main today that drops the
whole case-law body of work, which a filter by commit type would otherwise
have advertised as a feature the product no longer has. Housekeeping types
and toolchain scopes go; the window is the current version, read from the
commits that touch version.txt.

The rules live in a pure module so they can be tested without a repository.

Also replace the inert `primary-<number>` classes in the touched component:
tailwind.config.js is a v3-style config that Tailwind v4 never loads (no
@config directive), so those classes generated nothing. blue-* is the same
palette the config meant. 563 occurrences remain across 59 other files.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@capazme
capazme merged commit 2185f7b into main Aug 29, 2026
7 checks passed
@capazme
capazme deleted the claude/changelog-informativity-6cdc09 branch August 29, 2026 15:11
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