Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
2eeec21
feat: clearer process and rule editors
PrimeBuild-pc Oct 14, 2026
7700a2a
fix: one save path for a saved rule's cores
PrimeBuild-pc Oct 14, 2026
5d19a46
feat: per-process efficiency mode (EcoQoS) for live processes and rules
PrimeBuild-pc Oct 14, 2026
e164db1
Merge branch 'fix/backup-rule-precedence' into codex/ux-rules-reliabi…
PrimeBuild-pc Oct 14, 2026
109b429
Merge branch 'codex/ux-rules-reliability' into feat/ecoqos-efficiency…
PrimeBuild-pc Oct 14, 2026
acd5ece
feat: clearer navigation, process page and rules editor
PrimeBuild-pc Oct 14, 2026
2ff2839
feat: settings and tweaks as Windows 11 rows, localized rule list
PrimeBuild-pc Oct 14, 2026
20abf70
fix: issues found testing the beta in a clean Windows 11 VM
PrimeBuild-pc Oct 14, 2026
1544587
feat: remember layout choices; Windows 11 toggles in Tweaks
PrimeBuild-pc Oct 14, 2026
7552a4c
docs: handoff for the 1.7.7 PR stack and beta test
PrimeBuild-pc Oct 14, 2026
3f0f135
fix: P/E cores from the highest EfficiencyClass, AMD CCDs from real L…
PrimeBuild-pc Oct 15, 2026
f8d6f19
feat: Game Boost, CPU Sets for the game and selected background apps
PrimeBuild-pc Oct 15, 2026
e0b493b
fix: Game Boost background entries with a full path never matched
PrimeBuild-pc Oct 15, 2026
6c36ea6
feat: report Game Boost sessions and restore results in Activity
PrimeBuild-pc Oct 16, 2026
15ea233
test: diagnose EcoQoS read failures on Windows Server
PrimeBuild-pc Oct 16, 2026
aec5c45
chore: prepare 1.7.7-beta.2 and keep prereleases out of stable channels
PrimeBuild-pc Oct 16, 2026
af856d7
test: use native full-query access mask in EcoQoS diagnostic
PrimeBuild-pc Oct 16, 2026
8b0ccfc
docs: update beta handoff and prerelease publication policy
PrimeBuild-pc Oct 16, 2026
ebeeaec
ci: run native EcoQoS tests on a Windows 11-era kernel
PrimeBuild-pc Oct 16, 2026
fa43eff
Merge branch 'feat/ecoqos-efficiency-mode' into feat/ux-clarity
PrimeBuild-pc Oct 16, 2026
9e3ff46
Merge branch 'feat/ux-clarity' into feat/game-boost
PrimeBuild-pc Oct 16, 2026
ef2ec24
test: lock beta publication and native runner contracts
PrimeBuild-pc Oct 16, 2026
d5f77c8
Merge pull request #71 from PrimeBuild-pc/feat/game-boost
PrimeBuild-pc Oct 16, 2026
c9a4b84
Merge pull request #70 from PrimeBuild-pc/feat/ux-clarity
PrimeBuild-pc Oct 16, 2026
232aa7c
Merge pull request #69 from PrimeBuild-pc/feat/ecoqos-efficiency-mode
PrimeBuild-pc Oct 16, 2026
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
3 changes: 2 additions & 1 deletion .github/workflows/ci-devsecops.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ permissions:

jobs:
build-test-scan:
runs-on: windows-2022
# Native EcoQoS read-back needs the Windows 11-era kernel (build 22000+).
runs-on: windows-2025

steps:
- name: Checkout
Expand Down
27 changes: 21 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@ permissions:

jobs:
build:
runs-on: windows-2022
# Match the Windows 11-era APIs exercised by the native integration tests.
runs-on: windows-2025
outputs:
version: ${{ steps.version.outputs.version }}
tag: ${{ steps.version.outputs.tag }}
prerelease: ${{ steps.version.outputs.prerelease }}

steps:
- name: Checkout
Expand All @@ -37,7 +39,7 @@ jobs:
shell: pwsh
run: |
$refName = "${{ github.ref_name }}"
if ($refName -match '^v\d+\.\d+\.\d+$') {
if ($refName -match '^v\d+\.\d+\.\d+(-[0-9A-Za-z.-]+)?$') {
$version = $refName.TrimStart('v')
$tag = $refName
}
Expand All @@ -51,6 +53,8 @@ jobs:
$tag = "v$version"
}

