A changelog that names what changed, not the git log - #2
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The problem
GET /versionhanded the UI a rawgit log -10. Around a release the firstentry is
chore: bump version to X, followed by reverts and one line perdevelopment 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.
maintoday that removes the entirecase-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.build/chore/ci/docs/refactor/style/test) and toolchainscopes are dropped; the list is capped at 20.
version.txt, so "Novità in vX" names the content of X.The rules live in
visualex_api/tools/changelog.py, pure and tested without arepository. The technical panel in Impostazioni is unchanged —
messageisstill the raw subject.
Before / after, on
mainas it standsCarried along
The component's
primary-<number>classes generated nothing:frontend/tailwind.config.jsis a v3-style config and Tailwind v4 never loadsit (no
@configdirective). Fixed in the file this PR touches, usingblue-*— the same palette the config meant. 563 occurrences remain across 59 other
files, including the
focus-visible:ring-primary-500that CLAUDE.mdprescribes 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 buildandnpm run lintcleancd backend && npm test— 35 passed (untouched by this change)GET /versionsmoke-tested against the real repo: 200, 20 entries🤖 Generated with Claude Code