This document describes how to create a new release of BerryStreamCam OBS Plugin.
We follow Semantic Versioning:
- MAJOR: Breaking changes
- MINOR: New features, backwards compatible
- PATCH: Bug fixes, backwards compatible
Current version: 1.0.0
Update version in these files:
CMakeLists.txt-project(berrystreamcam VERSION x.y.z)README.md- Badge and version referencesmake-release.sh-VERSION="x.y.z"
Add release notes to CHANGELOG.md:
## [x.y.z] - YYYY-MM-DD
### Added
- New features
### Changed
- Changes in existing functionality
### Fixed
- Bug fixescd plugin
./make-release.shcd plugin
./make-release.shcd plugin
.\make-release.ps1- Extract package
- Install plugin
- Test in OBS Studio
- Verify all protocols work
- Check auto-discovery
git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0- Go to https://github.com/StreamBerryLabs/streamberry-obs/releases/new
- Choose the tag you just created
- Set release title:
BerryStreamCam v1.0.0 - Add release notes (from CHANGELOG.md)
- Upload release packages:
berrystreamcam-v1.0.0-linux.tar.gzberrystreamcam-v1.0.0-macos.tar.gzberrystreamcam-v1.0.0-windows.zip- All
.sha256checksum files
- Publish release
We have automated build and release via GitHub Actions.
- Update version in files (see step 1 above)
- Commit changes:
git add . git commit -m "Release v1.0.0"
- Create and push tag:
git tag v1.0.0 git push origin main git push origin v1.0.0
- GitHub Actions will:
- Build for Linux, macOS, Windows
- Run tests
- Create release packages
- Calculate checksums
- Create GitHub Release automatically
You can also trigger the workflow manually:
- Go to Actions tab in GitHub
- Select Build and Release workflow
- Click Run workflow
- Choose branch and version
- Click Run workflow
- Version numbers updated in all files
- CHANGELOG.md updated with release notes
- Code tested on all target platforms
- Documentation updated
- Git tag created and pushed
- GitHub Release created
- Release packages uploaded
- Checksums verified
- Release announcement posted
- README badges updated
- Test on: Arch, Ubuntu, Fedora
- Package format:
.tar.gz - Install location:
/usr/lib/obs-plugins/
- Test on: macOS 13+ (Ventura, Sonoma)
- Package format:
.tar.gzwith.pluginbundle - Install location:
~/Library/Application Support/obs-studio/plugins/ - Note: May require Gatekeeper bypass for unsigned builds
- Test on: Windows 10, Windows 11
- Package format:
.zip - Install location:
C:\Program Files\obs-studio\obs-plugins\64bit\ - Note: May require "Run as Administrator" for installation
If a release has critical bugs:
- Mark as pre-release in GitHub
- Create hotfix branch:
git checkout -b hotfix/1.0.1 v1.0.0
- Fix the bug
- Create patch release (v1.0.1)
- Delete broken tag (optional):
git tag -d v1.0.0 git push origin :refs/tags/v1.0.0
After creating release:
- Update README.md with new version
- Post announcement:
- GitHub Discussions
- OBS Forums
- Reddit (r/obs, r/LivestreamingSetup)
- Discord servers
- Update documentation with new features
- Notify users via GitHub watch notifications
- Monitor GitHub Issues for bug reports
- Check Discussions for questions
- Respond to installation problems
- Collect feedback for next version
| Version | Date | Highlights |
|---|---|---|
| 1.0.0 | 2025-01-XX | Initial release with 5 protocols |
For questions about the release process, open an issue or contact the maintainers.