$prerelease = $version.Contains('-').ToString().ToLowerInvariant()
"prerelease=$prerelease" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
"version=$version" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
"tag=$tag" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append

Expand Down Expand Up @@ -204,6 +208,7 @@ jobs:
}

- name: Generate winget manifests
if: steps.version.outputs.prerelease != 'true'
shell: pwsh
run: |
$ErrorActionPreference = "Stop"
Expand Down Expand Up @@ -272,6 +277,7 @@ jobs:
path: artifacts/release/SHA256SUMS.txt

- name: Upload winget manifests
if: steps.version.outputs.prerelease != 'true'
uses: actions/upload-artifact@v4
with:
name: winget-manifests
Expand All @@ -285,7 +291,7 @@ jobs:
if-no-files-found: error

smoke-test:
runs-on: windows-2022
runs-on: windows-2025
needs: build

steps:
Expand Down Expand Up @@ -341,6 +347,7 @@ jobs:
path: release-assets

- name: Download winget manifests
if: needs.build.outputs.prerelease != 'true'
uses: actions/download-artifact@v4
with:
name: winget-manifests
Expand All @@ -360,7 +367,9 @@ jobs:
compgen -G "release-assets/installer/*.exe" > /dev/null || { echo "Missing installer executable in release-assets/installer"; exit 1; }
compgen -G "release-assets/packages/*.zip" > /dev/null || { echo "Missing release package zip in release-assets/packages"; exit 1; }
test -f "release-assets/SHA256SUMS.txt" || { echo "Missing release checksums file"; exit 1; }
find "winget-manifests" -type f -name "*.yaml" | grep -q . || { echo "Missing winget manifest yaml files"; exit 1; }
if [ "${{ needs.build.outputs.prerelease }}" != "true" ]; then
find "winget-manifests" -type f -name "*.yaml" | grep -q . || { echo "Missing winget manifest yaml files"; exit 1; }
fi
test -f "sbom/manifest.spdx.json" || { echo "Missing SBOM manifest"; exit 1; }

- name: Stage public GitHub release assets
Expand Down Expand Up @@ -393,7 +402,11 @@ jobs:
shell: bash
run: |
set -euo pipefail
git-cliff --config cliff.toml --latest > release-notes.md
if [ "${{ needs.build.outputs.prerelease }}" = "true" ]; then
cp "docs/releases/${{ needs.build.outputs.tag }}.md" release-notes.md
else
git-cliff --config cliff.toml --latest > release-notes.md
fi

{
echo "content<<EOF"
Expand All @@ -420,14 +433,16 @@ jobs:
public-release-assets/ThreadPilot_${{ needs.build.outputs.tag }}_Setup.exe
public-release-assets/ThreadPilot_${{ needs.build.outputs.tag }}_Portable.zip
public-release-assets/SHA256SUMS.txt
prerelease: ${{ needs.build.outputs.prerelease == 'true' }}
make_latest: ${{ needs.build.outputs.prerelease == 'true' && 'false' || 'true' }}
generate_release_notes: true

publish-winget:
runs-on: windows-2022
needs:
- build
- release
if: needs.release.result == 'success'
if: needs.release.result == 'success' && needs.build.outputs.prerelease != 'true'

steps:
- name: Resolve winget publish policy
Expand Down
2 changes: 1 addition & 1 deletion Installer/Installer.iss
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#define MyAppPublisher "ThreadPilot"
#define MyAppURL "https://github.com/"
#define MyAppExeName "ThreadPilot.exe"
#define MyAppVersion "1.7.6"
#define MyAppVersion "1.7.7-beta.2"

#ifndef MyWizardStyle
#define MyWizardStyle "modern dynamic windows11"
Expand Down
2 changes: 1 addition & 1 deletion Installer/ThreadPilot.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<Package
Name="ThreadPilot"
Manufacturer="Prime Build"
Version="1.7.6.0"
Version="1.7.7.0"
UpgradeCode="PUT-GENERATED-UPGRADE-CODE-HERE"
Language="1033">
<SummaryInformation Description="ThreadPilot MSI template" />
Expand Down
2 changes: 1 addition & 1 deletion Installer/setup.iss
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#endif

#ifndef MyAppVersion
#define MyAppVersion "1.7.6"
#define MyAppVersion "1.7.7-beta.2"
#endif

#ifndef MyAppSourceDir
Expand Down
Loading
Loading