openclaw/openclaw · Weekly · Sep 07, 2026 - Sep 13, 2026

OpenClaw Weekly Dev Update #xx — September 7–13, 2026

Commits summarized
3,773
Period
Sep 07 - Sep 13, 2026
Published
Sep 15, 2026

OpenClaw Weekly Development Update

Repository: openclaw/openclaw

Period: September 7–13, 2026

Total commits this period: 3,773

This report highlights a selection of notable changes from available commit summaries. Not every commit is covered.

Who Should Read This

If you use OpenClaw for session management, subagent orchestration, mobile chat, talk/voice features, plugins, or CI/CD, this week brought numerous fixes and performance improvements that reduce memory use, tighten correctness, and improve observability.

Highlights

Session & Conversation Management

  • Archived aged conversations, raised active cap

    Raised the default active session target to 5,000 and now archive eligible durable conversations at the age cutoff instead of deleting them. Retained generations are protected through the canonical reference owner.

    Commit 98c0918709

  • Clear stale task progress on conversation reset

    A full reset now retires the previous task's durable progress card in the same guarded transaction as the reset boundary. Rejects delayed PUTs whose lifecycle revision has changed. Fixes #140356.

    Commit 0d52ff9c

  • Identify workers behind slow session-write warnings

    Added worker identity to slow session-write diagnostics so operators can trace which worker is responsible for delays.

    Commit 17a7bf646e

Subagent & Handoff Correctness

  • Acknowledge settled serial handoffs

    A child completion could previously run its requester again after the requester had already accepted the next child and explicitly yielded. This fix carries the core registry's successful settlement through runner/command boundaries, acknowledging the handoff without inventing a visible final reply.

    Commit ad324df48d

Mobile & UI

  • Align mobile chat messages with composer

    Fixed misalignment between the mobile transcript and composer on narrow screens. Removes unused row gutters while retaining shared/forwarded identity. Fixes #139994.

    Commit 5b9246ce

  • Show complete skill instructions in Workshop comparisons

    Workshop now renders full skill instructions with inline changes in one scrollable view instead of clipped previews.

    Commit 52dd6629

  • Stop catalog paging in hidden tabs

    Automatic page requests are gated at the refresh owner, preventing wasted network activity when a catalog tab is hidden.

    Commit 0a55c7c0

  • Keep usage exports bound to their session instance

    The export hydration key now includes the concrete session ID, preventing stale usage data from mixing with a replacement session's prompt report.

    Commit b39b6276

Talk / Voice / Real-Time

  • Keep opaque realtime routes out of public config

    A large multi-commit fix ensures realtime relay routes, voice selection, and auth flows are properly projected. Opaque routing details no longer leak into public configuration.

    Commit 7ff0e11c

  • Prevent Talk E2E audio capture stalls

    Stabilized Talk audio fixtures and isolated media fixtures to prevent stalls during end-to-end audio capture.

    Commit 78503532

Plugins & Extensibility

  • Bundled catalog lookups made lightweight

    Shared typed raw bundled inventory and short-circuited direct lookups reduced lookup time from ~1001 ms to ~531 ms for 95,000 lookups, and cold import loading dropped from 255 to 58 modules.

    Commit 8a540c25

  • Simplify approval forwarding mode resolution

    Cleaned up the Plugin SDK's approval forwarding resolution logic.

    Commit c371a00a

Performance & Memory

  • Release completed document source buffers

    Cache-owned source buffers are now released as each document classification settles, reducing retained buffers from ~160 MiB to ~20 MiB on an eight-document text extraction probe.

    Commit dd3faf5f

  • Release consumed resume payloads (code-mode)

    Worker-owned incoming snapshot bytes are retired after QuickJS restores its independent heap, freeing ~5.6 MB per resumed leg.

    Commit b38d791b

  • Avoid retaining discarded tool output

    Copy selected single-line results at the truncation owner to release otherwise retained large source strings.

    Commit 6002950d

  • Share process metadata across socket rows (ports)

    Collected unique PIDs once per Unix inspection boundary, reusing their metadata across socket rows. Reduced repeated PID ps launches from 120 to 2 for repeated PIDs (or 120 to 80 for 40 distinct PIDs).

    Commit cc13ef84

  • Reduce cloud node bootstrap downloads

    Commit c3123cb8

  • Skip link parsing for bracket-free pages (memory-wiki)

    Commit 46174814

Infrastructure & CI

  • Avoid Linux packaging on pull requests

    Linux packaging is now skipped on PRs while retaining compile/link/test coverage. Full packaging remains on manual dispatch.

    Commit 55fc54ca

  • Keep routine iOS checks on a build smoke

    Commit a93deab9

  • Start source workers outside the package directory

    Fixed a bug where workers spawned from outside the package root would crash with ERR_MODULE_NOT_FOUND because the tsx loader was resolved against the child process cwd instead of the OpenClaw package root. Closes #140416.

    Commit 25518783

Gateway & Systemd

  • Preserve child turns during systemd drain

    Child runtimes are now kept alive during cooperative drain while retaining final cgroup cleanup. Addresses #140479 and #140467.

    Commit 9ae24dff

  • Close startup trace on terminal failure

    Gateway startup tracing is now properly closed at terminal lifecycle owners while preserving recoverable channel startup diagnostics.

    Commit dbac2c10

Platform Integrations

  • Feishu: expand quoted merged-forward messages

    Merged-forward children are now expanded in shared message retrieval so direct inbound messages, quoted replies, and thread starters receive ordered context. Bounded at 50 messages and 20,000 UTF-16 code units. Fixes #136200.

    Commit 43698a76

  • Telegram: unify delivery ownership, remove retired paths

    Consolidated polling, accepted-delivery bookkeeping, and send-context leases. Removed retired polling paths and obsolete tests. HTML table context is now scanned once instead of repeatedly rescanning prefixes.

    Commit f34ec093

  • Discord: reject numeric application ID as bot token during setup

    Commit a58d1245

  • Anthropic: preserve resumed CLI caches across Git changes

    Commit 940c359a

Documentation

  • Plugin manifest reference split by domain

    The single 158k-character manifest reference page was split into seven child pages under docs/plugins/manifest/, keeping the parent as a short index with the full top-level field table. Every anchor and inbound link preserved. Closes audit findings r3-0501 and r3-1895.

    Commit 9da1f244

CLI & Tooling

  • Reject blank numeric options across inference and scans

    Blank numeric options in CLI scan and capability commands are now properly rejected.

    Commit 934f9942

  • Accept no-pager overrides without executable lookup

    Normalized cat/empty GIT_PAGER and PAGER requests to empty values at the host environment boundary, matching node and macOS semantics.

    Commit a56913aa

  • Omit Trae machine squash credit

    Classifies only the exact published Trae machine address in native squash composition so machine attribution is excluded without matching human names.

    Commit ae2f990d

  • Correct advice for nested declaration failures

    Commit 4972d560

Translations & Locales

This report covers highlights from September 7–13, 2026. With 3,773 commits in the period, only a subset of summaries is represented here. Full commit history at github.com/openclaw/openclaw.

Repository updates

Follow future updates

Get generated openclaw/openclaw development summaries without adding another panel to your dashboard.

Sign in to choose an email address and delivery schedule.

Sign in to subscribe