diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d1ec89a..392fd5b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -52,14 +52,14 @@ jobs: with: dotnet-version: 10.x - # Pin vpk to the prerelease that has --msi / --instLocation flags. - # Stable vpk 0.0.1298 (the default with no --version) does NOT have - # those flags — they were added in the 0.0.1500+ prerelease line. - # Match the NuGet `Velopack` package version pinned in - # ControlMenu.csproj + ControlMenuLauncher.csproj to keep client/server - # serialization in sync. Mirrors ws-scrcpy-web's release.yml pin. + # Pin vpk to match the NuGet `Velopack` package version in + # ControlMenu.csproj + ControlMenuLauncher.csproj — the CLI and the + # runtime library share a release/serialization line and must stay in + # lockstep. 1.1.1 is the first stable line we ship on; `--msi` / + # `--instLocation` are standard post-1.0 (the earlier 0.0.1589 prerelease + # pin predated their stable availability). Mirrors ws-scrcpy-web's pin. - name: Install vpk CLI - run: dotnet tool install -g vpk --version 0.0.1589-ga2c5a97 + run: dotnet tool install -g vpk --version 1.1.1 # No .sln in this repo — restore + build per project directly. # Mirrors the local-pack.ps1 approach (3x dotnet publish below). diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e0fc12..3f0d15b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - **Module `SortOrder` values renumbered to eliminate a collision.** `JellyfinModule` and `AndroidPowerToolsModule` both declared `SortOrder = 2`, so the sidebar order held only by the `DisplayName` alphabetical tiebreak. Renumbered Jellyfin `2 → 3`, Utilities `3 → 4`, and Cameras `4 → 5` so every module has a distinct ordering key (Android Devices `1` and Android Power Tools `2` unchanged). The rendered sidebar / module-tile order is unchanged — this only removes the fragile tie. `CamerasModuleTests.SortOrder_Is4` renamed to `SortOrder_Is5`. +- **Velopack `0.0.1589-ga2c5a97` (prerelease) → `1.1.1` (stable).** Bumped in both production csprojs (`ControlMenu`, `ControlMenuLauncher`) and the `vpk` CLI pin (`release.yml`, `scripts/local-pack.ps1`) — the CLI and runtime library share a release line and must stay in lockstep. The earlier prerelease pin predated stable `--msi` / `--instLocation`, now standard post-1.0. The consumed .NET surface (`UpdateManager` / `GithubSource` / `CheckForUpdatesAsync` / `DownloadUpdatesAsync` / `VelopackApp.Build().SetAutoApplyOnStartup(false).Run()`) is source-compatible — verified by a clean Release build, the full 445-test suite, and a local `vpk 1.1.1` `--msi --instLocation PerMachine` pack producing a working `ControlMenu-stable.msi`. Supersedes Dependabot #34. ### Removed diff --git a/scripts/local-pack.ps1 b/scripts/local-pack.ps1 index d9fe550..2bc6cfd 100644 --- a/scripts/local-pack.ps1 +++ b/scripts/local-pack.ps1 @@ -59,10 +59,10 @@ function Resolve-VendoredDotnet { # Resolve vpk (global tool, mirrors ws-scrcpy-web release.yml) # --------------------------------------------------------------------------- function Resolve-Vpk { - $vpkVersion = '0.0.1589-ga2c5a97' + $vpkVersion = '1.1.1' $listed = dotnet tool list -g | Select-String -Pattern "^vpk\s+$([regex]::Escape($vpkVersion))\s" if (-not $listed) { - Write-Host "Installing vpk $vpkVersion globally (matches ws-scrcpy-web)..." + Write-Host "Installing vpk $vpkVersion globally (matches the Velopack NuGet pin)..." # Uninstall any older vpk first to avoid version conflict dotnet tool uninstall -g vpk 2>$null | Out-Null dotnet tool install -g vpk --version $vpkVersion diff --git a/src/ControlMenu/ControlMenu.csproj b/src/ControlMenu/ControlMenu.csproj index 2b27804..393c243 100644 --- a/src/ControlMenu/ControlMenu.csproj +++ b/src/ControlMenu/ControlMenu.csproj @@ -16,7 +16,7 @@ - + diff --git a/src/ControlMenu/Services/Update/VelopackUpdateService.cs b/src/ControlMenu/Services/Update/VelopackUpdateService.cs index bc15582..7803c7e 100644 --- a/src/ControlMenu/Services/Update/VelopackUpdateService.cs +++ b/src/ControlMenu/Services/Update/VelopackUpdateService.cs @@ -8,7 +8,7 @@ namespace ControlMenu.Services.Update; /// /// Provides update-check, download, and apply-signaling for Control Menu via Velopack. /// -/// API surface verified against Velopack 0.0.1298 (Context7, 2026-05-10): +/// API surface verified against Velopack 1.1.1 (clean build + 445 tests, 2026-06-03): /// - UpdateManager.IsInstalled: bool property (not a method) /// - UpdateManager.CurrentVersion: SemanticVersion? property (null when not installed) /// - UpdateManager.CheckForUpdatesAsync(): Task<UpdateInfo?> — null means no update diff --git a/src/ControlMenuLauncher/ControlMenuLauncher.csproj b/src/ControlMenuLauncher/ControlMenuLauncher.csproj index af461b2..a3a543b 100644 --- a/src/ControlMenuLauncher/ControlMenuLauncher.csproj +++ b/src/ControlMenuLauncher/ControlMenuLauncher.csproj @@ -13,7 +13,7 @@ - +