Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
07e931b46This file is pinned to the selected release. Download the original to open it in your design tool.
# v3.0.0 Launch Checklist
> **Historical (2026-07).** The one-off checklist used for the v3.0.0 release. The current procedure is [`docs/RELEASING.md`](../RELEASING.md); release notes since 3.2 live on [GitHub Releases](https://github.com/engmung/Patternflow/releases).
Everything for the v3.0.0 release is **pre-loaded**. When the final gate below passes, run the steps top to bottom — each is copy-paste. (Windows: run the PowerShell blocks in PowerShell, everything else in any terminal with `git` + `gh`.)
## Gate 0 — the one thing left (hardware)
- [x] **PASSED (2026-07-19).** The v3 `encloser.stl` printed, assembled with a v3.0 board, and works — documented end to end in the [assembly video](https://youtu.be/J9C9bZgkNKs), §9 checks included.
## Gate 1 — swap the two v2.1-twin photos
- [x] **Resolved differently (2026-07-19):** the stale v2.1-twin photos were removed from the guide entirely — the [assembly video](https://youtu.be/J9C9bZgkNKs) covers those steps. No re-shoot needed.
## Gate 2 — last-minute text
- [ ] `CHANGELOG.md`: the `## [3.0.0] - 2026-07` date — correct it if the month changed.
- [ ] Optional: rebuild firmware once so the flashed image reports `3.0.0` over Improv (`PF_IMPROV_FW_VERSION` is already bumped in `net_config.h`); copy the fresh `build/esp32.esp32.esp32s3/patternflow.ino*.bin` files over `web/public/flash/bin/v2/`. Skipping this is fine — the shipped image works identically, it just self-reports 2.0.0.
## Launch
```sh
# 1. Commit the photo/text changes and merge to main
git add -A -- BUILD_GUIDE.md CHANGELOG.md docs/build-guide/images/v3 web/public/flash
git commit -m "release: v3.0.0"
git push origin dev
gh pr create --base main --head dev --title "Release v3.0.0" --body "Final gate passed: v3 unit built and checked. Tag + release to follow."
gh pr merge --merge
```
```powershell
# 2. Build the release assets (PowerShell, from the repo root)
$s = "$env:TEMP\pf-release"; Remove-Item -Recurse -Force $s -ErrorAction SilentlyContinue; New-Item -ItemType Directory "$s\stl","$s\fw" | Out-Null
Copy-Item -Recurse hardware\case\bed_256mm,hardware\case\bed_330mm,hardware\case\knobs "$s\stl\"
Compress-Archive -Path "$s\stl\*" -DestinationPath "$s\patternflow_v3_case_stl_pack.zip" -Force
Copy-Item web\public\flash\bin\v2\patternflow.ino.bin,web\public\flash\bin\v2\patternflow.ino.bootloader.bin,web\public\flash\bin\v2\patternflow.ino.partitions.bin "$s\fw\"
@"
Patternflow v3.0.0 firmware - prebuilt ESP32-S3 binaries
(the same image served by the browser flasher at patternflow.work;
one image works on both v2.x and v3.0 boards)
Easiest: use the browser flasher (Chrome/Edge) at https://patternflow.work
Manual flash with esptool:
esptool.py --chip esp32s3 write_flash \
0x0 patternflow.ino.bootloader.bin \
0x8000 patternflow.ino.partitions.bin \
0x10000 patternflow.ino.bin
"@ | Out-File "$s\fw\README.txt" -Encoding utf8
Compress-Archive -Path "$s\fw\*" -DestinationPath "$s\patternflow_v3_firmware.zip" -Force
```
```sh
# 3. Tag + publish (run from the repo root; $env:TEMP\pf-release on Windows = use the full path below)
gh release create v3.0.0 --target main \
--title "Patternflow v3.0.0 — the hybrid-power generation" \
--notes-file docs/releases/v3.0.0.md \
"$TEMP/pf-release/patternflow_v3_case_stl_pack.zip" \
"$TEMP/pf-release/patternflow_v3_firmware.zip" \
hardware/pcb/gerber/patternflow_v3.0_gerber.zip \
hardware/case/source/patternflow_case.blend
```
> The `.blend` must be attached (it's the one LFS file — *Download ZIP* gives people a pointer instead of the real file). Verify after publishing: the release page should list **4 assets** and show `patternflow_case.blend` at ~45 MB, not ~130 bytes.
## After publishing
- [ ] Open the release page and sanity-check the rendered notes + 4 assets.
- [ ] Close [#190](https://github.com/engmung/Patternflow/issues/190) (build-guide tracker) — everything in it is done at this point.
- [ ] Announce wherever feels right (Discord, Instagram, journal). The README release badge updates itself.
- [ ] Someday, not urgent: the pattern-creation guide (deliberately decoupled from this release).