Get started
v2026.8.1: Maintainer and Internal Changes
Another 6,364 changes in this release primarily affect the people who build and maintain OpenClaw. They cover release and CI work, tests, internal refactors, documentation maintenance, and narrow fixes that sit outside the user-facing product areas of this release.
All 348 improvements, fixes, and documentation changes
This completes the record for all 17,675 analyzed PRs and commits in v2026.8.1. The list below holds 27 improvements or features, 251 bug, provider, and security fixes, and 70 documentation changes, preserving the original PR and commit titles. The 6,016 internal maintenance changes follow on the pages linked at the end of this page.
Sources and complete change list
Improvements
- Reduce CI time across QA smoke and audited lanes 00164c7
- Rebalance compact CI jobs using measured agents-core-models runtime 1d2d44c
- Balance Windows CI across two concurrent jobs 1f1aa88
- Cache Node toolchains for Blacksmith CI jobs 782d52c
- Speed up CI preflight and shrink the pnpm cache 7e54cc9
- Route trusted contributor pull requests to faster CI runners 8d86fe7
- Shorten CI by combining built-runtime verification with artifact checks bba5730
- Streamline release metadata and ClawHub checkouts c149489
- Speed up release preparation cb70d71
- Speed up the hybrid checks-ui job d612949
- Speed up CI with wider sharding and parallel verification ed5e489
- Give the dev branch badge its own sidebar strip #104300
- Keep native platform validation warning-free #107101
- Speed up agent command tests #107107
- Accelerate the SQLite reliability test suite #107134
- Speed up SQLite state benchmark CLI tests #107150
- Use retry-safe temp cleanup in Plugin SDK tests #107151
- Install skills.sh references through ClawHub #112517
- Give pinned sessions their own sidebar group #121712
- Speed up fresh changed-check runs #121805
- Rebalance CI tests without adding workers #121807
- Rebalance compact Node test jobs #121834
- Speed up Gateway session-list performance tests #121853
- feat(mantis): let proof agents extend desktop control #127271
- improve(ui): skip video pacing in ordinary browser tests #127313
- improve(qa): avoid repeated coverage inventory work in tests #127376
- improve(ci): add trusted FRV proof broker #128966
Bug fixes
- Allow excluded shipped PR references in generated ledger metadata 01b0989
- Format Google Meet test type annotation 0471b29
- Honor explicit Unreleased changelog opt-in in release checks 0476243
- Conflicting Control UI sidebar type-import repair 08843c7
- Keep beta npm performance checks advisory during publish 08987d8
- Stream release evidence artifact downloads to disk 0b78116
- Route fork pull-request checks to hosted runners 0d73229
- Accept protected-environment waiting state in publication evidence 0e9db60
- Bind ClawHub bootstrap publishing to its workflow identity 0f7fbfa
- Keep hybrid Windows CI on one Blacksmith lane 19ae7f2
- Retry briefly stale npm provenance checks 1d27775
- Shorten Testbox SSH socket paths for parallel review tests 1fe3a5f
- Restore CI after declaration and smoke-test drift 2256387
- use the shared record guard in the protocol coverage checker 2276dca
- Preserve the validated Node runtime in candidate checks 2372c71
- Retain npm provenance verification evidence 23d2f66
- Stabilize Telegram release QA commit-to-PR checks 2a52e45
- Declare the release-checklist direct-execution helper 33a354c
- Isolate dependencies used by trusted release-candidate checks 34b8a3f
- Honor explicit unreleased-changelog opt-in during release validation 363e8b0
- Preserve gateway watch logs and hand off managed ports 38e6365
- Remove orphaned ClawHub workspace-dir helper 4af3a85
- Speed up real-Gateway UI tests in hybrid CI 4fb2736
- Prevent gateway port races in installer release checks 5a8b25c
- Harden proxy tunnel test teardown 5b1ce69
- Compare max-lines debt from the branch merge base 5fa348f
- Align extension prerelease tests with current contracts 662e79d
- Default package-acceptance omission control to false 69b83b5
- Retry public release checks without exhausted credentials 6c0725e
- Point locale drift repair to generated sync 6f3aa0f
- Bind Telegram QA proof to the exact package artifact 732fb5f
- Detach optional ClawHub publishing from the core release workflow 73d0439
- Rebalance CI lanes to reduce five-minute stragglers 76e4ef6
- Remove duplicate docs-sync declaration 7a58956
- Resolve Docker packaging tools from the source checkout 7e705ed
- Allow more time for release macOS cache finalization 7f28679
- Validate tags from frozen release branches 7f50fb6
- Allow cancelled main runs to refresh the Vitest cache 8367253
- Isolate trusted release tooling dependencies 8858944
- Restore formatting compliance after merge skew 8f3b2ab
- Preserve retired workspace state in update smoke tests 905395a
- Retry flaky fresh Parallels release lanes 9275f47
- Declare release evidence API helpers 95c6add
- Keep beta performance checks advisory at publish 97f75ed
- Route measured CI bottlenecks to Blacksmith on first attempts 9adfe07
- Recognize release tooling through symlinked roots 9bd51e9
- Formats browser tab discovery abort test 9cdb976
- Rebalance storage-state CI test stripes a2d1b0c
- Raise the Vitest cache warmer heap ceiling a8857ee
- Resolve the trusted release loader a9ac13b
- Overlap TypeScript-Go test graphs in CI ad508a5
- Correct the run-inspector E2E sub-pixel tolerance af76f49
- Restore the Control UI sidebar after accidental truncation b5273e7
- Stop release smoke tests from recreating retired workspace state b6535fb
- Format the Docker installer test b847d1a
- Limit duplicate parity handling to image generation bac7744
- Pin release publishing to protected workflow tags bb1a7e5
- Restore sole ownership of run-attempt state tests c28e9a4
- retry transient ClawHub HTTP 500 responses c392727
- Stabilize Control UI deep-link E2E boot checks c59ef0b
- Mount normalization source in the Docker E2E harness c69a75f
- Run candidate Parallels smoke from trusted release tooling c8733ea
- Allow detached release jobs after parent success ced50f8
- Clear ClickClack setup lint and dead-code failures d6026ff
- Retry transient Telegram release provenance API reads d6a33b5
- Compare release evidence archives by contents d8b3e1c
- Make plugin npm bootstrap retries idempotent d8dd59b
- Complete protected SHA-pinned publish tooling dfa246e
- Keep beta performance checks advisory dffb136
- Reconcile duplicate QA parity capture rows e23ba67
- Validate trusted npm preflight workflow source e297bc2
- Prepare trusted Parallels harness dependencies at point of use ed49673
- Preserve Markdown list structure in translated docs edef982
- Stabilize extension artifact freshness repair on CI filesystems ee4bd4a
- Unshadow Control UI E2E diagnostic catch bindings f2c721b
- Allow slower fallback CI runners more setup time f329a94
- bind resumed npm verification to the original publisher f4f5bb1
- Remove a timing race from OpenAI payload contract tests f530b70
- Add missing TypeScript declaration for error formatting f656d96
- Route Docker release lanes through the trusted harness #103504
- Bound iMessage drop-diagnostic state #103512
- Stabilize ClawRouter release E2E log assertions #103536
- Fix lint in Telegram turn-adoption test #103549
- Repair bundled AI runtime checks in installer smoke #103556
- Prevent startup test mocks from poisoning shared Vitest workers #103582
- Contain installer-smoke artifact restores within the checkout #103608
- Keep scheduled runtime-parity QA on compatible scenarios #103609
- Restore strict lint for Mattermost tests #107079
- Fix the Mattermost slash-state test response type #107084
- Exclude live-only tests from tooling performance shards #107088
- Isolate the Pond baseline MCP proof tool #107128
- Refresh the Plugin SDK API baseline checksum #107140
- Clean up orphaned workshop skill usage rows #107144
- Clear stale label timestamps when sessions are replaced #107638
- Show clear QA Lab dashboard response errors #108943
- Release failed docs-search response bodies #109508
- Release failed Google Chat certificate responses promptly #109519
- Close failed ClawRouter usage responses promptly #109525
- Release failed GitHub Copilot usage connections promptly #109540
- Cancel unread APNs relay redirect bodies #109728
- Close failed Kilocode discovery streams before fallback #109950
- Release Discord PluralKit response streams on missing messages #109960
- Close failed Ollama discovery response bodies #109967
- Release failed Microsoft Teams Graph response streams #109970
- Cancel failed QQBot media response bodies #110008
- Release failed Google video download streams #110045
- Reject malformed MCP App sandbox policies #110264
- Clear completed Web Push readiness timers #110879
- Keep source installs out of operator state #111514
- Keep CI=1 test runs within one worker budget #111521
- Prevent cross-file mock leakage in Control UI tests #111554
- Reset plugin runtime state between shared test files #111556
- fix(release): bound beta verifier command execution #111581
- Prevent repository inventory scripts from hanging on Git lookups #111582
- Forward QA credentials into maturity scorecard generation #112201
- Prevent false lint failures in generated Wear translations #112254
- Validate frozen AI package exports against their manifests #112258
- Include shared chat progress text in macOS translations #112279
- Populate identity in mock Control UI profile settings #112296
- Accept canonical extended-stable npm provenance #112301
- Allow translated prose inside pure fenced code blocks #115204
- Make Android Wear channel-close tests deterministic #116788
- Enforce QA-channel thread and message lifecycle ownership #116801
- Add QA Lab group conversations and safer thread navigation #116803
- Restore WebChat auto-TTS managed-artifact proof #116810
- Repair release harness path and diagnostic contracts #116812
- Reject blocked QA evidence and invalid media artifacts #116828
- Make QA module-flow selection adapter-aware #118069
- Prevent Teams attachment tests from hanging on cloned response bodies #118096
- Cut QA smoke package-build overhead #118111
- Reject false compaction-write success in QA #118115
- Report failed QA suites and evaluations accurately #118120
- Canonicalize the macOS session-lock test path #118121
- Reject invalid character-evaluation judge rankings #118423
- fix(macos): timestamp hash-pinned Developer ID signatures #118989
- ci(macos): budget macos-swift by runner so fork PRs finish #119017
- Keep Gateway RPCs responsive during memory startup #119676
- Revert standalone Enterprise Grid Slack approval changes #121219
- Prevent duplicate final replies after Gateway restart #121507
- Route release validation evidence reads through cached GitHub access #121619
- Keep release checks portable on macOS Bash 3.2 #121669
- Carry branch authority in ClawSweeper dispatches #121674
- Make QA Gateway stress runs measure real concurrency #121677
- Stabilize workshop collection tests on macOS #121800
- Separate frozen release context from live candidate identity #121835
- Run source-scanning policy tests for watched changes #121841
- Allow PR review with restricted GitHub tokens #121848
- Scope iOS version checks to native releases #121863
- Avoid rebuilding identical session rows on duplicate reconciliation #124326
- Retire stale ownerless requested worker placements #124609
- Report provider request acceptance consistently #125807
- fix(secrets): compare proxy bearer tokens directly #127054
- Explicitly target Android notification intents #127055
- fix(test): nostr doctor and state-store suites fail Windows teardown with EBUSY #127236
- Repair release-validation onboarding and ClawHub fixtures #127263
- fix(qa): model-switch proof accepts served model reroutes #127281
- fix(qa): exercise a real config restart boundary #127285
- fix(qa): let scenario-owned timeouts settle before watchdog #127289
- fix(ci): align lifecycle retry fixtures with terminal replies #127295
- fix(qa): pin Slack draft progress transport #127298
- fix(qa): label execution configuration selects #127299
- fix(qa): restore QA Lab web build #127310
- fix(release): preserve validation plan across reruns #127343
- test(agents): canonicalize macOS tmpdir fixtures #127366
- fix(qa): retain failed isolated scenarios in fail-fast results #127715
- fix(ci): apply Kova runtime-major RSS calibration #127763
- fix(codex): preserve child hooks across turns #128485
- fix(deps): restore frozen installs for Anthropic SDK #128671
- perf(ui): stop loading shimmers from repainting #128687
- fix(scripts): ignore superseded target dispatch checks #128704
- fix(ci): preserve iOS Fastlane root after cwd changes #128854
- fix: release onboarding handles telemetry consent #128943
- fix: plugin prerelease fails after geolocation startup #128947
- fix: plugin prerelease checks accept active registry reuse #128949
- fix: release live gateway checks misroute scoped models #128950
- fix: QA MCP parity fails during effective tool inventory #128959
- fix(gateway): settle live fixtures before Codex reconnects #128965
- fix(qa): clean partial cloud proof startup #128977
- test(inworld): make voices timeout proof hermetic #129024
- test(gateway): fix flaky settled-run-ownership assertion in gateway chat suite #129033
- fix(release): preserve focused evidence lineage #129060
- test(google): isolate Vertex streams from ambient ADC #129121
- fix(qa): OpenClaw harness planning check fails after progress-card migration #129143
- fix(release): full validation survives queued parent states #129166
- fix(pr): keep older contributor worktree checkouts within OS argument limits #129169
- fix(release): approved VCR mirror recovery never starts #129829
- fix(qa): reject token confidence lanes without executed evidence #129830
- fix(qa): reject blocked sender replies in allowlist scenarios #129840
- fix(qa): align repeated-request proof with provider timeout #129851
- fix(parallels): avoid host networking for macOS upgrades #129861
- fix(i18n): include concatenated Apple UI strings #129882
- fix(memory): keep doctor discovery free of database imports #129963
- fix(release): preserve beta channel in prerelease survivor #129966
- fix(ui): remove unused startup styles to restore css budget #130027
- fix(e2e): stable candidate plugin repair fails after update #130306
- fix(ci): run changed-path-facts in fast routing checks #130843
- fix(ci): preserve Crabbox proof across main advancement #131572
- fix(release): preserve frozen plugin harness compatibility #131596
- fix(gateway): restore rollback manual-stop regression checks #131627
- fix(ci): let publisher own Crabbox proof #131635
- fix(ci): let plugin prerelease build its own registry #131639
- test(release): seed plugin ownership for the installed schema #131685
- fix(release): avoid rate limits during exact-SHA validation #131714
- fix(qa): keep leases when Gateway startup teardown fails #131740
- fix(ci): accept broker-owned Crabbox identity #131754
- fix(release): preserve publish evidence identity #131782
- fix(release): pin publish children to approved tooling #131798
- fix(release): separate parent approval identity #131833
- fix(release): canonicalize composite job ordering #131853
- fix(release): resume protected child publication #131878
- fix(test): await Gateway readiness and finish lifecycle cleanup #131890
- fix(qa): retain WhatsApp lease and auth until Gateway stops #131893
- fix(ci): finish watcher waits after successful reruns #131926
- fix(release): accept active publication transitions #131986
- fix(release): full verification fails as main comparison grows #132029
- fix(tooling): report every deadcode scan outcome #132412
- fix(maintainers): wait for mergeability before admission #132418
- fix(skills): preserve recovery evidence in live review fixtures #132463
- fix(maintainers): wait for calculated PR mergeability #132522
- fix(release): validate extended-stable maintenance patches #132523
- fix(build): local plugin checks rewrite declarations and miss inherited config changes #132532
- fix(build): cold declaration checks reject their own workspace outputs #132603
- fix(plugin-sdk): registration leaves private declarations in packages #132645
- fix(test): join tsgo cleanup after operation timeout #132654
- fix(maintainers): accept the repository id shape gh returns during merge admission #132690
- fix: show Crabbox help before preparing remote execution #132698
- fix(ci): keep canceled docs-agent runs out of review history #132699
- fix(qa): keep Telegram release bootstrap configs current #132710
- fix(release): prevent FRV reruns from losing candidate artifacts #132711
- fix(maintainers): compare gh and GraphQL repository identity by matching id shape #132715
- fix(release): retain bounded npm diagnostics per phase #132748
- fix(test): synchronize custom worker shutdown proof #132824
- fix(qa): retain debug logs across cleanup retries #132836
- fix(ci): restore post-update service fixture isolation #132856
- fix(testing): reject invalid profiler CLI options #132858
- fix(qa): reject explicitly blank scenario selections #132901
- fix(ci): stop Workflow Sanity Git descendants before fallback #132921
- fix(qa): prevent runtime directories reappearing after cleanup #132958
- fix(release): audit tool dependencies and preserve Sandbox failures #132971
- test(desktop): make Unix socket fixture support explicit #132976
- fix(ci): stop QA Git descendants before trust handoff #132991
- fix(ci): keep provider alias service ports distinct #133080
- fix(protocol): protocol:check passes when the published schema drifts #133090
- fix(ci): stop docs publish Git descendants before retries #133093
- fix(changelog): retain explicitly marked breaking changes in release notes #133104
- fix(changelog): classify declared types and scopes before title prose #133113
- fix(ci): drain docs-agent Git trees before recovery #133124
- fix(ci): keep native release verification bounded and complete #133180
- fix(ci): drain generated publication Git trees before recovery #133228
- fix(ci): drain performance Git trees before retry and fallback #133280
- fix(ci): drain release admission Git before handoff #133308
Documentation
- Clarify the onboarding card icon 16daa88
- Records rejected CI artifact checkout experiment 1ce67d5
- Document safe isolation for live gateway tests 2ca4d92
- Protect product names in localized documentation links 2d7be9e
- Default automated iOS releases to the gateway version 3d7e996
- Remove invented inline-code formatting from translated prose 4302896
- Preserve runtime and plugin names in docs translations 477f3af
- Stabilize documentation translation split validation 4d4b176
- Preserve ambiguous product names in translated docs 514d718
- Add pragmatic code guidance for contributors 523c07d
- Keep Dutch documentation address informal 5fe350c
- Document the audited maintainer CI gate bypass 63985f2
- Document the required QA coverage summary path 6bc5fc2
- Clarify schema-version policy for additive SQLite tables 6d5ebac
- Preserve slash-based numeric literals in translated docs 7651ef5
- Preserve docs translation boundaries and plugin names 9d3de46
- docs(gateway): require pre-commit authority guards 9fc5037
- Crop whitespace from README banners a661804
- Add four existing fixes to the changelog af9d583
- Preserve Render branding in documentation translations be74297
- Refresh the generated documentation map c55ea0b
- Require approval before SQLite schema-version bumps cc0b847
- Align the agent-hierarchy roadmap guardrail with planned work e40bd56
- Preserve canonical product names in maturity documentation fee4490
- Explain the pull request automation review flow #101748
- Replace the stale maintainer roster with the current people page #102998
- Refresh the README hero with dark and light brand banners #103123
- Refresh the generated documentation map #104926
- Document GitHub Actions workflow filename resolution #105333
- Guide maintainers to sparse CI polling #106821
- Publish v2026.7.1 release documentation #107040
- Document the Control UI catalog terminal workflow #107204
- Clarify supported PR stats and yielded-exec handling #107819
- Document bounded maintainer automation commands #107830
- Document explicit CI rerun attempt selection #108095
- Align QA transport and release-validation guidance #108463
- Refresh the onboarding redesign plan after phases 1-3 #110121
- Update onboarding phase status and frame the phase 7 decision #110543
- Document draft-then-ready PR creation for reliable CI #110970
- Update stale debugging skill file references #111474
- Document script and dependency troubleshooting rules for agents #112543
- Attribute published packages and docs to the OpenClaw Foundation #112633
- Make Auto QA campaign evidence verifiable #113857
- Replace the rate-limited Star History badge #114762
- Fix the security warning's line wrapping #115388
- Clarify product growth, privacy, and model-guidance policy #115854
- Clarify the exported user timezone contract #116160
- Refresh maturity scorecard from August QA evidence #118074
- Repair stale references in bundled repository skills #120042
- Document a unified runner model for future session placement #120657
- Keep maintainer agents hands-on #121225
- Correct database-first implementation and schema documentation #122085
- Document session evidence retrieval for debugging #122904
- Document the Control UI stylesheet policy #123185
- Mark the Peekaboo v2 tracker item as landed #123838
- Correct computer-use tool inventory counts in the implementation plan #124074
- Mark the computer-use ref lifecycle work as landed #124403
- docs: prefer gh attach for PR media #127417
- docs(mantis): script catalog-tool turns through Code Mode exec #127878
- docs: require discussion for material SQLite changes #128876
- docs(plan): record CUA production vertical, node-channel fix, and channel schema repair #130117
- docs: compact generated maturity scorecard rows #130331
- docs(start): add Why OpenClaw enterprise architecture page #130709
- docs(start): add architecture diagrams to Why OpenClaw #130776
- docs(start): human introduction for Why OpenClaw #130812
- docs(start): restructure Why OpenClaw intro into a question-answer flow #130874
- docs(start): bridge paragraph for personal readers on Why OpenClaw #131105
- docs: prohibit publishing unreleased model identifiers #131942
- docs(ci): correct SDK declaration ownership and caching #132728
- docs: remove AI-assistance disclosure requirement for PRs #132968
Maintenance changes
The remaining 6,016 maintenance changes are listed across 8 pages so each page renders:
- Part 1 of 8 - 752 changes.
- Part 2 of 8 - 752 changes.
- Part 3 of 8 - 752 changes.
- Part 4 of 8 - 752 changes.
- Part 5 of 8 - 752 changes.
- Part 6 of 8 - 752 changes.
- Part 7 of 8 - 752 changes.
- Part 8 of 8 - 752 changes.
Was this useful?