diff --git a/Installer/Installer.iss b/Installer/Installer.iss index 8beead0..622de70 100644 --- a/Installer/Installer.iss +++ b/Installer/Installer.iss @@ -5,7 +5,7 @@ #define MyAppPublisher "ThreadPilot" #define MyAppURL "https://github.com/" #define MyAppExeName "ThreadPilot.exe" -#define MyAppVersion "1.2.0" +#define MyAppVersion "1.3.0" #ifndef MyWizardStyle #define MyWizardStyle "modern dynamic windows11" diff --git a/Installer/ThreadPilot.wxs b/Installer/ThreadPilot.wxs index c924f7c..b72c9fe 100644 --- a/Installer/ThreadPilot.wxs +++ b/Installer/ThreadPilot.wxs @@ -7,7 +7,7 @@ diff --git a/Installer/setup.iss b/Installer/setup.iss index 9cfc206..25a2870 100644 --- a/Installer/setup.iss +++ b/Installer/setup.iss @@ -11,7 +11,7 @@ #endif #ifndef MyAppVersion - #define MyAppVersion "1.2.0" + #define MyAppVersion "1.3.0" #endif #ifndef MyAppSourceDir diff --git a/ThreadPilot.csproj b/ThreadPilot.csproj index d660017..85e6592 100644 --- a/ThreadPilot.csproj +++ b/ThreadPilot.csproj @@ -16,10 +16,10 @@ link true CS1998;CS0067;CS0414;WFAC010;IL3000;MVVMTK0034 - 1.2.0 - 1.2.0.0 - 1.2.0.0 - 1.2.0 + 1.3.0 + 1.3.0.0 + 1.3.0.0 + 1.3.0 diff --git a/app.manifest b/app.manifest index 970b893..5816daa 100644 --- a/app.manifest +++ b/app.manifest @@ -1,6 +1,6 @@ - + diff --git a/build/build-installer.ps1 b/build/build-installer.ps1 index 5ef8e30..1fbdb8e 100644 --- a/build/build-installer.ps1 +++ b/build/build-installer.ps1 @@ -1,5 +1,5 @@ param( - [string]$Version = "1.2.0", + [string]$Version = "1.3.0", [string]$Configuration = "Release", [switch]$SkipPublish ) diff --git a/build/build-release.ps1 b/build/build-release.ps1 index 681c789..ec4dd78 100644 --- a/build/build-release.ps1 +++ b/build/build-release.ps1 @@ -1,5 +1,5 @@ param( - [string]$Version = "1.2.0", + [string]$Version = "1.3.0", [string]$Configuration = "Release", [string]$Runtime = "win-x64" ) diff --git a/build/package-release-zips.ps1 b/build/package-release-zips.ps1 index 8ff92ec..54c8d59 100644 --- a/build/package-release-zips.ps1 +++ b/build/package-release-zips.ps1 @@ -1,5 +1,5 @@ param( - [string]$Version = "1.2.0" + [string]$Version = "1.3.0" ) $ErrorActionPreference = "Stop" diff --git a/chocolatey/threadpilot.nuspec b/chocolatey/threadpilot.nuspec index 2cbcdc1..e51f187 100644 --- a/chocolatey/threadpilot.nuspec +++ b/chocolatey/threadpilot.nuspec @@ -2,7 +2,7 @@ threadpilot - 1.2.0 + 1.3.0 ThreadPilot Prime Build https://github.com/PrimeBuild-pc/ThreadPilot @@ -15,7 +15,7 @@ false Advanced Windows process and power plan manager with rules automation and performance controls. ThreadPilot process and power plan manager. - https://github.com/PrimeBuild-pc/ThreadPilot/releases/tag/v1.2.0 + https://github.com/PrimeBuild-pc/ThreadPilot/releases/tag/v1.3.0 threadpilot process powerplan performance windows diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index ce8218b..490dda5 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -2,6 +2,28 @@ All notable changes to this project are documented in this file. +## v1.3.0 - Localization support + +### Added + +- Added localization infrastructure. +- Added English and Simplified Chinese resource dictionaries. +- Added language selector in Settings. +- Added localized notification support for selected user-facing messages. +- Added tests for localization fallback, language persistence, Settings language selection, and localized notifications. + +### Changed + +- English remains the default application language. +- Simplified Chinese is available as an optional display language. +- Project version updated to 1.3.0. + +### Safety + +- Unsupported or invalid language settings now fall back to English. +- Missing translation keys fall back safely to English or the key. +- No changes to elevation, system tweaks, affinity, or privileged operation behavior. + ## v1.2.0 - CPU topology, persistent rules, and process control update ### Added diff --git a/docs/release/PACKAGING.md b/docs/release/PACKAGING.md index 127faf1..5df81e1 100644 --- a/docs/release/PACKAGING.md +++ b/docs/release/PACKAGING.md @@ -178,9 +178,9 @@ Generate manifests locally with: ```powershell ./build/generate-winget-manifests.ps1 ` - -Version "1.2.0" ` - -Tag "v1.2.0" ` - -InstallerUrl "https://github.com/PrimeBuild-pc/ThreadPilot/releases/download/v1.2.0/ThreadPilot_v1.2.0_Setup.exe" ` + -Version "1.3.0" ` + -Tag "v1.3.0" ` + -InstallerUrl "https://github.com/PrimeBuild-pc/ThreadPilot/releases/download/v1.3.0/ThreadPilot_v1.3.0_Setup.exe" ` -InstallerSha256 "" ` -OutputRoot "winget-manifests" ``` @@ -224,9 +224,9 @@ Local packaging-only validation: ```powershell ./build/publish-chocolatey.ps1 ` - -Version "1.2.0" ` - -Tag "v1.2.0" ` - -InstallerPath ".\artifacts\release\installer\ThreadPilot_v1.2.0_Setup.exe" ` + -Version "1.3.0" ` + -Tag "v1.3.0" ` + -InstallerPath ".\artifacts\release\installer\ThreadPilot_v1.3.0_Setup.exe" ` -DryRun ` -PackageOutputDirectory ".\artifacts\choco-dryrun" ` -MetadataOutputPath ".\artifacts\choco-dryrun\chocolatey-package-metadata.json" @@ -250,9 +250,9 @@ Public publish path: ```powershell ./build/publish-chocolatey.ps1 ` - -Version "1.2.0" ` - -Tag "v1.2.0" ` - -InstallerPath ".\artifacts\release\installer\ThreadPilot_v1.2.0_Setup.exe" ` + -Version "1.3.0" ` + -Tag "v1.3.0" ` + -InstallerPath ".\artifacts\release\installer\ThreadPilot_v1.3.0_Setup.exe" ` -ApiKey "" ``` @@ -278,4 +278,3 @@ The release workflow (`.github/workflows/release.yml`) now builds: - ReadyToRun build output for internal CI validation only - SHA-256 checksum manifest for public assets - Optional signing of EXE artifacts when signing secrets are configured - diff --git a/docs/release/RELEASE_NOTES.md b/docs/release/RELEASE_NOTES.md index f434581..193ee1d 100644 --- a/docs/release/RELEASE_NOTES.md +++ b/docs/release/RELEASE_NOTES.md @@ -1,48 +1,39 @@ -# ThreadPilot v1.2.0 Release Notes Draft +# ThreadPilot v1.3.0 Release Notes Draft ## Highlights -- CPU topology v2 with topology-aware `CpuSelection`, CPU Sets, processor groups, and safer handling above 64 logical processors. -- New safe affinity paths where CPU64 no longer aliases CPU0. -- Intel hybrid handling through topology and `EfficiencyClass`, plus AMD CCD/L3-aware preset generation. -- Memory priority support and persistent process rules. -- Apply saved rules automatically when matching processes start while ThreadPilot is running. -- Process tab context menu actions, Save as rule, Apply now, and selected-process summary. +- Added localization infrastructure with English and Simplified Chinese resources. +- English remains the default language. +- Simplified Chinese is available as an optional display language through Settings. +- Selected user-facing notification messages now use localized resources. +- Localization fallback behavior is covered by expanded tests. ## Added -- CPU topology v2 and `CpuSelection` for topology-aware affinity. -- Group-aware CPU Sets support and processor group safety. -- Memory priority controls. -- Persistent process rules with runtime apply-at-process-start support. -- Process tab context menu actions and selected-process summary. -- Optional Diagnostics view hidden by default. +- Added localization infrastructure. +- Added English and Simplified Chinese resource dictionaries. +- Added language selector in Settings. +- Added localized notification support for selected user-facing messages. +- Added tests for localization fallback, language persistence, Settings language selection, and localized notifications. ## Changed -- Default presets are gaming-oriented and generated from topology rather than hardcoded CPU SKU lists. -- Intel hybrid behavior uses Windows topology and `EfficiencyClass`. -- AMD behavior uses CCD/L3-aware preset generation. -- Project version updated to 1.2.0. - -## Fixed - -- Startup no longer fails from a read-only selected-process summary binding. -- CPU64 no longer aliases CPU0 in new safe affinity paths. -- Persistent rule auto-apply cancellation does not log shutdown/future cancellation as a warning. +- English remains the default application language. +- Simplified Chinese is available as an optional display language. +- Project version updated to 1.3.0. ## Safety -- High CPU priority shows a warning and Realtime priority remains blocked. -- ThreadPilot does not bypass anti-cheat or protected-process restrictions. -- Administrator rights may help ordinary access-denied cases but do not bypass protected processes. +- Unsupported or invalid language settings now fall back to English. +- Missing translation keys fall back safely to English or the key. +- No changes to elevation, system tweaks, affinity, or privileged operation behavior. ## Compatibility and Upgrade Notes - Requires Windows 11 build 22000 or newer. -- Existing legacy affinity profiles continue to load. -- New saved rules prefer topology-aware `CpuSelection` when safe topology mapping is available. -- Apply at process start works only while ThreadPilot is running. +- Existing settings continue to load. +- Existing installations without a language setting default to English. +- Existing process, affinity, power plan, and automation behavior is unchanged. ## Known Non-Goals diff --git a/docs/releases/v1.3.0.md b/docs/releases/v1.3.0.md new file mode 100644 index 0000000..193ee1d --- /dev/null +++ b/docs/releases/v1.3.0.md @@ -0,0 +1,48 @@ +# ThreadPilot v1.3.0 Release Notes Draft + +## Highlights + +- Added localization infrastructure with English and Simplified Chinese resources. +- English remains the default language. +- Simplified Chinese is available as an optional display language through Settings. +- Selected user-facing notification messages now use localized resources. +- Localization fallback behavior is covered by expanded tests. + +## Added + +- Added localization infrastructure. +- Added English and Simplified Chinese resource dictionaries. +- Added language selector in Settings. +- Added localized notification support for selected user-facing messages. +- Added tests for localization fallback, language persistence, Settings language selection, and localized notifications. + +## Changed + +- English remains the default application language. +- Simplified Chinese is available as an optional display language. +- Project version updated to 1.3.0. + +## Safety + +- Unsupported or invalid language settings now fall back to English. +- Missing translation keys fall back safely to English or the key. +- No changes to elevation, system tweaks, affinity, or privileged operation behavior. + +## Compatibility and Upgrade Notes + +- Requires Windows 11 build 22000 or newer. +- Existing settings continue to load. +- Existing installations without a language setting default to English. +- Existing process, affinity, power plan, and automation behavior is unchanged. + +## Known Non-Goals + +- No anti-cheat bypass. +- No Windows Service. +- No registry or IFEO persistence. +- No generated release artifacts yet. +- No GitHub release or tag yet. + +## Release Artifact Status + +- Installer, portable ZIP, checksums, package metadata verification, and release upload remain pending manual validation. diff --git a/sonar-project.properties b/sonar-project.properties index c9fb7ea..6425be6 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -1,6 +1,6 @@ sonar.projectKey=threadpilot sonar.projectName=ThreadPilot -sonar.projectVersion=1.2.0 +sonar.projectVersion=1.3.0 sonar.sourceEncoding=UTF-8 sonar.sources=.