Skip to content

Release 0.1.0-preview.18 - #1497

Merged
Alexandre Zollinger Chohfi (azchohfi) merged 1 commit into
mainfrom
azchohfi-release-0-1-0-preview-18
Nov 13, 2026
Merged

Alexandre Zollinger Chohfi (azchohfi) merged 1 commit into
mainfrom
azchohfi-release-0-1-0-preview-18

Conversation

@azchohfi

Copy link
Copy Markdown
Collaborator

Summary

Cuts 0.1.0-preview.18 per docs/contributing/release-runbook.md (unchanged since preview.17), based on main @ 082cb2776 (CI, Package, Coverage, Bootstrap, Node projects and Code Quality all green there).

File Change
CHANGELOG.md ## [Unreleased] → ## [0.1.0-preview.18] — 2026-11-12; fresh empty [Unreleased] with all six buckets; audit corrections below
Directory.Build.props <ReactorPublicVersion> 0.1.0-preview.17 → 0.1.0-preview.18 (single source of truth; no sweep, README is version-agnostic)
8 pages under docs/guide/ Regenerated: 9 {{reactorVersion}} substitutions, nothing else (same count as preview.17)

Changelog audit

30 commits in v0.1.0-preview.17..082cb2776: 20 touched CHANGELOG.md, 10 did not.

