This document describes how to create a new release for the Universal Media Controller extension.
- Node.js installed
- Git configured with GitHub credentials
- Write access to the repository
First, ensure all changes are committed and the main branch is up to date:
git checkout main
git pull origin mainUse the automated version bump script:
node scripts/bump-version.js <version>Example:
node scripts/bump-version.js 0.3.0This will automatically update:
manifest.jsonpackage.json
Add a new section at the top of CHANGELOG.md following this format:
## [0.3.0] - 2025-01-25
### Added
- New feature descriptions
### Changed
- Changes to existing features
### Fixed
- Bug fixes
### Removed
- Removed featuresgit add -A
git commit -m "chore: bump version to v0.3.0"git tag v0.3.0
git push origin main
git push origin v0.3.0Important: The tag MUST start with v (e.g., v0.3.0) to trigger the release workflow.
- Go to the Actions tab
- Watch the "Create Release" workflow
- Verify it completes successfully
- Go to the Releases page
- Verify the new release is created
- Check that the zip file is attached
- Verify the changelog is correctly extracted
Problem: Pushed code but no workflow ran.
Solution: Make sure you pushed a tag, not just a commit:
git push origin v0.3.0Problem: Workflow fails with "version doesn't match tag version".
Solution: Ensure manifest.json version matches the tag:
- Tag:
v0.3.0 - manifest.json:
"version": "0.3.0"
Problem: npm run build fails in the workflow.
Solution:
- Test the build locally:
npm run build - Fix any errors
- Commit and push fixes
- Delete and recreate the tag:
git tag -d v0.3.0 git push origin :refs/tags/v0.3.0 git tag v0.3.0 git push origin v0.3.0
# Complete release process
node scripts/bump-version.js 0.3.0
# Edit CHANGELOG.md
git add -A
git commit -m "chore: bump version to v0.3.0"
git tag v0.3.0
git push origin main --tags- Always test the extension locally before releasing
- Keep CHANGELOG.md up to date
- Use semantic versioning (MAJOR.MINOR.PATCH)
- Tags are immutable - if you need to fix a release, create a new version