From a589b1c30d8cc6ec1da95a94827d50917da34349 Mon Sep 17 00:00:00 2001 From: magdev Date: Sun, 3 May 2026 20:17:13 +0200 Subject: [PATCH] plan: move multi-arch + composer create-project from v0.3.0 to v0.9.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both items naturally cluster with the v0.9.0 cross-platform packaging milestone: - Multi-arch builds share runner + cert prerequisites with the macOS / Windows ports already at v0.9.0; doing them as one operational push is cheaper than fanning out across minors. - Composer create-project is the "how does a new user get the framework" PHP-side channel — settling it alongside the OS-installer paths means all the entry points stabilise together for v1.0.0. v0.3.0 keeps i18n + persistent log files (both standalone work that doesn't need v0.9.0's operational lift). 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 ce97e70..c554280 100644 --- a/PLAN.md +++ b/PLAN.md @@ -593,8 +593,6 @@ 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. -- **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) @@ -602,8 +600,10 @@ Locks down the cross-platform story before promoting to v1.0.0. Held until v0.9. - **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). +- **Multi-arch builds** (§12). Linux ARM64, Windows ARM, macOS universal (arm64 + x86_64). Each adds a CI matrix dimension. Lands here rather than v0.3.0 because the runner / cert prerequisites overlap with the macOS / Windows ports above — fan-out is one operational push, not three. - **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. +- **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. Lands at v0.9.0 alongside the OS-installer paths so all the "how does a new user get the framework" channels stabilise together. - **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. ### v1.0.0 — when