From a98c3e9e2a3aef0bddce6ba4cdc600291b6f82f5 Mon Sep 17 00:00:00 2001 From: HelloThisWorld Date: Tue, 4 Aug 2026 20:12:05 +0800 Subject: [PATCH] Prepare winTerm 1.3.0-alpha4 prerelease Promotes the three alpha3 field-report fixes, already on main through pull request #36, to a fourth installable alpha. This commit only moves the release metadata. - Set application version 1.3.0-alpha4, PowerShell module prerelease suffix alpha4, and tag v1.3.0-alpha4. The channel stays alpha, and the module version stays 1.3.0. - Advance the package/file version to 1.3.0.3 across the MSIX manifest and the three Win32 resource scripts; the display ProductVersion strings carry 1.3.0-alpha4. - Update the version literals pinned by verify-version.ps1, verify-branding.ps1, test-visual-progress.ps1, test.ps1, and package-shell-assets.ps1. - Add the 1.3.0-alpha4 release notes with a Changes-since-alpha3 section, including the antivirus-verdict-cache note, and retitle the changelog's unreleased section. The release workflow marks any non-stable channel with --prerelease and --latest=false, so /releases/latest keeps resolving to v1.2.0, the alpha is not listed on the winTerm website, and the WinGet workflow skips it. Workspace schema, docking model, shell protocol, theme schema, update manifest schema, package identity, and signing policy are unchanged. --- CHANGELOG.md | 13 +- docs/current-progress.md | 38 ++++-- docs/releases/1.3.0-alpha4.md | 115 ++++++++++++++++++ scripts/winterm/package-shell-assets.ps1 | 4 +- scripts/winterm/test-visual-progress.ps1 | 34 +++--- scripts/winterm/test.ps1 | 2 +- scripts/winterm/verify-branding.ps1 | 2 +- scripts/winterm/verify-version.ps1 | 16 +-- .../winTerm.Shell/winTerm.Shell.psd1 | 2 +- shell/shared/version.json | 4 +- .../Package-winTerm.appxmanifest | 2 +- .../WindowsTerminal/WindowsTerminal.rc | 8 +- src/cascadia/wt/wt.rc | 8 +- .../winterm-shim/winterm-shim.rc | 8 +- src/winterm/Branding/ReleaseMetadata.h | 2 +- src/winterm/Branding/version.json | 8 +- .../Workspaces/Model/WorkspaceDescriptor.h | 2 +- .../Persistence/WorkspaceSerializer.cpp | 2 +- 18 files changed, 205 insertions(+), 65 deletions(-) create mode 100644 docs/releases/1.3.0-alpha4.md diff --git a/CHANGELOG.md b/CHANGELOG.md index d371698eb..eda08f5d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,11 @@ # Changelog -## Unreleased +## 1.3.0-alpha4 - 2026-08-04 -Fixes for the three alpha3 field reports. +Fourth alpha prerelease: fixes for the three alpha3 field reports. Like the +previous alphas, this is published only as a tagged GitHub prerelease for +local testing — GitHub Latest and the winTerm website continue to point at +v1.2.0, and this version is not submitted to WinGet. ### Fixed @@ -29,6 +32,12 @@ Fixes for the three alpha3 field reports. did not report a result for this command, and that success and failure are shown only when shell integration reports them. +### Changed + +- Advanced the package/file version to `1.3.0.3`. The application version is + `1.3.0-alpha4`, the PowerShell module stays `1.3.0` with prerelease suffix + `alpha4`, and the channel stays `alpha`. + ## 1.3.0-alpha3 - 2026-08-04 Third alpha prerelease: fixes for the five alpha2 field reports. Like the diff --git a/docs/current-progress.md b/docs/current-progress.md index 0c896fde5..c19215ea3 100644 --- a/docs/current-progress.md +++ b/docs/current-progress.md @@ -4,21 +4,21 @@ Last updated: 2026-08-04 ## Repository state -- Branch: `release/v1.3.0-alpha3` -- Base branch: `main` at `e0fd786c` (alpha2 field-report fixes, pull - request #34) +- Branch: `release/v1.3.0-alpha4` +- Base branch: `main` at `49ee5eb3` (alpha3 field-report fixes, pull + request #36) - Microsoft Terminal upstream revision: `1cea42d433253d95c4487a3037db48197b5e72f4` -- Application version: `1.3.0-alpha3` -- Package/file version: `1.3.0.2` -- PowerShell module version: `1.3.0` with prerelease suffix `alpha3` +- Application version: `1.3.0-alpha4` +- Package/file version: `1.3.0.3` +- PowerShell module version: `1.3.0` with prerelease suffix `alpha4` - Release channel: `alpha` -- Release tag: `v1.3.0-alpha3` +- Release tag: `v1.3.0-alpha4` - Current public Latest: `v1.2.0`, the stable Visual Progress release - Supported target: Windows 11 x64 -`v1.3.0-alpha3` follows `v1.3.0-alpha2` as a GitHub **prerelease** for local -testing, carrying the five alpha2 field-report fixes. The release workflow marks any +`v1.3.0-alpha4` follows `v1.3.0-alpha3` as a GitHub **prerelease** for local +testing, carrying the three alpha3 field-report fixes. The release workflow marks any non-stable channel with `--prerelease` and `--latest=false`, so `/releases/latest` keeps resolving to v1.2.0. The alpha is deliberately not listed on the winTerm website and is skipped by the WinGet workflow. @@ -48,6 +48,22 @@ prerelease suffix. The package version stays four-part numeric for MSIX and the Win32 resource fields, and the PowerShell module version stays numeric with the suffix carried in `PrivateData.PSData.Prerelease`. +## Alpha3 field reports + +Local testing of `v1.3.0-alpha3` surfaced three issues, all fixed on `main` +through pull request #36: + +1. An antivirus alert on every new PowerShell tab: the `touch` command's raw + `File::Open` write plus same-file command dispatch read as a + write-then-execute pattern; creation now uses `New-Item` and the module + loads clean. +2. Every completed command displayed `? Unknown`: the Enter keypress + heuristic never notified the lifecycle, so the capability chain never read + Full. Enter now reports the executed transition for shell-established + marks with non-empty input, restoring Running and the ✓/✕ results. +3. Long commands were unreadable: rows now carry a full-command tooltip, and + the Unknown status explains itself on hover. + ## Alpha2 field reports Local testing of `v1.3.0-alpha2` surfaced five issues, all fixed on `main` @@ -90,8 +106,8 @@ through pull request #32: ## Next steps -1. Install `v1.3.0-alpha3` locally and re-test the five fixes. -2. Cut `v1.3.0-beta1` on channel `beta` once alpha3 passes local testing. The +1. Install `v1.3.0-alpha4` locally and re-test the three fixes. +2. Cut `v1.3.0-beta1` on channel `beta` once alpha4 passes local testing. The beta may be listed on the winTerm website alongside the stable v1.2.0 download. 3. Promote to a stable `v1.3.0` only after beta testing, which is the point at diff --git a/docs/releases/1.3.0-alpha4.md b/docs/releases/1.3.0-alpha4.md new file mode 100644 index 000000000..eddb62b82 --- /dev/null +++ b/docs/releases/1.3.0-alpha4.md @@ -0,0 +1,115 @@ +# winTerm 1.3.0-alpha4 + +**This is an alpha prerelease for local testing. It is not a stable release.** +The current stable release remains +[v1.2.0](https://github.com/HelloThisWorld/winTerm/releases/tag/v1.2.0), and +`/releases/latest` continues to point there. This alpha is published only as a +tagged GitHub prerelease; it is not listed on the winTerm website and is not +submitted to WinGet. + +winTerm 1.3.0-alpha4 fixes the three issues reported from local testing of +[1.3.0-alpha3](https://github.com/HelloThisWorld/winTerm/releases/tag/v1.3.0-alpha3). +The Command Timeline feature set is otherwise unchanged. + +## Changes since alpha3 + +- **No more antivirus alert when opening a PowerShell tab.** The `touch` + compatibility command created files through a raw `File::Open` write call; + combined with the command-dispatch code in the same script, antivirus + heuristics read the file as a write-then-execute pattern and flagged the + module on every load. File creation now uses `New-Item` — behavior is + identical (create if missing, refresh the timestamp without truncating + otherwise) — and the module loads clean on the engine that previously + flagged it. If your antivirus cached a verdict for the old file, the alert + should disappear after this update; re-scan or clear its cache if it + persists. +- **Completed commands now show ✓/✕ instead of `? Unknown`.** The Enter + keypress supplies the command-executed transition in the supported + PowerShell flow, but it never informed the Timeline's lifecycle, so no + command ever counted as fully reported and every result displayed as + Unknown. Commands you run now show **Running** while they execute and + resolve to ✓ Succeeded or ✕ Failed when the shell reports the exit code. + `Unknown` still appears when the shell genuinely did not report a result — + hover it for the explanation. +- **Long commands are readable.** Hover any Timeline row to see the full + command text in a wrapped tooltip. + +## Command Timeline overview + +The Command Timeline is a per-pane, in-memory list of the commands that pane +has run, built from OSC 133 shell integration only. Open it with `Ctrl+Tab`, +or with the thin handle on the left edge of the terminal. Bare PowerShell +profiles get shell integration automatically. See the +[1.3.0-alpha2 notes](https://github.com/HelloThisWorld/winTerm/releases/tag/v1.3.0-alpha2) +for the auto-integration rules and the +[1.3.0-alpha1 notes](https://github.com/HelloThisWorld/winTerm/releases/tag/v1.3.0-alpha1) +for the full keyboard map. + +## Settings + +```json +{ + "commandTimeline.enabled": true, + "commandTimeline.historyLimit": 500 +} +``` + +Per profile: + +```json +{ + "shellIntegration.autoInject": true +} +``` + +An existing settings file needs no migration. + +## Privacy + +- Command text lives only in memory, only in the pane that ran it, and only + while that pane is open. Nothing is written to disk; there is no command + history file or database. +- Command output is never cached, indexed, or searched. +- Filter text is never saved and never leaves the pane. +- No telemetry is written, and no command, output, path, or filter text is + logged. +- The clipboard is written only by an explicit copy action, and is never read. + +See the [privacy policy](https://github.com/HelloThisWorld/winTerm/blob/main/PRIVACY.md). + +## Unchanged in this release + +Workspace schema (2), docking model (1), shell protocol (1), theme schema (1), +update manifest schema (1), package identity, and signing policy are all +unchanged from v1.2.0. + +## Known limitations + +- The Timeline requires OSC 133 shell integration; it stays unavailable under + `cmd.exe`. +- A multi-line command is refused when the shell has not enabled bracketed + paste, because unbracketed line breaks would be read as pressing Enter. +- Loading a command longer than 1024 characters asks for a confirming `Enter`. +- Command history does not survive closing a pane, and is intentionally never + persisted. + +## Installation + +The Setup EXE supports current-user and all-users installation; the Portable +ZIP can be extracted to a writable directory and run without installation. +Installing alpha4 over an earlier alpha is supported; the file version +advances to `1.3.0.3`. + +Publisher: `helloThisWorld`. Tag: `v1.3.0-alpha4`. + +## Signing + +The winTerm 1.3.0-alpha4 Setup EXE is not Authenticode-signed. Windows may +display Unknown Publisher or a SmartScreen warning. Download only from the +official GitHub Release and verify the file against `SHA256SUMS.txt` before +running it. + +## Policies + +- [Code signing policy](https://github.com/HelloThisWorld/winTerm/blob/main/CODE_SIGNING_POLICY.md) +- [Privacy policy](https://github.com/HelloThisWorld/winTerm/blob/main/PRIVACY.md) diff --git a/scripts/winterm/package-shell-assets.ps1 b/scripts/winterm/package-shell-assets.ps1 index c481aeb86..31d9d0cbd 100644 --- a/scripts/winterm/package-shell-assets.ps1 +++ b/scripts/winterm/package-shell-assets.ps1 @@ -33,8 +33,8 @@ foreach ($relativePath in $sourceAssets) $version = Get-Content -LiteralPath (Join-Path $repositoryRoot 'shell\shared\version.json') -Raw | ConvertFrom-Json if ($version.moduleVersion -ne '1.3.0' -or - $version.modulePrerelease -ne 'alpha3' -or - $version.applicationVersion -ne '1.3.0-alpha3' -or + $version.modulePrerelease -ne 'alpha4' -or + $version.applicationVersion -ne '1.3.0-alpha4' -or $version.protocolVersion -ne 1) { throw 'The winTerm Shell asset version metadata is invalid.' diff --git a/scripts/winterm/test-visual-progress.ps1 b/scripts/winterm/test-visual-progress.ps1 index 205977a81..4a87c8a9c 100644 --- a/scripts/winterm/test-visual-progress.ps1 +++ b/scripts/winterm/test-visual-progress.ps1 @@ -1378,12 +1378,12 @@ try $version = $source.VersionMetadata | ConvertFrom-Json $expectedVersionValues = [ordered]@{ - applicationVersion = '1.3.0-alpha3' - packageVersion = '1.3.0.2' + applicationVersion = '1.3.0-alpha4' + packageVersion = '1.3.0.3' moduleVersion = '1.3.0' - modulePrerelease = 'alpha3' + modulePrerelease = 'alpha4' channel = 'alpha' - tag = 'v1.3.0-alpha3' + tag = 'v1.3.0-alpha4' workspaceSchemaVersion = 2 dockingModelVersion = 1 shellProtocolVersion = 1 @@ -1398,39 +1398,39 @@ try } } $shellVersion = $source.ShellVersion | ConvertFrom-Json - if ($shellVersion.applicationVersion -ne '1.3.0-alpha3' -or $shellVersion.moduleVersion -ne '1.3.0' -or $shellVersion.protocolVersion -ne 1) + if ($shellVersion.applicationVersion -ne '1.3.0-alpha4' -or $shellVersion.moduleVersion -ne '1.3.0' -or $shellVersion.protocolVersion -ne 1) { - throw 'Shell version metadata does not match winTerm release 1.3.0-alpha3 with protocol version 1.' + throw 'Shell version metadata does not match winTerm release 1.3.0-alpha4 with protocol version 1.' } foreach ($surface in @( - @{ Content = $source.ReleaseMetadata; Value = 'ApplicationVersion{ L"1.3.0-alpha3" }'; Description = 'About release metadata' }, - @{ Content = $source.PackageManifest; Value = 'Version="1.3.0.2"'; Description = 'MSIX package manifest' }, - @{ Content = $source.HostResource; Value = 'FILEVERSION 1,3,0,2'; Description = 'Terminal host file version' }, - @{ Content = $source.HostResource; Value = '"ProductVersion", "1.3.0-alpha3\0"'; Description = 'Terminal host display version' }, - @{ Content = $source.ShimResource; Value = 'FILEVERSION 1,3,0,2'; Description = 'Shim file version' }, - @{ Content = $source.ShimResource; Value = '"ProductVersion", "1.3.0-alpha3\0"'; Description = 'Shim display version' }, + @{ Content = $source.ReleaseMetadata; Value = 'ApplicationVersion{ L"1.3.0-alpha4" }'; Description = 'About release metadata' }, + @{ Content = $source.PackageManifest; Value = 'Version="1.3.0.3"'; Description = 'MSIX package manifest' }, + @{ Content = $source.HostResource; Value = 'FILEVERSION 1,3,0,3'; Description = 'Terminal host file version' }, + @{ Content = $source.HostResource; Value = '"ProductVersion", "1.3.0-alpha4\0"'; Description = 'Terminal host display version' }, + @{ Content = $source.ShimResource; Value = 'FILEVERSION 1,3,0,3'; Description = 'Shim file version' }, + @{ Content = $source.ShimResource; Value = '"ProductVersion", "1.3.0-alpha4\0"'; Description = 'Shim display version' }, @{ Content = $source.CustomProps; Value = '1'; Description = 'Executable major version' }, @{ Content = $source.CustomProps; Value = '3'; Description = 'Executable minor version' }, @{ Content = $source.ShellModuleManifest; Value = "ModuleVersion = '1.3.0'"; Description = 'PowerShell module manifest' }, @{ Content = $source.ShellModule; Value = "`$script:WinTermModuleVersion = '1.3.0'"; Description = 'PowerShell module runtime' }, @{ Content = $source.PackageShellAssets; Value = "'shell\shared\version.json'"; Description = 'Canonical shell version metadata packaging' }, - @{ Content = $source.WorkspaceSerializer; Value = '"1.3.0-alpha3"'; Description = 'Workspace application-version fallback' } + @{ Content = $source.WorkspaceSerializer; Value = '"1.3.0-alpha4"'; Description = 'Workspace application-version fallback' } )) { Assert-Contains $surface.Content $surface.Value $surface.Description } foreach ($required in @( - "applicationVersion -eq '1.3.0-alpha3'", - "packageVersion -eq '1.3.0.2'", + "applicationVersion -eq '1.3.0-alpha4'", + "packageVersion -eq '1.3.0.3'", "moduleVersion -eq '1.3.0'", - "tag -eq 'v1.3.0-alpha3'", + "tag -eq 'v1.3.0-alpha4'", "Workspace Schema version remains 2", "Docking Model version remains 1", "Shell Protocol version remains 1", "Theme Schema remains at version 1" )) { - Assert-Contains $source.VerifyVersion $required 'Authoritative v1.3.0-alpha3 version validation surface' + Assert-Contains $source.VerifyVersion $required 'Authoritative v1.3.0-alpha4 version validation surface' } $testBinary = Join-Path $root "bin\$Platform\$Configuration\UnitTests_SettingsModel\SettingsModel.Unit.Tests.dll" diff --git a/scripts/winterm/test.ps1 b/scripts/winterm/test.ps1 index a2b82a47b..8f4801343 100644 --- a/scripts/winterm/test.ps1 +++ b/scripts/winterm/test.ps1 @@ -293,7 +293,7 @@ function Test-ShellExperienceFoundations $manifest = Import-PowerShellDataFile -LiteralPath $moduleManifest if ($manifest.ModuleVersion -ne '1.3.0' -or - $manifest.PrivateData.PSData.Prerelease -ne 'alpha3' -or + $manifest.PrivateData.PSData.Prerelease -ne 'alpha4' -or $manifest.PowerShellVersion -ne '5.1') { throw 'The winTerm PowerShell module manifest does not declare the supported version boundary.' diff --git a/scripts/winterm/verify-branding.ps1 b/scripts/winterm/verify-branding.ps1 index d396e6e60..40b950de7 100644 --- a/scripts/winterm/verify-branding.ps1 +++ b/scripts/winterm/verify-branding.ps1 @@ -126,7 +126,7 @@ function Test-Manifest Test-Requirement -Condition ($null -ne $identity -and $identity.Name -eq 'HelloThisWorld.winTerm') -Message "$Path uses package identity HelloThisWorld.winTerm" Test-Requirement -Condition ($null -ne $identity -and $identity.Name -notmatch '^Microsoft\.') -Message "$Path does not use a Microsoft package name" Test-Requirement -Condition ($null -ne $identity -and $identity.Publisher -ceq $ExpectedPublisher) -Message "$Path uses the expected non-Microsoft publisher" - Test-Requirement -Condition ($null -ne $identity -and $identity.Version -eq '1.3.0.2') -Message "$Path uses package version 1.3.0.2" + Test-Requirement -Condition ($null -ne $identity -and $identity.Version -eq '1.3.0.3') -Message "$Path uses package version 1.3.0.3" Test-Requirement -Condition ($null -ne $properties -and $properties.DisplayName -eq 'winTerm') -Message "$Path package display name is winTerm" Test-Requirement -Condition ($null -ne $application -and $application.Id -eq 'winTerm') -Message "$Path application ID is winTerm" Test-Requirement -Condition ($null -ne $visualElements -and $visualElements.DisplayName -eq 'winTerm') -Message "$Path application display name is winTerm" diff --git a/scripts/winterm/verify-version.ps1 b/scripts/winterm/verify-version.ps1 index a67062087..1e622a8b8 100644 --- a/scripts/winterm/verify-version.ps1 +++ b/scripts/winterm/verify-version.ps1 @@ -49,10 +49,10 @@ try $versionPath = Join-Path $repositoryRoot 'src\winterm\Branding\version.json' $version = Get-Content -LiteralPath $versionPath -Raw | ConvertFrom-Json - Assert-Condition ($version.applicationVersion -eq '1.3.0-alpha3') 'Application version is 1.3.0-alpha3' - Assert-Condition ($version.packageVersion -eq '1.3.0.2') 'Package version is 1.3.0.2' + Assert-Condition ($version.applicationVersion -eq '1.3.0-alpha4') 'Application version is 1.3.0-alpha4' + Assert-Condition ($version.packageVersion -eq '1.3.0.3') 'Package version is 1.3.0.3' Assert-Condition ($version.moduleVersion -eq '1.3.0') 'PowerShell module version is 1.3.0' - Assert-Condition ($version.modulePrerelease -eq 'alpha3') 'PowerShell module prerelease suffix is alpha3' + Assert-Condition ($version.modulePrerelease -eq 'alpha4') 'PowerShell module prerelease suffix is alpha4' # The release workflow treats any channel other than 'stable' as a # prerelease: it marks the GitHub Release --prerelease and --latest=false. @@ -66,7 +66,7 @@ try Assert-Condition ($version.packageVersion -match '^\d+\.\d+\.\d+\.\d+$') 'Package version stays a four-part numeric version' Assert-Condition ($version.moduleVersion -match '^\d+\.\d+\.\d+$') 'PowerShell module version stays numeric' - Assert-Condition ($version.tag -eq 'v1.3.0-alpha3') 'Release tag is v1.3.0-alpha3' + Assert-Condition ($version.tag -eq 'v1.3.0-alpha4') 'Release tag is v1.3.0-alpha4' Assert-Condition ($version.workspaceSchemaVersion -eq 2) 'Workspace Schema version remains 2' Assert-Condition ($version.dockingModelVersion -eq 1) 'Docking Model version remains 1' Assert-Condition ($version.shellProtocolVersion -eq 1) 'Shell Protocol version remains 1' @@ -98,7 +98,7 @@ try Assert-Condition ($shellVersion.protocolVersion -eq $version.shellProtocolVersion) 'Shell asset protocol version matches release metadata' $releaseHeader = Get-Text 'src\winterm\Branding\ReleaseMetadata.h' - Assert-Condition ($releaseHeader.Contains('ApplicationVersion{ L"1.3.0-alpha3" }')) 'About metadata application version is 1.3.0-alpha3' + Assert-Condition ($releaseHeader.Contains('ApplicationVersion{ L"1.3.0-alpha4" }')) 'About metadata application version is 1.3.0-alpha4' Assert-Condition ($releaseHeader.Contains('ReleaseChannel{ L"Alpha" }')) 'About metadata channel is Alpha' Assert-Condition ($releaseHeader.Contains($version.microsoftTerminalUpstreamRevision)) 'About metadata contains the Microsoft Terminal upstream revision' Assert-Condition ($releaseHeader.Contains('WorkspaceSchemaVersion{ 2 }')) 'About metadata contains Workspace Schema version 2' @@ -129,10 +129,10 @@ try Assert-Condition ((Get-Text 'src\winterm\Workspaces\Model\WorkspaceDescriptor.h').Contains('WorkspaceSchemaVersion{ 2 }')) 'Workspace model remains at Schema version 2' Assert-Condition ((Get-Text 'src\winterm\Workspaces\Model\WorkspaceDescriptor.h').Contains('DockingModelVersion{ 1 }')) 'Workspace model remains at Docking version 1' - Assert-Condition ((Get-Text 'src\winterm\Workspaces\Model\WorkspaceDescriptor.h').Contains('applicationVersion{ "1.3.0-alpha3" }')) 'Workspace model application-version fallback is 1.3.0-alpha3' + Assert-Condition ((Get-Text 'src\winterm\Workspaces\Model\WorkspaceDescriptor.h').Contains('applicationVersion{ "1.3.0-alpha4" }')) 'Workspace model application-version fallback is 1.3.0-alpha4' Assert-Condition ((Get-Text 'src\winterm\Shell\Protocol\ShellIntegrationProtocol.h').Contains('ShellProtocolVersion{ 1 }')) 'Shell protocol remains at version 1' Assert-Condition ((Get-Text 'src\winterm\Appearance\Themes\ThemeDescriptor.h').Contains('CurrentThemeSchemaVersion{ 1 }')) 'Theme Schema remains at version 1' - Assert-Condition ((Get-Text 'src\winterm\Workspaces\Persistence\WorkspaceSerializer.cpp').Contains('"1.3.0-alpha3"')) 'Workspace serializer application-version fallback is 1.3.0-alpha3' + Assert-Condition ((Get-Text 'src\winterm\Workspaces\Persistence\WorkspaceSerializer.cpp').Contains('"1.3.0-alpha4"')) 'Workspace serializer application-version fallback is 1.3.0-alpha4' $releaseWorkflow = Get-Text '.github\workflows\release.yml' Assert-Condition ($releaseWorkflow.Contains("- 'v*'")) 'Release workflow accepts version tags through a generic guarded trigger' @@ -147,7 +147,7 @@ try if ($RequireTag) { $tag = (& git describe --tags --exact-match 2>$null).Trim() - Assert-Condition ($LASTEXITCODE -eq 0 -and $tag -eq $version.tag) 'Checked-out commit is exactly tagged v1.3.0-alpha3' + Assert-Condition ($LASTEXITCODE -eq 0 -and $tag -eq $version.tag) 'Checked-out commit is exactly tagged v1.3.0-alpha4' } Write-Host 'winTerm version consistency verification passed.' -ForegroundColor Green diff --git a/shell/powershell/winTerm.Shell/winTerm.Shell.psd1 b/shell/powershell/winTerm.Shell/winTerm.Shell.psd1 index e8ded5803..3d4b5e369 100644 --- a/shell/powershell/winTerm.Shell/winTerm.Shell.psd1 +++ b/shell/powershell/winTerm.Shell/winTerm.Shell.psd1 @@ -12,7 +12,7 @@ AliasesToExport = @() PrivateData = @{ PSData = @{ - Prerelease = 'alpha3' + Prerelease = 'alpha4' Tags = @('winTerm', 'terminal', 'shell-integration') ProjectUri = 'https://github.com/HelloThisWorld/winTerm' LicenseUri = 'https://github.com/HelloThisWorld/winTerm/blob/main/LICENSE' diff --git a/shell/shared/version.json b/shell/shared/version.json index 8e2f9ed67..fc0bc84a7 100644 --- a/shell/shared/version.json +++ b/shell/shared/version.json @@ -1,6 +1,6 @@ { - "applicationVersion": "1.3.0-alpha3", + "applicationVersion": "1.3.0-alpha4", "moduleVersion": "1.3.0", - "modulePrerelease": "alpha3", + "modulePrerelease": "alpha4", "protocolVersion": 1 } diff --git a/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest b/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest index 758c7b072..f658e91a7 100644 --- a/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest +++ b/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest @@ -18,7 +18,7 @@ + Version="1.3.0.3" /> winTerm diff --git a/src/cascadia/WindowsTerminal/WindowsTerminal.rc b/src/cascadia/WindowsTerminal/WindowsTerminal.rc index 70ac24a3f..715b9931b 100644 --- a/src/cascadia/WindowsTerminal/WindowsTerminal.rc +++ b/src/cascadia/WindowsTerminal/WindowsTerminal.rc @@ -83,8 +83,8 @@ IDI_APPICON_HC_WHITE ICON "..\\..\\..\\res\\terminal\\imag #if defined(WT_BRANDING_WINTERM) 1 VERSIONINFO - FILEVERSION 1,3,0,2 - PRODUCTVERSION 1,3,0,2 + FILEVERSION 1,3,0,3 + PRODUCTVERSION 1,3,0,3 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG @@ -101,12 +101,12 @@ BEGIN BEGIN VALUE "CompanyName", "helloThisWorld\0" VALUE "FileDescription", "winTerm Terminal Host\0" - VALUE "FileVersion", "1.3.0.2\0" + VALUE "FileVersion", "1.3.0.3\0" VALUE "InternalName", "WindowsTerminal\0" VALUE "LegalCopyright", "Copyright (c) winTerm contributors. Portions copyright Microsoft Corporation.\0" VALUE "OriginalFilename", "WindowsTerminal.exe\0" VALUE "ProductName", "winTerm\0" - VALUE "ProductVersion", "1.3.0-alpha3\0" + VALUE "ProductVersion", "1.3.0-alpha4\0" END END BLOCK "VarFileInfo" diff --git a/src/cascadia/wt/wt.rc b/src/cascadia/wt/wt.rc index 0d3cdb76c..14d6842a2 100644 --- a/src/cascadia/wt/wt.rc +++ b/src/cascadia/wt/wt.rc @@ -58,8 +58,8 @@ IDI_APPICON ICON "..\\..\\..\\res\\terminal.ico" #if defined(WT_BRANDING_WINTERM) 1 VERSIONINFO - FILEVERSION 1,3,0,2 - PRODUCTVERSION 1,3,0,2 + FILEVERSION 1,3,0,3 + PRODUCTVERSION 1,3,0,3 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG @@ -76,12 +76,12 @@ BEGIN BEGIN VALUE "CompanyName", "helloThisWorld\0" VALUE "FileDescription", "winTerm Launcher\0" - VALUE "FileVersion", "1.3.0.2\0" + VALUE "FileVersion", "1.3.0.3\0" VALUE "InternalName", "winTerm\0" VALUE "LegalCopyright", "Copyright (c) winTerm contributors. Portions copyright Microsoft Corporation.\0" VALUE "OriginalFilename", "winTerm.exe\0" VALUE "ProductName", "winTerm\0" - VALUE "ProductVersion", "1.3.0-alpha3\0" + VALUE "ProductVersion", "1.3.0-alpha4\0" END END BLOCK "VarFileInfo" diff --git a/src/winterm-tools/winterm-shim/winterm-shim.rc b/src/winterm-tools/winterm-shim/winterm-shim.rc index 56e955f8e..45b12bb70 100644 --- a/src/winterm-tools/winterm-shim/winterm-shim.rc +++ b/src/winterm-tools/winterm-shim/winterm-shim.rc @@ -4,8 +4,8 @@ #include 1 VERSIONINFO - FILEVERSION 1,3,0,2 - PRODUCTVERSION 1,3,0,2 + FILEVERSION 1,3,0,3 + PRODUCTVERSION 1,3,0,3 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG @@ -22,12 +22,12 @@ BEGIN BEGIN VALUE "CompanyName", "helloThisWorld\0" VALUE "FileDescription", "winTerm Shell Integration Helper\0" - VALUE "FileVersion", "1.3.0.2\0" + VALUE "FileVersion", "1.3.0.3\0" VALUE "InternalName", "winterm-shim\0" VALUE "LegalCopyright", "Copyright (c) winTerm contributors.\0" VALUE "OriginalFilename", "winterm-shim.exe\0" VALUE "ProductName", "winTerm\0" - VALUE "ProductVersion", "1.3.0-alpha3\0" + VALUE "ProductVersion", "1.3.0-alpha4\0" END END BLOCK "VarFileInfo" diff --git a/src/winterm/Branding/ReleaseMetadata.h b/src/winterm/Branding/ReleaseMetadata.h index 35a058098..02b05ac30 100644 --- a/src/winterm/Branding/ReleaseMetadata.h +++ b/src/winterm/Branding/ReleaseMetadata.h @@ -25,7 +25,7 @@ namespace winTerm::Branding { inline constexpr std::wstring_view Publisher{ L"helloThisWorld" }; - inline constexpr std::wstring_view ApplicationVersion{ L"1.3.0-alpha3" }; + inline constexpr std::wstring_view ApplicationVersion{ L"1.3.0-alpha4" }; inline constexpr std::wstring_view ReleaseChannel{ L"Alpha" }; inline constexpr std::wstring_view CommitSha{ WINTERM_BUILD_COMMIT_SHA }; inline constexpr std::wstring_view BuildTimestamp{ WINTERM_BUILD_TIMESTAMP }; diff --git a/src/winterm/Branding/version.json b/src/winterm/Branding/version.json index e6dbf6fba..27b087669 100644 --- a/src/winterm/Branding/version.json +++ b/src/winterm/Branding/version.json @@ -1,10 +1,10 @@ { - "applicationVersion": "1.3.0-alpha3", - "packageVersion": "1.3.0.2", + "applicationVersion": "1.3.0-alpha4", + "packageVersion": "1.3.0.3", "moduleVersion": "1.3.0", - "modulePrerelease": "alpha3", + "modulePrerelease": "alpha4", "channel": "alpha", - "tag": "v1.3.0-alpha3", + "tag": "v1.3.0-alpha4", "workspaceSchemaVersion": 2, "dockingModelVersion": 1, "shellProtocolVersion": 1, diff --git a/src/winterm/Workspaces/Model/WorkspaceDescriptor.h b/src/winterm/Workspaces/Model/WorkspaceDescriptor.h index afaa2779e..5f2ca8aca 100644 --- a/src/winterm/Workspaces/Model/WorkspaceDescriptor.h +++ b/src/winterm/Workspaces/Model/WorkspaceDescriptor.h @@ -219,7 +219,7 @@ namespace winTerm::Workspaces std::string createdAt; std::string updatedAt; WorkspaceSource source{ WorkspaceSource::User }; - std::string applicationVersion{ "1.3.0-alpha3" }; + std::string applicationVersion{ "1.3.0-alpha4" }; uint32_t protocolVersion{ 1 }; uint32_t dockingModelVersion{ DockingModelVersion }; WorkspaceStartupBehavior startupBehavior; diff --git a/src/winterm/Workspaces/Persistence/WorkspaceSerializer.cpp b/src/winterm/Workspaces/Persistence/WorkspaceSerializer.cpp index 201e538fe..0060694d0 100644 --- a/src/winterm/Workspaces/Persistence/WorkspaceSerializer.cpp +++ b/src/winterm/Workspaces/Persistence/WorkspaceSerializer.cpp @@ -618,7 +618,7 @@ WorkspaceDescriptor WorkspaceSerializer::FromJson(const Json::Value& json, const throw std::runtime_error("The workspace source is not supported."); } workspace.source = *source; - workspace.applicationVersion = StringOrDefault(json, "applicationVersion", "1.3.0-alpha3"); + workspace.applicationVersion = StringOrDefault(json, "applicationVersion", "1.3.0-alpha4"); workspace.protocolVersion = UIntOrDefault(json, "protocolVersion", 1); workspace.dockingModelVersion = UIntOrDefault(json, "dockingModelVersion", DockingModelVersion); if (const auto& startup = json["startupBehavior"]; !startup.isNull())