# Release Process ## Branches Recommended Gitea layout: - `main`: stable released source code - `dev`: active development work Release builds should come from `main`. ## Version Numbers Use semantic versioning: ```text MAJOR.MINOR.PATCH ``` Examples: - `1.0.0`: first stable release - `1.0.1`: bug fix - `1.1.0`: new feature Update version fields in: ```text TaskbarLauncher.csproj ``` ## Build Release Zip Small package: ```powershell .\Tools\New-TaskbarLauncherRelease.ps1 ``` Self-contained package: ```powershell .\Tools\New-TaskbarLauncherRelease.ps1 -SelfContained ``` Output: ```text builds/releases/TaskbarLauncher-vVERSION-small.zip ``` ## Publish to Gitea 1. Commit all source changes. 2. Merge `dev` into `main`. 3. Tag the release: ```powershell git tag v1.0.0 git push origin main git push origin v1.0.0 ``` 4. In Gitea, create a release from the tag. 5. Upload the zip from `builds/releases`. Older releases stay available through Gitea Releases and Git tags.