release: prepare winTerm 1.3.0-alpha1 prerelease - #31
Merged
Conversation
Promotes the Command Timeline to a testable alpha. The feature content is already on main as engineering checkpoints v1.2.1 through v1.2.4; this commit only moves the release metadata and makes the version gates channel-aware. - Set application version 1.3.0-alpha1, package/file version 1.3.0.0, PowerShell module version 1.3.0 with prerelease suffix alpha1, channel alpha, and tag v1.3.0-alpha1. The suffix lives on applicationVersion because release.yml and winget.yml both require the tag to be exactly "v$applicationVersion"; packageVersion stays four-part numeric for MSIX and the Win32 FILEVERSION fields, and moduleVersion stays numeric because a PowerShell ModuleVersion cannot carry a suffix. - Advance custom.props to 1.3 so the executable metadata major/minor matches. - Make verify-version.ps1 channel-aware instead of stable-only. It now accepts stable, alpha, and beta, and additionally enforces that the channel, the module prerelease suffix, and the application-version suffix agree, that the package version stays four-part numeric, and that the module version stays numeric. A prerelease therefore cannot publish as Latest and a stable release cannot carry a prerelease suffix. - Skip prerelease Releases in the WinGet workflow so an alpha or beta never generates a WinGet manifest, and assert that guard in test-release-workflow.ps1. - Add the 1.3.0-alpha1 release notes, including the unsigned Setup EXE disclosure, and the root changelog entry. The release workflow marks any non-stable channel with --prerelease and --latest=false, so /releases/latest keeps resolving to v1.2.0. Workspace schema, docking model, shell protocol, theme schema, update manifest schema, package identity, and signing policy are unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prepares the winTerm 1.3.0-alpha1 prerelease. The feature content is already
on
mainas engineering checkpoints v1.2.1–v1.2.4; this PR only moves therelease metadata and makes the version gates channel-aware.
Merging this and then pushing tag
v1.3.0-alpha1will run the full releaseworkflow and publish a GitHub prerelease with Setup EXE and Portable ZIP.
Related issues
No tracking issue.
Detailed changes
Version surfaces
applicationVersion1.3.0-alpha1release.ymlandwinget.ymlboth require the tag to be exactlyv$applicationVersion, so the suffix has to live herepackageVersion1.3.0.0Identity/@Versionand Win32FILEVERSIONcannot express a suffixmoduleVersion1.3.0ModuleVersioncannot carry a suffixmodulePrereleasealpha1PrivateData.PSData.Prereleasechannelalphastablechannel ⇒--prerelease --latest=falsetagv1.3.0-alpha1custom.propsadvances to1.3. The Win32 resources take the numeric packageversion for
FILEVERSION/PRODUCTVERSIONand the full application version forthe displayed
ProductVersionstring.verify-version.ps1 is now channel-aware
It previously hard-asserted
channel -eq 'stable'andmodulePrerelease -eq '',which made any prerelease impossible — the release workflow's own
validatejobwould have failed. It now accepts
stable,alpha, andbeta, and addsconsistency checks that are stronger than what it replaced:
So a prerelease can never publish as Latest, and a stable release can never
carry a prerelease suffix.
WinGet prerelease guard
winget.ymlfires onrelease: publishedand previously had no prereleaseguard, so an alpha would have generated a WinGet manifest for a version string
WinGet cannot express. The
validatejob now runs only for non-prereleaseReleases (manual dispatch still works), and
test-release-workflow.ps1assertsthe guard is present.
Release notes
docs/releases/1.3.0-alpha1.mddocuments the Command Timeline, keyboard map,settings and defaults, shell requirements, privacy boundaries, known
limitations, and the unsigned Setup EXE disclosure. Force-added because
.gitignore:19ignoresdocs/releases/*.Validation performed
Environment: Windows 11 Pro 26100, MSVC 14.44.35207, Windows SDK 10.0.26100.0.
Repository scripts — ran, passed
verify-version.ps1verify-branding.ps1 -ExpectedPublisher 'CN=helloThisWorld'test-release-workflow.ps1test-ci-classification.ps1test-command-timeline.ps1test-privacy.ps1test-visual-progress.ps1test.ps1 -Suite Smoke -Configuration Release -Platform x64Compiled tests — ran, passed (no source change here, re-run as a regression check)
CommandTimelineTests(Control)Total=43, Passed=43, Failed=0WinTermCommandTimelineTests(SettingsModel)Total=4, Passed=4, Failed=0Static gates — ran, passed
git diff --check: clean.verify-version.ps1, which now coversevery surface including the new channel/suffix agreement rules.
Not run, with reason
test-shell-integration.ps1 -Shell All— blocked by local antivirus/AMSI onshell/powershell/winTerm.Shell/Public/Compatibility.ps1, a file untouched bythis PR and byte-identical to
main. It runs in the release workflow's gates.tag-triggered release workflow, which is the authority for them.
No screenshot was needed or created.
winterm-siteis untouched.Checklist
CHANGELOG.md.Development-Changes.mdledger has been pushed with the final source SHA, link, summary, and checkpoint/release.winterm-siteasset, or no screenshot was added.winterm.exe, and Microsoft Terminal coexistence remain isolated.Source ↔ Wiki mapping
cdfa02bf558c6dBoundary
Workspace schema (2), docking model (1), shell protocol (1), theme schema (1),
update manifest schema (1), package identity, and signing policy are unchanged.
No feature code changes. No
winterm-sitechange. No WinGet submission. Lateststays v1.2.0.
Next step after this merges: push tag
v1.3.0-alpha1to trigger the releaseworkflow. Beta and the website download slot come after local alpha testing.