diff --git a/docs/releasing.md b/docs/releasing.md index 38787c5..01f1b43 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -1,6 +1,6 @@ # Releasing PLAY. -## Versioning before 1.0 +## Versioning - Publish a minor release for a meaningful batch of user-visible capabilities or behavior changes. - Publish a patch release for corrections to the latest supported release. @@ -38,7 +38,7 @@ Partner Center identity used by the package: - Package/Properties/PublisherDisplayName: `Dev Jam Studio` - Store ID: `9NXXT91JCTHX` -The Store package version is derived from PLAY.'s semantic version by adding one to the semantic major and reserving the fourth component for Store use. For example, PLAY. `0.16.0` produces package version `1.16.0.0`, and PLAY. `1.0.0` produces `2.0.0.0`. +The Store package keeps PLAY.'s semantic version unchanged in its first three components and reserves the fourth component for Store use. For example, PLAY. `1.16.0` produces package version `1.16.0.0`. Store builds require PLAY. `1.x` or later because Microsoft package versions cannot start with zero. Build locally on Windows with the Windows SDK installed: diff --git a/package.json b/package.json index 4128666..f9a58b7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "playdot-player", - "version": "0.16.0", + "version": "1.16.0", "private": true, "workspaces": [ "website" diff --git a/scripts/build-msix.ps1 b/scripts/build-msix.ps1 index 5ab6e3d..f9b7440 100644 --- a/scripts/build-msix.ps1 +++ b/scripts/build-msix.ps1 @@ -26,24 +26,27 @@ if ([string]::IsNullOrWhiteSpace($Version)) { } if ($Version -notmatch '^(\d+)\.(\d+)\.(\d+)$') { - throw "Version '$Version' must contain exactly three numeric components, such as 0.16.0." + throw "Version '$Version' must contain exactly three numeric components, such as 1.16.0." } $appMajor = [int]$Matches[1] $appMinor = [int]$Matches[2] $appPatch = [int]$Matches[3] -$packageMajor = $appMajor + 1 -foreach ($component in @($packageMajor, $appMinor, $appPatch)) { +if ($appMajor -lt 1) { + throw "Microsoft Store package versions require a non-zero major version. Use PLAY. 1.x or later." +} + +foreach ($component in @($appMajor, $appMinor, $appPatch)) { if ($component -lt 0 -or $component -gt 65535) { throw "Version '$Version' cannot be mapped to a valid Microsoft Store package version." } } -# The Store requires a four-part package version whose first component is non-zero -# and reserves the fourth component. Offset the semantic major by one so pre-1.0 -# PLAY. versions remain monotonic: 0.16.0 -> 1.16.0.0, 1.0.0 -> 2.0.0.0. -$packageVersion = "$packageMajor.$appMinor.$appPatch.0" +# Keep PLAY.'s public semantic version identical to the first three MSIX +# components. Microsoft requires a four-part package version and reserves +# the fourth component, so PLAY. 1.16.0 maps directly to MSIX 1.16.0.0. +$packageVersion = "$appMajor.$appMinor.$appPatch.0" if (-not $SkipBuild) { & bun run setup-lib diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 2f22f4a..333ab31 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -2912,7 +2912,7 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "playdot-player" -version = "0.16.0" +version = "1.16.0" dependencies = [ "lofty", "serde", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 75cebcd..7e8a3f1 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "playdot-player" -version = "0.16.0" +version = "1.16.0" description = "Windows-first video player with Tauri and libmpv" authors = ["playdot player"] edition = "2021" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index d881247..efc2f2b 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -2,7 +2,7 @@ "$schema": "https://schema.tauri.app/config/2", "productName": "PLAY.", "mainBinaryName": "playdot-player", - "version": "0.16.0", + "version": "1.16.0", "identifier": "com.playdot.player", "build": { "beforeDevCommand": "bun run dev",