From 1202129f6d89627b5ac1bd8baa801dcfe3e81232 Mon Sep 17 00:00:00 2001 From: HelloThisWorld Date: Tue, 4 Aug 2026 11:01:21 +0800 Subject: [PATCH] Prepare winTerm 1.3.0-alpha2 prerelease Promotes the four alpha1 field-report fixes, already on main through pull request #32, to a second installable alpha. This commit only moves the release metadata. - Set application version 1.3.0-alpha2, PowerShell module prerelease suffix alpha2, and tag v1.3.0-alpha2. The channel stays alpha, and the module version stays 1.3.0. - Advance the package/file version to 1.3.0.1 so the alpha2 binaries are distinguishable from alpha1 in the FILEVERSION and PRODUCTVERSION numeric fields. The MSIX manifest and all three Win32 resource scripts move with it, and the display ProductVersion strings carry 1.3.0-alpha2. - 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-alpha2 release notes with a "Changes since alpha1" section covering the four fixes and the unsigned Setup EXE disclosure, 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 | 14 +- docs/current-progress.md | 31 ++-- docs/releases/1.3.0-alpha2.md | 157 ++++++++++++++++++ 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, 237 insertions(+), 69 deletions(-) create mode 100644 docs/releases/1.3.0-alpha2.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 43e777ce2..ab128ba28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,11 @@ # Changelog -## Unreleased +## 1.3.0-alpha2 - 2026-08-04 -Fixes for the four alpha1 field reports, ahead of the 1.3.0 beta. +Second alpha prerelease: fixes for the four alpha1 field reports. Like alpha1, +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. ### Added @@ -34,6 +37,13 @@ Fixes for the four alpha1 field reports, ahead of the 1.3.0 beta. as completed/total meters. Success and Error results still persist until a later publication replaces them. +### Changed + +- Advanced the package/file version to `1.3.0.1` so the alpha2 binaries are + distinguishable from alpha1 in `FILEVERSION`/`PRODUCTVERSION`. The + application version is `1.3.0-alpha2`, the PowerShell module stays `1.3.0` + with prerelease suffix `alpha2`, and the channel stays `alpha`. + ## 1.3.0-alpha1 - 2026-08-04 First public prerelease of the Command Timeline. This is an alpha for local diff --git a/docs/current-progress.md b/docs/current-progress.md index 597e6124f..356f65bc6 100644 --- a/docs/current-progress.md +++ b/docs/current-progress.md @@ -4,24 +4,24 @@ Last updated: 2026-08-04 ## Repository state -- Branch: `fix/alpha1-feedback` -- Base branch: `main` at `ed707550` (1.3.0-alpha1 release metadata, pull - request #31) +- Branch: `release/v1.3.0-alpha2` +- Base branch: `main` at `18310e9f` (alpha1 field-report fixes, pull + request #32) - Microsoft Terminal upstream revision: `1cea42d433253d95c4487a3037db48197b5e72f4` -- Application version: `1.3.0-alpha1` -- Package/file version: `1.3.0.0` -- PowerShell module version: `1.3.0` with prerelease suffix `alpha1` +- Application version: `1.3.0-alpha2` +- Package/file version: `1.3.0.1` +- PowerShell module version: `1.3.0` with prerelease suffix `alpha2` - Release channel: `alpha` -- Release tag: `v1.3.0-alpha1` +- Release tag: `v1.3.0-alpha2` - Current public Latest: `v1.2.0`, the stable Visual Progress release - Supported target: Windows 11 x64 -`v1.3.0-alpha1` is a published GitHub **prerelease**, not a stable release. 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. +`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 +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. ## Command Timeline status @@ -70,9 +70,10 @@ branch: ## Next steps -1. Re-test the four fixes locally on a fresh build. -2. Cut `v1.3.0-beta1` on channel `beta`. The beta may be listed on the winTerm - website alongside the stable v1.2.0 download. +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 + 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 which Latest, WinGet, and the website stable slot move. diff --git a/docs/releases/1.3.0-alpha2.md b/docs/releases/1.3.0-alpha2.md new file mode 100644 index 000000000..b1a891f88 --- /dev/null +++ b/docs/releases/1.3.0-alpha2.md @@ -0,0 +1,157 @@ +# winTerm 1.3.0-alpha2 + +**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-alpha2 fixes the four issues reported from local testing of +[1.3.0-alpha1](https://github.com/HelloThisWorld/winTerm/releases/tag/v1.3.0-alpha1). +The Command Timeline feature set is otherwise unchanged from alpha1. + +## Changes since alpha1 + +- **Shell integration now works out of the box.** Alpha1 shipped the + `winTerm.Shell` module but nothing imported it, so the Command Timeline never + recorded commands on a fresh install. When a profile's commandline is a bare + `powershell.exe` or `pwsh.exe` invocation (optionally with `-NoLogo` or + `-NoExit`), winTerm now imports the packaged module at startup, and typed + commands appear in the Timeline. Any customized commandline — `-Command`, + `-File`, `-NoProfile`, `-ExecutionPolicy`, or anything else — launches + unchanged. Execution policy is never altered, and if the import fails the + shell still opens normally, only without integration. The new per-profile + setting `"shellIntegration.autoInject"` (default `true`) turns this off. + Because `-Command` is present on the rewritten invocation, PowerShell no + longer prints its startup banner in integrated sessions. +- **The Timeline handle no longer covers terminal content.** It is now a + 6-pixel strip flush against the terminal's left edge, like an auto-hiding + scrollbar, and widens to show its chevron on hover, keyboard focus, or while + the Timeline is open. +- **Clicking the terminal closes an open Timeline.** A click on the terminal + area light-dismisses the overlay and still reaches the terminal. `Ctrl+Tab`, + `Escape`, and the handle continue to work as before. +- **The Visual Progress bar no longer gets stuck after ordinary output.** A + `dir` listing could previously start an indeterminate bar that never stopped: + recognition claimed ownership from a bare product-name mention (for example a + `.gradle` directory entry) and kept rematching every later line, and slashed + dates such as `2025/10/13` were read as percentages. Recognition now requires + per-line evidence, releases a still-running bar after two consecutive + ordinary lines, and ignores date shapes. Completed Success and Error states + still persist until the next command's output replaces them. + +## 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. + +- **Per-pane history.** Each pane keeps its own list. winTerm never guesses + where a prompt or output begins. +- **Load without executing.** `Enter` or a single click puts the selected + command on the input line and stops there. No carriage return is ever sent, + the Windows clipboard is never read, and input broadcast never forwards the + load to another pane. +- **Filtering.** Press `/` or `Tab` and type to narrow the list. Matching is a + plain, case-insensitive substring match over command text only. +- **Copy and jump.** Right-click an entry to copy the command, copy its output, + or scroll to where its output begins. Output is read from the terminal buffer + only at that moment and is never cached. +- **Trustworthy status.** A command shows as succeeded or failed only when the + shell actually reported it. + +See the [1.3.0-alpha1 release notes](https://github.com/HelloThisWorld/winTerm/releases/tag/v1.3.0-alpha1) +for the full keyboard map and settings reference. + +## Settings + +```json +{ + "commandTimeline.enabled": true, + "commandTimeline.historyLimit": 500 +} +``` + +New in alpha2, per profile: + +```json +{ + "shellIntegration.autoInject": true +} +``` + +An existing settings file needs no migration. An out-of-range +`commandTimeline.historyLimit` is clamped rather than failing the settings +load. + +## Shell requirements + +The Timeline depends on OSC 133 shell integration. With alpha2, the stock +Windows PowerShell and PowerShell 7 profiles get it automatically. + +| Situation | What you see | +| --- | --- | +| Capability not yet determined | `Waiting for shell integration` | +| Shell does not report complete command boundaries | `Command timeline unavailable` | +| Shell integration works, no commands yet | `No commands yet` | +| A filter is active and nothing matches | `No matching commands` | + +`cmd.exe` does not report command boundaries, and winTerm adds no prompt parser +for it, so the Timeline stays unavailable there rather than showing +untrustworthy results. + +## 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. Visual Progress behavior is unchanged apart from the +stuck-bar fix above. + +## 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 alpha2 over alpha1 is supported; the file version advances to +`1.3.0.1`. + +Publisher: `helloThisWorld`. Tag: `v1.3.0-alpha2`. + +Because this is an alpha, install it alongside or after backing up your +settings. Package identity stays separate from Microsoft Terminal, so it does +not disturb an existing Windows Terminal installation. + +## Signing + +The winTerm 1.3.0-alpha2 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 ca38981ca..5a24eab25 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 'alpha1' -or - $version.applicationVersion -ne '1.3.0-alpha1' -or + $version.modulePrerelease -ne 'alpha2' -or + $version.applicationVersion -ne '1.3.0-alpha2' -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 b3baa4840..18a32511d 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-alpha1' - packageVersion = '1.3.0.0' + applicationVersion = '1.3.0-alpha2' + packageVersion = '1.3.0.1' moduleVersion = '1.3.0' - modulePrerelease = 'alpha1' + modulePrerelease = 'alpha2' channel = 'alpha' - tag = 'v1.3.0-alpha1' + tag = 'v1.3.0-alpha2' workspaceSchemaVersion = 2 dockingModelVersion = 1 shellProtocolVersion = 1 @@ -1398,39 +1398,39 @@ try } } $shellVersion = $source.ShellVersion | ConvertFrom-Json - if ($shellVersion.applicationVersion -ne '1.3.0-alpha1' -or $shellVersion.moduleVersion -ne '1.3.0' -or $shellVersion.protocolVersion -ne 1) + if ($shellVersion.applicationVersion -ne '1.3.0-alpha2' -or $shellVersion.moduleVersion -ne '1.3.0' -or $shellVersion.protocolVersion -ne 1) { - throw 'Shell version metadata does not match winTerm release 1.3.0-alpha1 with protocol version 1.' + throw 'Shell version metadata does not match winTerm release 1.3.0-alpha2 with protocol version 1.' } foreach ($surface in @( - @{ Content = $source.ReleaseMetadata; Value = 'ApplicationVersion{ L"1.3.0-alpha1" }'; Description = 'About release metadata' }, - @{ Content = $source.PackageManifest; Value = 'Version="1.3.0.0"'; Description = 'MSIX package manifest' }, - @{ Content = $source.HostResource; Value = 'FILEVERSION 1,3,0,0'; Description = 'Terminal host file version' }, - @{ Content = $source.HostResource; Value = '"ProductVersion", "1.3.0-alpha1\0"'; Description = 'Terminal host display version' }, - @{ Content = $source.ShimResource; Value = 'FILEVERSION 1,3,0,0'; Description = 'Shim file version' }, - @{ Content = $source.ShimResource; Value = '"ProductVersion", "1.3.0-alpha1\0"'; Description = 'Shim display version' }, + @{ 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.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-alpha1"'; Description = 'Workspace application-version fallback' } + @{ Content = $source.WorkspaceSerializer; Value = '"1.3.0-alpha2"'; Description = 'Workspace application-version fallback' } )) { Assert-Contains $surface.Content $surface.Value $surface.Description } foreach ($required in @( - "applicationVersion -eq '1.3.0-alpha1'", - "packageVersion -eq '1.3.0.0'", + "applicationVersion -eq '1.3.0-alpha2'", + "packageVersion -eq '1.3.0.1'", "moduleVersion -eq '1.3.0'", - "tag -eq 'v1.3.0-alpha1'", + "tag -eq 'v1.3.0-alpha2'", "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-alpha1 version validation surface' + Assert-Contains $source.VerifyVersion $required 'Authoritative v1.3.0-alpha2 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 a9b8275a4..2d0b72ca8 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 'alpha1' -or + $manifest.PrivateData.PSData.Prerelease -ne 'alpha2' -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 cccb3667e..b062439d4 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.0') -Message "$Path uses package version 1.3.0.0" + 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 $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 9166c4b7b..50dff64b6 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-alpha1') 'Application version is 1.3.0-alpha1' - Assert-Condition ($version.packageVersion -eq '1.3.0.0') 'Package version is 1.3.0.0' + 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.moduleVersion -eq '1.3.0') 'PowerShell module version is 1.3.0' - Assert-Condition ($version.modulePrerelease -eq 'alpha1') 'PowerShell module prerelease suffix is alpha1' + Assert-Condition ($version.modulePrerelease -eq 'alpha2') 'PowerShell module prerelease suffix is alpha2' # 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-alpha1') 'Release tag is v1.3.0-alpha1' + Assert-Condition ($version.tag -eq 'v1.3.0-alpha2') 'Release tag is v1.3.0-alpha2' 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-alpha1" }')) 'About metadata application version is 1.3.0-alpha1' + Assert-Condition ($releaseHeader.Contains('ApplicationVersion{ L"1.3.0-alpha2" }')) 'About metadata application version is 1.3.0-alpha2' 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-alpha1" }')) 'Workspace model application-version fallback is 1.3.0-alpha1' + 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\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-alpha1"')) 'Workspace serializer application-version fallback is 1.3.0-alpha1' + 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' $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-alpha1' + Assert-Condition ($LASTEXITCODE -eq 0 -and $tag -eq $version.tag) 'Checked-out commit is exactly tagged v1.3.0-alpha2' } 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 7acfa0b82..eb9e5bb85 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 = 'alpha1' + Prerelease = 'alpha2' 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 7d4bbc6ba..5d183fce4 100644 --- a/shell/shared/version.json +++ b/shell/shared/version.json @@ -1,6 +1,6 @@ { - "applicationVersion": "1.3.0-alpha1", + "applicationVersion": "1.3.0-alpha2", "moduleVersion": "1.3.0", - "modulePrerelease": "alpha1", + "modulePrerelease": "alpha2", "protocolVersion": 1 } diff --git a/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest b/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest index 7afe72e1d..4a1a41a03 100644 --- a/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest +++ b/src/cascadia/CascadiaPackage/Package-winTerm.appxmanifest @@ -18,7 +18,7 @@ + Version="1.3.0.1" /> winTerm diff --git a/src/cascadia/WindowsTerminal/WindowsTerminal.rc b/src/cascadia/WindowsTerminal/WindowsTerminal.rc index f6cbaa177..5a761c412 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,0 - PRODUCTVERSION 1,3,0,0 + FILEVERSION 1,3,0,1 + PRODUCTVERSION 1,3,0,1 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.0\0" + VALUE "FileVersion", "1.3.0.1\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-alpha1\0" + VALUE "ProductVersion", "1.3.0-alpha2\0" END END BLOCK "VarFileInfo" diff --git a/src/cascadia/wt/wt.rc b/src/cascadia/wt/wt.rc index f9bc98620..44c897339 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,0 - PRODUCTVERSION 1,3,0,0 + FILEVERSION 1,3,0,1 + PRODUCTVERSION 1,3,0,1 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.0\0" + VALUE "FileVersion", "1.3.0.1\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-alpha1\0" + VALUE "ProductVersion", "1.3.0-alpha2\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 a9085a8f4..2d2851624 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,0 - PRODUCTVERSION 1,3,0,0 + FILEVERSION 1,3,0,1 + PRODUCTVERSION 1,3,0,1 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.0\0" + VALUE "FileVersion", "1.3.0.1\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-alpha1\0" + VALUE "ProductVersion", "1.3.0-alpha2\0" END END BLOCK "VarFileInfo" diff --git a/src/winterm/Branding/ReleaseMetadata.h b/src/winterm/Branding/ReleaseMetadata.h index 2ecfffab3..bbf380a75 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-alpha1" }; + inline constexpr std::wstring_view ApplicationVersion{ L"1.3.0-alpha2" }; 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 8a675870d..0ff33c8de 100644 --- a/src/winterm/Branding/version.json +++ b/src/winterm/Branding/version.json @@ -1,10 +1,10 @@ { - "applicationVersion": "1.3.0-alpha1", - "packageVersion": "1.3.0.0", + "applicationVersion": "1.3.0-alpha2", + "packageVersion": "1.3.0.1", "moduleVersion": "1.3.0", - "modulePrerelease": "alpha1", + "modulePrerelease": "alpha2", "channel": "alpha", - "tag": "v1.3.0-alpha1", + "tag": "v1.3.0-alpha2", "workspaceSchemaVersion": 2, "dockingModelVersion": 1, "shellProtocolVersion": 1, diff --git a/src/winterm/Workspaces/Model/WorkspaceDescriptor.h b/src/winterm/Workspaces/Model/WorkspaceDescriptor.h index 13fee3070..06d71f01d 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-alpha1" }; + std::string applicationVersion{ "1.3.0-alpha2" }; 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 3f2b1d8fd..26fd19901 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-alpha1"); + workspace.applicationVersion = StringOrDefault(json, "applicationVersion", "1.3.0-alpha2"); workspace.protocolVersion = UIntOrDefault(json, "protocolVersion", 1); workspace.dockingModelVersion = UIntOrDefault(json, "dockingModelVersion", DockingModelVersion); if (const auto& startup = json["startupBehavior"]; !startup.isNull())