From 9f8198cf247190903e6a3fdce08d058c8b4b025f Mon Sep 17 00:00:00 2001 From: HelloThisWorld Date: Tue, 4 Aug 2026 15:36:49 +0800 Subject: [PATCH] Prepare winTerm 1.3.0-alpha3 prerelease Promotes the five alpha2 field-report fixes, already on main through pull request #34, to a third installable alpha. This commit only moves the release metadata. - Set application version 1.3.0-alpha3, PowerShell module prerelease suffix alpha3, and tag v1.3.0-alpha3. The channel stays alpha, and the module version stays 1.3.0. - Advance the package/file version to 1.3.0.2 across the MSIX manifest and the three Win32 resource scripts; the display ProductVersion strings carry 1.3.0-alpha3. - 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-alpha3 release notes with a "Changes since alpha2" section covering the five fixes and the antivirus resilience 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 | 46 +++++-- docs/releases/1.3.0-alpha3.md | 121 ++++++++++++++++++ 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, 217 insertions(+), 67 deletions(-) create mode 100644 docs/releases/1.3.0-alpha3.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c70fe5f0..3e3b8bbe9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,11 @@ # Changelog -## Unreleased +## 1.3.0-alpha3 - 2026-08-04 -Fixes for the five alpha2 field reports. +Third alpha prerelease: fixes for the five alpha2 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 @@ -35,6 +38,12 @@ Fixes for the five alpha2 field reports. into the session. The component is skipped and recorded in diagnostics; shell integration and the remaining commands still load. +### Changed + +- Advanced the package/file version to `1.3.0.2`. The application version is + `1.3.0-alpha3`, the PowerShell module stays `1.3.0` with prerelease suffix + `alpha3`, and the channel stays `alpha`. + ## 1.3.0-alpha2 - 2026-08-04 Second alpha prerelease: fixes for the four alpha1 field reports. Like alpha1, diff --git a/docs/current-progress.md b/docs/current-progress.md index 356f65bc6..0c896fde5 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-alpha2` -- Base branch: `main` at `18310e9f` (alpha1 field-report fixes, pull - request #32) +- Branch: `release/v1.3.0-alpha3` +- Base branch: `main` at `e0fd786c` (alpha2 field-report fixes, pull + request #34) - Microsoft Terminal upstream revision: `1cea42d433253d95c4487a3037db48197b5e72f4` -- Application version: `1.3.0-alpha2` -- Package/file version: `1.3.0.1` -- PowerShell module version: `1.3.0` with prerelease suffix `alpha2` +- Application version: `1.3.0-alpha3` +- Package/file version: `1.3.0.2` +- PowerShell module version: `1.3.0` with prerelease suffix `alpha3` - Release channel: `alpha` -- Release tag: `v1.3.0-alpha2` +- Release tag: `v1.3.0-alpha3` - Current public Latest: `v1.2.0`, the stable Visual Progress release - Supported target: Windows 11 x64 -`v1.3.0-alpha2` follows `v1.3.0-alpha1` as a GitHub **prerelease** for local -testing, carrying the four field-report fixes. The release workflow marks any +`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 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,10 +48,30 @@ 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`. +## Alpha2 field reports + +Local testing of `v1.3.0-alpha2` surfaced five issues, all fixed on `main` +through pull request #34: + +1. Stray `\` characters before every prompt: the module's OSC terminator was + a two-character PowerShell string; it is now a single backslash. +2. The Timeline captured the whole prompt line and Load inserted the prompt + path: the marks were console side effects; they are now embedded in the + returned prompt string in FinalTerm order. +3. The Visual Progress bar animated at an idle integrated prompt: `133;B` + (composing input) no longer shows a bar; only `133;C` does. +4. A phantom `Command text unavailable / Running` row for the active prompt: + a `133;B`-only mark no longer creates a Timeline entry. +5. Rows jumped on arrow keys and hover: selection-only updates now reuse the + existing rows. + +An antivirus-blocked module component (seen with `Compatibility.ps1`) is now +skipped silently and reported through diagnostics. + ## Alpha1 field reports -Local testing of `v1.3.0-alpha1` surfaced four issues, all addressed on this -branch: +Local testing of `v1.3.0-alpha1` surfaced four issues, all fixed on `main` +through pull request #32: 1. The Timeline handle covered terminal content. It is now a thin auto-hiding strip on the terminal's left edge that widens on hover, focus, or while the @@ -70,8 +90,8 @@ branch: ## Next steps -1. Install `v1.3.0-alpha2` locally and re-test the four fixes. -2. Cut `v1.3.0-beta1` on channel `beta` once alpha2 passes local testing. The +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 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-alpha3.md b/docs/releases/1.3.0-alpha3.md new file mode 100644 index 000000000..ef9ff6aa2 --- /dev/null +++ b/docs/releases/1.3.0-alpha3.md @@ -0,0 +1,121 @@ +# winTerm 1.3.0-alpha3 + +**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-alpha3 fixes the five issues reported from local testing of +[1.3.0-alpha2](https://github.com/HelloThisWorld/winTerm/releases/tag/v1.3.0-alpha2). +The Command Timeline feature set is otherwise unchanged. + +## Changes since alpha2 + +- **No more stray `\` characters before the prompt.** The shell integration + module terminated every escape sequence with two characters instead of one, + so the terminal printed a leftover backslash per emitted mark — three before + the first prompt and four after each command. +- **The Timeline records exactly the typed command.** The prompt marks were + written as console side effects, which the console host prints before a + prompt function's returned text, so the command-start mark landed before the + visible prompt: entries read like `\PS C:\Users\you> cd`, and Load inserted + that whole text. The marks are now embedded in the returned prompt string in + FinalTerm order, so entries contain only what you typed, Load inserts only + the command, and completed commands resolve to ✓/✕ status instead of + staying Unknown. +- **No progress bar at an idle prompt.** A shell-integrated pane no longer + animates the Visual Progress bar while waiting for input; the bar appears + when a command actually executes and clears at the next prompt. +- **No phantom Timeline row.** The active prompt no longer produces a + `Command text unavailable` / `Running` entry. An entry appears when a + command executes. +- **No row jitter.** Moving the selection with the arrow keys or hovering + with the mouse no longer makes Timeline rows jump; selection changes reuse + the existing rows. +- **Quieter startup under strict antivirus.** If an antivirus engine blocks a + module component at parse time (observed for `Compatibility.ps1`), the + session no longer shows a red parse error. The component is skipped, the + optional compatibility commands are simply absent, shell integration still + works, and `Get-WinTermShellDiagnostics` reports the redacted failure. + +## 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 release notes](https://github.com/HelloThisWorld/winTerm/releases/tag/v1.3.0-alpha2) +for the auto-integration rules and the +[1.3.0-alpha1 release 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 alpha3 over an earlier alpha is supported; the file version +advances to `1.3.0.2`. + +Publisher: `helloThisWorld`. Tag: `v1.3.0-alpha3`. + +## Signing + +The winTerm 1.3.0-alpha3 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 5a24eab25..c481aeb86 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 'alpha2' -or - $version.applicationVersion -ne '1.3.0-alpha2' -or + $version.modulePrerelease -ne 'alpha3' -or + $version.applicationVersion -ne '1.3.0-alpha3' -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 18a32511d..205977a81 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-alpha2' - packageVersion = '1.3.0.1' + applicationVersion = '1.3.0-alpha3' + packageVersion = '1.3.0.2' moduleVersion = '1.3.0' - modulePrerelease = 'alpha2' + modulePrerelease = 'alpha3' channel = 'alpha' - tag = 'v1.3.0-alpha2' + tag = 'v1.3.0-alpha3' workspaceSchemaVersion = 2 dockingModelVersion = 1 shellProtocolVersion = 1 @@ -1398,39 +1398,39 @@ try } } $shellVersion = $source.ShellVersion | ConvertFrom-Json - if ($shellVersion.applicationVersion -ne '1.3.0-alpha2' -or $shellVersion.moduleVersion -ne '1.3.0' -or $shellVersion.protocolVersion -ne 1) + if ($shellVersion.applicationVersion -ne '1.3.0-alpha3' -or $shellVersion.moduleVersion -ne '1.3.0' -or $shellVersion.protocolVersion -ne 1) { - throw 'Shell version metadata does not match winTerm release 1.3.0-alpha2 with protocol version 1.' + throw 'Shell version metadata does not match winTerm release 1.3.0-alpha3 with protocol version 1.' } foreach ($surface in @( - @{ Content = $source.ReleaseMetadata; Value = 'ApplicationVersion{ L"1.3.0-alpha2" }'; Description = 'About release metadata' }, - @{ Content = $source.PackageManifest; Value = 'Version="1.3.0.1"'; Description = 'MSIX package manifest' }, - @{ Content = $source.HostResource; Value = 'FILEVERSION 1,3,0,1'; Description = 'Terminal host file version' }, - @{ Content = $source.HostResource; Value = '"ProductVersion", "1.3.0-alpha2\0"'; Description = 'Terminal host display version' }, - @{ Content = $source.ShimResource; Value = 'FILEVERSION 1,3,0,1'; Description = 'Shim file version' }, - @{ Content = $source.ShimResource; Value = '"ProductVersion", "1.3.0-alpha2\0"'; Description = 'Shim display version' }, + @{ 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.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-alpha2"'; Description = 'Workspace application-version fallback' } + @{ Content = $source.WorkspaceSerializer; Value = '"1.3.0-alpha3"'; Description = 'Workspace application-version fallback' } )) { Assert-Contains $surface.Content $surface.Value $surface.Description } foreach ($required in @( - "applicationVersion -eq '1.3.0-alpha2'", - "packageVersion -eq '1.3.0.1'", + "applicationVersion -eq '1.3.0-alpha3'", + "packageVersion -eq '1.3.0.2'", "moduleVersion -eq '1.3.0'", - "tag -eq 'v1.3.0-alpha2'", + "tag -eq 'v1.3.0-alpha3'", "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-alpha2 version validation surface' + Assert-Contains $source.VerifyVersion $required 'Authoritative v1.3.0-alpha3 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 2d0b72ca8..a2b82a47b 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 'alpha2' -or + $manifest.PrivateData.PSData.Prerelease -ne 'alpha3' -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 b062439d4..d396e6e60 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.1') -Message "$Path uses package version 1.3.0.1" + 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 $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 50dff64b6..a67062087 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-alpha2') 'Application version is 1.3.0-alpha2' - Assert-Condition ($version.packageVersion -eq '1.3.0.1') 'Package version is 1.3.0.1' + 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.moduleVersion -eq '1.3.0') 'PowerShell module version is 1.3.0' - Assert-Condition ($version.modulePrerelease -eq 'alpha2') 'PowerShell module prerelease suffix is alpha2' + Assert-Condition ($version.modulePrerelease -eq 'alpha3') 'PowerShell module prerelease suffix is alpha3' # 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-alpha2') 'Release tag is v1.3.0-alpha2' + Assert-Condition ($version.tag -eq 'v1.3.0-alpha3') 'Release tag is v1.3.0-alpha3' 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-alpha2" }')) 'About metadata application version is 1.3.0-alpha2' + Assert-Condition ($releaseHeader.Contains('ApplicationVersion{ L"1.3.0-alpha3" }')) 'About metadata application version is 1.3.0-alpha3' 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-alpha2" }')) 'Workspace model application-version fallback is 1.3.0-alpha2' + 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\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-alpha2"')) 'Workspace serializer application-version fallback is 1.3.0-alpha2' + 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' $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-alpha2' + Assert-Condition ($LASTEXITCODE -eq 0 -and $tag -eq $version.tag) 'Checked-out commit is exactly tagged v1.3.0-alpha3' } 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 eb9e5bb85..e8ded5803 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 = 'alpha2' + Prerelease = 'alpha3' 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 5d183fce4..8e2f9ed67 100644 --- a/shell/shared/version.json +++ b/shell/shared/version.json @@ -1,6 +1,6 @@ { - "applicationVersion": "1.3.0-alpha2", + "applicationVersion": "1.3.0-alpha3", "moduleVersion": "1.3.0", - "modulePrerelease": "alpha2", + "modulePrerelease": "alpha3", "protocolVersion": 1 } diff --git a/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest b/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest index 4a1a41a03..758c7b072 100644 --- a/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest +++ b/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest @@ -18,7 +18,7 @@ + Version="1.3.0.2" /> winTerm diff --git a/src/cascadia/WindowsTerminal/WindowsTerminal.rc b/src/cascadia/WindowsTerminal/WindowsTerminal.rc index 5a761c412..70ac24a3f 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,1 - PRODUCTVERSION 1,3,0,1 + FILEVERSION 1,3,0,2 + PRODUCTVERSION 1,3,0,2 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.1\0" + VALUE "FileVersion", "1.3.0.2\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-alpha2\0" + VALUE "ProductVersion", "1.3.0-alpha3\0" END END BLOCK "VarFileInfo" diff --git a/src/cascadia/wt/wt.rc b/src/cascadia/wt/wt.rc index 44c897339..0d3cdb76c 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,1 - PRODUCTVERSION 1,3,0,1 + FILEVERSION 1,3,0,2 + PRODUCTVERSION 1,3,0,2 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.1\0" + VALUE "FileVersion", "1.3.0.2\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-alpha2\0" + VALUE "ProductVersion", "1.3.0-alpha3\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 2d2851624..56e955f8e 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,1 - PRODUCTVERSION 1,3,0,1 + FILEVERSION 1,3,0,2 + PRODUCTVERSION 1,3,0,2 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.1\0" + VALUE "FileVersion", "1.3.0.2\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-alpha2\0" + VALUE "ProductVersion", "1.3.0-alpha3\0" END END BLOCK "VarFileInfo" diff --git a/src/winterm/Branding/ReleaseMetadata.h b/src/winterm/Branding/ReleaseMetadata.h index bbf380a75..35a058098 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-alpha2" }; + inline constexpr std::wstring_view ApplicationVersion{ L"1.3.0-alpha3" }; 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 0ff33c8de..e6dbf6fba 100644 --- a/src/winterm/Branding/version.json +++ b/src/winterm/Branding/version.json @@ -1,10 +1,10 @@ { - "applicationVersion": "1.3.0-alpha2", - "packageVersion": "1.3.0.1", + "applicationVersion": "1.3.0-alpha3", + "packageVersion": "1.3.0.2", "moduleVersion": "1.3.0", - "modulePrerelease": "alpha2", + "modulePrerelease": "alpha3", "channel": "alpha", - "tag": "v1.3.0-alpha2", + "tag": "v1.3.0-alpha3", "workspaceSchemaVersion": 2, "dockingModelVersion": 1, "shellProtocolVersion": 1, diff --git a/src/winterm/Workspaces/Model/WorkspaceDescriptor.h b/src/winterm/Workspaces/Model/WorkspaceDescriptor.h index 06d71f01d..afaa2779e 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-alpha2" }; + std::string applicationVersion{ "1.3.0-alpha3" }; 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 26fd19901..201e538fe 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-alpha2"); + workspace.applicationVersion = StringOrDefault(json, "applicationVersion", "1.3.0-alpha3"); workspace.protocolVersion = UIntOrDefault(json, "protocolVersion", 1); workspace.dockingModelVersion = UIntOrDefault(json, "dockingModelVersion", DockingModelVersion); if (const auto& startup = json["startupBehavior"]; !startup.isNull())