From be3fecf64e4ca98138b83a2d9292f6939f6f75f6 Mon Sep 17 00:00:00 2001 From: magdev Date: Sun, 3 May 2026 13:09:57 +0200 Subject: [PATCH] plan: move Flathub/Snap to v0.9.0; AppImage stays the only target until then MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same logic as the macOS/Windows + telemetry moves: alternate distribution channels are operational work (Flatpak manifest + Flathub PR review; snapcraft.yaml + Snap Store listing) that fits the cross-platform packaging milestone, not the v0.3.0 grab-bag. Tightened the v0.9.0 framing to make this explicit: AppImage is the only packaged target through v0.2.0, v0.3.0, and the v1.0.0 prep — all packaging churn concentrated into v0.9.0. Co-Authored-By: Claude Opus 4.7 (1M context) --- PLAN.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PLAN.md b/PLAN.md index 67b11d3..8c23fa3 100644 --- a/PLAN.md +++ b/PLAN.md @@ -570,15 +570,15 @@ Bigger pieces still deferred (each warrants its own minor, not v0.2.0 noise): - **i18n bridge** (§12). Symfony Translator (XLIFF) + Qt Translator (.ts) with a shared locale switch fanning out to both. - **Persistent log files + rotation** (Phase 5 out-of-scope). Symfony monolog wiring + a Qt-host log file with rotation. The dev console stays for live tails. - **Multi-arch builds** (§12). Linux ARM64, Windows ARM, macOS universal (arm64 + x86_64). Each adds a CI matrix dimension. -- **Flathub / Snap packaging** (§12). Better discoverability than AppImage at the cost of additional packaging surfaces. - **Composer `create-project` package** (Phase 5 out-of-scope). Publish `php-qml/skeleton` as a composer template so `composer create-project php-qml/skeleton my-app` works. Bash `bin/php-qml-init` stays for curl-bootstrap. ### v0.9.0 — cross-platform packaging (release-candidate milestone) -Locks down the cross-platform story before promoting to v1.0.0. Held until v0.9.0 (rather than v0.2.0) because each item carries operational prerequisites (paid certs, self-hosted runners, platform-specific notarisation pipelines) that are easier to absorb in a single concentrated push than to drip-feed across minors. Linux AppImage stays the only packaged target until then. +Locks down the cross-platform story before promoting to v1.0.0. Held until v0.9.0 (rather than v0.2.0) because each item carries operational prerequisites (paid certs, self-hosted runners, platform-specific notarisation pipelines) that are easier to absorb in a single concentrated push than to drip-feed across minors. **Linux AppImage stays the only packaged target through v0.2.0/v0.3.0 and the v1.0.0 prep work** — alternate Linux channels (Flathub, Snap) and the macOS/Windows ports all land here. - **macOS packaging** (was Phase 4b). `.app` bundle + `.dmg` + Sparkle 2 + notarization. Prerequisites: self-hosted macOS runner, Apple Developer cert ($99/yr), notarisation toolchain. - **Windows packaging** (was Phase 4c). NSIS installer + WinSparkle + Authenticode signing. Prerequisites: self-hosted Windows runner, code-signing cert (EV preferred to dodge SmartScreen reputation warm-up). +- **Flathub / Snap packaging** (§12). Alternate Linux channels for better discoverability than AppImage. Each adds its own packaging surface (Flatpak manifest + Flathub PR review; snapcraft.yaml + Snap Store listing). - **Per-platform first-launch UX** (§11, *Distribution UX*). Gatekeeper / SmartScreen / AV-vendor pre-submissions, file-association docs, App Store path decisions. - **Telemetry + crash reporting** (§12). Opt-in only, off by default; PHP-side Sentry for backend errors + a per-platform crash-dump pipeline for the Qt host (each OS does this differently — fits the cross-platform-packaging milestone). Plumbing settled before v1.0.0 even if no default endpoint ships.