Release Workflow
February 18, 2026 ยท View on GitHub
This document describes the release workflow for FieldWorks. It covers creating release branches, fixing bugs in release branches, and publishing releases.
Release Manager: Jason Naylor
Release Branch Workflow
Creating a Release Branch
When it's time to prepare a new release, create a new release branch named after the upcoming version.
# Create and checkout release branch from the develop branch
git checkout develop
git pull origin develop
git checkout -b release/9.3
# Push to remote
git push -u origin release/9.3
Note: Creating release branches typically requires release manager permissions.
Joining Work on a Release Branch
If someone else has already started a release branch:
# Fetch all branches
git fetch --all
# Track and checkout the release branch
git checkout release/9.3
Fixing Bugs in a Release Branch
Starting a Bugfix
# Ensure you're on the release branch
git checkout release/9.3
git pull
# Create a bugfix branch
git checkout -b bugfix/LT-12345-fix-description
Submitting the Fix
- Make your changes and commit them
- Push your branch:
git push -u origin bugfix/LT-12345-fix-description - Create a Pull Request targeting the release branch
After the PR is Merged
# Clean up local branch
git checkout release/9.3
git pull
git branch -d bugfix/LT-12345-fix-description
Releasing a New Version
When the release is ready:
-
Ensure all pending PRs for the release branch are merged
-
Create a release tag:
git checkout release/9.3 git pull git tag -a v9.3.0 -m "Release 9.3.0" git push origin v9.3.0 -
Merge the release branch back to develop (if applicable)
Hotfix Workflow
Hotfixes are for critical bugs in released versions that can't wait for the next scheduled release.
Creating a Hotfix Branch
# Create hotfix from the release tag
git checkout v9.2.0
git checkout -b hotfix/9.2.1
# Push to remote
git push -u origin hotfix/9.2.1
Fixing Bugs in a Hotfix Branch
Same process as release branch bugfixes:
git checkout hotfix/9.2.1
git checkout -b bugfix/LT-12345-critical-fix
# Make changes, commit, push, create PR
Releasing a Hotfix
-
Complete all fixes on the hotfix branch
-
Create the hotfix release tag:
git checkout hotfix/9.2.1 git tag -a v9.2.1 -m "Hotfix release 9.2.1" git push origin v9.2.1 -
Merge hotfix changes back to the current release branch and develop
Support Branches
For maintaining older versions (e.g., fixing bugs in version 9.0 when 9.2 is current):
Creating a Support Branch
# Create support branch from the old release tag
git checkout v9.0.0
git checkout -b support/9.0
git push -u origin support/9.0
Releasing a Support Fix
Process is similar to hotfixes, but hotfix branches are based on the support branch:
git checkout support/9.0
git checkout -b hotfix/9.0.1
Merge Conflict Resolution
If you get merge failures when releasing:
- Resolve the conflicts locally
- Commit the resolution
- Push and continue with the release
# After resolving conflicts
git add .
git commit -m "Resolve merge conflicts for release"
git push
Version Numbering
FieldWorks uses semantic versioning:
- Major (9.x.x): Breaking changes, major new features
- Minor (x.3.x): New features, backwards compatible
- Patch (x.x.1): Bug fixes, backwards compatible
See Also
- Pull Request Workflow - Standard PR process
- CONTRIBUTING.md - Getting started with contributions