# Production Release Checklist ## Pre-Release Verification ### Build & Test Gate - [ ] `./build.sh` completes without errors - [ ] `odin test tests` passes all tests (current: 98) - [ ] No memory leaks in test output (check for `+++ leak` lines) - [ ] No bad frees in test output (check for `+++ bad free` lines) ### Platform Compatibility - [ ] Build succeeds on Linux (x86_64) - [ ] Build succeeds on macOS (arm64 / x86_64) - [ ] Build succeeds on Windows (if applicable) - [ ] GUI launches and renders correctly on each platform ### Functional Smoke Tests - [ ] Local script generation produces valid script - [ ] Local panel generation produces panel images - [ ] Layout auto generates page layouts from panels - [ ] Bubble editor: add, delete, auto-place, type change - [ ] Export to PDF produces valid file - [ ] Export to PNG produces image files - [ ] Export to CBZ produces valid zip archive - [ ] Project save/load roundtrip preserves all state - [ ] Autosave triggers and persists correctly ### Edge Cases - [ ] Empty project handles all actions gracefully - [ ] Missing parent directories created before export - [ ] Invalid paths normalized before save/load - [ ] Dirty-state guard prevents accidental data loss - [ ] Confirmation modal blocks destructive actions when dirty ### Performance - [ ] GUI launches within 2 seconds on target hardware - [ ] No frame drops during normal interaction - [ ] Memory usage stable over extended session (no growth) - [ ] Large projects (50+ pages) load without issues ### Documentation - [ ] README.md reflects current features and controls - [ ] CHANGELOG.md updated with release changes - [ ] VERSION file included in package with build metadata - [ ] SHA256 checksum generated for release artifact ## Release Packaging ```bash VERSION=0.2.0 ./scripts/package.sh ``` Verify output: - [ ] Tarball contains: binary, README, CHANGELOG, schemas, VERSION - [ ] SHA256 checksum matches tarball content - [ ] Package size is reasonable (< 50MB for binary-only) ## Post-Release - [ ] Tag release in git (`git tag v0.2.0`) - [ ] Update PORT_BACKLOG.md with release milestone - [ ] Announce release to stakeholders --- # Known Issues ## Current Limitations ### Bubble Editor (Milestone 37) - Bubble text editing is type-only; direct text input requires project file edit - Bubble positioning is auto-calculated; manual drag-to-reposition not yet implemented - Bubble style customization (colors, fonts) uses defaults only ### Layout (Milestone 36) - Layout regeneration cycles through patterns; custom pattern assignment not yet available - Validation badges show data but do not auto-fix issues ### Export - PDF export uses basic page rendering; no bleed/margin controls - CBZ ComicInfo.xml uses minimal metadata - Export path must exist or parent directories are auto-created ### GUI - Window size adapts to monitor at launch; runtime resize has minimum bounds - Compact mode (< 860px height) hides non-essential hints - No multi-monitor awareness beyond launch monitor detection ### TUI - TUI mode is functional but less feature-rich than GUI - No color customization in TUI ### Performance - Large projects (100+ panels) may have slower layout computation - No image caching beyond in-memory storage during session ## Planned Improvements - Manual bubble positioning via drag-and-drop - Custom layout pattern assignment - Rich PDF export with bleed/margin controls - Multi-monitor support - Image asset caching to disk - Undo/redo for bubble and layout edits