Release Types
Stable Releases
Stable releases follow semantic versioning (X.Y.Z) with auto-increment logic:
1.0.8→1.0.9(patch increment)1.0.9→1.1.0(minor increment when patch reaches 9)1.9.9→2.0.0(major increment when both minor and patch reach 9)
Beta Releases
Beta releases use the formatX.Y.Z-beta.N where N is auto-incremented based on existing tags:
- First beta:
1.1.0-beta.1 - Second beta:
1.1.0-beta.2
Prerequisites
Creating a Release
Manual Release (Advanced)
You can specify a custom version directly:X.Y.Z or X.Y.Z-prerelease.
GitHub Actions Workflow
Once the tag is pushed, GitHub Actions automatically:- Creates a draft release based on the tag name
- Builds platform-specific binaries in parallel:
- macOS: Apple Silicon (arm64) and Intel (x64)
- Code signing with Apple Developer certificate
- Notarization via Apple’s notary service
- Stapling notarization ticket to app bundle
- Windows: x64 and arm64 (NSIS installer)
- Linux: x64 and arm64 (AppImage)
- macOS: Apple Silicon (arm64) and Intel (x64)
- Uploads artifacts to the draft release
- Publishes the release once all builds complete
Beta releases (versions with
- suffix) are marked as pre-release and do not update the “latest” release tag.Build Configuration
The build process is configured inpackage.json under the build key:
Artifact Naming
Releases generate the following artifacts:- macOS Silicon:
zequel-apple-silicon.zip - macOS Intel:
zequel-apple-intel.zip - Windows x64:
zequel-window-x64.exe - Windows arm64:
zequel-window-arm64.exe - Linux x64:
zequel-linux-x64.AppImage - Linux arm64:
zequel-linux-arm64.AppImage
Auto-Updates
Zequel includeselectron-updater for automatic updates. The GitHub publish configuration in package.json ensures update manifests (latest-mac.yml, latest-linux.yml, etc.) are generated and uploaded with each release.