Repository navigation
Prepare the 0.1.0-preview.15 release - #1202
Merged
Alexandre Zollinger Chohfi (azchohfi) merged 1 commit intoSep 11, 2026
Merged
Alexandre Zollinger Chohfi (azchohfi) merged 1 commit into
Alexandre Zollinger Chohfi (azchohfi) merged 1 commit into
Conversation
Cut `## [Unreleased]` to `## [0.1.0-preview.15] — 2026-09-11`, open a fresh
`Unreleased` block with all six Keep-a-Changelog buckets, bump the single
source-of-truth `<ReactorPublicVersion>` in the root `Directory.Build.props`,
and recompile the guide so the `{{reactorVersion}}` token matches.
Changelog coverage audit over the 21 commits since `v0.1.0-preview.14`: no
entries were missing. Every commit that touched shipped product source
(`src/Reactor*`, `tools/Templates`, `Directory.Build.props`) already carried a
changelog entry — #1191, #1194, #1195, #1196, #1197 — and the probe was
positive-controlled by re-running it without the changelog filter, which
matched all five. The 15 commits without an entry are dependency bumps
(10 Dependabot npm bumps under `tests/` and `samples/`, one `@types/node`
devDependency under `src/vscode-reactor`, and two `Directory.Packages.props`
commits that are CLI/test-only and net-zero on `GitHub.Copilot.SDK`), CI
infrastructure (#1178, which regenerated only a sourcemap, not `extension.js`),
test-harness lint and lockfile work (#1176, #1169), and a sample Node server
fix (#1175) — none of which reaches a published package.
The two `Fixed`-bucket product changes were adjudicated against the previous
tag rather than by issue filing date, to confirm they had genuinely shipped
broken rather than being introduced and fixed inside this window:
* #1197 — `v0.1.0-preview.14:src/Reactor.Advanced/Markdown/MarkdownBuilder.cs`
contains the `HStack(4, ...)` list row, so the infinite-width measure shipped.
* #1195 — `v0.1.0-preview.14:src/Reactor.Analyzers/ModifierTable.cs` contains
both the `["Stretch"]` and `["IsHitTestVisible"]` exclusions, and
`v0.1.0-preview.14:src/Reactor/Core/ElementPool.cs` contains the
`if (fe is Control tabStopControl)` gate, so both shipped.
Docs regeneration produced exactly 12 `{{reactorVersion}}` substitutions across
8 guide pages and no other churn.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Alexandre Zollinger Chohfi (azchohfi)
requested a review
from Chris Anderson (codemonkeychris)
as a code owner
September 11, 2026 07:53
Contributor
📦 Build metricsArtifact sizes for Packages (compressed .nupkg)
Assemblies in Microsoft.UI.Reactor
Assemblies in Microsoft.UI.Reactor.Advanced
Assemblies in Microsoft.UI.Reactor.Devtools
No size change beyond the noise floor. ✅ ✅ smaller / |
Alexandre Zollinger Chohfi (azchohfi)
deleted the
azchohfi-release-0-1-0-preview-15
branch
September 11, 2026 08:08
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.
Release-prep PR for 0.1.0-preview.15, following
docs/contributing/release-runbook.md.Changelog coverage audit
21 commits since
v0.1.0-preview.14— 6 touchedCHANGELOG.md, 15 did not. No entries were missing.The decisive probe: which commits touched shipped product source (
src/Reactor/,src/Reactor.Advanced/,src/Reactor.Analyzers/,src/Reactor.Devtools/,src/Reactor.Cli/,tools/Templates/,Directory.Build.props) without a changelog entry? The answer was zero. Because a zero-result is not a measurement, the same probe was re-run with the changelog filter removed as a positive control — it matched 5 commits, all of which already carry an entry:323b7d75b5664a4d98.Margin/.Padding/.CornerRadiusd9a92bb17CleanElementresets /IsTabStopleak9cde98a76REACTOR_ICON_001c0da12623(#1199 also touched the changelog but no shipped source — it is docs/CI only, and its entry says so explicitly.)
Deliberately omitted, with reasons
None of the 15 commits without an entry reaches a published package. Each was checked by file path, and the non-obvious ones by diff:
tests/andsamples/— Build(deps): bump browserslist from 4.28.2 to 4.28.9 in /tests/startup_perf/BlankRNW #1174, Build(deps): bump joi from 17.13.3 to 17.13.7 in /tests/startup_perf/BlankRNW #1190, Build(deps): bump baseline-browser-mapping from 2.10.25 to 2.11.21 in /tests/startup_perf/BlankRNW #1189, Build(deps): bump joi from 17.13.3 to 17.13.7 in /tests/stress_perf_rn/VirtualList #1187, Build(deps): bump js-yaml from 3.15.1 to 3.15.2 in /tests/stress_perf_rn/StocksGrid #1188, Build(deps): bump browserslist from 4.28.2 to 4.28.8 in /tests/stress_perf_rn/StocksGrid #1171, Build(deps-dev): bump @faker-js/faker from 9.9.0 to 10.5.0 in /samples/apps/headtrax/service #1172, Build(deps): bump browserslist from 4.28.2 to 4.28.8 in /tests/stress_perf_rn/VirtualList #1170, plus Clear all 17 Component Governance alerts in the RN harness lockfiles #1169 (lockfile-only Component Governance clearance) and Fix lint and TypeScript errors across the three React Native harness projects #1176 (lint/TypeScript fixes in the React Native harness projects).@types/nodeinsrc/vscode-reactor, confirmed by diff to be adevDependenciesentry only.Directory.Packages.props. Between them theGitHub.Copilot.SDKchange is net zero (1.0.11 → 1.0.13 → 1.0.11, rolled back because 1.0.13 is absent from the OneBranch feed); the SDK is aReactor.Clidependency and the CLI is not one of the four published packages. The remaining bumps are MSTest 4.3.3 → 4.4.0 and the MTP TrxReport/HangDump extensions 2.3.3 → 2.4.0, all test-only.src/file issrc/vscode-reactor/out/extension.js.map;extension.jsitself is byte-identical, so the compiled extension behaviour is unchanged.samples/apps/headtrax/service/), not shipped.Adjudication: did the two
Fixedproduct bugs actually ship broken?A bug introduced and fixed inside the same unreleased window never shipped and needs no entry. Settled by checking whether the buggy code shape exists at the previous tag, not by issue filing dates:
git show v0.1.0-preview.14:src/Reactor.Advanced/Markdown/MarkdownBuilder.cscontainsElement element = HStack(4, TextBlock(marker).VAlign(...), content);. The infinite-width StackPanel measure shipped. Entry is correct.v0.1.0-preview.14:src/Reactor.Analyzers/ModifierTable.cscontains both["Stretch"] = "Viewbox-only modifier."and["IsHitTestVisible"] = "No modifier exists; …", andv0.1.0-preview.14:src/Reactor/Core/ElementPool.cscontains theif (fe is Control tabStopControl) tabStopControl.ClearValue(Control.IsTabStopProperty);gate. Both the analyzer blind spot and the non-ControlIsTabStopleak shipped. Entries are correct.One reviewed-and-kept judgement call: #1195's third
Fixedbullet (the pool ⇄ analyzer consistency invariants now scanning all ofCleanElement) describes a test-invariant widening rather than user-facing behaviour. It was left in place because it is the mechanism that explains the two product fixes above it, and deleting a merged, reviewed entry during a release cut loses that context.Spec cross-references on the existing entries were spot-checked against the specs rather than inferred:
docs/specs/036-window-design.md:228is### 4.1 WindowSpec, anddocs/specs/061-in-build-did-you-mean.mdexists.Release cut
## [Unreleased]→## [0.1.0-preview.15] — 2026-09-11, with a fresh empty## [Unreleased]above it carrying all six Keep-a-Changelog buckets.<ReactorPublicVersion>bumped to0.1.0-preview.15in the rootDirectory.Build.props— the single source of truth, so no file sweep. README stays version-agnostic.mur docs compile --skip-screenshots --skip-diagrams, producing exactly 12{{reactorVersion}}substitutions across 8 guide pages and no other churn (verified by reading every changed line ofgit diff -- docs/guide).Validation
dotnet build tests/Reactor.Tests -p:Platform=x64 -p:SkipSignaturesGen=truedotnet test … --filter-class "*TemplateMetadataTests*"net10.0|x64(handshake-derived, so the run really started)dotnet packthe template with-p:MicrosoftUIReactorVersion=0.1.0-preview.15.nupkg.template.config/template.jsonsymbolMSUIReactorVersionhasdefaultValue='0.1.0-preview.15'0.1.0-preview.14left in the package?The package was verified by expanding the
.nupkgrather than viadotnet new install/ floating restore: that touches no global template state and never restoresMicrosoft.UI.Reactor, so it cannot be fooled by an internal ADO CI build such as0.1.0-preview.13.30sitting in the shared local NuGet cache (those sort above released previews while predating recent features).local-nupkgsand the temp expansion directory were cleaned up.Pre-flight
git ls-remote --tags origin v0.1.0-preview.15v0.1.0-preview.14→456d63e03)gh release view v0.1.0-preview.15release not found(positive control: preview.14 returns its JSON)nuget.org is unreachable from this environment (
The SSL connection could not be establishedagainsthttps://api.nuget.org/v3-flatcontainer/microsoft.ui.reactor/index.json), which is also why every build in this PR logsNU1900. The runbook's "confirm the four packages aren't already published" step therefore could not be completed here and is flagged rather than implied to have passed — a failed lookup is not a measurement. Someone with NuGet.org reachability should confirmMicrosoft.UI.Reactor,Microsoft.UI.Reactor.Advanced,Microsoft.UI.Reactor.DevtoolsandMicrosoft.UI.Reactor.ProjectTemplateshave no0.1.0-preview.15before the publish gate is approved.After merge (not done in this PR)
Tagging is deliberately left for explicit approval. When approved, tag the merge commit (
git tag -a v0.1.0-preview.15 <sha>thengit push origin v0.1.0-preview.15, individually — nevergit push --tags). Note that the tag does not publish to NuGet.org: publishing requires approving the OneBranchProduction_PublishNuGetstage, and the two-person rule means the approver must be a different person than whoever pushed the tag.