plan: consolidate telemetry into v0.9.0
Telemetry was split awkwardly: v0.3.0 had "Sentry + opt-in telemetry" (build the pipeline) and v1.0.0 had "Telemetry / crash reporting opt-in plumbing" (settle the API). The cross-platform crash-dump side is per-OS work — Apple Crash Reporter, Windows WER, Linux core dumps all differ — so it naturally rides with the v0.9.0 cross-platform packaging push rather than landing twice. Single v0.9.0 entry now covers both: PHP-side Sentry + per-platform crash-dump pipeline, opt-in only, plumbing settled before v1.0.0 even if no default endpoint ships. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
3
PLAN.md
3
PLAN.md
@@ -570,7 +570,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.
|
- **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.
|
- **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.
|
- **Multi-arch builds** (§12). Linux ARM64, Windows ARM, macOS universal (arm64 + x86_64). Each adds a CI matrix dimension.
|
||||||
- **Sentry + opt-in telemetry** (§12). PHP-side Sentry for backend errors + a crash-dump pipeline for the Qt host. Off by default.
|
|
||||||
- **Flathub / Snap packaging** (§12). Better discoverability than AppImage at the cost of additional packaging surfaces.
|
- **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.
|
- **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.
|
||||||
|
|
||||||
@@ -581,6 +580,7 @@ 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.
|
- **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).
|
- **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).
|
||||||
- **Per-platform first-launch UX** (§11, *Distribution UX*). Gatekeeper / SmartScreen / AV-vendor pre-submissions, file-association docs, App Store path decisions.
|
- **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.
|
||||||
|
|
||||||
### v1.0.0 — when
|
### v1.0.0 — when
|
||||||
|
|
||||||
@@ -589,6 +589,5 @@ When the public API (Symfony bundle services + attributes, Qt module C++ types +
|
|||||||
- **Auth model** (§12). Per-session bearer is fine for local-only; revisit if Mercure ever leaves loopback.
|
- **Auth model** (§12). Per-session bearer is fine for local-only; revisit if Mercure ever leaves loopback.
|
||||||
- **Mercure storage strategy.** In-memory works for bundled mode now; document or switch if persistence is needed.
|
- **Mercure storage strategy.** In-memory works for bundled mode now; document or switch if persistence is needed.
|
||||||
- **AppImage relinkability** (§12, Qt LGPL row). Document and test the user-side relink procedure end-to-end.
|
- **AppImage relinkability** (§12, Qt LGPL row). Document and test the user-side relink procedure end-to-end.
|
||||||
- **Telemetry / crash reporting opt-in plumbing** (§12). Settled by v1, even if disabled by default.
|
|
||||||
- **Security model audit** (§12). Caddyfile generation hardened against `0.0.0.0` binding; loopback-only enforcement audited end-to-end.
|
- **Security model audit** (§12). Caddyfile generation hardened against `0.0.0.0` binding; loopback-only enforcement audited end-to-end.
|
||||||
- **FrankenPHP-as-library evaluation** (§12 — future optimisation). CGo-embed FrankenPHP into the Qt host as a single process. Subprocess model stays the default; this is a perf optimisation only if measurements warrant.
|
- **FrankenPHP-as-library evaluation** (§12 — future optimisation). CGo-embed FrankenPHP into the Qt host as a single process. Subprocess model stays the default; this is a perf optimisation only if measurements warrant.
|
||||||
|
|||||||
Reference in New Issue
Block a user