DevStackBox

Release Process

Checklist for shipping DevStackBox releases.

DevStackBox - Release Process

The exact checklist for every release. Follow this every time without shortcuts.

Current stable release: v0.1.8


Release Types

TypeWhenExample
PatchBug fix only, no new features0.1.80.1.9
MinorNew working feature added0.1.80.2.0
MajorBreaking changes or large milestone0.x.x1.0.0

Version format: X.Y.Z - always clean semver. No hyphens, no pre-release text.


Step 1 - Pre-Release Checks

Before changing any version number, verify:

  • All Phase 1 items in roadmap are complete for this milestone
  • No CRITICAL issues in advanced/troubleshooting are newly introduced
  • cargo build completes with zero errors
  • pnpm tauri build completes with zero errors
  • App starts and services can be started on a clean Windows test machine

Step 2 - Version Bump

Change version in ALL THREE files at the same time:

package.json

{
  "version": "0.1.9"
}

src-tauri/Cargo.toml

[package]
version = "0.1.9"

src-tauri/tauri.conf.json

{
  "version": "0.1.9"
}

Verify they match:

node -e "const p=require('./package.json'); console.log('package.json:', p.version)"
grep "^version" src-tauri/Cargo.toml
grep '"version"' src-tauri/tauri.conf.json

Step 3 - Update CHANGELOG.md

Add an entry at the top:

## [0.1.9] - 2026-MM-DD

### Fixed

- Description of bug fix

### Added

- Description of new feature

### Changed

- Description of change

Keep the format consistent. Do not delete old entries.


Step 4 - Build Release

Set signing key (required for auto-update):

$env:TAURI_SIGNING_PRIVATE_KEY = "path-or-content-of-your-private-key"
pnpm tauri build

Expected output files:

  • src-tauri/target/release/bundle/nsis/DevStackBox_0.1.9_x64-setup.exe
  • src-tauri/target/release/bundle/nsis/DevStackBox_0.1.9_x64-setup.exe.sig

Create latest.json in the repo root (use the v0.1.8 file as a template). Paste the .sig file content into the signature field.

If the build fails:

  1. Check src-tauri/target/release/build/ for Rust errors
  2. Check that all three version numbers match exactly
  3. Check that no new emoji were added to .github/workflows/*.yml

Step 5 - Smoke Tests

Run this checklist on the NSIS installer (not dev mode) on a clean Windows 11 machine or VM:

Installation:

  • NSIS installer installs without errors
  • App opens from Start Menu
  • App opens without antivirus immediately blocking it

MySQL:

  • MySQL starts successfully
  • phpMyAdmin opens in browser
  • MySQL stops successfully

Apache:

  • Apache starts successfully
  • http://localhost shows the www directory
  • Apache stops successfully

Config:

  • Config editor opens php.ini
  • Config change is saved
  • Config backup is created

General:

  • Dark mode and light mode both work
  • Language switcher works (EN and HI)
  • Sidebar navigation loads all pages without errors

Step 6 - Generate SHA-256 Hash (optional)

Get-FileHash "src-tauri\target\release\bundle\nsis\DevStackBox_0.1.9_x64-setup.exe" -Algorithm SHA256

Include the hash in the GitHub Release description if you want transparency for users.


Step 7 - GitHub Release

  1. Create a git tag:

    git tag v0.1.9
    git push origin v0.1.9
  2. Go to GitHub Releases

  3. Fill in:

    • Tag: v0.1.9
    • Title: v0.1.9
    • Description: Copy from CHANGELOG.md
    • Attach files: DevStackBox_0.1.9_x64-setup.exe and latest.json
  4. Click Publish Release.


Step 8 - Post-Release

  • Verify the download links in the GitHub Release page work
  • Verify releases/latest/download/latest.json shows the new version
  • Close GitHub Issues that were fixed in this release
  • Update feature-status if feature status changed

Auto-Updater

The in-app updater is active as of v0.1.8. Every release must include:

  1. Signed NSIS build (TAURI_SIGNING_PRIVATE_KEY set during pnpm tauri build)
  2. latest.json in the repo root signature from the .sig file, download URL matching the uploaded .exe
  3. Upload latest.json as a release asset named exactly latest.json

Updater endpoint (configured in tauri.conf.json):

https://github.com/DevStackBox/DevStackBox/releases/latest/download/latest.json

After publishing, test About → Check for updates from an older install.


What Can Go Wrong

ProblemFix
Build fails with "version mismatch"One of the three version files is different
Antivirus blocks installerPublish SHA-256 hash - users can verify and allow
GitHub Actions build failsCheck for emoji in .yml files - see advanced/troubleshooting
Auto-update failsCheck latest.json signature matches .sig; URL matches .exe filename
releases/latest wrong versionEnsure release is not marked pre-release; latest.json uploaded
Last updated: July 23, 2026Edit this page