Skip to content

Show the newest releases' notes as the home page's news - #72

Merged
hatstand merged 1 commit into
masterfrom
claude/project-thread-qq2p4h
Oct 26, 2026
Merged

hatstand merged 1 commit into
masterfrom
claude/project-thread-qq2p4h

Conversation

@hatstand

Copy link
Copy Markdown
Contributor

Requested by John · project thread

The home page's News section was a hand-written list in data.py that stopped at 1.3.1 in 2016. Clementine now makes a numbered release most weeks, with notes collected from the commits' Release-note: trailers by dist/release_notes.py, so the news now shows those instead.

What changes

  • News comes from GitHub releases. The five newest numbered releases (tags like 1.4.3), each with its date, its notes as a list, and a link to the release on GitHub. Below them, a link to all releases and development builds.
  • Development builds are left out by their tags as well as by being prereleases, since builds from before late September 2026 aren't marked as prereleases.
  • Only the notes are shown. The list items of a release's body; the closing "Development builds…" line is the same on every release, so it isn't repeated. Notes are HTML-escaped, and Markdown links in them become links.
  • Cached and fail-safe, like the rest of what comes from GitHub: an hour's cache in Datastore, and no news rather than an error page when GitHub can't be reached (retried after five minutes). The Android screenshots' caching for this became _load_cached, which both now use.
  • The hard-coded NEWS list is removed. The heading "Version %(version)s released" and the "All releases and development builds" link are new strings for translators; the notes themselves are in English.

One page of 100 releases is fetched, which, with about 17 development builds a week, reaches back around five weekly releases. Today that's only 1.4.3, so the news shows one release until more are made.

Testing

tests/smoke_test.py now serves a canned release list (a development build, an older non-prerelease build, and two numbered releases) and checks that only the numbered releases' notes are shown, escaped and with their links, and that the home page still loads without news when GitHub fails. It passes locally. I also rendered the home page against the real releases: 1.4.3 shows with its 21 notes.


Generated by Claude Code

The news was a hand-written list that stopped at 1.3.1 in 2016. Now
Clementine makes a numbered release most weeks, with its notes collected
from the commits' Release-note trailers, so the news shows those: the
five newest numbered releases from GitHub, each with its notes and a
link to it. Development builds are left out, by their tags as well as
by being prereleases, since the older ones aren't marked as such.

The releases are cached like the rest of what comes from GitHub, and
the page shows no news rather than failing when GitHub can't be reached.
fetch_android_screenshots's caching for that becomes _load_cached, which
both use.

Release-note: The website's news shows the notes of Clementine's newest releases.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K1jcHj8nGpUkY2WsehhMfh
@hatstand hatstand self-assigned this Oct 26, 2026
@hatstand
hatstand merged commit 721fc9f into master Oct 26, 2026
1 check passed
@hatstand
hatstand deleted the claude/project-thread-qq2p4h branch October 26, 2026 15:43
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.

2 participants