Bump to 0.4.1, fix release script to match legacy commit prefix and auto-bump versions

- Bumps server/Cargo.toml and frontend/package.json to 0.4.1
- Release script now auto-bumps both version files when run
- Changelog generation matches both "storkit:" and "story-kit:" prefixes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dave
2026-03-20 12:31:50 +00:00
parent b2c9ece9e4
commit b0a1eafd8d
2 changed files with 26 additions and 8 deletions

View File

@@ -36,6 +36,22 @@ if git rev-parse "$TAG" >/dev/null 2>&1; then
exit 1
fi
# ── Bump version in Cargo.toml ────────────────────────────────
CARGO_TOML="${SCRIPT_DIR}/server/Cargo.toml"
if ! grep -q "^version = " "$CARGO_TOML"; then
echo "Error: Could not find version field in ${CARGO_TOML}"
exit 1
fi
sed -i '' "s/^version = \".*\"/version = \"${VERSION}\"/" "$CARGO_TOML"
echo "==> Bumped ${CARGO_TOML} to ${VERSION}"
PACKAGE_JSON="${SCRIPT_DIR}/frontend/package.json"
sed -i '' "s/\"version\": \".*\"/\"version\": \"${VERSION}\"/" "$PACKAGE_JSON"
echo "==> Bumped ${PACKAGE_JSON} to ${VERSION}"
git add "$CARGO_TOML" "$PACKAGE_JSON"
git commit -m "Bump version to ${VERSION}"
if ! command -v cross >/dev/null 2>&1; then
echo "Error: 'cross' is not installed. Run: cargo install cross"
exit 1
@@ -78,14 +94,16 @@ else
RANGE="initial...${TAG}"
fi
# Extract completed stories/bugs/refactors from "storkit: merge <id>" commits.
# Extract completed stories/bugs/refactors from merge commits.
# Matches both the current "storkit:" prefix and the legacy "story-kit:" prefix.
# Deduplicate (a story may have been merged more than once after reverts).
MERGE_RE="^(storkit|story-kit): merge "
if [ -n "$LOG_RANGE" ]; then
MERGED_RAW=$(git log "$LOG_RANGE" --pretty=format:"%s" --no-merges \
| grep "^storkit: merge " | sed 's/^storkit: merge //' | sort -u)
| grep -E "$MERGE_RE" | sed -E "s/$MERGE_RE//" | sort -u)
else
MERGED_RAW=$(git log --pretty=format:"%s" --no-merges \
| grep "^storkit: merge " | sed 's/^storkit: merge //' | sort -u)
| grep -E "$MERGE_RE" | sed -E "s/$MERGE_RE//" | sort -u)
fi
# Categorise merged work items and format names.
@@ -108,14 +126,14 @@ done <<< "$MERGED_RAW"
# Collect non-automation manual commits (direct fixes, version bumps, etc).
if [ -n "$LOG_RANGE" ]; then
MANUAL=$(git log "$LOG_RANGE" --pretty=format:"%s" --no-merges \
| grep -v "^storkit: " \
| grep -v "^Revert \"storkit: " \
| grep -Ev "^(storkit|story-kit): " \
| grep -Ev "^Revert \"(storkit|story-kit): " \
| grep -v "^Bump version" \
| sed 's/^/- /')
else
MANUAL=$(git log --pretty=format:"%s" --no-merges \
| grep -v "^storkit: " \
| grep -v "^Revert \"storkit: " \
| grep -Ev "^(storkit|story-kit): " \
| grep -Ev "^Revert \"(storkit|story-kit): " \
| grep -v "^Bump version" \
| sed 's/^/- /')
fi