Files
archy/docs/hotfix-process.md
archipelago 83aacdf209 chore(release): archive ISO build recipes, tarball-only releases
Releases no longer ship as bootable ISOs. Archipelago updates are
distributed as the backend binary plus a frontend tarball referenced by
releases/manifest.json. Nodes OTA-update via scripts/self-update.sh.

Filebrowser and AIUI remain bundled inside the frontend tarball and
deployed atomically, verified present in v1.7.43-alpha release artifact
(189 AIUI files, filebrowser-client bundle).

Archived under image-recipe/_archived/ (resurrectable if ISO distribution
is reintroduced):
  - build-auto-installer-iso.sh
  - build-unbundled-iso.sh
  - test-iso-qemu.sh
  - scripts/convert-iso-to-disk.sh
  - BUILD-ISO-STATUS.md, ISO-BUILD-CHECKLIST.md
  - branding/isohdpfx.bin
  - .gitea/workflows/build-iso-dev.yml

Updated release process docs to drop ISO references:
  - scripts/create-release.sh (next-steps text)
  - docs/BETA-RELEASE-CHECKLIST.md
  - docs/hotfix-process.md
  - README.md
2026-04-23 15:36:00 -04:00

1.7 KiB

Hotfix Process

For critical bugs discovered after v1.0.0 release.

Severity Classification

Level Response Time Examples
P0 — Critical < 4 hours Data loss, security vulnerability, node bricked
P1 — High < 24 hours App won't start, auth broken, major UI failure
P2 — Medium < 72 hours Non-critical feature broken, performance regression
P3 — Low Next release Cosmetic, minor UX, edge cases

Hotfix Workflow

1. Triage

  • Reproduce the issue on dev server (192.168.1.228)
  • Classify severity (P0-P3)
  • P0/P1: proceed immediately. P2/P3: add to v1.1 roadmap.

2. Fix

  • Create branch: hotfix/v1.0.1-description
  • Fix the issue with minimal code changes
  • Run full test suite: cd neode-ui && npm test && npm run type-check
  • Deploy to dev server: ./scripts/deploy-to-target.sh --live
  • Verify fix on live server

3. Release

  • Merge hotfix branch to main
  • Tag: v1.0.1 (increment patch version)
  • Update release manifest for OTA updates (releases/manifest.json)
  • Push to both Gitea mirrors so nodes can pull via self-update.sh

4. Communicate

  • Update RELEASE-NOTES with hotfix details
  • Note in CHANGELOG.md

Monitoring Dashboards

  • Uptime monitor: /var/lib/archipelago/uptime-monitor/summary.json
  • Soak test: /tmp/stability-test-*.log on dev server
  • Health endpoint: http://192.168.1.228/health

Rollback

If a hotfix causes regressions:

  1. OTA system supports rollback to previous version (scripts/self-update.sh --rollback)
  2. Point releases/manifest.json back at the last-known-good version and push to mirrors
  3. Backend binary backup at /usr/local/bin/archipelago.bak