Desktop Material 4.0.119501
Automated Desktop Material Windows build from exact commit bc677573a0c2.
Version 4.0.119501. Unsigned installer built by .github/workflows/build-installers.yml.
Commits in this release
Changes after release v3.6.3-beta3-zadxpkbzjw, bounded to the exact range 60d3a582784916fd38e4053eecdb49c1fb1d976f..bc677573a0c2a107d9ff4a6ccc554f79d411a542:
bc677573a0c2Draw Classic mode one navigation rail instead of one and a halfb64bd138d647Compile the vendored dependencies before something else takes the blame9c7835aa4440Give Classic mode the navigation rail its own design always specifiedb9f1bb2c1870Refuse to photograph a build older than the sources it claims to show3e51992e14bcRefresh current release receipts9582f07f7ec3Refresh current release receipts5cb2281643b7Refresh README current status snapshot210a35b2ddbaRefresh README current status snapshotd6819521dff2Narrow ORAS retry result before hashinged76b74ff972Narrow ORAS retry result before hashing1ed8c62456bfDiscover complete Visual Studio installationscd2a00749fa8Discover complete Visual Studio installationsd71d4ad1e779Handle empty Visual Studio discovery output1823b8b6fbccHandle empty Visual Studio discovery output9fb234002ffcHarden Windows Node bootstrap fallback reportingeb6e27657d43Harden Windows Node bootstrap fallback reportingc213c19f0be5Clarify README current status and historical receipts66245a9fb958Bound DOM assertions in agent-session panel tests78870185c884Clarify README current status and historical receipts91462c4fdffdRecord agent-session assertion lag repair418e56a59272Bound DOM assertions in agent-session panel tests96c25861dba7Reconcile current roadmap and release receipts28f6d0f36a31Retry a dropped connection in the ORAS download, and nothing else9fbcdfb519a6Update the gallery count the three new frames changedc8ea3e41152cRun the capture plan through Prettier6bec6c5e2e1eGive the three new captures their documentation pages5fafe516383bFail the build on an import the project never declaredee696d6a1961Stop importing fs-extra in the renderer, which was breaking the buildc99b027237d4Settle the missing-trailer question by checking it70de5b267d0aFix the branch sheet properly, this time by measuring itb91f53ca06c5Record what the capture harness taught, including the part still broken167854435c30Stop Playwright's default dialog handling from killing the capture run2578999759cePhotograph both new controls in the built app, and fix what that showedcce86323029cGuard the capture harness diagnostics, after the guard failed to guard3280694f7072Make the capture harness say why the app never renderedd76b2821adbfAdd both new settings to the wiki user guide8fe9a3a77540Fix the five suite failures this session caused600af9991961Record three maintenance invariants each of which cost somethingc102e02e3424Finish the lock gate rollout to the repository listf2c1df9fa761Correct a button-size fix that fixed nothinga4e9e5d09fbbRecord the handoff, including the parts that are still wrongfaa1ecffadfaPut the two new features in the README82f616dbeef7Format the changelog the way the gate expectscb232befc017Bring the changelog current with this session's work8c6e86a968edDocument the vocabulary and the narrator voicec831e3cb30e6Make the two new settings findableb797efb005a5Give a locked element a prompt instead of silence413596d16a2dMake the vocabulary file actually change what the app rendersa9ed7506c8f5Make the tools list resizable and build the new controls to Material 33d72d6e27c02Break every new guard on purpose before trusting it- 80 older commits omitted by the release-note safety limits.
Windows-capable Releases are eligible to own the auto-update feed. The promotion helper only selects a Release carrying RELEASES and *-full.nupkg; Squirrel consumes those assets from releases/latest/download/.
Lines of code
| Area | Files | Lines | Non-blank |
|---|---|---|---|
| App source | 1,716 | 617,249 | 567,989 |
| Docs and documentation site | 435 | 451,079 | 438,506 |
| App tests | 1,154 | 300,819 | 273,639 |
| Agent run and verification records (excluded) | 168 | 272,668 | 268,631 |
| Vendored / third-party (excluded) | 31 | 149,837 | 127,390 |
| App styles | 302 | 79,429 | 68,391 |
| Linux TUI source | 86 | 41,651 | 37,880 |
| Other subprojects | 48 | 35,766 | 34,585 |
| Build and tooling scripts | 105 | 33,370 | 30,555 |
| Repository root | 15 | 19,642 | 17,799 |
| Remote-access site | 19 | 15,459 | 14,935 |
| Linux TUI tests | 82 | 14,357 | 11,967 |
| CI workflows and editor config | 65 | 12,764 | 11,566 |
| Linux TUI packaging and contracts | 9 | 5,015 | 4,899 |
| App static assets | 10 | 2,421 | 2,309 |
| Unclassified | 8 | 854 | 786 |
| Project total | 4,054 | 1,629,875 | 1,515,806 |
| Everything counted | 4,253 | 2,052,380 | 1,911,827 |
Of the project total, 40,829 lines across 11 files are generated by tooling rather than written by hand.
| Written by | Lines | Share |
|---|---|---|
| Agents | 1,360,606 | 66.3% |
| People | 691,774 | 33.7% |
| Total attributed | 2,052,380 | 100% |
Attribution is per surviving line via git blame, not lines added: a line written and later deleted counts for nobody. A commit counts as agent-written when its author is an automation identity or it carries a Co-Authored-By trailer naming an agent.
Measured at bc67757.
Counted by CI over bc677573a0c2a107d9ff4a6ccc554f79d411a542 with node script/count-lines.mjs.
Release code name
Steamed Prawns with Garlic Vermicelli · 蒜蓉粉絲蒸蝦
Workflow timing
- Workflow started:
2026-08-14T04:32:09Z - Workflow completed:
2026-08-14T05:04:30Z - Workflow duration:
00:32:21