Shipped-surface probe. Same path set as preview.17, re-derived from release.yml at HEAD (assets unchanged; #1490 only added the .NET 11 SDK to its setup step): ^(src/|skills/|plugins/|Directory\.Build\.(props|targets)$|Directory\.Packages\.props$|SKILL\.md$|tools/(Templates|figma-plugin)/|build/).

  • Positive control: the same regex without the changelog filter matched 20 of 20 entry commits.
  • No-entry hits (3), dispositioned:
Commit / PR Disposition
0001853c6 #1464 Excluded. Docs plus plugins/reactor/skills/reactor-getting-started/SKILL.md wording only (plugins/ is installed from the repo by bootstrap.ps1, not shipped in the kit); no product code
8ef5f380b #1470 Excluded. src/vscode-reactor @types/vscode / @types/node devDependencies only
af4ecc440 #1469 Excluded. Adds Microsoft.Mxc.Sdk to Directory.Packages.props; the only PackageReference is samples/apps/widget-creator

The remaining 7 no-entry commits touch no shipped path (cgmanifest, contributor skills, coverage tooling, test deflakes, a test-app npm bump, a spec status). Net Directory.Packages.props diff over the range is that one Microsoft.Mxc.Sdk line; MessagePack is unchanged at 2.5.307. Per Alexandre Zollinger Chohfi (@azchohfi), the preview.17 MessagePack bump stays out of the notes (it already shipped in preview.17's VSIX).

Was-it-shipped adjudication. Every entry in every bucket (8 Added, 9 Changed, 15 Fixed) was checked against the code at v0.1.0-preview.17: a probe for the old/buggy shape paired with a same-shape control that must match at the tag, then git log -S over the window to see whether the defective shape was itself added in-window. Three read-only sub-agents took the button-family, flyout/echo/dialog and data/pooling groups; I re-ran the decisive probe for every TRIM/REMOVE verdict before editing. Corrections:

Entry Finding Action
Microsoft-UI-Reactor-Perf schema revision 2 (#1491) The provider itself is new in this release (#1485; Microsoft-UI-Reactor-Perf has 0 hits under src at the tag, control "Microsoft-UI-Reactor" 2). "Decoders for the first revision keep working" and "instead of all reporting FuncElement / MemoElement" describe a revision nobody received; the naming change is Perf-only (ComponentNames.ForRenderFunction, new in #1491) Merged into the provider entry, which now lists the shipped field set and says it ships at schema revision 2; cites issues #1484, #1489 and spec 044 §6.2.1 (the PII rule the call-site fields follow)
Markdown selection scopes clear on replacement (#1475) Added by #1475, the same PR that introduced selection scopes (MarkdownTextSelection 0 hits at the tag; control MarkdownOptions 1; the tag's only TextSelection hits are per-block IsTextSelectionEnabled) Removed
RichEditBox trailing line break (#1456) At the tag readBack was TrimEnd('\r') compared ordinally, so "text" → "text\n" was written; the "did nothing" bug came from a PR-internal commit fixed in the same PR. A shipped defect the entry missed: a multi-line value re-ran SetText every render (PR body confirms the fix) Trimmed to the shipped defects
Button content precedence (#1483) At the tag ButtonElement already had ContentElement, the Label write was gated shouldWrite: e => e.ContentElement is null, and state was preserved. What changed: the accessible name (be.Label ?? ExtractElementCaption(...) at the tag → ContentCaption(be.ContentElement, be.Label)) and cleanup when declared content gives way to text or setter content Reworded to those two changes
DataGrid hook paging (#1468) The restart-on-RowHeight bug shipped (memo keyed on pageSize at the tag; git log -S shows only 57a510627 removing it). The UseDataSource.PageSize warning it "no longer emits" was added in-window by aa7fd6281 (#1458) Dropped that sentence
UseDataSource page size (#1458) Kept (the tag recomputed pageSize every render while row indexing used the first options). The UseDataSource.PageSize diagnostic warning it adds was not mentioned anywhere Added one sentence describing the warning
Page-cache isolation (#1471) Shipped broken (tag key {KeyPrefix}/page:{pageIndex}, no size; git log -S empty in-window). But the default prefix is a per-hook GUID, so only hooks sharing a CacheKeyPrefix were affected, and spec 020 §7.2–7.3 say nothing about cache sharing Narrowed to hooks sharing a CacheKeyPrefix; cite spec 020 §14 D6 (key derivation / explicit sharing)

Kept as written after verification: Element-valued button overloads, Imperative.Unmount, SingleContent leaving setter content (the tag's child is null ? null : ctx.MountChild(child); single.SetChild(...) cleared it), CheckBox(..., null) ambiguity, pooled-teardown ErrorBoundary unregister (UnmountAndCollect existed at the tag without the Remove), TitleBar.LeftHeader, Markdown text selection, PersonPicture.ProfilePicture modifier and fix, armOnMount (public HandCodedControlled at the tag), AsyncValue<T>/LoadState closed (both abstract record + private protected ctor at the tag; CS9382/CS8509 verified in #1490), Expander HeaderTemplate → HeaderContent (property and fluent method at the tag), border analyzer/modifier entries, API index now covering Advanced (0 Advanced hits in skills/reactor.api.txt at the tag, control 57), Yoga sync and all four Yoga Fixed entries (each old shape present at the tag: TotalFlexShrinkScaledFactors == 0, float edge difference in pixel rounding, no wrap epsilon, no display: none skip in the wrap-reverse loop), template pack 0.0.8-alpha (backed by #1465's direct inspection of the published pack), ReactorSource CCW rooting (#1496: the tag's root-rename path wrote an unrooted string; mount-time values were already held by a static cache), flyout decorators (#1472: each defective shape present at the tag, git log -S shows only 587dd6ae6), ContentDialog entrance animation (no style set at the tag; git log -G ContentDialog shows no in-window regression; #1487 reproduced on preview.17).

Spec references checked by opening the design spec: spec 020 §5 (AsyncValue ADT), §14 D6; spec 044 §6.2.1; spec 047 §8.3 and §14 Phase 1; spec 010 (source mapping, consistent with preview.17's ReactorSource entries); spec 022 left without a section (no section covers the external template pack). Entries citing only an issue (#1482, #1013, #1460, #1478, #1480, #1487) have no design spec to cite.

Not changed: the "Regedit example" sentence (#1039) and the ReactorGallery sentence (#1460) mention samples, which are not release assets; kept per the gallery-entry precedent.

Linked issue / spec

Release runbook: docs/contributing/release-runbook.md. Previous release: #1457.

Test plan

  • dotnet run --project tools/Reactor.DocPipeline -- compile --skip-screenshots --skip-diagrams: exit 0 after 12m00s.
  • git diff -U0 -- docs/guide | Select-String '^[-+][^-+]': 18 ±lines. Excluding the version lines returns 0; swapping preview.18 → preview.17 in the 9 + lines makes them identical to the 9 - lines.
  • dotnet build tests/Reactor.Tests -p:Platform=x64 -p:SkipSignaturesGen=true: 0 errors, 34 warnings (NU1900: api.nuget.org is unreachable from this machine). src/Reactor.Cli built without -p:CopilotSkipCliDownload=true.
  • dotnet test tests/Reactor.Tests --no-build -p:Platform=x64 --filter-class "*VersionSingleSourceTests*": 8/8 passed, module label (net10.0|x64). These guards are structural; the property diff and the docs diff above prove the bump.
  • git status --porcelain before commit: only CHANGELOG.md, Directory.Build.props and the 8 docs/guide pages.
  • Tag/release pre-flight: git ls-remote origin refs/tags/v0.1.0-preview.18 empty and gh release view v0.1.0-preview.18 → release not found; both probes matched preview.17.
  • NuGet pre-flight: UNVERIFIED, not passed. api.nuget.org fails the TLS handshake here. As a partial check, the www.nuget.org page for each of Microsoft.UI.Reactor, .Advanced and .Devtools does not contain dotnet add package <id> --version 0.1.0-preview.18, while the same check for 0.1.0-preview.17 matched all three. That page returns 200 for any version, so this is content-based and not authoritative.
  • Release Build solution gate (dotnet build Reactor.slnx --no-restore -c Release): not run locally. No code changed; CI is the gate.
  • Scaffold smoke test (dotnet new reactor … --reactor-version 0.1.0-preview.18): only possible after the package is live on NuGet.org.

Risk / breaking changes

Docs/version only; no code changes. Breaking changes in the release are listed in its Changed entries: AsyncValue<T> / LoadState closed (breaks out-of-assembly subclasses), Expander HeaderTemplate → HeaderContent, CheckBox(value, callback, null) ambiguity, and new REACTOR_POOL_001 warnings for .Set border writes on Grid / StackPanel under TreatWarningsAsErrors.

- CHANGELOG.md: cut [Unreleased] as [0.1.0-preview.18] - 2026-11-12 with a
  fresh empty [Unreleased] (all six buckets). Audit corrections: fold the
  Microsoft-UI-Reactor-Perf revision-2 entry into the provider entry
  (revision 1 never shipped); drop the Markdown selection-scope Fixed entry
  (feature added in this release); trim the RichEditBox, Button, DataGrid
  paging and page-cache entries to what shipped at v0.1.0-preview.17; note
  the UseDataSource.PageSize warning.
- Directory.Build.props: ReactorPublicVersion 0.1.0-preview.17 -> 0.1.0-preview.18.
- docs/guide: regenerated; {{reactorVersion}} substitutions only.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@azchohfi
Alexandre Zollinger Chohfi (azchohfi) merged commit 4cd6397 into main Nov 13, 2026
46 checks passed
@azchohfi
Alexandre Zollinger Chohfi (azchohfi) deleted the azchohfi-release-0-1-0-preview-18 branch November 13, 2026 00:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant