Skip to content

feat: support Windows 11 26H2 (build 26300) - #1750

Open
shisjsji wants to merge 3 commits into
Atlas-OS:new-updatefrom
shisjsji:feat/win11-26h2-support
Open

shisjsji wants to merge 3 commits into
Atlas-OS:new-updatefrom
shisjsji:feat/win11-26h2-support

Conversation

@shisjsji

Copy link
Copy Markdown

Summary

Declares Windows 11 26H2 (build 26300) support in SupportedBuilds, and fixes local builds writing a UTF-8 BOM into the staged playbook.conf.

Why 26300

26H2 reached GA on 2026-09-29 as build 26300. Like 25H2, it ships as an enablement package on the same servicing branch, so the platform is unchanged from 26200 and only the build number needs declaring. 26H1 (build 28000) is a separate branch and is deliberately not included here.

The BOM bug

local-build.ps1 stages a modified playbook.conf with Set-Content -Encoding UTF8. Under Windows PowerShell 5.1 that writes a UTF-8 BOM, and AME then refuses to load the resulting playbook:

Error while attempting to load Playbook:
Could not find file '...\Temp\<name>-<id>\playbook.conf'

CI runs pwsh 7, which does not emit a BOM, so this only shows up on local Windows builds — exactly the builds made with -Removals, i.e. every dev artifact. The staged file is now written with UTF8Encoding($false).

Testing

  • Built with no -Removals: ProductCode=64 kept, builds 26100,26200,26300, XML parses, packaged playbook.conf starts with 3C 50 6C 61 (no BOM).
  • Built with -Removals Verification: ProductCode stripped, builds 26100,26200,26300, no BOM.
  • Before the fix, the -Removals build had a BOM and AME rejected it; after the fix it loads.

Not tested

No 26H2 machine was available, so the requirement checks (UCPDDisabled, NoPendingUpdates) and the runtime behaviour of the tweaks on 26300 are unverified. This PR only makes the playbook accept the build; component/AppX data still needs validation on real hardware.

26H2 ships as build 26300 (GA 2026-09-29) on the same servicing branch as 25H2, so it belongs in the supported build list.
Set-Content -Encoding UTF8 emits a BOM under Windows PowerShell 5.1, and AME then fails to load the playbook ('playbook.conf not found'). Write the staged file with UTF8Encoding(false) so local builds match CI output.
@github-actions github-actions Bot added the playbook Playbook related issues/PRs label Oct 26, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

playbook Playbook related issues/PRs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant