@@ -325,18 +325,27 @@ jobs:
325325 found { print }
326326 ' CHANGELOG.md | sed '/^$/d' | head -30)
327327
328+ # Debug output
329+ echo "Debug: VERSION=$VERSION"
330+ echo "Debug: CHANGELOG_CONTENT length: $(echo "$CHANGELOG_CONTENT" | wc -c | tr -d ' ')"
331+ if [ -n "$CHANGELOG_CONTENT" ]; then
332+ echo "Debug: Found changelog content for version $VERSION"
333+ else
334+ echo "Debug: No changelog content found for version $VERSION"
335+ fi
336+
328337 # Get previous version for comparison link
329338 PREVIOUS_VERSION=$(awk '/^## / && !/'"$VERSION"'/ { print $2; exit }' CHANGELOG.md)
330339
331340 if [ -n "$CHANGELOG_CONTENT" ]; then
332- # Analyze change types
333- FEATURES=$(echo "$CHANGELOG_CONTENT" | grep " feat:" | wc -l | tr -d ' ')
334- FIXES=$(echo "$CHANGELOG_CONTENT" | grep " fix:" | wc -l | tr -d ' ')
341+ # Analyze change types - handle both "feat:" and "hash: feat:" formats
342+ FEATURES=$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? feat:" | wc -l | tr -d ' ')
343+ FIXES=$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? fix:" | wc -l | tr -d ' ')
335344 BREAKING=$(echo "$CHANGELOG_CONTENT" | grep -E "BREAKING CHANGE|!" | wc -l | tr -d ' ')
336- DOCS=$(echo "$CHANGELOG_CONTENT" | grep " docs:" | wc -l | tr -d ' ')
337- PERF=$(echo "$CHANGELOG_CONTENT" | grep " perf:" | wc -l | tr -d ' ')
338- REFACTOR=$(echo "$CHANGELOG_CONTENT" | grep " refactor:" | wc -l | tr -d ' ')
339- CHORE=$(echo "$CHANGELOG_CONTENT" | grep " chore:" | wc -l | tr -d ' ')
345+ DOCS=$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? docs:" | wc -l | tr -d ' ')
346+ PERF=$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? perf:" | wc -l | tr -d ' ')
347+ REFACTOR=$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? refactor:" | wc -l | tr -d ' ')
348+ CHORE=$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? chore:" | wc -l | tr -d ' ')
340349 SECURITY=$(echo "$CHANGELOG_CONTENT" | grep -i "security\|vulnerability\|cve\|exploit" | wc -l | tr -d ' ')
341350
342351 # Count total changes
@@ -345,27 +354,27 @@ jobs:
345354 # Create formatted changelog with emojis
346355 FORMATTED_CHANGELOG=""
347356 if [ "$FEATURES" -gt 0 ]; then
348- FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### ✨ New Features ($FEATURES)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep " feat:" | sed 's/^- /- /')"$'\n\n'
357+ FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### ✨ New Features ($FEATURES)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? feat:" | sed 's/^- /- /')"$'\n\n'
349358 fi
350359
351360 if [ "$FIXES" -gt 0 ]; then
352- FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### 🐛 Bug Fixes ($FIXES)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep " fix:" | sed 's/^- /- /')"$'\n\n'
361+ FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### 🐛 Bug Fixes ($FIXES)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? fix:" | sed 's/^- /- /')"$'\n\n'
353362 fi
354363
355364 if [ "$BREAKING" -gt 0 ]; then
356365 FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### ⚠️ Breaking Changes ($BREAKING)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep -E "BREAKING CHANGE|!" | sed 's/^- /- /')"$'\n\n'
357366 fi
358367
359368 if [ "$PERF" -gt 0 ]; then
360- FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### ⚡ Performance Improvements ($PERF)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep " perf:" | sed 's/^- /- /')"$'\n\n'
369+ FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### ⚡ Performance Improvements ($PERF)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? perf:" | sed 's/^- /- /')"$'\n\n'
361370 fi
362371
363372 if [ "$REFACTOR" -gt 0 ]; then
364- FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### 🔧 Code Refactoring ($REFACTOR)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep " refactor:" | sed 's/^- /- /')"$'\n\n'
373+ FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### 🔧 Code Refactoring ($REFACTOR)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? refactor:" | sed 's/^- /- /')"$'\n\n'
365374 fi
366375
367376 if [ "$DOCS" -gt 0 ]; then
368- FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### 📚 Documentation ($DOCS)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep " docs:" | sed 's/^- /- /')"$'\n\n'
377+ FORMATTED_CHANGELOG="${FORMATTED_CHANGELOG}### 📚 Documentation ($DOCS)"$'\n'"$(echo "$CHANGELOG_CONTENT" | grep -E "(^- [a-f0-9]+: )? docs:" | sed 's/^- /- /')"$'\n\n'
369378 fi
370379
371380 if [ "$SECURITY" -gt 0 ]; then
0 commit comments