Github
All AI industry updates, product announcements, and research news originating from or reported by Github.
Latest Coverage
fix(skills): correct invalid install kinds in xurl and github [AI] (#…
<pre style='white-space:pre-wrap;width:81ex'>fix(skills): correct invalid install kinds in xurl and github [AI] (#102158) * fix(xurl): use install kind "node" instead of invalid "npm" [AI] The xurl skill's second installer declares kind "npm", which is not a valid install kind. The installer switches on spec.kind with cases for brew/node/go/uv/download and a default of "unsupported installer", so the entry is dropped -- `openclaw skills info xurl` only offers the brew option, leaving no install
Read Sourcefeat(release): preflight all extended-stable npm packages (#101757)
<pre style='white-space:pre-wrap;width:81ex'>feat(release): preflight all extended-stable npm packages (#101757) * feat(release): preflight all extended-stable npm packages * fix(release): install packed ai runtime in smoke * fix(release): install sibling tarballs before core * fix(release): verify unpublished tarballs locally * fix(release): declare local preflight dependencies * fix(release): pack workspace dependencies for smoke * fix(release): accept pnpm pack artifact path * fix(release): s
Read Sourcefix: harden web fetch HTML conversion [AI] (#102033)
<pre style='white-space:pre-wrap;width:81ex'>fix: harden web fetch HTML conversion [AI] (#102033) * fix: harden web fetch html conversion * fix: consume malformed html tag tails * fix: consume invalid html tag spans * fix: preserve html scanner edge cases * fix: preserve title-only html fallback * fix: harden html scanner malformed tokens * fix: close html scanner review gaps * fix: keep malformed html raw text hidden * fix: keep html scanner comment content hidden * fix: skip unsupported html a
Read Sourcefix: gate Gateway message action requester provenance [AI] (#102031)
<pre style='white-space:pre-wrap;width:81ex'>fix: gate Gateway message action requester provenance [AI] (#102031) * fix: gate message action requester provenance * fix: preserve trusted gateway action context * fix: preserve message action effective scopes * chore: refresh gateway protocol swift model * fix: keep swift message action init additive * fix: avoid message action wire shape change * fix: downscope non-owner message action bridge * fix: keep cli message actions least privileged * fix:
Read Sourcefix: restrict non-owner gateway tool inventory [AI] (#102030)
<pre style='white-space:pre-wrap;width:81ex'>fix: restrict non-owner gateway tool inventory [AI] (#102030) * fix: restrict non-owner gateway tool inventory * fix: clarify non-owner gateway tool policy</pre>
Read Sourcefix(state): close agent-db and proxy-capture SQLite handles on exit; …
<pre style='white-space:pre-wrap;width:81ex'>fix(state): close agent-db and proxy-capture SQLite handles on exit; rebind stale proxy stores after shared-state close (#100827) * fix(state): close cached SQLite state and agent databases on process exit * refactor(state): pair SQLite exit-close with cache lifecycle and rebind stale proxy-capture stores * fix(cli): register debug-proxy finalize before the state DB exit hook * refactor(state): narrow to agent-db and proxy-capture exit lifecycle after
Read Sourcefix: detect joined inline eval flags [AI] (#101353)
<pre style='white-space:pre-wrap;width:81ex'>fix: detect joined inline eval flags [AI] (#101353) * fix: detect joined inline eval flags * fix: avoid joined eval flag false positives * fix: detect clustered inline eval flags * fix: avoid cluster matcher string spread * fix: cover common eval flag clusters * fix: cover ruby perl eval clusters * fix: detect python x inline eval cluster * fix: detect numeric eval clusters * fix: cover ruby perl eval clusters</pre>
Read Sourcefix(voice-call): preserve per-call agent routing (#77763)
<pre style='white-space:pre-wrap;width:81ex'>fix(voice-call): preserve per-call agent routing (#77763) * fix(voice-call): preserve per-call agent routing Co-authored-by: Tran Quang <randytran8800@gmail.com> * chore: keep release notes in PR metadata --------- Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: Peter Steinberger <peter@steipete.me></pre>
Read Sourcefix(doctor): honor per-agent bootstrap profile in size check (#84424)
<pre style='white-space:pre-wrap;width:81ex'>fix(doctor): honor per-agent bootstrap profile in size check (#84424) * fix(doctor): honor per-agent bootstrap profile in size check * fix(doctor): thread defaultAgentId through structured bootstrap-size health check The noteBootstrapFileSize note path was fixed in the previous commit. This commit applies the same defaultAgentId threading to the registered core/doctor/bootstrap-size health check in doctor-core-checks.ts, which is used by doctor --lint
Read Sourceimprove(diagnostics-otel): make agent-duration histograms usable beyo…
<pre style='white-space:pre-wrap;width:81ex'>improve(diagnostics-otel): make agent-duration histograms usable beyond 10s (#96592) * improve(diagnostics-otel): tune duration/context histogram bucket boundaries The openclaw.run.duration_ms, openclaw.harness.duration_ms, and openclaw.context.tokens histograms used the SDK default bucket boundaries. The default duration buckets top out at 10s, so agent runs — which routinely take minutes — all collapse into the +Inf overflow bucket, making p95/p99 l
Read Sourcefix: lower successful agent stop completion logs (#101703)
<pre style='white-space:pre-wrap;width:81ex'>fix: lower successful agent stop completion logs (#101703)</pre>
Read Sourcerefactor(deadcode): localize AI provider declarations (#101907)
<pre style='white-space:pre-wrap;width:81ex'>refactor(deadcode): localize AI provider declarations (#101907)</pre>
Read Sourceimprove(google): identify OpenClaw Gemini API traffic (#101834)
<pre style='white-space:pre-wrap;width:81ex'>improve(google): identify OpenClaw Gemini API traffic (#101834)</pre>
Read Sourcefix(agents): avoid false unscheduled note after shell cron add (#101807)
<pre style='white-space:pre-wrap;width:81ex'>fix(agents): avoid false unscheduled note after shell cron add (#101807) * fix(agents): count shell cron reminder adds * fix(agents): narrow shell cron reminder tracking * fix(agents): handle shell runner variants --------- Co-authored-by: Vincent Koc <vincentkoc@ieee.org></pre>
Read Sourcefix(gateway): bound all-agent usage cache concurrency (#101589)
<pre style='white-space:pre-wrap;width:81ex'>fix(gateway): bound all-agent usage cache concurrency (#101589) * fix(gateway): bound all-agent usage.cost concurrency to prevent SQLite starvation Replace raw Promise.all in loadAllAgentCostUsageSummary with runTasksWithConcurrency (limit=12), matching the sibling sessions.usage pattern. Unbounded concurrent usage-cost cache reads saturated the SQLite connection pool for deployments with 100+ agents, causing SQLITE_BUSY timeouts or gateway memory cra
Read Sourcefix(tasks): keep emoji / surrogate pairs intact during terminal outpu…
<pre style='white-space:pre-wrap;width:81ex'>fix(tasks): keep emoji / surrogate pairs intact during terminal output truncation (#101600) * fix(tasks): keep emoji / surrogate pairs intact during terminal output truncation .slice() counts UTF-16 code units; use Array.from() to count full code points instead, preventing lone surrogates in task list output. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * fix(tasks): preserve terminal column width --------- Co-authored-by: Claude Opus 4.8 <
Read Sourcefix(agents): keep exec visible for lean local models (#101607)
<pre style='white-space:pre-wrap;width:81ex'>fix(agents): keep exec visible for lean local models (#101607) Co-authored-by: Vincent Koc <vincentkoc@ieee.org></pre>
Read Sourcerefactor(agent-core): localize exec timeout helper (#101523)
<pre style='white-space:pre-wrap;width:81ex'>refactor(agent-core): localize exec timeout helper (#101523)</pre>
Read Sourcefix(agent): preserve explicit recipient sessions (#101507)
<pre style='white-space:pre-wrap;width:81ex'>fix(agent): preserve explicit recipient sessions (#101507) * fix(agent): honor recipient session routing Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com> Co-authored-by: pingfanfan <pingfan.work@gmail.com> * fix(agent): preserve canonical recipient routes * fix(agent): require exact recipient routes Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com> Co-authored-by: pingfanfan <pingfan.work@gmail.com> * fix(age
Read Sourcefix(cli): accept parent options placed after lazy subcommands (#55563…
<pre style='white-space:pre-wrap;width:81ex'>fix(cli): accept parent options placed after lazy subcommands (#55563 regression 1) [AI-assisted] (#94431) * fix(cli): restore lazy parent option ordering Co-authored-by: ml12580 <long.xinyuan3@xydigit.com> * chore: defer release-owned changelog entry --------- Co-authored-by: Peter Steinberger <steipete@gmail.com></pre>
Read Sourcefix(openai): bound Codex OAuth token response body reads with readRes…
<pre style='white-space:pre-wrap;width:81ex'>fix(openai): bound Codex OAuth token response body reads with readResponseWithLimit (#99479) * fix(openai): bound Codex OAuth token response body reads with readResponseWithLimit Replace unbounded response.arrayBuffer() in postTokenForm with readResponseWithLimit using a 1 MiB cap to prevent OOM from oversized token endpoint responses. Add real node:http loopback server tests. * fix(openai): wrap readResponseWithLimit result in Uint8Array for TS BodyI
Read Sourcedocs(provider): document Featherless AI setup
<pre style='white-space:pre-wrap;width:81ex'>docs(provider): document Featherless AI setup</pre>
Read Sourcefeat(provider): add Featherless AI integration
<pre style='white-space:pre-wrap;width:81ex'>feat(provider): add Featherless AI integration</pre>
Read Sourcefeat(models): add Claude Sonnet 5 support (#98254)
<pre style='white-space:pre-wrap;width:81ex'>feat(models): add Claude Sonnet 5 support (#98254) * feat(models): add Claude Sonnet 5 support Co-authored-by: Ariel Bravy <ariel@vortexradar.com> * fix(models): align Sonnet 5 validation baselines * fix(models): satisfy Sonnet 5 CI contracts * fix(models): enforce Sonnet 5 provider contracts * docs(changelog): defer Sonnet 5 release note --------- Co-authored-by: Peter Steinberger <steipete@gmail.com> Co-authored-by: Ariel Bravy <ariel@vortexradar.co
Read Sourcefix: preserve preflight overflow token counts into recovery budgeting…
<pre style='white-space:pre-wrap;width:81ex'>fix: preserve preflight overflow token counts into recovery budgeting (#101181) Budget context engine assembly against the reserve and rendered prompt pressure, and carry the preflight estimated prompt tokens, prompt budget, and overflow tokens into the outer overflow recovery loop so compaction engines compact against the prompt OpenClaw actually rendered instead of a minimally over-budget guess.</pre>
Read Sourcefix(codex): preserve yielded native subagent delivery
<pre style='white-space:pre-wrap;width:81ex'>fix(codex): preserve yielded native subagent delivery</pre>
Read Sourcefix(agents): bound tool_search_code stderr accumulation (#101007)
<pre style='white-space:pre-wrap;width:81ex'>fix(agents): bound tool_search_code stderr accumulation (#101007) * fix(agents): bound tool_search_code stderr accumulation * fix(agents): report latest bounded stderr --------- Co-authored-by: NIO <nocodet@mail.com> Co-authored-by: Vincent Koc <vincentkoc@ieee.org></pre>
Read Sourcefeat(ios): add Listen action speaking assistant messages via gateway …
<pre style='white-space:pre-wrap;width:81ex'>feat(ios): add Listen action speaking assistant messages via gateway TTS (#100771) * test(gateway): shift advertised-method window for tts.speak * feat(ios): add Listen action speaking assistant messages via gateway TTS * docs(ios): document the chat Listen action * style(ios): keep outbox label doc comment attached and give speech chip its own * fix(ios): harden chat Listen playback * docs(changelog): note iOS chat Listen * fix(ios): unwrap speech MI
Read Sourcefix(test): skip live auth browser caches (#91907)
<pre style='white-space:pre-wrap;width:81ex'>fix(test): skip live auth browser caches (#91907) * fix(test): skip live auth browser caches * fix(test): scope Gemini live auth exclusions --------- Co-authored-by: Peter Steinberger <steipete@gmail.com></pre>
Read Sourcerefactor(agents): localize internal-only symbols (#100909)
<pre style='white-space:pre-wrap;width:81ex'>refactor(agents): localize internal-only symbols (#100909)</pre>
Read Sourcefix(agents): preserve blank lines in multi-question user input fallba…
<pre style='white-space:pre-wrap;width:81ex'>fix(agents): preserve blank lines in multi-question user input fallback parsing (#100832)</pre>
Read Sourcefix(feishu): send card JSON message params as cards (#100883)
<pre style='white-space:pre-wrap;width:81ex'>fix(feishu): send card JSON message params as cards (#100883) * fix(feishu): send plain card JSON as interactive cards Co-authored-by: martingarramon <263922628+martingarramon@users.noreply.github.com> * fix(clownfish): address review for gitcrawl-21-autonomous-drip-20260706 (1) Co-authored-by: martingarramon <263922628+martingarramon@users.noreply.github.com> * fix(feishu): preserve native card compatibility Reported-by: @ZenoRewn Co-authored-by: mar
Read Sourcefix(anthropic): restore subscription OAuth billing routing
<pre style='white-space:pre-wrap;width:81ex'>fix(anthropic): restore subscription OAuth billing routing</pre>
Read Sourcefix(diagnostics-otel): route OTLP exports through env proxy
<pre style='white-space:pre-wrap;width:81ex'>fix(diagnostics-otel): route OTLP exports through env proxy * fix(diagnostics-otel): route OTLP exports through env proxy * fix(diagnostics-otel): harden OTLP proxy agent options * fix(ci): refresh rebased gateway checks * fix(ci): avoid proxy boundary scan</pre>
Read Sourcefix(ui): show selected agent default model (#100719)
<pre style='white-space:pre-wrap;width:81ex'>fix(ui): show selected agent default model (#100719) Co-authored-by: Harry Xie <harryhsieh963@yahoo.com></pre>
Read Sourcefix(android): accept boolean flag aliases in node invoke params (#99873)
<pre style='white-space:pre-wrap;width:81ex'>fix(android): accept boolean flag aliases in node invoke params (#99873) * fix(android): accept boolean flag aliases in node invoke params Extend parseJsonBooleanFlag to recognize yes/no/1/0 like TalkDirectiveParser so node handlers honor common string boolean inputs. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(android): route CameraHandler includeAudio through alias parser Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authore
Read Sourcefix(channels): canonicalize bundled module boundaries (#100758)
<pre style='white-space:pre-wrap;width:81ex'>fix(channels): canonicalize bundled module boundaries (#100758) Co-authored-by: Peter Steinberger <steipete@openai.com></pre>
Read Sourceperf(agents): slim Skill Workshop prompt section to its routing contr…
<pre style='white-space:pre-wrap;width:81ex'>perf(agents): slim Skill Workshop prompt section to its routing contract (#100449) (#100481) Prompt section drops from 13 lines to 2 (2128 -> 319 bytes); action mechanics move into the skill_workshop tool schema (+25 bytes), for a net -1784 bytes per request on affected sessions. Routing contract and approval flow unchanged.</pre>
Read Sourcefeat(commands): add /learn to draft skills from recent work (#100442)
<pre style='white-space:pre-wrap;width:81ex'>feat(commands): add /learn to draft skills from recent work (#100442) * feat(commands): add /learn to draft skills from recent work (#100408) /learn rewrites the turn into a standards-guided Skill Workshop authoring instruction: the agent gathers named sources (or distills the current conversation) and files ONE pending skill proposal via skill_workshop. Approval flow unchanged; sandboxed/tool-restricted agents get a clear unavailable reply. Extracts
Read Sourcefix(agents): run bootstrap ritual on Claude CLI (#100560)
<pre style='white-space:pre-wrap;width:81ex'>fix(agents): run bootstrap ritual on Claude CLI (#100560) * fix: CLI-backend agent runtimes skip the BOOTSTRAP.md first-run ritual CLI-backend runtimes (claude-cli, gemini-cli) never rendered the "Bootstrap Pending" system-prompt gate the embedded runner produces, so on a fresh workspace with a pending BOOTSTRAP.md the agent greeted the user instead of running the first-run bootstrap ritual. BOOTSTRAP.md reached CLI backends only as passive Project Co
Read Source