Add a release justfile with bump-my-version #33

Manually merged
marvin8 merged 2 commits from feat/issue-32-release-justfile into main 2026-10-17 01:54:56 +00:00
Collaborator

Cutting a release becomes one command: just release <major|minor|patch>. The level is required — there is no default — and the recipe is the operator's step: it assembles a CHANGELOG.md entry from the commits since the last tag (falling back to all history before the first tag exists), pauses so the entry can be edited by hand, and only then commits the changelog, runs the version bump, and pushes the branch and the bare-version tag. Ctrl+C aborts safely at any point before the push.

  • bump-my-version~=1.5.1 (dev dep, yunjin's proven pin) with [tool.bumpversion] config: semver parse/serialize, bare tags, uv sync + uv.lock + pylock.toml refreshed by the bump itself
  • Version moved to 0.0.1 so the first just release minor lands on 0.1.0
  • Initial CHANGELOG.md; README gains a Releases section
  • Test fix: the expected unauthenticated Jellyfin header now derives its version stamp from the installed dist instead of hardcoding 0.1.0, so future bumps cannot break it again

Nothing here cuts a release — verification was dry-run only (just -n, arg validation, changelog assembly simulation).

Closes #32

Cutting a release becomes one command: `just release <major|minor|patch>`. The level is required — there is no default — and the recipe is the operator's step: it assembles a `CHANGELOG.md` entry from the commits since the last tag (falling back to all history before the first tag exists), pauses so the entry can be edited by hand, and only then commits the changelog, runs the version bump, and pushes the branch and the bare-version tag. `Ctrl+C` aborts safely at any point before the push. - `bump-my-version~=1.5.1` (dev dep, yunjin's proven pin) with `[tool.bumpversion]` config: semver parse/serialize, bare tags, `uv sync` + `uv.lock` + `pylock.toml` refreshed by the bump itself - Version moved to `0.0.1` so the first `just release minor` lands on `0.1.0` - Initial `CHANGELOG.md`; README gains a Releases section - Test fix: the expected unauthenticated Jellyfin header now derives its version stamp from the installed dist instead of hardcoding `0.1.0`, so future bumps cannot break it again Nothing here cuts a release — verification was dry-run only (`just -n`, arg validation, changelog assembly simulation). Closes #32
📝 docs: document the release process in the README
All checks were successful
/ gitleaks (pull_request) Successful in 14s
/ pr-review (pull_request) Successful in 1m16s
/ checks (pull_request) Successful in 3m34s
/ deploy-docs (pull_request) Has been skipped
/ container (pull_request) Successful in 2m2s
/ publish-container (pull_request) Successful in 2m34s
a5b919b596
marvin8 approved these changes 2026-10-17 01:54:23 +00:00
marvin8 manually merged commit 7a8c796746 into main 2026-10-17 01:54:56 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
marvin8/xique!33
No description provided.