Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
4 changes: 2 additions & 2 deletions scripts/local-pack.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/ControlMenu/ControlMenu.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<ItemGroup>
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="6.0.0" />
<PackageReference Include="Velopack" Version="0.0.1589-ga2c5a97" />
<PackageReference Include="Velopack" Version="1.1.1" />
</ItemGroup>

<ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion src/ControlMenu/Services/Update/VelopackUpdateService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace ControlMenu.Services.Update;
/// <summary>
/// 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&lt;UpdateInfo?&gt; — null means no update
Expand Down
2 changes: 1 addition & 1 deletion src/ControlMenuLauncher/ControlMenuLauncher.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Velopack" Version="0.0.1589-ga2c5a97" />
<PackageReference Include="Velopack" Version="1.1.1" />
</ItemGroup>

<ItemGroup>
Expand Down
Loading