Give every public entry an address, and page the list on the server

FeatureSecurityService
Shipped
September 11, 2026 at 2:45 PM UTC
Author
Kamo
Commit
c077795

The public changelog served entries with no identifier, so the marketing site could neither link to one nor list them in a sitemap. Each entry now carries a slug - its English title in URL form, then twelve characters of its commit hash - and: - GET **************** returns one entry with the entries either side of it. It is found by the hash prefix alone, so an entry whose title has changed still resolves at its old address, and the caller redirects to the current one. - GET /api/changelog/public/sitemap returns every entry's slug, title and date in chunks of up to 5,000, reading three columns per row. - GET /api/changelog/public accepts `project` and `type` filters, which can only narrow the public list, and orders on (dateCommitted, id): commits sharing a timestamp no longer swap pages between two requests. A page is capped at 100 entries. The queries live in PublicChangelogService rather than CommitLogRepository, so none of this needs a shared-library release.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing