← gitpulse
Merged
Size
M
Change Breakdown
Bug Fix55%
Refactoring25%
Security10%
Tests10%
#22fix: populate first-release editions and simplify URL

First release editions now populate with content

Release editions for first releases on a repository now display stats, top stories, and changelog instead of a mostly blank page. URLs were also simplified from /releases/tag/<tag>/<slug>/ to /releases/<tag>/.

The first release published on a repository previously rendered an empty edition page. When a release had no predecessor to compare against, the processing logic short-circuited to an empty commit list — cascading into zero PRs, no top stories, and no changelog. Only an LLM-generated quip survived the empty state.

A new function walks the full commit history reachable from the release tag instead of returning nothing. This means the first edition now spans every PR and commit since the beginning of the repository, giving the analyzer real context to work with.

Release URLs were also simplified. The previous structure /releases/tag/<tag>/<slug>/ contained redundant segments — tags are already stable, distinctive identifiers and the /tag/ infix mirrored GitHub's structure without adding value. The new format /releases/<tag>/ is cleaner and matches the shape used in similar tools.

For backward compatibility, the old URL pattern redirects to the new canonical path using a meta refresh. Git commands now use a safer execution pattern to prevent shell injection through malicious tag names, and failures are logged as warnings rather than silently producing empty editions.