Skip to content

Release v1.14.1#376

Merged
erikdarlingdata merged 4 commits into
mainfrom
dev
Jun 24, 2026
Merged

Release v1.14.1#376
erikdarlingdata merged 4 commits into
mainfrom
dev

Conversation

@erikdarlingdata

Copy link
Copy Markdown
Owner

Release v1.14.1

Promotes the .sqlplan file-association work from dev to main, triggering the signed release build.

What's new since v1.14.0

Double-click a .sqlplan to open it in Performance Studio:

  • Windows — registers an HKCU file association (ProgId + open command + icon), non-destructively: adds itself to "Open with" and only claims the default when .sqlplan is unowned (never overwrites e.g. SSMS). Verified on a real machine; removed on Velopack uninstall.
  • Linux — freedesktop .desktop entry + MIME glob under ~/.local/share.
  • macOSApp subscribes to IActivatableLifetime.Activated (ActivationKind.File) and loads the opened plan via MainWindow.OpenFiles. Implemented + compiles against Avalonia 11.3.17; needs a Mac smoke-test to confirm the activation event fires at runtime (it's had historical bugs). Fallback if not: a small ScottPlot-safe 11.x bump.

The open path itself was already handled (argv + named-pipe); this work just makes the OS route the double-click to the app.

Release mechanics

On merge, release.yml builds all four platforms, signs Windows via SignPath, packs Velopack + zips (Linux/macOS carrying the execute bit from 1.14.0), and publishes v1.14.1.

🤖 Generated with Claude Code

erikdarlingdata and others added 4 commits June 24, 2026 17:31
…+ Linux)

The .sqlplan document-type registration in 1.14.0 only put an icon on the files; nothing routed a double-click to the app. Add a best-effort FileAssociationService so the OS launches Performance Studio with the plan path, which the existing argv + named-pipe open path already handles.

Windows: HKCU ProgId + open command + icon, re-registered each launch so the path tracks Velopack's versioned dir; adds itself to OpenWithProgids and only claims the default when .sqlplan is unowned (never overwrites e.g. SSMS); removed on Velopack uninstall. Linux: freedesktop .desktop + MIME glob under ~/.local/share, databases refreshed only when written. macOS: no-op (Launch Services reads Info.plist); loading the opened plan additionally needs Avalonia's FileActivatedEventArgs, absent in 11.3.17.

Verified the Windows registry structure end-to-end on a real machine: ProgId + open command created, existing default preserved, cleanup restores state.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rgs)

macOS delivers a double-clicked .sqlplan via IActivatableLifetime.Activated (ActivationKind.File), not argv. Subscribe in App and route the opened paths into a new public MainWindow.OpenFiles, which marshals to the UI thread and reuses the existing OpenFileByExtension path.

FileActivatedEventArgs has shipped in Avalonia since 11.1 and IS present in 11.3.17 (it just lacks XML doc comments, so it's absent from the doc file but present in the assembly). Compiles against 11.3.17; the event actually firing on macOS at runtime needs a Mac smoke-test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ociation

Register .sqlplan file association for double-click-to-open (Windows, Linux, macOS)
@erikdarlingdata erikdarlingdata merged commit 09c33cf into main Jun 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant