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
22 changes: 18 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
outputs:
version: ${{ steps.version.outputs.version }}
tag: ${{ steps.version.outputs.tag }}
prerelease: ${{ steps.version.outputs.prerelease }}

steps:
- name: Checkout
Expand All @@ -38,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 @@ -52,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 @@ -205,6 +208,7 @@ jobs:
}

- name: Generate winget manifests
if: steps.version.outputs.prerelease != 'true'
shell: pwsh
run: |
$ErrorActionPreference = "Stop"
Expand Down Expand Up @@ -273,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 Down Expand Up @@ -342,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 @@ -361,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 @@ -394,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 @@ -421,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
19 changes: 19 additions & 0 deletions Locales/de-DE.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,25 @@
<sys:String x:Key="SystemTweaks_OpenSettings">Einstellungen öffnen</sys:String>
<sys:String x:Key="SystemTweaks_ToggleOn">Ein</sys:String>
<sys:String x:Key="SystemTweaks_ToggleOff">Aus</sys:String>
<sys:String x:Key="GameBoost_Title">Game Boost</sys:String>
<sys:String x:Key="GameBoost_Description">Während ein Spiel läuft, setzt Game Boost die Standard-CPU-Sets des Spiels und ausgewählter Hintergrund-Apps, damit sie auf getrennten Kernen laufen. Windows plant weiterhin jeden Thread darin, und beim Beenden des Spiels wird alles wiederhergestellt.</sys:String>
<sys:String x:Key="GameBoost_Mode">Modus</sys:String>
<sys:String x:Key="GameBoost_Mode_Automatic">Automatisch</sys:String>
<sys:String x:Key="GameBoost_Mode_Isolation">Isolation</sys:String>
<sys:String x:Key="GameBoost_Mode_Description">Isolation verschiebt zusätzlich weitere Neben-Apps (Launcher-Helfer, Mediaplayer, Office-Apps) und hält das Spiel auf CPUs mit zwei gleichen CCDs auf CCD0.</sys:String>
<sys:String x:Key="GameBoost_AboveNormal_Name">Spielpriorität auf Höher als normal setzen</sys:String>
<sys:String x:Key="GameBoost_AboveNormal_Description">Experimentell: in deinen Spielen messen. Niemals Hoch oder Echtzeit.</sys:String>
<sys:String x:Key="GameBoost_Lists">Spiele und Apps</sys:String>
<sys:String x:Key="GameBoost_ManualGames">Manuell hinzugefügte Spiele (ein Programmname oder vollständiger Pfad pro Zeile)</sys:String>
<sys:String x:Key="GameBoost_ExcludedGames">Spiele, die nie geboostet werden</sys:String>
<sys:String x:Key="GameBoost_Background">Hintergrund-Apps, die von den Spielkernen verschoben werden</sys:String>
<sys:String x:Key="GameBoost_SaveLists">Listen speichern</sys:String>
<sys:String x:Key="GameBoost_SaveFailed">Game-Boost-Einstellungen konnten nicht gespeichert werden</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdVCache">Spiel auf dem CCD mit 3D V-Cache ({0} CPUs), ausgewählte Hintergrund-Apps auf dem anderen CCD ({1} CPUs).</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdCcd0">Spiel auf CCD0 ({0} CPUs), Hintergrund-Apps auf dem anderen CCD ({1} CPUs).</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdBackgroundOnly">Windows platziert das Spiel; ausgewählte Hintergrund-Apps verlassen CCD0 ({0} CPUs). Isolation hält zusätzlich das Spiel auf CCD0.</sys:String>
<sys:String x:Key="GameBoost_Decision_IntelHybrid">Spiel auf den P-Kernen ({0} CPUs), ausgewählte Hintergrund-Apps auf den E-Kernen ({1} CPUs).</sys:String>
<sys:String x:Key="GameBoost_Decision_Unsupported">Auf dieser CPU entscheidet Windows über die Kerne; Game Boost setzt nur die optionale Priorität.</sys:String>
<sys:String x:Key="SystemTweaks_StatusManagedByWindows">Von Windows verwaltet</sys:String>
<sys:String x:Key="SystemTweaks_StatusOpenSettingsFailed">Windows-Einstellungen konnten nicht geöffnet werden</sys:String>
<sys:String x:Key="SystemTweaks_StatusSettingsOpenedFormat">Einstellungen für {0} geöffnet</sys:String>
Expand Down
19 changes: 19 additions & 0 deletions Locales/en-US.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,25 @@
<sys:String x:Key="SystemTweaks_OpenSettings">Open settings</sys:String>
<sys:String x:Key="SystemTweaks_ToggleOn">On</sys:String>
<sys:String x:Key="SystemTweaks_ToggleOff">Off</sys:String>
<sys:String x:Key="GameBoost_Title">Game Boost</sys:String>
<sys:String x:Key="GameBoost_Description">While a game runs, sets the default CPU Sets of the game and of selected background apps so they run on separate cores. Windows still schedules every thread inside them, and everything is restored when the game closes.</sys:String>
<sys:String x:Key="GameBoost_Mode">Mode</sys:String>
<sys:String x:Key="GameBoost_Mode_Automatic">Automatic</sys:String>
<sys:String x:Key="GameBoost_Mode_Isolation">Isolation</sys:String>
<sys:String x:Key="GameBoost_Mode_Description">Isolation also moves more secondary apps (launcher helpers, media players, office apps) and, on CPUs with two equal CCDs, keeps the game on CCD0.</sys:String>
<sys:String x:Key="GameBoost_AboveNormal_Name">Raise game priority to Above Normal</sys:String>
<sys:String x:Key="GameBoost_AboveNormal_Description">Experimental: measure it on your games. Never High or Realtime.</sys:String>
<sys:String x:Key="GameBoost_Lists">Games and apps</sys:String>
<sys:String x:Key="GameBoost_ManualGames">Games added by hand (one executable name or full path per line)</sys:String>
<sys:String x:Key="GameBoost_ExcludedGames">Games never boosted</sys:String>
<sys:String x:Key="GameBoost_Background">Background apps moved off the game's cores</sys:String>
<sys:String x:Key="GameBoost_SaveLists">Save lists</sys:String>
<sys:String x:Key="GameBoost_SaveFailed">Could not save Game Boost settings</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdVCache">Game on the CCD with 3D V-Cache ({0} CPUs), selected background apps on the other CCD ({1} CPUs).</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdCcd0">Game on CCD0 ({0} CPUs), background apps on the other CCD ({1} CPUs).</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdBackgroundOnly">Windows places the game; selected background apps move off CCD0 ({0} CPUs). Isolation also keeps the game on CCD0.</sys:String>
<sys:String x:Key="GameBoost_Decision_IntelHybrid">Game on the P-cores ({0} CPUs), selected background apps on the E-cores ({1} CPUs).</sys:String>
<sys:String x:Key="GameBoost_Decision_Unsupported">On this CPU Windows decides the cores; Game Boost only applies the optional priority.</sys:String>
<sys:String x:Key="SystemTweaks_StatusManagedByWindows">Managed by Windows</sys:String>
<sys:String x:Key="SystemTweaks_StatusOpenSettingsFailed">Could not open Windows settings</sys:String>
<sys:String x:Key="SystemTweaks_StatusSettingsOpenedFormat">Opened settings for {0}</sys:String>
Expand Down
19 changes: 19 additions & 0 deletions Locales/es-ES.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,25 @@
<sys:String x:Key="SystemTweaks_OpenSettings">Abrir configuración</sys:String>
<sys:String x:Key="SystemTweaks_ToggleOn">Activado</sys:String>
<sys:String x:Key="SystemTweaks_ToggleOff">Desactivado</sys:String>
<sys:String x:Key="GameBoost_Title">Game Boost</sys:String>
<sys:String x:Key="GameBoost_Description">Mientras se ejecuta un juego, establece los CPU Sets predeterminados del juego y de las aplicaciones en segundo plano seleccionadas para que usen núcleos separados. Windows sigue planificando cada hilo dentro de ellos y todo se restaura al cerrar el juego.</sys:String>
<sys:String x:Key="GameBoost_Mode">Modo</sys:String>
<sys:String x:Key="GameBoost_Mode_Automatic">Automático</sys:String>
<sys:String x:Key="GameBoost_Mode_Isolation">Aislamiento</sys:String>
<sys:String x:Key="GameBoost_Mode_Description">Aislamiento también mueve otras aplicaciones secundarias (ayudantes de lanzadores, reproductores multimedia, aplicaciones de oficina) y, en CPU con dos CCD iguales, mantiene el juego en el CCD0.</sys:String>
<sys:String x:Key="GameBoost_AboveNormal_Name">Subir la prioridad del juego a Por encima de lo normal</sys:String>
<sys:String x:Key="GameBoost_AboveNormal_Description">Experimental: mídelo en tus juegos. Nunca Alta ni Tiempo real.</sys:String>
<sys:String x:Key="GameBoost_Lists">Juegos y aplicaciones</sys:String>
<sys:String x:Key="GameBoost_ManualGames">Juegos añadidos a mano (un nombre de ejecutable o ruta completa por línea)</sys:String>
<sys:String x:Key="GameBoost_ExcludedGames">Juegos que nunca se optimizan</sys:String>
<sys:String x:Key="GameBoost_Background">Aplicaciones en segundo plano movidas fuera de los núcleos del juego</sys:String>
<sys:String x:Key="GameBoost_SaveLists">Guardar listas</sys:String>
<sys:String x:Key="GameBoost_SaveFailed">No se pudo guardar la configuración de Game Boost</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdVCache">Juego en el CCD con 3D V-Cache ({0} CPU), aplicaciones en segundo plano seleccionadas en el otro CCD ({1} CPU).</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdCcd0">Juego en el CCD0 ({0} CPU), aplicaciones en segundo plano en el otro CCD ({1} CPU).</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdBackgroundOnly">Windows coloca el juego; las aplicaciones en segundo plano seleccionadas salen del CCD0 ({0} CPU). Aislamiento también mantiene el juego en el CCD0.</sys:String>
<sys:String x:Key="GameBoost_Decision_IntelHybrid">Juego en los núcleos P ({0} CPU), aplicaciones en segundo plano seleccionadas en los núcleos E ({1} CPU).</sys:String>
<sys:String x:Key="GameBoost_Decision_Unsupported">En esta CPU Windows decide los núcleos; Game Boost solo aplica la prioridad opcional.</sys:String>
<sys:String x:Key="SystemTweaks_StatusManagedByWindows">Administrado por Windows</sys:String>
<sys:String x:Key="SystemTweaks_StatusOpenSettingsFailed">No se pudo abrir la configuración de Windows</sys:String>
<sys:String x:Key="SystemTweaks_StatusSettingsOpenedFormat">Configuración abierta para {0}</sys:String>
Expand Down
19 changes: 19 additions & 0 deletions Locales/fr-FR.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,25 @@
<sys:String x:Key="SystemTweaks_OpenSettings">Ouvrir les paramètres</sys:String>
<sys:String x:Key="SystemTweaks_ToggleOn">Activé</sys:String>
<sys:String x:Key="SystemTweaks_ToggleOff">Désactivé</sys:String>
<sys:String x:Key="GameBoost_Title">Game Boost</sys:String>
<sys:String x:Key="GameBoost_Description">Pendant qu'un jeu tourne, définit les CPU Sets par défaut du jeu et des applications d'arrière-plan sélectionnées pour qu'ils s'exécutent sur des cœurs séparés. Windows planifie toujours chaque thread à l'intérieur, et tout est restauré à la fermeture du jeu.</sys:String>
<sys:String x:Key="GameBoost_Mode">Mode</sys:String>
<sys:String x:Key="GameBoost_Mode_Automatic">Automatique</sys:String>
<sys:String x:Key="GameBoost_Mode_Isolation">Isolation</sys:String>
<sys:String x:Key="GameBoost_Mode_Description">L'isolation déplace aussi d'autres applications secondaires (assistants de lanceurs, lecteurs multimédias, applications bureautiques) et, sur les CPU à deux CCD identiques, garde le jeu sur le CCD0.</sys:String>
<sys:String x:Key="GameBoost_AboveNormal_Name">Passer la priorité du jeu à Supérieure à la normale</sys:String>
<sys:String x:Key="GameBoost_AboveNormal_Description">Expérimental : mesurez-le sur vos jeux. Jamais Haute ni Temps réel.</sys:String>
<sys:String x:Key="GameBoost_Lists">Jeux et applications</sys:String>
<sys:String x:Key="GameBoost_ManualGames">Jeux ajoutés manuellement (un nom d'exécutable ou un chemin complet par ligne)</sys:String>
<sys:String x:Key="GameBoost_ExcludedGames">Jeux jamais optimisés</sys:String>
<sys:String x:Key="GameBoost_Background">Applications d'arrière-plan déplacées hors des cœurs du jeu</sys:String>
<sys:String x:Key="GameBoost_SaveLists">Enregistrer les listes</sys:String>
<sys:String x:Key="GameBoost_SaveFailed">Impossible d'enregistrer les paramètres de Game Boost</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdVCache">Jeu sur le CCD avec 3D V-Cache ({0} CPU), applications d'arrière-plan sélectionnées sur l'autre CCD ({1} CPU).</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdCcd0">Jeu sur le CCD0 ({0} CPU), applications d'arrière-plan sur l'autre CCD ({1} CPU).</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdBackgroundOnly">Windows place le jeu ; les applications d'arrière-plan sélectionnées quittent le CCD0 ({0} CPU). L'isolation garde aussi le jeu sur le CCD0.</sys:String>
<sys:String x:Key="GameBoost_Decision_IntelHybrid">Jeu sur les cœurs P ({0} CPU), applications d'arrière-plan sélectionnées sur les cœurs E ({1} CPU).</sys:String>
<sys:String x:Key="GameBoost_Decision_Unsupported">Sur ce CPU, Windows choisit les cœurs ; Game Boost applique seulement la priorité facultative.</sys:String>
<sys:String x:Key="SystemTweaks_StatusManagedByWindows">Géré par Windows</sys:String>
<sys:String x:Key="SystemTweaks_StatusOpenSettingsFailed">Impossible d'ouvrir les paramètres Windows</sys:String>
<sys:String x:Key="SystemTweaks_StatusSettingsOpenedFormat">Paramètres ouverts pour {0}</sys:String>
Expand Down
19 changes: 19 additions & 0 deletions Locales/it-IT.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,25 @@
<sys:String x:Key="SystemTweaks_OpenSettings">Apri impostazioni</sys:String>
<sys:String x:Key="SystemTweaks_ToggleOn">Attivato</sys:String>
<sys:String x:Key="SystemTweaks_ToggleOff">Disattivato</sys:String>
<sys:String x:Key="GameBoost_Title">Game Boost</sys:String>
<sys:String x:Key="GameBoost_Description">Mentre un gioco è in esecuzione, imposta i CPU Set predefiniti del gioco e delle app in background selezionate, così girano su core separati. Windows continua a gestire ogni thread al loro interno, e tutto viene ripristinato quando il gioco si chiude.</sys:String>
<sys:String x:Key="GameBoost_Mode">Modalità</sys:String>
<sys:String x:Key="GameBoost_Mode_Automatic">Automatico</sys:String>
<sys:String x:Key="GameBoost_Mode_Isolation">Isolamento</sys:String>
<sys:String x:Key="GameBoost_Mode_Description">Isolamento sposta anche altre app secondarie (helper dei launcher, lettori multimediali, app per ufficio) e, sulle CPU con due CCD uguali, tiene il gioco sul CCD0.</sys:String>
<sys:String x:Key="GameBoost_AboveNormal_Name">Alza la priorità del gioco a Superiore al normale</sys:String>
<sys:String x:Key="GameBoost_AboveNormal_Description">Sperimentale: misuralo sui tuoi giochi. Mai Alta o Tempo reale.</sys:String>
<sys:String x:Key="GameBoost_Lists">Giochi e app</sys:String>
<sys:String x:Key="GameBoost_ManualGames">Giochi aggiunti a mano (un nome di eseguibile o un percorso completo per riga)</sys:String>
<sys:String x:Key="GameBoost_ExcludedGames">Giochi da non ottimizzare mai</sys:String>
<sys:String x:Key="GameBoost_Background">App in background spostate dai core del gioco</sys:String>
<sys:String x:Key="GameBoost_SaveLists">Salva elenchi</sys:String>
<sys:String x:Key="GameBoost_SaveFailed">Impossibile salvare le impostazioni di Game Boost</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdVCache">Gioco sul CCD con 3D V-Cache ({0} CPU), app in background selezionate sull'altro CCD ({1} CPU).</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdCcd0">Gioco sul CCD0 ({0} CPU), app in background sull'altro CCD ({1} CPU).</sys:String>
<sys:String x:Key="GameBoost_Decision_AmdBackgroundOnly">Il gioco lo posiziona Windows; le app in background selezionate lasciano il CCD0 ({0} CPU). Isolamento tiene anche il gioco sul CCD0.</sys:String>
<sys:String x:Key="GameBoost_Decision_IntelHybrid">Gioco sui P-core ({0} CPU), app in background selezionate sugli E-core ({1} CPU).</sys:String>
<sys:String x:Key="GameBoost_Decision_Unsupported">Su questa CPU i core li decide Windows; Game Boost applica solo la priorità facoltativa.</sys:String>
<sys:String x:Key="SystemTweaks_StatusManagedByWindows">Gestito da Windows</sys:String>
<sys:String x:Key="SystemTweaks_StatusOpenSettingsFailed">Impossibile aprire le impostazioni di Windows</sys:String>
<sys:String x:Key="SystemTweaks_StatusSettingsOpenedFormat">Impostazioni aperte per {0}</sys:String>
Expand Down
Loading
Loading