Set main to the shipped stable version 2026.9.1 (root, apps, plugins, and
version-owned generated metadata via `pnpm release:prepare`), make the
`## 2026.9.1` changelog section identical to the tagged release branch, and
carry the native locale refresh that the release preflight requires.
Release: https://github.com/openclaw/openclaw/releases/tag/v2026.9.1
npm: openclaw@2026.9.1 (latest, beta); 89 @openclaw/* plugins at 2026.9.1.
* fix(markdown): preserve inline code content across renderers
Retain code-owned table edge whitespace through the shared IR slicer and
remove duplicate table clipping. Update all Markdown-it consumers to
15.0.1 for code-span, unclosed-label, and IPv6 URL normalization fixes.
Add shared-renderer regressions, bundled-browser proof, and a four-message
Telegram Gateway scenario. Application production delta: -26 lines.
Fixes#137728.
* fix(telegram): preserve native inline-code whitespace
Choose code-span padding from CommonMark-normalized space facts so all-space
entities stay exact and CR/LF edges retain their normalized content. Keep
UTF-16 entity offsets and the existing delimiter and fence owners unchanged.
Preserve the existing text/caption regressions and cover normalized line
breaks plus tab and non-breaking-space controls.
* fix(oc-path): emit patches that preserve exact edit bytes
* test: reuse CLI fixtures and canonical recovery admission
* test(cli): retain the canonical main process test split
* ci: refresh checks against current main
* chore(release): close out 2026.6.10 on main
* chore(release): align native app metadata for 2026.6.10
* chore(release): sync Android 2026.6.10 notes
* docs(changelog): preserve 2026.6.9 history
* docs(changelog): preserve 2026.6.9 history
Bumps OpenClaw release metadata to 2026.5.31 across package manifests, app version files, plugin metadata, changelog headings, and generated shrinkwraps.
Verification:
- pnpm plugins:sync:check
- pnpm ios:version:check
- pnpm deps:shrinkwrap:check
- git diff --check
- stale 2026.5.30/build-code scan across changed files
- autoreview clean: no accepted/actionable findings
- PR CI green for real gates: Checks, security scans, dependency guard, app lanes, real behavior proof
Known non-code workflow issue:
- label workflow failed because this PR hits GitHub's 100-label issue cap before the size-label step.
The YAML AST/parser/emitter/edit-resolve module is removed. The
substrate now supports md / jsonc / jsonl. Walker, universal verbs,
CLI, and tests are stripped of yaml-kind branches; the `yaml` package
dependency is dropped.
Why: YAML editing was the most complex per-kind module (~750 LoC of
parse/emit/resolve plus walker scaffold) for the smallest surface area
in real-world usage — substrate consumers (lkg, gateway config, agent
metadata) all pivoted to jsonc / md / jsonl. Carrying yaml support
indefinitely was net cost.
Walker depth-cap test that previously relied on YAML's lack of a
parser-level depth cap is rewritten to construct a synthetic JSONC AST
chain by hand, exercising the walker's MAX_TRAVERSAL_DEPTH defense in
isolation from the parser's MAX_PARSE_DEPTH.
Net: -1467 LoC across substrate + tests.